[SCM] csound-manual/upstream: Imported Upstream version 6.02~dfsg

fsateler at users.alioth.debian.org fsateler at users.alioth.debian.org
Fri Jan 31 14:51:36 UTC 2014


The following commit has been merged in the upstream branch:
commit bcf06a42deb371baf3deb9f4addb474b08273120
Author: Felipe Sateler <fsateler at debian.org>
Date:   Fri Jan 24 13:54:37 2014 -0300

    Imported Upstream version 6.02~dfsg

diff --git a/ChangeLog b/ChangeLog
deleted file mode 100644
index 9900307..0000000
--- a/ChangeLog
+++ /dev/null
@@ -1,4843 +0,0 @@
-2010-12-12  Menno Knevel  <nabob_cd at yahoo.com>
-
-	* added 27 STK opcodes: examples/STKxxx.csd, examples-xml/STKxxx.csd.xml, 
-	  opcodes/STKxxx; STK entries in manual.xml and opcodes/top.xml
-
-2010-04-11  john ffitch  <jpff at codemist.co.uk>
-
-	* opcodes/JackoOn.xml: Correct XML syntax
-
-2010-01-18 11:45  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* preface/whatsnew.xml: typo
-
-	* opcodes/instr.xml, preface/whatsnew.xml: subinstr can be used in
-	  Csound 5.  small fix for what's new section
-
-2010-01-16 10:14  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* control/reinitn.xml, misc/examples.xml, misc/quickref.xml,
-	  categories.py, opcodes/alwayson.xml, opcodes/connect.xml,
-	  opcodes/ftgenonce.xml, opcodes/inleta.xml, opcodes/inletf.xml,
-	  opcodes/inletk.xml, opcodes/outleta.xml, opcodes/outletf.xml,
-	  opcodes/outletk.xml, opcodes/passign.xml, opcodes/tabsum.xml,
-	  opcodes/template.xml, table/top.xml, opcodeparser.py,
-	  quickref.py: Added references for new opcodes and fixed issues
-	  with missing categories.  Recreated quickref and opcodes.xml
-
-2010-01-15 19:16  Michael Gogins <michael.gogins at gmail.com>
-
-	* Makefile, cvsauthors, manual.xml, misc/examples.xml,
-	  misc/quickref.xml, opcodes/doppler.xml: no message
-	* examples-xml/doppler.csd.xml: no message
-	* examples/doppler.csd: no message
-
-2010-01-15 09:27  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* manual.xml, examples/bitwise.csd, examples-xml/bitwise.csd.xml,
-	  opcodes/opbitand.xml, opcodes/opbitor.xml: Added example for
-	  bitwise operators
-	* examples/modmatrix.csd, examples-xml/looptseg.csd.xml,
-	  examples-xml/loopxseg.csd.xml, examples-xml/modmatrix.csd.xml,
-	  examples-xml/signalflowgraph.csd.xml, miscopcodes/top.xml,
-	  opcodes/linsegr.xml, opcodes/modmatrix.xml, opcodes/template.xml,
-	  opcodes/top.xml, opcodes/transeg.xml, opcodes/transegr.xml: Added
-	  docs for modmatrix, information supplied by Oeyvind Brandstegg
-	  Added docs for transegr Added formatted versions of missing
-	  examples
-
-2010-01-14 15:56  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/linsegr.xml: error in references
-
-2010-01-11 10:50  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* ChangeLog, Makefile, manual.xml, misc/examples.xml,
-	  misc/quickref.xml, opcodes/tabsum.xml, preface/whatsnew.xml,
-	  scoregens/i.xml, scoregens/n.xml: Updated what's new for 5.12
-	  Added example code for n score statement Added see also for
-	  tabsum Added note about negative instrument numbers for i score
-	  statement Updated quickref and example listing files Bumped
-	  version to 5.12
-
-2010-01-09 10:42  François Pinot <fggpinot at gmail.com>
-
-	* examples/: looptseg.csd, loopxseg.csd, looptseg.xml,
-	  loopxseg.xml: Changed suffix from xml to csd
-
-2010-01-08 21:22  François Pinot <fggpinot at gmail.com>
-
-	* control/fltkother.xml: Deleted duplicated link
-	* opcodes/flmouse.xml: Minor fix
-
-2010-01-05 11:09  jpff  <jpff at codemist.co.uk>
-
-	* manual.xml, examples/looptseg.xml, examples-xml/looptseg.csd.xml,
-	  examples-xml/loopxseg.csd.xml, opcodes/looptseg.xml,
-	  opcodes/top.xml: looptseg opcode
-
-2010-01-04 20:39  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/fltext.xml: Minor fix
-
-2010-01-03 09:57  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/: loopxseg.xml, sfload.xml: more on loopxseg
-
-2010-01-02 22:09  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/loopxseg.xml: Adding loopxseg
-	* manual.xml, examples/loopxseg.xml, examples-xml/loopxseg.csd.xml,
-	  opcodes/loopseg.xml, opcodes/loopxseg.xml, opcodes/top.xml:
-	  Adding loopxseg
-
-2010-01-02 21:59  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/fltabs.xml: Syntax highlighting
-	* opcodes/flscroll.xml: Syntax highlighting
-	* opcodes/flpack_end.xml: Corrected link
-	* opcodes/flpanel.xml: Syntax highlighting
-	* opcodes/flpack.xml: Syntax highlighting
-
-2010-01-01 17:48  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/flcolor2.xml: Typo
-	* opcodes/flcolor.xml: Typo
-
-2009-12-29 20:33  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/OSCsend.xml: Typo
-	* opcodes/crossfm.xml: Minor fix
-	* opcodes/ATSsinnoi.xml: Syntax highlighting
-
-2009-12-27 15:12  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/ATSreadnz.xml: Syntax highlighting
-	* opcodes/ATSread.xml: Syntax highlighting
-	* opcodes/ATSpartialtap.xml: Syntax highlighting
-	* opcodes/ATSinterpread.xml: Syntax highlighting
-
-2009-12-26 07:58  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/crossfm.xml: Typo
-	* opcodes/crossfm.xml, examples/crossfm.csd,
-	  examples-xml/crossfm.csd.xml: Initial commit
-	* manual.xml, siggen/fmsynth.xml, opcodes/top.xml,
-	  misc/examples.xml, misc/quickref.xml: Added crossfm
-
-2009-12-24 09:07  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/ATSinfo.xml: Syntax highlighting
-	* opcodes/: ATSadd.xml, ATSaddnz.xml: Uppercases for opcodename in
-	  example
-
-2009-12-24 08:10  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/ATScross.xml: Syntax highlighting
-
-2009-12-23 10:18  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/ATSaddnz.xml: Syntax highlighting
-
-2009-12-22 20:00  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/ATSadd.xml: Syntax highlighting
-
-2009-12-21 17:20  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/passign.xml: Minor fix
-
-2009-12-18 05:49  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/passign.xml: version
-
-2009-12-15 15:31  jpff  <jpff at codemist.co.uk>
-
-	* misc/examples.xml, opcodes/passign.xml: strings in passign
-
-2009-12-14 19:08  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/: assign.xml, passign.xml, top.xml: passign again
-
-2009-12-14 10:10  jpff  <jpff at codemist.co.uk>
-
-	* examples/passign.csd, examples-xml/passign.csd.xml,
-	  opcodes/passign.xml: revised passsign
-
-2009-12-13 09:32  jpff  <jpff at codemist.co.uk>
-
-	* ChangeLog, manual.xml, examples/cross2.csd, examples/fox.wav,
-	  examples/passign.csd, examples-xml/passign.csd.xml,
-	  misc/examples.xml, opcodes/top.xml, opcodes/passign.xml: Adding
-	  pasign
-
-2009-12-10 06:30  François Pinot <fggpinot at gmail.com>
-
-	* misc/: examples.xml, quickref.xml: Updated
-
-2009-11-24 17:34  jpff  <jpff at codemist.co.uk>
-
-	* examples/: tempo.csd, tempoval.csd: tempo/tempoval need -t60
-
-2009-11-21 11:27  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/partikkel.xml: Minor change
-
-2009-11-19 21:57  Oeyvind Brandtsegg <obrandts at gmail.com>
-
-	* opcodes/partikkel.xml: partikkel manpage changes related to
-	  optimization when amp is zero, and also the disabling of
-	  kdistribution at 0Hz grainrates
-	* examples/fox.wav: fix for distorted fox.wav
-
-2009-11-17 13:42  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* scoregens/gen23.xml: Added note about '#' character counted as
-	  comment
-
-2009-11-14 17:40  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/doppler.xml, opcodes/doppler2.xml, opcodes/top.xml,
-	  manual.xml: removing doppler2
-
-2009-11-10 18:06  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/: doppler2.xml, doppler.xml: Skeleton for doppler and
-	  doppler2
-	* manual.xml, opcodes/doppler.xml, opcodes/doppler2.xml,
-	  opcodes/mixerclear.xml, opcodes/top.xml: Skeleton for doppler and
-	  doppler2
-
-2009-11-05 10:02  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/filebit.xml: Fixed author of filebit
-
-2009-11-04 19:51  jpff  <jpff at codemist.co.uk>
-
-	* examples/p5g.csd, examples-xml/p5g.csd.xml: examples
-	* examples-xml/filebit.csd.xml: examples
-	* manual.xml, examples/filebit.csd, opcodes/filebit.xml,
-	  opcodes/filelen.xml, opcodes/filenchnls.xml, opcodes/filesr.xml,
-	  opcodes/top.xml: Documented filebit
-	* manual.xml, opcodes/p5gconnect.xml, opcodes/p5gdata.xml,
-	  opcodes/top.xml, opcodes/wiidata.xml: Added documentatoon od
-	  p5glove
-
-2009-10-30 00:40  Michael Gogins <michael.gogins at gmail.com>
-
-	* manual.xml, csound5/opcodes/mixer.xml, opcodes/top.xml,
-	  opcodes/mixersetlevel_i.xml: Added MixerSetLevel_i.
-
-2009-10-25 00:53  Michael Gogins <michael.gogins at gmail.com>
-
-	* csound5/opcodes/signalflowgraph.xml: no message
-
-2009-10-24 23:53  Michael Gogins <michael.gogins at gmail.com>
-
-	* examples/signalflowgraph.csd: no message
-	* opcodes/: alwayson.xml, connect.xml, inleta.xml, inletf.xml,
-	  inletk.xml, outleta.xml, outletf.xml, outletk.xml: no message
-	* opcodes/: alwayson.xml, connect.xml, ftgenonce.xml, inleta.xml,
-	  inletf.xml, inletk.xml, outleta.xml, outletf.xml, outletk.xml: no
-	  message
-	* manual.xml, opcodes/top.xml: no message
-
-2009-10-22 16:29  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* orch/kvar.xml: Text to expand the explanation of signals and
-	  variables
-	* Makefile, quickref.py: Bumped version to 5.11
-	* opcodes/chnrecv.xml, opcodes/chnsend.xml, opcodes/instr.xml,
-	  opcodes/template.xml, opcodes/top.xml, preface/whatsnew.xml:
-	  Final version of what's new for 5.11.  Added chnsend and chnrecv
-	  but not included in manual as these appear to be deprecated.
-	  Improved template.xml Added note about named instruments not
-	  being usable as opcodesin csound 5
-
-2009-10-21 22:05  François Pinot <fggpinot at gmail.com>
-
-	* misc/: examples.xml, quickref.xml: Minor fix to avoid examples
-	  path display in quickref
-
-2009-10-21 21:41  François Pinot <fggpinot at gmail.com>
-
-	* quickref.py: Minor fix to avoid examples path display in quickref
-
-2009-10-18 08:36  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* manual.xml, quickref.py, misc/examples.xml, misc/quickref.xml,
-	  misc/top.xml: Added example csd list page at the end. It is
-	  generated automatically by the quickref.py script
-
-2009-09-28 17:54  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/hrtfer.xml: Added link
-	* opcodes/bformenc.xml: Typo
-
-2009-09-27 16:21  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/: vosim.xml: Minor fix
-
-2009-09-22 06:16  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/vdelayxws.xml: Moved avars to Performance section
-	* opcodes/vdelayxwq.xml: Moved avars to Performance section
-	* opcodes/vdelayxw.xml: Moved avars to Performance section
-
-2009-09-21 21:54  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/vdelayxs.xml: Moved avars to Performance section
-	* opcodes/vdelayxq.xml: Moved avars in Performance section
-	* opcodes/vdelayx.xml: Moved avars in Performance section
-
-2009-09-20 16:40  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/vdelay3.xml: Syntax highlighting
-
-2009-09-18 12:48  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/: deltapi.xml, deltapxw.xml: correct tags
-
-2009-09-17 06:56  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/vdelay.xml: Syntax highlighting
-
-2009-09-09 22:11  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/multitap.xml: Syntax highlighting
-	* opcodes/deltapxw.xml: Syntax highlighting
-	* opcodes/deltapx.xml: Syntax highlighting
-	* opcodes/deltapn.xml: Syntax highlighting
-	* opcodes/deltapi.xml: Syntax highlighting
-
-2009-09-04 20:43  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/clip.xml: Corrected formula
-
-2009-09-01 21:05  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/deltap3.xml: Syntax highlighting
-	* opcodes/deltap.xml: Syntax highlighting
-
-2009-08-30 19:43  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/pconvolve.xml: Syntax highlighting
-	* opcodes/convolve.xml: [no log message]
-	* opcodes/: ftconv.xml, dconv.xml: Typo
-	* opcodes/ftconv.xml: Added link
-
-2009-08-29 21:54  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/dconv.xml: Minor fix
-	* opcodes/convolve.xml: Syntax highlighting
-	* opcodes/compress.xml: Syntax highlighting
-	* opcodes/clip.xml: Typos
-
-2009-08-28 07:27  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/rms.xml: Syntax highlighting
-	* examples/gain.csd, examples-xml/gain.csd.xml: Initial commit
-	* opcodes/gain.xml: Syntax highlighting
-
-2009-08-25 20:52  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/printk.xml: Typo
-	* opcodes/printf.xml: Layout
-	* opcodes/print.xml: Deleted off topic comment
-
-2009-08-24 09:47  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/display.xml: Layout
-	* opcodes/dispfft.xml: Commented out some credits
-
-2009-08-23 20:05  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/: chani.xml, chano.xml, chn.xml, chnclear.xml,
-	  chnexport.xml, chnget.xml, chnmix.xml, chnparams.xml, chnset.xml,
-	  setksmps.xml, xin.xml, xout.xml: Syntax highlighting and links
-	  added
-
-2009-08-22 13:07  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/: chuap.xml, lorenz.xml: Added note about audio result
-	  depending on sr in chuap and lorenz opcodes
-
-2009-08-21 16:16  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/outz.xml: Minor fix
-	* opcodes/outx.xml: Minor fix
-	* opcodes/outrg.xml: Minor fix
-	* opcodes/outch.xml: Minor fix
-	* opcodes/outc.xml: Minor fix
-
-2009-08-20 18:24  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/out32.xml: Minor fix
-
-2009-08-19 14:11  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/mp3in.xml: Typo
-	* opcodes/inz.xml: Minor fix
-	* opcodes/inx.xml: Minor fix
-	* opcodes/inch.xml: Minor fix
-	* opcodes/in32.xml: Minor fix
-
-2009-08-18 17:00  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/diskin2.xml: Added links
-
-2009-08-18 12:53  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* table/queries.xml: Added tabsum to table  opcodes
-	* opcodes/cpspch.xml: Added note about cps2pch and cpsxpch
-
-2009-08-18 09:38  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/diskin.xml: Typo
-
-2009-08-16 14:48  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/cross2.csd, examples/hrtfmove.csd,
-	  examples-xml/cross2.csd.xml, examples-xml/hrtfmove.csd.xml: Two
-	  minor changes. Thanks to francibal
-	* deprecated.txt, examples/bformenc.csd, examples/bformenc1.csd,
-	  examples/biquad-2.csd, examples/checkbox.csd,
-	  examples/cross2.csd, examples/expcurve.csd,
-	  examples/gainslider.csd, examples/hvs1.csd,
-	  examples/logcurve.csd, examples/mute.csd, examples/tbvcf.csd,
-	  examples/vtablewa.csd, examples/vtablewk.csd,
-	  examples/wgbrass.csd, examples-xml/FLpanel-sensekey2.csd.xml,
-	  examples-xml/FLsavesnap.csd.xml, examples-xml/bformenc.csd.xml,
-	  examples-xml/bformenc1.csd.xml, examples-xml/biquad-2.csd.xml,
-	  examples-xml/checkbox.csd.xml, examples-xml/chuap.csd.xml,
-	  examples-xml/cross2.csd.xml, examples-xml/dssi4cs.csd.xml,
-	  examples-xml/expcurve.csd.xml, examples-xml/fluidcomplex.csd.xml,
-	  examples-xml/fprintks-2.csd.xml, examples-xml/gainslider.csd.xml,
-	  examples-xml/hvs1.csd.xml, examples-xml/jacktransport.csd.xml,
-	  examples-xml/logcurve.csd.xml, examples-xml/midiin.csd.xml,
-	  examples-xml/mute.csd.xml, examples-xml/pvadsyn.csd.xml,
-	  examples-xml/pvsbufread.csd.xml, examples-xml/pvscent.csd.xml,
-	  examples-xml/pvscross.csd.xml, examples-xml/pvsfilter.csd.xml,
-	  examples-xml/rms.csd.xml, examples-xml/schedkwhennamed.csd.xml,
-	  examples-xml/scogen.csd.xml, examples-xml/sprintfk.csd.xml,
-	  examples-xml/tbvcf.csd.xml, examples-xml/vadd.csd.xml,
-	  examples-xml/vadd_i.csd.xml, examples-xml/vaddv.csd.xml,
-	  examples-xml/vaget.csd.xml, examples-xml/vdivv.csd.xml,
-	  examples-xml/vexp.csd.xml, examples-xml/vexpseg.csd.xml,
-	  examples-xml/vexpv.csd.xml, examples-xml/vlinseg.csd.xml,
-	  examples-xml/vmult-2.csd.xml, examples-xml/vmult_i.csd.xml,
-	  examples-xml/vosim.csd.xml, examples-xml/vpow.csd.xml,
-	  examples-xml/vpowv.csd.xml, examples-xml/vst4cs.csd.xml,
-	  examples-xml/vsubv.csd.xml, examples-xml/vtablewa.csd.xml,
-	  examples-xml/vtablewk.csd.xml, examples-xml/wgbrass.csd.xml,
-	  opcodes/diskin.xml, opcodes/imageload.xml, opcodes/vtablewa.xml:
-	  Added suggestions for examples by francibal in the Csound mailing
-	  list. Updated some xml for examples.
-
-2009-08-10 11:56  jpff  <jpff at codemist.co.uk>
-
-	* ChangeLog, manual.xml, opcodes/tabsum.xml, opcodes/top.xml:
-	  documented tabsum
-
-2009-08-08 01:51  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/: chani.xml, chano.xml: Improved chani/o documentation
-
-2009-07-25 21:45  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/fout.xml: Typo
-	* opcodes/fink.xml: Added link
-	* opcodes/fin.xml: Added link
-	* opcodes/ficlose.xml: Typo
-	* opcodes/readk4.xml: Commented out interpolation
-	* opcodes/readk3.xml: Commented out interpolation
-	* opcodes/: readk.xml, readk2.xml: Commented out interpolation
-	* opcodes/readk.xml: Commented out interpolation
-
-2009-07-24 12:28  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/dumpk4.xml: Typo
-	* opcodes/dumpk3.xml: Typo
-	* opcodes/dumpk2.xml: Typo
-	* opcodes/dumpk.xml: Typo
-
-2009-07-22 21:24  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/wgbowedbar.xml: Typo
-
-2009-07-21 22:26  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/wgpluck.xml: Typo
-	* opcodes/pluck.xml: Layout
-
-2009-07-19 21:58  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/tablei.xml: Minor fix
-	* opcodes/table3.xml: Minor fix
-	* opcodes/table.xml: Minor fix
-	* opcodes/tab.xml: Added links
-	* opcodes/oscil1i.xml: Minor fix
-	* opcodes/wiirange.xml: Macro names
-	* opcodes/: wiiconnect.xml, wiidata.xml, wiirange.xml, wiisend.xml:
-	  Typo
-
-2009-07-18 15:26  Joachim Heintz <jh at joachimheintz.de>
-
-	* opcodes/oscil.xml: added some "see also" links
-
-2009-07-11 15:39  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* csd2docbook.py, manpages.xml, manual.xml, manualXO.xml,
-	  examples/expcurve.csd, opcodes/binit.xml, opcodes/dcblock2.xml,
-	  opcodes/diskgrain.xml, opcodes/ephasor.xml, opcodes/eqfil.xml,
-	  opcodes/flooper.xml, opcodes/flooper2.xml, opcodes/fofilter.xml,
-	  opcodes/moogladder.xml, opcodes/partials.xml,
-	  opcodes/partikkel.xml, opcodes/partikkelsync.xml,
-	  opcodes/ptrack.xml, opcodes/pvsbuffer.xml, opcodes/pvsdemix.xml,
-	  opcodes/pvsdiskin.xml, opcodes/pvsifd.xml, opcodes/pvsin.xml,
-	  opcodes/pvsinit.xml, opcodes/pvsmix.xml, opcodes/pvsmooth.xml,
-	  opcodes/pvsout.xml, opcodes/pvstencil.xml, opcodes/pvsvoc.xml,
-	  opcodes/resyn.xml, opcodes/rewindscore.xml,
-	  opcodes/scoreline.xml, opcodes/scoreline_i.xml,
-	  opcodes/setscorepos.xml, opcodes/sflooper.xml,
-	  opcodes/sinsyn.xml, opcodes/sndloop.xml, opcodes/statevar.xml,
-	  opcodes/streson.xml, opcodes/syncgrain.xml, opcodes/syncloop.xml,
-	  opcodes/tradsyn.xml, opcodes/trcross.xml, opcodes/trhighest.xml,
-	  opcodes/trlowest.xml, opcodes/trmix.xml, opcodes/trscale.xml,
-	  opcodes/trshift.xml, opcodes/trsplit.xml, preface/history.xml,
-	  preface/historyXO.xml, preface/whatsnew.xml, scoregens/gen43.xml:
-	  Made &namevictor; entity, and used it throughout. Updated what's
-	  new section. Changed Oeyvind's name to use O-slash character.
-
-2009-07-11 15:32  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/cngoto.csd, examples/hvs2.csd, examples/linrand.csd,
-	  examples/mute.csd, examples/oscil.csd, examples/pcauchy.csd,
-	  examples/polynomial.csd, examples/poscil3-file.csd,
-	  examples/trirand.csd, examples/unirand.csd, examples/weibull.csd,
-	  examples-xml/FLbutton.csd.xml,
-	  examples-xml/FLpanel-sensekey2.csd.xml,
-	  examples-xml/FLsavesnap.csd.xml,
-	  examples-xml/FLslidBnk2Setk.csd.xml, examples-xml/adsyn.csd.xml,
-	  examples-xml/betarand.csd.xml, examples-xml/bexprnd.csd.xml,
-	  examples-xml/bformenc1.csd.xml, examples-xml/butterhp.csd.xml,
-	  examples-xml/cauchy.csd.xml, examples-xml/cggoto.csd.xml,
-	  examples-xml/chuap.csd.xml, examples-xml/clip.csd.xml,
-	  examples-xml/cngoto.csd.xml, examples-xml/cpsmidinn.csd.xml,
-	  examples-xml/diskin.csd.xml, examples-xml/dssi4cs.csd.xml,
-	  examples-xml/expcurve.csd.xml, examples-xml/exprand.csd.xml,
-	  examples-xml/fluidcomplex.csd.xml,
-	  examples-xml/fout_ftable.csd.xml,
-	  examples-xml/fprintks-2.csd.xml, examples-xml/gainslider.csd.xml,
-	  examples-xml/gauss.csd.xml, examples-xml/gen49.csd.xml,
-	  examples-xml/hilbert.csd.xml, examples-xml/hrtfmove.csd.xml,
-	  examples-xml/hvs2.csd.xml, examples-xml/jacktransport.csd.xml,
-	  examples-xml/linrand.csd.xml, examples-xml/logcurve.csd.xml,
-	  examples-xml/mandol.csd.xml, examples-xml/midiin.csd.xml,
-	  examples-xml/moog.csd.xml, examples-xml/mute.csd.xml,
-	  examples-xml/nestedap.csd.xml, examples-xml/oscil.csd.xml,
-	  examples-xml/pcauchy.csd.xml, examples-xml/polynomial.csd.xml,
-	  examples-xml/poscil3-file.csd.xml, examples-xml/pvsarp2.csd.xml,
-	  examples-xml/pvsbufread.csd.xml, examples-xml/rms.csd.xml,
-	  examples-xml/scale.csd.xml, examples-xml/schedkwhennamed.csd.xml,
-	  examples-xml/scogen.csd.xml, examples-xml/sprintfk.csd.xml,
-	  examples-xml/toot2.csd.xml, examples-xml/trirand.csd.xml,
-	  examples-xml/unirand.csd.xml, examples-xml/vadd.csd.xml,
-	  examples-xml/vadd_i.csd.xml, examples-xml/vaddv.csd.xml,
-	  examples-xml/vaget.csd.xml, examples-xml/vdivv.csd.xml,
-	  examples-xml/vexp.csd.xml, examples-xml/vexpseg.csd.xml,
-	  examples-xml/vexpv.csd.xml, examples-xml/vlinseg.csd.xml,
-	  examples-xml/vmult-2.csd.xml, examples-xml/vmult.csd.xml,
-	  examples-xml/vmult_i.csd.xml, examples-xml/voice.csd.xml,
-	  examples-xml/vosim.csd.xml, examples-xml/vpow.csd.xml,
-	  examples-xml/vpowv.csd.xml, examples-xml/vsubv.csd.xml,
-	  examples-xml/vtablewa.csd.xml, examples-xml/weibull.csd.xml,
-	  examples-xml/wii.csd.xml, examples-xml/xtratim-2.csd.xml,
-	  examples-xml/xtratim.csd.xml: Updated some examples and
-	  example-xml files
-
-2009-07-11 15:27  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/pvadsyn.csd, examples/pvsblur.csd, examples/pvscale.csd,
-	  examples/pvscent.csd, examples/pvscross.csd,
-	  examples/pvsfilter.csd, examples/pvsfreeze.csd,
-	  examples/pvshift.csd, examples/pvsmaska.csd,
-	  examples/pvsmorph2.csd, examples-xml/pvadsyn.csd.xml,
-	  examples-xml/pvsblur.csd.xml, examples-xml/pvscale.csd.xml,
-	  examples-xml/pvscent.csd.xml, examples-xml/pvscross.csd.xml,
-	  examples-xml/pvsfilter.csd.xml, examples-xml/pvsfreeze.csd.xml,
-	  examples-xml/pvshift.csd.xml, examples-xml/pvsmaska.csd.xml,
-	  examples-xml/pvsmorph2.csd.xml, opcodes/pvadd.xml,
-	  opcodes/pvsadsyn.xml, opcodes/pvsarp.xml, opcodes/pvsbandp.xml,
-	  opcodes/pvsbandr.xml, opcodes/pvsbin.xml, opcodes/pvsblur.xml,
-	  opcodes/pvsbufread.xml, opcodes/pvscale.xml, opcodes/pvscent.xml,
-	  opcodes/pvscross.xml, opcodes/pvsdisp.xml, opcodes/pvsfilter.xml,
-	  opcodes/pvsfreeze.xml, opcodes/pvsfwrite.xml,
-	  opcodes/pvshift.xml, opcodes/pvsmaska.xml, opcodes/pvsmorph.xml,
-	  opcodes/pvsosc.xml, opcodes/pvspitch.xml, opcodes/pvsynth.xml:
-	  Added new pvs examplesby Joachim Heintz and other minor
-	  improvements to pvs opcode entries.
-
-2009-07-09 14:00  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/: adsyn.csd, FLslidBnk2Setk.csd, betarand.csd,
-	  bexprnd.csd, cauchy.csd, cggoto.csd, clip.csd, diskin.csd,
-	  exprand.csd, gauss.csd, hrtfmove.csd: Example improvements by
-	  Francesco "ilterzouomo at fastwebnet.it" and Andrés Cabrera
-
-2009-07-08 05:53  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/schedkwhennamed.xml: Minor fix
-
-2009-07-08 02:24  jpff  <jpff at codemist.co.uk>
-
-	* ChangeLog, examples/FLbutton.csd, examples/butterhp.csd,
-	  examples/expcurve.csd, examples/fout_ftable.csd,
-	  examples/gainslider.csd, examples/logcurve.csd,
-	  examples/nestedap.csd, examples/xtratim-2.csd,
-	  examples/xtratim.csd, examples-xml/FLbutton.csd.xml,
-	  examples-xml/butterhp.csd.xml, examples-xml/expcurve.csd.xml,
-	  examples-xml/fout_ftable.csd.xml,
-	  examples-xml/gainslider.csd.xml, examples-xml/logcurve.csd.xml,
-	  examples-xml/nestedap.csd.xml, examples-xml/xtratim-2.csd.xml,
-	  examples-xml/xtratim.csd.xml, opcodes/diskin2.xml: examples fixed
-
-2009-07-07 21:31  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/oscil3.xml: Typo
-
-2009-07-07 21:26  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/: oscili.xml, oscil.xml: Typo
-
-2009-07-07 21:17  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/oscil3.xml: Minor fix
-
-2009-07-07 19:01  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/flooper2.xml: Typo
-
-2009-07-05 21:11  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/xscansmap.xml: Typo
-
-2009-07-05 20:22  jpff  <jpff at codemist.co.uk>
-
-	* examples/expcurve.csd, opcodes/bformenc.xml: examples
-
-2009-07-05 11:24  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/xscans.xml: Typo
-
-2009-06-14 17:10  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples-xml/vst4cs.csd.xml: Added xml highlighted version for
-	  new vst4cs example
-
-2009-06-14 17:09  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* overview/usingXO.xml: Updated what's new section. Added section
-	  about console output in Using Csound section
-
-2009-06-14 17:04  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/: event_i.xml, event.xml, schedkwhen.xml,
-	  schedkwhennamed.xml, schedule.xml, schedwhen.xml, scoreline.xml,
-	  scoreline_i.xml: Added note about string p-fields. Added cross
-	  references.
-
-2009-06-08 20:35  Michael Gogins <michael.gogins at gmail.com>
-
-	* examples/vst4cs.csd: [no log message]
-
-2009-06-08 14:36  Michael Gogins <michael.gogins at gmail.com>
-
-	* opcodes/: vstaudio.xml, vstbankload.xml, vstedit.xml,
-	  vstinfo.xml, vstinit.xml, vstnote.xml, vstparamset.xml: Improved
-	  documentation with tested example, corrected some errors.
-
-2009-06-07 14:57  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* overview/using.xml, preface/whatsnew.xml: Updated what's new
-	  section. Added section about console output in Using Csound
-	  section
-
-2009-06-07 14:05  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* scoregens/gen42.xml: Clarified entry for gen42, thanks to Andy
-	  Fillebrown
-
-2009-06-07 13:34  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* ChangeLog, examples/pvsbin.csd, examples-xml/pvsarp.csd.xml,
-	  examples-xml/pvsbin.csd.xml: Corrected pvsbin example. Updated
-	  ChangeLog
-
-2009-06-06 14:17  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/pvsadsyn.csd, examples/pvsarp2.csd,
-	  examples/pvsbandp.csd, examples/pvsbandr.csd,
-	  examples/pvsbufread.csd, examples/pvsmorph.csd,
-	  examples/pvsynth.csd, examples-xml/pvsadsyn.csd.xml,
-	  examples-xml/pvsarp2.csd.xml, examples-xml/pvsbandp.csd.xml,
-	  examples-xml/pvsbandr.csd.xml, examples-xml/pvsbufread.csd.xml,
-	  examples-xml/pvsmorph.csd.xml, examples-xml/pvsynth.csd.xml,
-	  opcodes/pvsadsyn.xml, opcodes/pvsarp.xml, opcodes/pvsbandp.xml,
-	  opcodes/pvsbandr.xml, opcodes/pvsbuffer.xml,
-	  opcodes/pvsbufread.xml, opcodes/pvsmorph.xml: Added new pvs
-	  examples by Joachim Heintz
-
-2009-05-23 06:55  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* midi/input.xml, opcodes/oscil.xml, opcodes/oscil1.xml,
-	  opcodes/oscil3.xml, opcodes/oscili.xml, opcodes/oscilikt.xml,
-	  opcodes/osciliktp.xml, opcodes/oscilikts.xml, opcodes/osciln.xml,
-	  opcodes/oscilx.xml, opcodes/pvsbuffer.xml,
-	  opcodes/pvsbufread.xml, preface/whatsnew.xml, csd2docbook.py,
-	  sigio/input.xml: Fixed Main MIDI page which was confusing midic
-	  and ctrl7. Improved documentation and cross references for oscil
-	  familiy of opcodes. Improved documentation for pvsbufread and
-	  pvsbuffer. Added mp3input opcodeto whatsnew and sigio/input.xml
-
-2009-05-17 09:51  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/ftgentmp.xml: Minor format change
-
-2009-05-17 09:39  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/ftgentmp.csd, examples-xml/ftgentmp.csd.xml,
-	  opcodes/ftgen.xml, opcodes/ftgentmp.xml: Added example for
-	  ftgentmp. Added link to ftgentmp from ftgen.
-
-2009-05-11 03:10  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/pan2.xml: New option in pan2
-
-2009-05-03 20:36  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/: loop_ge.xml, loop_gt.xml, loop_le.xml, loop_lt.xml:
-	  Fixed syntax of loop opcodes/loop_ge.xml (no spaces allowed in
-	  synopsis)
-
-2009-04-22 01:05  jpff  <jpff at codemist.co.uk>
-
-	* examples/wii.csd: wii example added
-
-2009-04-20 14:04  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/mp3in.xml: Fixed typo
-
-2009-04-20 12:42  jpff  <jpff at codemist.co.uk>
-
-	* examples-xml/wii.csd.xml, opcodes/mp3in.xml, scoregens/gen49.xml:
-	  typos
-
-2009-04-17 21:03  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* command/flags.xml, command/flagscategory.xml,
-	  command/flagscategoryXO.xml, opcodes/diskin2.xml,
-	  opcodes/flooper2.xml, opcodes/inch.xml, opcodes/madsr.xml,
-	  opcodes/metro.xml, opcodes/outch.xml, opcodes/poscil.xml,
-	  opcodes/poscil3.xml, utility/sdif2ad.xml: Many small changes
-
-2009-04-11 10:12  Felipe Sateler <fsateler at gmail.com>
-
-	* manpages.xml: Update manpages version
-
-2009-04-07 07:35  jpff  <jpff at codemist.co.uk>
-
-	* examples-xml/wii.csd.xml, opcodes/wiidata.xml,
-	  opcodes/wiisend.xml: revised wii opcodes
-
-2009-04-07 04:13  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/: wiidata.xml, wiirange.xml: tweaking wii opcodes
-
-2009-04-07 03:48  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/wiiconnect.xml: tweaking wii opcodes
-
-2009-04-06 05:43  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/wiiconnect.xml: Added wii example
-
-2009-04-06 04:32  jpff  <jpff at codemist.co.uk>
-
-	* examples-xml/wii.csd.xml, opcodes/wiiconnect.xml: Added wii
-	  example
-
-2009-04-05 14:06  jpff  <jpff at codemist.co.uk>
-
-	* manual.xml, opcodes/top.xml, opcodes/wiiconnect.xml,
-	  opcodes/wiidata.xml, opcodes/wiirange.xml, opcodes/wiisend.xml:
-	  document wii opcodes
-
-2009-03-27 06:47  jpff  <jpff at codemist.co.uk>
-
-	* manual.xml, opcodes/ins.xml, opcodes/mp3in.xml, opcodes/top.xml:
-	  document mps3in
-
-2009-03-24 12:44  jpff  <jpff at codemist.co.uk>
-
-	* manpages.xml, manual.xml, examples/beats.mp3, examples/gen49.csd,
-	  examples-xml/gen49.csd.xml, scoregens/gen49.xml,
-	  scoregens/top.xml: Adding gen49
-
-2009-03-17 09:37  jpff  <jpff at codemist.co.uk>
-
-	* command/unifile.xml, misc/quickref.xml: document revised CsScore
-
-2009-03-15 16:09  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/sndloop.xml: Syntax highlighting
-
-2009-03-15 16:08  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/waveset.xml: Minor change
-
-2009-03-15 13:12  jpff  <jpff at codemist.co.uk>
-
-	* command/unifile.xml: added CsExScore tag
-
-2009-03-15 07:32  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/: sfplay.xml, sfplay3.xml, sfplay3m.xml, sfplaym.xml:
-	  Minor fix
-
-2009-03-14 04:51  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/sflooper.xml: Added link
-
-2009-03-14 04:17  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/sfload.xml: Added link
-
-2009-03-14 03:50  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/sfinstrm.xml: Typo
-
-2009-03-13 16:26  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/tigoto.xml: Removed unnecessary link.
-
-2009-03-05 15:40  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/: loscil.xml, loscil3.xml, lposcil.xml, lposcil3.xml,
-	  lposcila.xml, lposcilsa.xml, lposcilsa2.xml: Syntax highlighting
-
-2009-03-02 21:34  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* command/: flags.xml, flagscategory.xml: Added note about -Ma for
-	  PortMIDI
-
-2009-02-27 16:43  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/: flooper.xml, flooper2.xml: Syntax highlighting
-
-2009-02-21 04:31  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/timek.xml: Syntax highlighting
-
-2009-02-21 04:22  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/timeinstk.xml: Minor fix
-
-2009-02-21 03:58  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/timeinstk.xml: Syntax highlighting
-
-2009-02-21 03:31  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/dates.xml: Typo
-
-2009-02-19 16:22  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/scoreline_i.xml: Syntax highlighting
-
-2009-02-19 15:54  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/scoreline.xml: Typo
-
-2009-02-19 15:14  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/schedkwhennamed.xml: Typo
-
-2009-02-19 14:24  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/schedkwhen.xml: Typo
-
-2009-02-19 13:27  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/schedwhen.xml: Minor fix
-
-2009-02-18 13:38  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/pset.xml: Syntax highlighting
-
-2009-02-18 12:45  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/exitnow.xml: Typo
-
-2009-02-14 10:54  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/: cggoto.xml, cigoto.xml, ckgoto.xml, goto.xml,
-	  igoto.xml, kgoto.xml, tigoto.xml, timout.xml, cngoto.xml:
-	  Cleaning
-
-2009-02-14 10:50  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/if.xml: Uncommented ifthen example
-
-2009-02-14 10:43  François Pinot <fggpinot at gmail.com>
-
-	* opcodes/: loop_ge.xml, loop_gt.xml, loop_le.xml, loop_lt.xml:
-	  Syntax highlighting
-
-2009-01-30 08:29  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* srcrelease.sh, examples/diskgrain.csd,
-	  examples-xml/diskgrain.csd.xml, opcodes/diskgrain.xml,
-	  opcodes/goto.xml: Added script for source release. Minor
-	  corrections to diskgrain and diskgrain example (Thanks to
-	  Victor). Added note to goto entry (Thanks to Art Hunkins)
-
-2009-01-10 16:57  François Pinot <fggpinot at gmail.com>
-
-	* csound.css, csoundXO.css, xsl/customPDF.xsl.in: Corrected for the
-	  new quickref structure
-
-2009-01-09 11:42  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* Makefile, misc/quickref.xml: Fixed Makefile dist target. Now
-	  works.  Added script to generate src package
-
-2009-01-08 17:08  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* ChangeLog: Updated ChangeLog
-
-2009-01-08 16:59  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* command/: flagscategory.xml, flagscategoryXO.xml: Fixed duplicate
-	  id to correct pdf building
-
-2009-01-08 15:16  François Pinot <fggpinot at gmail.com>
-
-	* quickref.py: Typo
-
-2009-01-05 09:30  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/ephasor.xml, preface/whatsnew.xml: Removed ephasor and
-	  sone gen from what's new since they aren't yet ready. Updated
-	  ChangeLog
-
-2009-01-04 13:49  Michael Gogins <gogins at pipeline.com>
-
-	* overview/introduction.xml: no message
-
-2009-01-04 12:12  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/ephasor.xml, opcodes/template.xml, preface/whatsnew.xml:
-	  Corrected errors in ephasor and template entries. Fixed links for
-	  Whats new section
-
-2009-01-04 12:05  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/zakinit.csd, examples-xml/zakinit.csd.xml,
-	  opcodes/if.xml, opcodes/zakinit.xml, scoregens/gen20.xml,
-	  zak/top.xml: Added note about zak channels counting from 0. Added
-	  clarification on variable types for if.
-
-2009-01-04 09:39  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* vectorial/top.xml: Removed credit here for consistency
-
-2009-01-04 09:38  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* Makefile, manual.xml, manualXO.xml, opcodes/topXO.xml: Bumped
-	  version to 5.10.  Removed babo and ambisonic opcodes from OLPC
-	  manual.
-
-2009-01-04 09:09  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/0dbfs.xml, overview/design.xml: Improved documentation
-	  for 0dbFS
-
-2009-01-04 09:07  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* manual.xml, manualXO.xml, opcodes/ephasor.xml,
-	  opcodes/fluidEngine.xml, opcodes/template.xml, opcodes/top.xml,
-	  opcodes/topXO.xml, readme.txt: Added ephasor template and generic
-	  template for opcode entries.	Added note about new parameters for
-	  fluidEngine
-
-2009-01-03 08:18  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/pvsfwrite.csd, examples-xml/pvsfwrite.csd.xml,
-	  opcodes/pvsfwrite.xml: Improved example for pvsfwrite.
-
-2009-01-02 20:49  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/: dcblock2.xml, ksmps.xml: Minor changes
-
-2009-01-02 20:48  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/active_scale.csd, examples-xml/active_scale.csd.xml,
-	  opcodes/active.xml: Added new example for active by Victor
-	  Lazzarini
-
-2009-01-02 20:47  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* quickref.py, misc/quickref.xml: Fixed quickref.py for pdf
-	  compilation
-
-2009-01-02 20:21  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* images/600px-Chua's_circuit.svg.png, opcodes/chuap.xml: Fixed
-	  image for chuap opcode. The image comes from Wikipedia, and is in
-	  the public domain.
-
-2008-12-30 14:29  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* score/preproc.xml, score/statemnt.xml, scoregens/leftbrace.xml:
-	  Added links to left and right brace score statements in score
-	  section
-
-2008-12-22 15:42  François Pinot <fggpinot at gmail.com>
-
-	* command/: flagscategory.xml, flagscategoryXO.xml: Minor fix
-
-2008-12-22 04:19  jpff  <jpff at codemist.co.uk>
-
-	* scoregens/gen20.xml: Adding note on versions
-
-2008-12-18 07:00  jpff  <jpff at codemist.co.uk>
-
-	* command/: flags.xml, flagscategory.xml, flagscategoryXO.xml:
-	  dither
-
-2008-12-18 05:45  jpff  <jpff at codemist.co.uk>
-
-	* scoregens/gen20.xml: Updating GEN20/6 documentation
-
-2008-12-10 16:26  François Pinot <fggpinot at gmail.com>
-
-	* csound-bw.css, csound.css, csoundXO.css: Changed GPL to GFDL
-
-2008-12-09 16:37  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* makeframes.py, opcodeparser.py, quickref.py: Added GPL version 3
-	  licence text to scripts
-
-2008-12-08 22:34  Felipe Sateler <fsateler at gmail.com>
-
-	* Makefile: Use $(MAKE) variable instead of calling make directly
-
-2008-12-07 10:21  Felipe Sateler <fsateler at gmail.com>
-
-	* Makefile: Make xsl files phony targets (force rebuild always)
-
-2008-12-06 05:06  François Pinot <fggpinot at gmail.com>
-
-	* cvsauthors: Typo
-
-2008-12-05 16:13  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/: envlpx.xml, envlpxr.xml, event_i.xml, linenr.xml: Minor
-	  corrections, thanks to Kanata Motohashi
-
-2008-12-05 08:51  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/transeg.xml: Added note about skipping initialization.
-	  Thanks to Kanata Motohashi.
-
-2008-12-04 14:20  Felipe Sateler <fsateler at gmail.com>
-
-	* Makefile: Try to use latest XSL installed. Correct ifneq
-	  condition
-
-2008-12-04 09:51  Felipe Sateler <fsateler at gmail.com>
-
-	* Makefile: Try to find versioned docbook xsl installations
-
-2008-12-03 16:35  Felipe Sateler <fsateler at gmail.com>
-
-	* Makefile: Remove OLPC stuff on clean
-
-2008-12-03 16:33  Felipe Sateler <fsateler at gmail.com>
-
-	* Makefile: Fail when XSL_BASE_PATH is not a directory
-
-2008-12-02 15:48  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* ChangeLog: typo
-
-2008-12-02 15:46  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* cvsauthors: Added Felipe Sateler to list
-
-2008-12-02 15:43  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* ChangeLog: Updated ChangeLog
-
-2008-12-02 15:12  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* misc/quickref.xml: Updated misc/quickref.xml
-
-2008-12-02 15:07  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* Makefile: typo. Fixed html-dist target
-
-2008-12-01 23:35  Felipe Sateler  <fsateler at gmail.com>
-
-	* Makefile: Remove bashism from clean rules
-
-2008-12-01 18:13  Felipe Sateler  <fsateler at gmail.com>
-
-	* Makefile, readme.txt, xsl/customHTMLHelp.xsl.in,
-	  xsl/customPDF.xsl.in, xsl/customXHTMLOneChunk.xsl.in,
-	  xsl/customXHTMLchunk.xsl.in: Use system-installed XSL
-	  stylesheets, document in readme.txt
-
-2008-12-01 11:56  Felipe Sateler  <fsateler at gmail.com>
-
-	* readme.txt: Update build instructions
-
-2008-12-01 11:37  Felipe Sateler  <fsateler at gmail.com>
-
-	* manpages.xml, manual.xml, manualXO.xml: Use system-wide XML DTDs
-	  for building the manual and manpages
-
-2008-11-29 07:35  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* command/flags.xml: Fixed building of manpage for csound
-	  executable
-
-2008-11-29 07:33  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* manpages.xml: Fixed building of manpages target
-
-2008-11-29 07:33  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* orch/header.xml: Moved 0dbfs to header section
-
-2008-11-29 07:23  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/: 0dbfs.xml, button.xml: Moved 0dbfs to header section
-
-2008-11-29 07:22  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* Makefile, manualXO.xml, opcodeparser.py, XO/library.info: Minor
-	  improvements to to fix XO build
-
-2008-11-18 13:18  jpff  <jpff at codemist.co.uk>
-
-	* examples/pvsarp.csd, examples-xml/pvsarp.csd.xml: table and kr in
-	  pvsarp examples
-
-2008-11-17 09:10  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/lineto.xml: Added note by Art Hunkins
-
-2008-11-17 08:16  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/pvsarp.csd: Fixed kr/sr issue, thanks to jpff
-
-2008-10-12 03:46  Francois Pinot <fggpinot at gmail.com>
-
-	* opcodes/bbcutm.xml: Syntax highlighting
-
-2008-10-10 16:43  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/transeg.csd, examples-xml/transeg.csd.xml,
-	  images/transeg.png, opcodes/transeg.xml, scoregens/gen16.xml:
-	  Fixed text about envelope shape, thanks to Kanata Motohashi.
-	  Added new example and image to transeg entry.
-
-2008-09-30 15:55  Francois Pinot <fggpinot at gmail.com>
-
-	* cvsauthors: mail address modified
-
-2008-09-30 15:53  Francois Pinot <fggpinot at gmail.com>
-
-	* manual.xml, manualXO.xml: docbook syntax correction
-
-2008-09-20 12:35  Michael Gogins <gogins at pipeline.com>
-
-	* overview/recentdev.xml: no message
-
-2008-09-19 09:07  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* Makefile, opcodes/dcblock2.xml, preface/copy.xml: Fixed pdf
-	  build. Bumped version to 5.09 in Makefile
-
-2008-09-19 08:34  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* ChangeLog, cvsauthors: Updated ChangeLog and added cvsauthors
-	  file for use with cvs2cl to generate ChangeLog changes with
-	  proper names.
-
-2008-09-18 21:08  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* manual.xml, manualXO.xml, control/sensing.xml,
-	  control/sensingXO.xml, opcodes/rewindscore.xml,
-	  opcodes/setscorepos.xml, opcodes/top.xml, opcodes/topXO.xml,
-	  preface/whatsnew.xml, sigmod/speciali.xml: Finished integrating
-	  rewindscore and setcorepos in manual. Added dcblock2 to the
-	  Specialized filters section.
-
-2008-09-18 08:14  Victor  Lazzarini <victor.lazzarini at nuim.ie>
-
-	* opcodes/dcblock2.xml: filled in the dcblock2 man page
-
-2008-09-17 08:43  Victor  Lazzarini <victor.lazzarini at nuim.ie>
-
-	* opcodes/: rewindscore.xml, setscorepos.xml: added rewindscore &
-	  setscorepos pages
-
-2008-09-11 18:49  Michael Gogins <gogins at pipeline.com>
-
-	* overview/building.xml: Updated to reflect recent Windows build
-	  experience.
-
-2008-09-11 18:40  Michael Gogins <gogins at pipeline.com>
-
-	* math/linearalgebra.xml: Corrected typo.
-
-2008-09-07 15:44  Gareth Edwards <gdedwards at blueyonder.co.uk>
-
-	* overview/configuring.xml: Fixed spelling mistake, removed stray
-	  punctuation and changed default directory for Windows
-	  installation
-
-2008-09-07 15:42  Gareth Edwards <gdedwards at blueyonder.co.uk>
-
-	* orch/macros.xml: Re-punctuated cross-reference to Score Macros
-
-2008-09-07 15:40  Gareth Edwards <gdedwards at blueyonder.co.uk>
-
-	* orch/header.xml: Improved introduction to header example
-
-2008-09-07 09:05  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* manual.xml, manualXO.xml, opcodes/dcblock.xml,
-	  opcodes/dcblock2.xml, opcodes/top.xml, opcodes/topXO.xml: Added
-	  dcblock2 opcode entry and added note to dcblock opcode.
-
-2008-09-07 08:41  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* command/: flags.xml, flagscategoryXO.xml, unifile.xml: Minor
-	  changes
-
-2008-09-06 14:44  Gareth Edwards <gdedwards at blueyonder.co.uk>
-
-	* overview/realtimelinux.xml: removed mid-para break
-
-2008-09-06 14:40  Gareth Edwards <gdedwards at blueyonder.co.uk>
-
-	* overview/realtimelinux.xml: added link type to URL for
-	  consistency
-
-2008-09-06 14:05  Gareth Edwards <gdedwards at blueyonder.co.uk>
-
-	* overview/design.xml: corrected error in -6dB description
-
-2008-09-06 03:09  Gareth Edwards <gdedwards at blueyonder.co.uk>
-
-	* csound.css: Added a caption style for figures
-
-2008-09-05 15:21  Gareth Edwards <gdedwards at blueyonder.co.uk>
-
-	* command/unifile.xml: hyphenation
-
-2008-09-05 15:19  Gareth Edwards <gdedwards at blueyonder.co.uk>
-
-	* command/top.xml: minor grammar fixes
-
-2008-09-04 13:51  Gareth Edwards <gdedwards at blueyonder.co.uk>
-
-	* command/preproc.xml: capitalization
-
-2008-09-04 13:50  Gareth Edwards <gdedwards at blueyonder.co.uk>
-
-	* command/flagscategory.xml: punctuation
-
-2008-09-03 14:50  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/trandom.xml: Minor fix
-
-2008-09-03 11:32  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/: bformdec1.xml, bformenc1.xml: Fixed example, credits
-	  and added "see also" sections
-
-2008-09-03 11:21  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* preface/whatsnew.xml: Fixed note about dcblock2
-
-2008-09-03 11:20  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* preface/whatsnew.xml: corrected spelling
-
-2008-09-03 11:16  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/bformdec.xml, opcodes/bformenc.xml, opcodes/dcblock.xml,
-	  opcodes/soundout.xml, opcodes/soundouts.xml,
-	  preface/whatsnew.xml: Completed "what's new" with input from John
-	  and Victor. Deprecated bformdec, bformenc, soundout and
-	  soundouts.
-
-2008-09-02 21:53  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* manual.xml, math/linearalgebra.xml, opcodes/top.xml,
-	  overview/realtimelinux.xml, preface/whatsnew.xml: Completed
-	  what's new section for 5.09. Other small corrections
-
-2008-09-02 21:51  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* command/: flags.xml, flagscategory.xml, flagscategoryXO.xml:
-	  Added flags for new pulseaudio I/O module
-
-2008-09-02 15:30  Gareth Edwards <gdedwards at blueyonder.co.uk>
-
-	* command/environment.xml: Clarified earlier windows versions
-	  explicitly
-
-2008-09-02 14:38  Gareth Edwards <gdedwards at blueyonder.co.uk>
-
-	* command/desc.xml: Minor improvements
-
-2008-08-31 17:53  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/: rand.xml: Removed paragraph about xcps
-
-2008-08-31 04:19  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/poisson.xml: Typos
-
-2008-08-30 14:44  Gareth Edwards <gdedwards at blueyonder.co.uk>
-
-	* preface/gettingstarted.xml: edits for grammar and readability
-
-2008-08-30 14:38  Gareth Edwards <gdedwards at blueyonder.co.uk>
-
-	* readme.txt: fixed up line lengths and periods at end of
-	  sentences.
-
-2008-08-30 14:36  Gareth Edwards <gdedwards at blueyonder.co.uk>
-
-	* overview/building.xml: Fixed hyperlinks
-
-2008-08-29 10:22  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/chuap.xml: Typos
-
-2008-08-15 11:37  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/space.xml: missing endin
-
-2008-08-13 17:12  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* manualXO.xml, opcodes/top.xml, opcodes/topXO.xml: Added new
-	  bformat decoder and encoder plugins to XO version.
-
-2008-08-13 17:11  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/setksmps.xml: Added that local ksmps can't be larger that
-	  gloabl ksmps
-
-2008-08-13 17:11  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/printf.xml: Added note that there's no a-rate printing
-
-2008-08-13 17:10  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/: sfplay.xml, sfplay3.xml, sfplay3m.xml, sfplaym.xml:
-	  Added new optional parameter ienv
-
-2008-08-13 17:10  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* scoregens/: top.xml, topXO.xml: Added note about named GEN
-	  routines
-
-2008-08-07 05:52  Francois Pinot <francois.pinot at numericable.fr>
-
-	* siggen/basic.xml: Typo
-
-2008-08-07 05:51  Francois Pinot <francois.pinot at numericable.fr>
-
-	* scoregens/f.xml: Minor fix
-
-2008-07-31 21:45  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* misc/: quickref.xml, quickrefXO.xml: updated quickrefs after
-	  bugfix to generator script
-
-2008-07-31 21:41  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/chuap.xml: fixed category
-
-2008-07-31 21:41  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* control/invocat.xml, opcodes/remove.xml: Added references to
-	  remove and fixed category
-
-2008-07-31 21:39  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/insglobal.xml, opcodes/insremot.xml,
-	  opcodes/midglobal.xml, opcodes/midremot.xml,
-	  opcodes/remoteport.xml, oscnetwork/Remote.xml: Fixed category for
-	  remoteport and added references to it
-
-2008-07-31 21:38  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodeparser.py, quickref.py: Bug fixes and warnings when
-	  category is not matched
-
-2008-07-24 12:26  jpff  <jpff at codemist.co.uk>
-
-	* Makefile, opcodes/bformdec1.xml, opcodes/bformenc1.xml: ambisonic
-	  opcodes
-
-2008-07-24 08:23  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/bformenc1.xml: ambisonic opcodes
-
-2008-07-24 08:01  jpff  <jpff at codemist.co.uk>
-
-	* ChangeLog, manual.xml, examples/bformenc1.csd,
-	  examples-xml/bformenc1.csd.xml, opcodes/bformdec.xml,
-	  opcodes/bformdec1.xml, opcodes/bformenc.xml,
-	  opcodes/bformenc1.xml, opcodes/top.xml: ambisonic opcodes
-
-2008-07-22 20:36  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/ftgen.xml, opcodes/ftgentmp.xml, scoregens/f.xml,
-	  siggen/tableacc.xml, table/top.xml: Added information about non
-	  power of two tables
-
-2008-07-20 12:34  Michael Gogins <gogins at pipeline.com>
-
-	* manual.xml, math/linearalgebra.xml, opcodes/top.xml: Updated
-	  linear algebra opcodes documentation, added to main opcodes list.
-
-2008-07-18 15:40  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* csoundXO.css: Made text font larger
-
-2008-07-16 16:48  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/line.xml: Fixed description to mention only one segment.
-
-2008-07-16 16:43  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* manual.xml, manualXO.xml, examples/bitshift.csd,
-	  examples-xml/bitshift.csd.xml, opcodes/opbitshl.xml,
-	  opcodes/opbitshr.xml, opcodes/top.xml, opcodes/topXO.xml: Added
-	  entries and example for bitshift operators
-
-2008-07-16 16:23  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/poscil3.xml: typo
-
-2008-07-16 16:23  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* scoregens/f.xml: Added note about pmax (maximum number of
-	  p-fields)
-
-2008-07-16 16:11  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodeparser.py: Added opcode parser script
-
-2008-07-16 13:46  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/line.csd, examples-xml/line.csd.xml, opcodes/line.xml:
-	  The example had a mistake. Pointed out by rasputin
-	  <tims45 at aol.com>
-
-2008-07-14 12:15  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* overview/configuring.xml, preface/copy.xml, preface/whatsnew.xml,
-	  siggen/basic.xml, table/readwrit.xml: Added note about
-	  oscillators in table chapter and about tables in oscillator
-	  chapter. Other minor corrections
-
-2008-07-14 12:10  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/topXO.xml: Corrected scan synthesis included opcodes
-
-2008-07-14 12:09  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/poscil3-file.csd, examples-xml/poscil3-file.csd.xml,
-	  opcodes/poscil.xml, opcodes/poscil3.xml: Corrections and new
-	  example for poscil opcodes (by Joachim Heintz)
-
-2008-07-14 12:06  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* manualXO.xml: Corrected scan synthesis included opcodes
-
-2008-06-27 18:25  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* scoregens/i.xml: Minor additions
-
-2008-06-27 17:04  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* math/linearalgebra.xml, preface/whatsnew.xml: Added some elements
-	  to Wht's new section. Cosmetic changes to Linear Algebra opcodes
-	  page.
-
-2008-06-27 16:39  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/chuap.xml, siggen/models.xml: Cleaned up chuap entry and
-	  Models section
-
-2008-06-27 16:38  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/strset.csd, examples-xml/strset.csd.xml,
-	  opcodes/printf.xml, opcodes/strget.xml, opcodes/strset.xml,
-	  score/strings.xml, score/top.xml, manual.xml, manualXO.xml: Added
-	  Score Strings section. Added example for strset.
-
-2008-06-27 15:59  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* misc/csound64.xml, opcodes/print.xml: Added note about precision
-	  in print. Added info provided M. Gogins to the 32-bit vs. 64-bit
-	  section.
-
-2008-06-27 15:58  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* midi/top.xml, scoregens/f.xml: Added note about dummy f-statement
-	  in Real-TIme MIDI section
-
-2008-06-16 16:20  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/syncphasor-CZresonance.csd,
-	  examples-xml/syncphasor-CZresonance.csd.xml,
-	  opcodes/syncphasor.xml: Added example by Anthony Kozar to
-	  syncphasor
-
-2008-06-15 09:15  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* Makefile: Added target for b&w html and added target for XO
-	  bundle
-
-2008-06-15 09:09  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* csound-bw.css, csound.css: Put previous css as an option. Made
-	  font bigger, removed indentations and hanged brwon to blue
-
-2008-06-14 16:28  Michael Gogins <gogins at pipeline.com>
-
-	* manual.xml, math/linearalgebra.xml, math/top.xml: Documentation
-	  for linear algebra opcodes -- many similar opcodes on one man
-	  page.
-
-2008-06-01 08:59  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* manualXO.xml, opcodes/topXO.xml: Removed scans, scanu and
-	  scanhammer from XO version
-
-2008-05-29 14:53  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/: vbap16.xml, vbap4.xml, vbap8.xml, vbapz.xml: Changed
-	  parameters to k-rate
-
-2008-05-29 14:52  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/: soundout.xml, soundouts.xml: Note recommending fout
-	  instead of soundout
-
-2008-05-24 14:19  Michael Gogins <gogins at pipeline.com>
-
-	* overview/frontends.xml: Another update for CsoundVST guide.
-
-2008-05-24 10:38  Michael Gogins <gogins at pipeline.com>
-
-	* overview/frontends.xml: Updated CsoundVST guide.
-
-2008-05-21 21:12  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/ampdbfs.xml: Clarified text
-
-2008-05-21 21:04  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/eqfil.xml: Fixed typo, thanks to Jonatan Liljedahl
-
-2008-05-21 20:33  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* csound.css, csoundXO.css, manualXO.xml, readme.txt: Added color
-	  to csound manual and csoundXO.
-
-2008-05-21 20:21  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* misc/topXO.xml, preface/copy.xml, preface/historyXO.xml: Finished
-	  licence and history information
-
-2008-05-21 20:12  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/scoreline_i.xml: Removed extra parameter. Thanks to
-	  Joachim Heintz
-
-2008-05-19 00:55  Francois Pinot <francois.pinot at numericable.fr>
-
-	* examples-xml/chuap.csd.xml: Minor fix
-
-2008-05-18 17:12  Francois Pinot <francois.pinot at numericable.fr>
-
-	* examples-xml/chuap.csd.xml: Initial commit
-
-2008-05-18 17:11  Francois Pinot <francois.pinot at numericable.fr>
-
-	* score/top.xml: Minor fix
-
-2008-05-18 17:11  Francois Pinot <francois.pinot at numericable.fr>
-
-	* examples/chuap.csd, preface/gettingstartedXO.xml: typo
-
-2008-05-12 06:18  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* XO/library.info: fixed links
-
-2008-05-12 06:08  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* preface/: toot1XO.xml, toot7XO.xml, toot8XO.xml, toot9XO.xml:
-	  fixed links to images
-
-2008-05-07 20:32  Michael Gogins <gogins at pipeline.com>
-
-	* siggen/models.xml, opcodes/chuap.xml, opcodes/top.xml,
-	  manual.xml: Added chuap
-
-2008-05-07 17:47  Michael Gogins <gogins at pipeline.com>
-
-	* examples/chuap.csd: no message
-
-2008-05-07 17:02  Michael Gogins <gogins at pipeline.com>
-
-	* opcodes/chuap.xml: no message
-
-2008-04-20 09:38  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* Makefile, manual.xml, preface/gettingstartedXO.xml: Improved
-	  getting started section for XO. Added et. al. to authors list in
-	  title.
-
-2008-04-20 08:12  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* preface/history.xml: Changed Richard Dobson for Richard Boulanger
-
-2008-04-19 11:35  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* imagesXO/editorXO.jpg: Added Csound Editor Activity image
-
-2008-04-19 11:21  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* attic/images/blank.png, attic/images/draft.png, images/blank.png,
-	  images/draft.png: Removed unused images
-
-2008-04-19 11:21  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* Makefile, manual.xml, manualXO.xml, preface/acknowledgements.xml,
-	  preface/history.xml, preface/top.xml: Moved acknowledgement
-	  section to History. Removed editors and added "et al" to shorten
-	  title. Other small changes.
-
-2008-04-19 11:16  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/: top.xml, topXO.xml: Corrected alphabetical order of pvs
-	  opcodes
-
-2008-04-19 11:15  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* score/top.xml: Added note for maximum score duration
-
-2008-04-19 11:07  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/fout_poly.csd, examples-xml/fout_poly.csd.xml,
-	  opcodes/fout.xml, opcodes/monitor.xml, opcodes/soundout.xml,
-	  opcodes/soundouts.xml: Added references for monitor in soundout
-	  and fout. Changed example in fout to use monitor.
-
-2008-04-19 09:49  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* orch/kvar.xml, overview/configuring.xml: Minor fix
-
-2008-04-19 08:38  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/granule.csd, examples-xml/granule.csd.xml: Fixed
-	  filename in comment
-
-2008-04-13 05:05  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/phasorbnk.xml, opcodes/planet.xml, opcodes/prepiano.xml,
-	  opcodes/shaker.xml, examples-xml/moog.csd.xml,
-	  examples-xml/voice.csd.xml: Minor fix
-
-2008-04-06 13:07  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* Makefile, compare_opcode_lists.py, manualXO.xml,
-	  opcode_listXO.txt, removed_opcodesXO.txt, misc/quickrefXO.xml,
-	  opcodes/topXO.xml: Corrected included opcodes list for OLPCsound
-
-2008-04-06 11:42  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* XO/library.info: Fixed path to manual
-
-2008-04-05 18:15  Francois Pinot <francois.pinot at numericable.fr>
-
-	* manualXO.xml: Corrections for XO
-
-2008-04-05 15:35  Francois Pinot <francois.pinot at numericable.fr>
-
-	* csoundXO.css: Updated ro reflect quickref.py changes
-
-2008-04-05 12:59  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* orch/dirfiles.xml: Corrected note about precedence
-
-2008-04-05 12:59  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* manual.xml, manualXO.xml, overview/design.xml,
-	  overview/using.xml, overview/usingXO.xml,
-	  preface/gettingstartedXO.xml, utility/analysisXO.xml,
-	  utility/convertXO.xml: Many minor changes
-
-2008-04-05 12:53  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/: hrtfmove.xml, hrtfmove2.xml, hrtfstat.xml: Added link
-	  to Environment variable page
-
-2008-04-05 04:32  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/bamboo.xml: Minor fix
-
-2008-04-05 04:01  Francois Pinot <francois.pinot at numericable.fr>
-
-	* quickref.py: Minor fix
-
-2008-04-05 03:26  Francois Pinot <francois.pinot at numericable.fr>
-
-	* examples-xml/mandol.csd.xml: Minor fix
-
-2008-04-05 03:17  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/loopsegp.xml, overview/building.xml, utility/convert.xml,
-	  utility/convertXO.xml, utility/top.xml, utility/topXO.xml: Minor
-	  fix
-
-2008-04-05 03:14  Francois Pinot <francois.pinot at numericable.fr>
-
-	* csoundXO.css: Added copyright
-
-2008-04-04 20:53  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* attic/images/caution.gif, attic/images/caution.png,
-	  attic/images/important.gif, attic/images/important.png,
-	  attic/images/note.gif, attic/images/note.png,
-	  attic/images/tip.gif, attic/images/tip.png,
-	  attic/images/warning.gif, attic/images/warning.png,
-	  images/caution.gif, images/caution.png, images/important.gif,
-	  images/important.png, images/note.gif, images/note.png,
-	  images/tip.gif, images/tip.png, images/warning.gif,
-	  images/warning.png: Restored png images and removed unused gif
-	  images.
-
-2008-04-04 18:59  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/: hrtfmove.xml, hrtfmove2.xml, hrtfstat.xml: Two small
-	  corrections
-
-2008-04-02 23:59  Francois Pinot <francois.pinot at numericable.fr>
-
-	* overview/frontends.xml: Typo
-
-2008-04-02 21:13  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* preface/gettingstartedXO.xml, preface/prefaceXO.xml,
-	  manualXO.xml, command/flagscategoryXO.xml: Changed csoundXO for
-	  OLPCsound
-
-2008-04-02 21:12  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/exprand.xml: Changed name of parameter to klambda and
-	  changed its description
-
-2008-04-02 21:12  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/: hrtfmove.xml, hrtfmove2.xml, hrtfstat.xml: Corrections
-	  by Brian Carty
-
-2008-03-31 14:08  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* siggen/granular.xml: Added vosim
-
-2008-03-31 14:06  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/linen.xml: Added image
-
-2008-03-31 13:27  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* overview/building.xml: Refactored building.xml
-
-2008-03-31 13:23  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* Makefile, manualXO.xml, examples/toot10.csd, examples/toot2.csd,
-	  examples/toot6.csd, examples/toot7.csd, examples/toot8.csd,
-	  examples/toot9.csd, examples-xml/toot10.csd.xml,
-	  examples-xml/toot6.csd.xml, examples-xml/toot7.csd.xml,
-	  examples-xml/toot8.csd.xml, examples-xml/toot9.csd.xml,
-	  images/linen.jpg, images/toot07.gif, images/toot08.gif,
-	  images/toot09.gif, preface/gettingstartedXO.xml,
-	  preface/prefaceXO.xml, preface/toot1XO.xml, preface/toot2XO.xml,
-	  XO/library.info, preface/toot3XO.xml, preface/toot5XO.xml,
-	  preface/topXO.xml, preface/toot10XO.xml, preface/toot6XO.xml,
-	  preface/toot7XO.xml, preface/toot8XO.xml, preface/toot9XO.xml,
-	  preface/tootorialsXO.xml: More changes to XO version. Added
-	  toots6-10
-
-2008-03-30 21:59  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* misc/quickref.xml: Commited complete file
-
-2008-03-29 09:39  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* manual.xml, manualXO.xml, examples/vosim.csd,
-	  examples-xml/vosim.csd.xml, opcodes/top.xml, opcodes/topXO.xml,
-	  opcodes/vosim.xml, preface/whatsnew.xml: Added new vosim opcode.
-	  Bumped version to 5.09
-
-2008-03-29 09:30  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* overview/building.xml: Minor changes suggested by Rory Walsh
-
-2008-03-29 07:40  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* manualXO.xml: Removed Extending Csound section
-
-2008-03-29 07:39  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* overview/building.xml: Added changes proposed by DavidW
-
-2008-03-28 20:02  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* overview/building.xml: Added changes proposed by David Worral
-
-2008-03-28 17:28  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* scoregens/f.xml: Added notes by Art Hunkins
-
-2008-03-28 17:18  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* quickref.py: fixed non XO quickref.py
-
-2008-03-28 17:15  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* preface/whatsnew.xml: Added note about new hrtf opcodes
-
-2008-03-26 03:22  jpff  <jpff at codemist.co.uk>
-
-	* ChangeLog, opcodes/vbap16.xml, opcodes/vbap4.xml,
-	  opcodes/vbap8.xml, opcodes/vbapz.xml: changes in vbap
-
-2008-03-20 13:45  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* misc/quickref.xml, misc/quickrefXO.xml, misc/top.xml,
-	  misc/topXO.xml, opcodes/topXO.xml, sigio/inputXO.xml: Many
-	  changes to XO version and other minor changes
-
-2008-03-20 13:36  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* bugs.txt, compare_opcode_lists.py, deprecated.txt, manualXO.xml,
-	  opcode_listXO.txt, quickref.py, readme.txt,
-	  removed_opcodesXO.txt, command/flagscategoryXO.xml,
-	  siggen/sampleXO.xml, utility/convert.xml, utility/convertXO.xml,
-	  utility/topXO.xml: Many changes to XO version and other minor
-	  changes
-
-2008-03-17 12:54  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* attic/images/caution.png, attic/images/home.gif,
-	  attic/images/home.png, attic/images/important.png,
-	  attic/images/next.gif, attic/images/next.png,
-	  attic/images/note.png, attic/images/prev.gif,
-	  attic/images/prev.png, attic/images/tip.png,
-	  attic/images/toc-blank.gif, attic/images/toc-blank.png,
-	  attic/images/toc-minus.gif, attic/images/toc-minus.png,
-	  attic/images/toc-plus.gif, attic/images/toc-plus.png,
-	  attic/images/up.gif, attic/images/up.png, attic/images/v5_0.png,
-	  attic/images/warning.png, images/caution.png, images/home.gif,
-	  images/home.png, images/important.png, images/next.gif,
-	  images/next.png, images/note.png, images/prev.gif,
-	  images/prev.png, images/tip.png, images/toc-blank.gif,
-	  images/toc-blank.png, images/toc-minus.gif, images/toc-minus.png,
-	  images/toc-plus.gif, images/toc-plus.png, images/up.gif,
-	  images/up.png, images/v5_0.png, images/warning.png: Removed
-	  unused images
-
-2008-03-17 11:51  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* readme.txt: Calrifications by DavidW
-
-2008-03-16 12:12  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/opcode.xml: Small syntax fix thanks to Joachim Heinz
-
-2008-03-12 14:53  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* overview/usingXO.xml: minor change
-
-2008-03-12 14:50  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* overview/links.xml: Removed mention of the sourceforge bug
-	  tracked since it is not being checked.
-
-2008-03-12 10:55  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/eqfil.xml: Small fix by Cortaigne
-
-2008-03-12 10:54  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/loopsegp.csd, examples-xml/loopsegp.csd.xml,
-	  opcodes/loopsegp.xml: Small fix and added example by Mark Van
-	  Peteghem
-
-2008-03-10 21:57  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* control/sensingXO.xml, examples/toot1.csd, examples/toot2.csd,
-	  examples/toot3.csd, examples/toot4.csd, examples/toot5.csd,
-	  examples-xml/toot1.csd.xml, examples-xml/toot2.csd.xml,
-	  examples-xml/toot3.csd.xml, manualXO.xml,
-	  examples-xml/toot4.csd.xml, examples-xml/toot5.csd.xml,
-	  opcodes/topXO.xml, preface/gettingstartedXO.xml,
-	  preface/prefaceXO.xml, preface/toot1XO.xml, preface/toot2XO.xml,
-	  preface/toot3XO.xml, preface/toot4XO.xml, preface/toot5XO.xml,
-	  sigio/inputXO.xml, sigio/outputXO.xml, sigmod/panspatlXO.xml,
-	  spectral/realtimeXO.xml, utility/analysisXO.xml,
-	  utility/convert.xml: Large reorganization of XO manual.
-
-2008-03-10 21:52  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/rspline.xml: Removed nonexistent xamp parameter. Thanks
-	  to Art Hunkins.
-
-2008-03-10 13:56  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/loopsegp.xml: Changes to loopsegp docs, suggested by Mark
-	  Van Peteghem
-
-2008-03-10 12:41  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/imageopcodesdemo2.csd,
-	  examples-xml/imageopcodesdemo2.csd.xml,
-	  opcodes/imagegetpixel.xml, opcodes/imageload.xml: Changes to
-	  image opcodes example.
-
-2008-03-10 11:53  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/imageopcodesdemo2.csd, examples/test1.png,
-	  examples/test2.png, examples-xml/imageopcodesdemo2.csd.xml,
-	  opcodes/imageload.xml: Added new example for image opcodes by
-	  Cesare Marilungo
-
-2008-03-01 21:25  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* manual.xml, manualXO.xml, command/descXO.xml,
-	  command/environmentXO.xml, misc/topXO.xml, opcodes/topXO.xml,
-	  preface/gettingstartedXO.xml, preface/prefaceXO.xml,
-	  preface/topXO.xml: Shortened Preface and Overview, removed
-	  tclcsound, tcl widget opcodes, csound64 and other things from XO
-	  version. Moved csound5 opcodes to main opcode list.
-
-2008-03-01 20:31  Michael Gogins <gogins at pipeline.com>
-
-	* overview/: building.xml, frontends.xml: Updated material about
-	  CsoundVST.  Corrected build instructions.
-
-2008-02-26 22:39  Michael Gogins <gogins at pipeline.com>
-
-	* overview/building.xml: Updated build instructions for Windows.
-
-2008-02-26 21:46  Michael Gogins <gogins at pipeline.com>
-
-	* overview/building.xml: no message
-
-2008-02-23 20:16  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* manualXO.xml, midi/topXO.xml, opcodes/topXO.xml,
-	  spectral/topXO.xml: Removed ATSA and Loris. Removed references to
-	  Virtual Keyboard
-
-2008-02-23 11:07  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* csoundXO.css, overview/using.xml, overview/usingXO.xml: Small
-	  improvements to css and fixed unfinfished line in using.xml
-
-2008-02-23 03:26  Francois Pinot <francois.pinot at numericable.fr>
-
-	* examples-xml/: hvs2-2.csd.xml, hvs2.csd.xml: Initial commit
-
-2008-02-20 21:55  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* manualXO.xml, command/topXO.xml, opcodes/slider16table.xml,
-	  opcodes/topXO.xml, overview/usingXO.xml,
-	  preface/gettingstartedXO.xml, scoregens/topXO.xml: Removed more
-	  unnecesary things for XO docs like cscore
-
-2008-02-20 21:10  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* manual.xml, manualXO.xml, control/topXO.xml, midi/sliderbkXO.xml,
-	  opcodes/tableseg.xml, opcodes/topXO.xml,
-	  overview/introduction.xml, preface/topXO.xml, siggen/hvsXO.xml:
-	  Added missing files and corrected errors
-
-2008-02-20 20:21  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* csoundXO.css, manual.xml, manualXO.xml, opcodes/ktableseg.xml,
-	  spectral/stft.xml: Deprecated ktableseg opcode. Removed
-	  deprecated opcodes from CsoundXO docs
-
-2008-02-20 15:35  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* Makefile, csoundXO.css, manualXO.xml: Intial version of XO manual
-	  target
-
-2008-02-17 12:28  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* Makefile, csound.css, examples/hvs2-2.csd, examples/hvs2.csd,
-	  opcodes/hvs2.xml: Added old and new example for hvs2
-
-2008-02-15 13:29  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/ctrl14.xml: Typo
-
-2008-02-15 13:29  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/: ctrl21.xml, initc21.xml, massign.xml, midic14.xml,
-	  midic21.xml, midic7.xml, midictrl.xml: Minor fix
-
-2008-02-11 12:24  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/barmodel.xml: Minor fixes
-
-2008-02-07 13:16  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* makeframes.py: Fixed to compensate changes in markup
-
-2008-02-06 16:27  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/betarand.xml, opcodes/bexprnd.xml, opcodes/trirand.xml,
-	  opcodes/unirand.xml, opcodes/weibull.xml, sigmod/wavshape.xml:
-	  minor fixes
-
-2008-02-06 12:58  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* docbook-xsl-1.73.2/fo/: admon.xsl, annotations.xsl,
-	  autoidx-kimber.xsl, autoidx-kosek.xsl, autoidx-ng.xsl,
-	  autoidx.xsl, autotoc.xsl, axf.xsl, biblio-iso690.xsl, biblio.xsl,
-	  block.xsl, callout.xsl, component.xsl, division.xsl, docbook.xsl,
-	  ebnf.xsl, fo-rtf.xsl, fo.xsl, footnote.xsl, fop.xsl, fop1.xsl,
-	  formal.xsl, glossary.xsl, graphics.xsl, highlight.xsl,
-	  htmltbl.xsl, index.xsl, info.xsl, inline.xsl, keywords.xsl,
-	  lists.xsl, math.xsl, pagesetup.xsl, param.xml, param.xsl,
-	  passivetex.xsl, pdf2index, pi.xml, pi.xsl, profile-docbook.xsl,
-	  ptc.xsl, qandaset.xsl, refentry.xsl, sections.xsl, spaces.xsl,
-	  synop.xsl, table.xml, table.xsl, task.xsl,
-	  titlepage.templates.xml, titlepage.templates.xsl, titlepage.xsl,
-	  toc.xsl, verbatim.xsl, xep.xsl, xref.xsl: Added missing
-	  stylesheets to build pdf
-
-2008-02-06 11:20  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/readk.csd, examples-xml/readk.csd.xml,
-	  opcodes/dumpk2.xml, opcodes/dumpk.xml, opcodes/dumpk3.xml,
-	  opcodes/dumpk4.xml, opcodes/readk.xml, opcodes/readk2.xml,
-	  opcodes/readk3.xml, opcodes/readk4.xml: Small fix en example.
-	  FIxed credits for readk/dumpk
-
-2008-02-06 00:16  Anthony Kozar  <anthonykozar at sbcglobal.net>
-
-	* opcodes/readk.xml: Minor correction.
-
-2008-02-03 10:15  Francois Pinot <francois.pinot at numericable.fr>
-
-	* command/flagscategory.xml: Minor fix
-
-2008-02-03 08:10  Francois Pinot <francois.pinot at numericable.fr>
-
-	* overview/recentdev.xml: Minor fix
-
-2008-02-02 16:26  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/xadsr.xml: Minor fix
-
-2008-02-02 16:16  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/partikkel.xml: Typos
-
-2008-02-02 11:27  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* ChangeLog: minor change
-
-2008-02-02 09:24  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/sndloop.xml: Fixed typo in sndloop
-
-2008-02-01 18:09  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* ChangeLog: Updated ChangeLog for release
-
-2008-02-01 17:44  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcode_list.txt, quickref.py: updated quickref
-
-2008-02-01 05:31  Anthony Kozar  <anthonykozar at sbcglobal.net>
-
-	* ChangeLog, manual.xml: Added entries for new opcodes for 5.08,
-	  etc.
-	* opcodes/top.xml, scoregens/top.xml, opcodes/phasor.xml,
-	  math/opeqfunc.xml, math/mathfunc.xml, sigmod/top.xml,
-	  siggen/phasors.xml, examples/chebyshevpoly.csd,
-	  opcodes/chebyshevpoly.xml, examples/leftbrace.csd,
-	  scoregens/leftbrace.xml, examples/pdclip.csd, opcodes/pdclip.xml,
-	  examples/pdhalf.csd, images/pdhalf.png, opcodes/pdhalf.xml,
-	  examples/pdhalfy.csd, images/pdhalfy.png, opcodes/pdhalfy.xml,
-	  examples/polynomial.csd, opcodes/polynomial.xml,
-	  examples/powershape.csd, opcodes/powershape.xml,
-	  scoregens/rightbrace.xml, examples/syncphasor.csd,
-	  opcodes/syncphasor.xml, sigmod/wavshape.xml: Added entries for new
-	  opcodes for 5.08 plus new documentation for the
-	  { and } score statements.  Also, new section "Signal Modifiers - 
-	  Waveshaping and Phase Distortion".
-	* scoregens/: e.xml, s.xml: Fixed info about p1 time.
-	* score/ramp.xml: Removed obsolete note about { and } for expon
-	  ramp.
-	* score/eval.xml: Documented the &, |, #, and ~ score expression
-	  operators.
-
-2008-02-01 01:00  jpff  <jpff at codemist.co.uk>
-
-	* preface/whatsnew.xml: balance tags
-
-2008-01-31 17:59  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/xadsr.xml: minor fix
-	* opcodes/hrtfstat.xml: change to fix quickref generation
-	* preface/whatsnew.xml: small corrections
-	* opcodes/hrtfstat.xml: small reorganization
-	* sigmod/panspatl.xml: minor change
-	* command/: flags.xml, unifile.xml: small fixes
-	* opcodes/: hrtfer.xml, hrtfmove.xml, hrtfmove2.xml, hrtfstat.xml:
-	  Added See Also sections
-	* Makefile, manual.xml: Updated version number to 5.08 and changed
-	  names for hrtfmove filenames and other fixes
-	* preface/whatsnew.xml: Updated what's new section
-	* examples/hrtfmov.csd, examples/hrtfmove.csd,
-	  examples/hrtfmove2.csd, examples-xml/hrtfmov.csd.xml,
-	  examples-xml/hrtfmove.csd.xml, examples-xml/hrtfmove2.csd.xml,
-	  examples-xml/hrtfstat.csd.xml, opcodes/hrtfmov.xml,
-	  opcodes/hrtfmov2.xml, opcodes/hrtfmove.xml,
-	  opcodes/hrtfmove2.xml: changed names for hrtfmove filenames and
-	  other fixes
-
-2008-01-31 04:44  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/hrtfstat.xml: examples of hrtfmov
-	* Makefile, examples/hrtfmov.csd, examples-xml/hrtfmov.csd.xml,
-	  opcodes/hrtfmov.xml, opcodes/hrtfstat.xml: examples of hrtfmov
-	* ChangeLog, examples/hrtfstat.csd,
-	  examples-xml/hrtferstat.csd.xml, opcodes/hrtfstat.xml,
-	  sigmod/panspatl.xml: example pf hrtfstat
-	* sigmod/panspatl.xml: Added pan2 to list
-
-2008-01-30 12:22  Victor  Lazzarini <victor.lazzarini at nuim.ie>
-
-	* manual.xml, opcodes/hrtfmov.xml, opcodes/hrtfmov2.xml,
-	  opcodes/hrtfstat.xml, opcodes/top.xml, sigmod/panspatl.xml: added
-	  new hrtf opcodes docs
-
-2008-01-30 00:44  jpff  <jpff at codemist.co.uk>
-
-	* command/flags.xml: typo
-
-2008-01-29 19:43  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* command/: flags.xml, flagscategory.xml: Minor fixes
-	* opcodes/readk.xml, opcodes/readk2.xml, opcodes/readk3.xml,
-	  opcodes/readk4.xml, preface/copy.xml: Fixed typos
-
-2008-01-29 17:02  jpff  <jpff at codemist.co.uk>
-
-	* command/flags.xml, overview/design.xml, overview/recentdev.xml:
-	  various
-	* ChangeLog, opcodes/readk.xml, opcodes/readk2.xml,
-	  opcodes/readk3.xml, opcodes/readk4.xml, preface/copy.xml: fix
-	  errors -- not allowed in comments, apparent.y
-	* preface/copy.xml: Close <title> and open para on line 42
-
-2008-01-29 01:25  Anthony Kozar  <anthonykozar at sbcglobal.net>
-
-	* ChangeLog: Documenting new features and some corrections.
-	* command/unifile.xml: Corrections and documented <CsLicence> tag.
-	* command/: flags.xml, flagscategory.xml: Added new --csd-line-nums
-	  and --syntax-check-only flags.
-	* score/preproc.xml: Fixed ^+ info and added ! no-carry info.
-
-2008-01-28 21:56  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/opcode.xml: Added string in type
-	* command/: flags.xml, flagscategory.xml: added null option for -O
-	  and --logfile
-	* siggen/sample.xml: Minor change
-	* opcodes/pyexec.xml, opcodes/pyinit.xml, opcodes/pyrun.xml,
-	  overview/building.xml, overview/configuring.xml,
-	  overview/frontends.xml, overview/introduction.xml,
-	  overview/recentdev.xml, preface/copy.xml, spectral/loris.xml:
-	  Changed references to CsoundVST to CsoundAC and removed some VST
-	  text
-	* opcodes/: readk.xml, readk2.xml, readk3.xml, readk4.xml: Removed
-	  unused interp argument
-
-2008-01-28 16:44  Anthony Kozar  <anthonykozar at sbcglobal.net>
-
-	* ChangeLog, opcodes/readk.xml, opcodes/readk2.xml,
-	  opcodes/readk3.xml, opcodes/readk4.xml: Further corrections to
-	  readk* entries.
-
-2008-01-28 12:20  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/vmap.xml: Small clarification
-
-2008-01-28 05:41  brandtsegg
-
-	* opcodes/partikkel.xml: Changed wording for imax_grains in the
-	  partikkel manpage
-	* opcodes/partikkel.xml: small changes to partikkel manpage, and
-	  replaced one example, and revised one example
-	* examples-xml/: PartikkelExample1.csd.xml,
-	  partikkel_softsync.csd.xml: Revised example and new example
-	* examples/PartikkelExample1.csd: New partikkel example
-	* examples/partikkel_softsync.csd: Revised example
-
-2008-01-27 10:58  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/dumpk.csd, examples/fibonacci.txt, examples/readk.csd,
-	  examples-xml/dumpk.csd.xml, examples-xml/readk.csd.xml,
-	  opcodes/dumpk.xml, opcodes/dumpk2.xml, opcodes/dumpk3.xml,
-	  opcodes/dumpk4.xml, opcodes/mpulse.xml, opcodes/readk.xml,
-	  opcodes/readk2.xml, opcodes/readk3.xml, opcodes/readk4.xml:
-	  Corrected dumpk/readk entries, added better example
-
-2008-01-26 11:51  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/diskin2.csd, examples/fox.wav, examples/loscil.csd,
-	  examples/loscil3.csd, examples/vcopy.csd, examples/vmult.csd,
-	  examples/vtablewk.csd, examples-xml/diskin2.csd.xml,
-	  examples-xml/loscil.csd.xml, examples-xml/loscil3.csd.xml,
-	  examples-xml/vcopy.csd.xml, examples-xml/vmult.csd.xml,
-	  examples-xml/vtablewa.csd.xml, examples-xml/vtablewk.csd.xml,
-	  misc/glossary.xml, misc/quickref.xml, opcodes/babo.xml,
-	  opcodes/bbcutm.xml, opcodes/cross2.xml, opcodes/dam.xml,
-	  opcodes/dcblock.xml, opcodes/diskin.xml, opcodes/dispfft.xml,
-	  opcodes/flanger.xml, opcodes/flbutton.xml, opcodes/follow.xml,
-	  opcodes/follow2.xml, opcodes/hrtfer.xml, opcodes/loscil.xml,
-	  opcodes/loscil3.xml, opcodes/lowres.xml, opcodes/lowresx.xml,
-	  opcodes/nestedap.xml, opcodes/nreverb.xml, opcodes/peak.xml,
-	  opcodes/resony.xml, opcodes/soundin.xml, opcodes/tempest.xml,
-	  opcodes/vlowres.xml, opcodes/waveset.xml, preface/whatsnew.xml,
-	  examples/beats.aiff: Removed beats.aiff file (there is an
-	  identical file called beats.wav) and added fox.wav
-	* stylesheets/common/: af.xml, ar.xml, autoidx-ng.xsl, ChangeLog,
-	  bg.xml, bn.xml, bs.xml, ca.xml, common.xsl, cs.xml, da.xml,
-	  de.xml, el.xml, en.xml, es.xml, et.xml, eu.xml, fi.xml, fr.xml,
-	  gentext.xsl, he.xml, hr.xml, hu.xml, id.xml, it.xml, ja.xml,
-	  ko.xml, l10n.dtd, l10n.xml, l10n.xsl, la.xml, labels.xsl, lt.xml,
-	  nl.xml, nn.xml, no.xml, olink.xsl, pi.xsl, pl.xml, pt.xml,
-	  pt_br.xml, ro.xml, ru.xml, sk.xml, sl.xml, sr.xml, sr_Latn.xml,
-	  subtitles.xsl, sv.xml, table.xsl, targetdatabase.dtd,
-	  targets.xsl, th.xml, titles.xsl, tr.xml, uk.xml, vi.xml, xh.xml,
-	  zh_cn.xml, zh_tw.xml: Removde old stylesheets
-	* stylesheets/: customHTMLHelp.xsl, customPDF.xsl,
-	  customXHTMLOneChunk.xsl, customXHTMLchunk.xsl, VERSION: Removde
-	  old stylesheets
-
-2008-01-25 07:59  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/: betarand.xml, birnd.xml, butterbp.xml, butterbr.xml,
-	  butterhp.xml, butterlp.xml, cauchy.xml, dam.xml,
-	  fluidControl.xml, fluidLoad.xml, fluidOut.xml, gauss.xml,
-	  harmon.xml, harmon234.xml, in.xml, log.xml, out.xml, outo.xml,
-	  outz.xml: more version numbers
-
-2008-01-25 06:32  Victor  Lazzarini <victor.lazzarini at nuim.ie>
-
-	* examples/hilbert.csd, examples-xml/hilbert.csd.xml: fixed hilbert
-	  example in the manual
-
-2008-01-24 06:50  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/: chani.xml, chano.xml, tableigpw.xml, tableikt.xml,
-	  tableimix.xml, tableiw.xml, tablekt.xml, tablemix.xml, timek.xml:
-	  More version numbers
-	* opcodes/: binit.xml, strcatk.xml, tablecopy.xml, tablegpw.xml,
-	  tableicopy.xml, trcross.xml, trfilter.xml, trhighest.xml,
-	  trlowest.xml, trmix.xml, trscale.xml, trshift.xml, trsplit.xml,
-	  turnoff2.xml: more version numbers
-
-2008-01-23 16:53  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/: getcfg.xml, strcat.xml, strchark.xml, strindex.xml,
-	  strindexk.xml, strlen.xml, strlenk.xml, strlower.xml,
-	  strlowerk.xml, strrindex.xml, strrindexk.xml, strupper.xml,
-	  strupperk.xml: more version numbers
-	* opcodes/: filter2.xml, kfilter2.xml, lpslot.xml, repluck.xml,
-	  wgpluck.xml: more version numbers
-	* opcodes/: bformdec.xml, bformenc.xml, diskin.xml, diskin2.xml,
-	  zfilter2.xml: more version numbers
-
-2008-01-22 20:54  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/fof.xml: Added csound version number, provided by Rasmus
-	  Ekman
-	* opcodes/: convolve.xml, granule.xml: Added csound version number,
-	  provided by Rasmus Ekman
-
-2008-01-22 17:19  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/: nlfilt.xml, pvread.xml, system.xml, tableseg.xml,
-	  vpvoc.xml: more version numbers
-	* opcodes/: 0dbfs.xml, compress.xml, cosinv.xml, outh.xml,
-	  pvcross.xml, sininv.xml, taninv.xml, xscans.xml, xscanu.xml: More
-	  version numbers
-	* opcodes/: adsr.xml, agogobel.xml, cosh.xml, fof2.xml, log10.xml,
-	  loop_ge.xml, loop_gt.xml, loop_le.xml, loop_lt.xml, mpulse.xml,
-	  sinh.xml, tan.xml, tanh.xml, vbap4.xml, zacl.xml, zakinit.xml,
-	  zamod.xml, zar.xml, zarg.xml, zaw.xml, zawm.xml, zir.xml,
-	  ziw.xml, ziwm.xml, zkcl.xml, zkmod.xml, zkr.xml, zkw.xml,
-	  zkwm.xml: added versions
-
-2008-01-22 02:02  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/zkwm.xml: Minor fix
-
-2008-01-06 11:55  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/pvsarp.csd, examples-xml/pvsarp.csd.xml,
-	  opcodes/butterbp.xml, opcodes/hilbert.xml, opcodes/pvsarp.xml,
-	  overview/building.xml, preface/whatsnew.xml: Moved pvsarp example
-	  to its own file, created what's new for 5.08 and other small
-	  fixes
-	* manual.xml, quickref.py, imageopcodes/top.xml,
-	  opcodes/imagecreate.xml, opcodes/imagefree.xml,
-	  opcodes/imagegetpixel.xml, opcodes/imageload.xml,
-	  opcodes/imagesave.xml, opcodes/imagesetpixel.xml,
-	  opcodes/imagesize.xml: Integrated image opcodes into manual and
-	  quickref
-	* Makefile, readme.txt, command/desc.xml, command/flags.xml,
-	  utility/atsa.xml, utility/cvanal.xml, utility/hetro.xml,
-	  utility/lpanal.xml, utility/pvanal.xml, utility/pvlook.xml,
-	  utility/sndinfo.xml: Updated stylesheets version and added
-	  manpages target to build man pages for the csound command and the
-	  utilities
-	* docbook-xsl-1.73.2/: htmlhelp/htmlhelp-common.xsl,
-	  htmlhelp/htmlhelp.xsl, htmlhelp/profile-htmlhelp-common.xsl,
-	  htmlhelp/profile-htmlhelp.xsl, lib/lib.xsl,
-	  manpages/ChangeLog.20020917, manpages/block.xsl,
-	  manpages/charmap.groff.xsl, manpages/docbook.xsl,
-	  manpages/endnotes.xsl, manpages/html-synop.xsl,
-	  manpages/info.xsl, manpages/inline.xsl, manpages/lists.xsl,
-	  manpages/other.xsl, manpages/param.xml, manpages/param.xsl,
-	  manpages/profile-docbook.xsl, manpages/refentry.xsl,
-	  manpages/synop.xsl, manpages/table.xsl, manpages/utility.xsl,
-	  params/abstract.notitle.enabled.xml,
-	  params/abstract.properties.xml,
-	  params/abstract.title.properties.xml, params/active.toc.xml,
-	  params/admon.graphics.extension.xml,
-	  params/admon.graphics.path.xml, params/admon.graphics.xml,
-	  params/admon.style.xml, params/admon.textlabel.xml,
-	  params/admonition.properties.xml,
-	  params/admonition.title.properties.xml, params/alignment.xml,
-	  params/annotate.toc.xml, params/annotation.css.xml,
-	  params/annotation.graphic.close.xml,
-	  params/annotation.graphic.open.xml, params/annotation.js.xml,
-	  params/annotation.support.xml, params/appendix.autolabel.xml,
-	  params/arbortext.extensions.xml,
-	  params/article.appendix.title.properties.xml,
-	  params/author.othername.in.middle.xml,
-	  params/autolayout-file.xml,
-	  params/autotoc.label.in.hyperlink.xml,
-	  params/autotoc.label.separator.xml, params/axf.extensions.xml,
-	  params/banner.before.navigation.xml, params/base.dir.xml,
-	  params/biblioentry.item.separator.xml,
-	  params/biblioentry.properties.xml,
-	  params/bibliography.collection.xml,
-	  params/bibliography.numbered.xml, params/bibliography.style.xml,
-	  params/blockquote.properties.xml,
-	  params/blurb.on.titlepage.enabled.xml,
-	  params/body.attributes.xml, params/body.bg.color.xml,
-	  params/body.end.indent.xml, params/body.font.family.xml,
-	  params/body.font.master.xml, params/body.font.size.xml,
-	  params/body.margin.bottom.xml, params/body.margin.top.xml,
-	  params/body.start.indent.xml, params/bridgehead.in.toc.xml,
-	  params/bullet.image.xml, params/callout.defaultcolumn.xml,
-	  params/callout.graphics.extension.xml,
-	  params/callout.graphics.number.limit.xml,
-	  params/callout.graphics.path.xml, params/callout.graphics.xml,
-	  params/callout.icon.size.xml, params/callout.list.table.xml,
-	  params/callout.unicode.font.xml,
-	  params/callout.unicode.number.limit.xml,
-	  params/callout.unicode.start.character.xml,
-	  params/callout.unicode.xml, params/callouts.extension.xml,
-	  params/chapter.autolabel.xml, params/chunk.append.xml,
-	  params/chunk.first.sections.xml, params/chunk.quietly.xml,
-	  params/chunk.section.depth.xml, params/chunk.sections.xml,
-	  params/chunk.separate.lots.xml, params/chunk.toc.xml,
-	  params/chunk.tocs.and.lots.has.title.xml,
-	  params/chunk.tocs.and.lots.xml,
-	  params/chunker.output.cdata-section-elements.xml,
-	  params/chunker.output.doctype-public.xml,
-	  params/chunker.output.doctype-system.xml,
-	  params/chunker.output.encoding.xml,
-	  params/chunker.output.indent.xml,
-	  params/chunker.output.media-type.xml,
-	  params/chunker.output.method.xml,
-	  params/chunker.output.omit-xml-declaration.xml,
-	  params/chunker.output.standalone.xml,
-	  params/citerefentry.link.xml, params/collect.xref.targets.xml,
-	  params/column.count.back.xml, params/column.count.body.xml,
-	  params/column.count.front.xml, params/column.count.index.xml,
-	  params/column.count.lot.xml, params/column.count.titlepage.xml,
-	  params/column.gap.back.xml, params/column.gap.body.xml,
-	  params/column.gap.front.xml, params/column.gap.index.xml,
-	  params/column.gap.lot.xml, params/column.gap.titlepage.xml,
-	  params/compact.list.item.spacing.xml,
-	  params/component.label.includes.part.label.xml,
-	  params/component.title.properties.xml,
-	  params/component.titlepage.properties.xml,
-	  params/contrib.inline.enabled.xml, params/crop.mark.bleed.xml,
-	  params/crop.mark.offset.xml, params/crop.mark.width.xml,
-	  params/crop.marks.xml, params/css.decoration.xml,
-	  params/css.stylesheet.dir.xml, params/css.stylesheet.xml,
-	  params/current.docid.xml, params/currentpage.marker.xml,
-	  params/default.float.class.xml, params/default.image.width.xml,
-	  params/default.table.frame.xml, params/default.table.width.xml,
-	  params/default.units.xml, params/dingbat.font.family.xml,
-	  params/double.sided.xml, params/draft.mode.xml,
-	  params/draft.watermark.image.xml, params/dry-run.xml,
-	  params/dynamic.toc.xml, params/ebnf.assignment.xml,
-	  params/ebnf.statement.terminator.xml,
-	  params/ebnf.table.bgcolor.xml, params/ebnf.table.border.xml,
-	  params/eclipse.autolabel.xml, params/eclipse.plugin.id.xml,
-	  params/eclipse.plugin.name.xml,
-	  params/eclipse.plugin.provider.xml, params/editedby.enabled.xml,
-	  params/email.delimiters.enabled.xml,
-	  params/emphasis.propagates.style.xml,
-	  params/entry.propagates.style.xml,
-	  params/equation.properties.xml, params/example.properties.xml,
-	  params/feedback.href.xml, params/feedback.link.text.xml,
-	  params/feedback.with.ids.xml, params/figure.properties.xml,
-	  params/filename-prefix.xml, params/firstterm.only.link.xml,
-	  params/foil.properties.xml, params/foil.subtitle.properties.xml,
-	  params/foil.title.master.xml, params/foil.title.size.xml,
-	  params/foilgroup.properties.xml, params/foilgroup.toc.xml,
-	  params/footer.column.widths.xml,
-	  params/footer.content.properties.xml, params/footer.hr.xml,
-	  params/footer.rule.xml, params/footer.table.height.xml,
-	  params/footer.table.properties.xml,
-	  params/footers.on.blank.pages.xml, params/footnote.font.size.xml,
-	  params/footnote.mark.properties.xml,
-	  params/footnote.number.format.xml,
-	  params/footnote.number.symbols.xml,
-	  params/footnote.properties.xml,
-	  params/footnote.sep.leader.properties.xml,
-	  params/fop1.extensions.xml, params/fop.extensions.xml,
-	  params/formal.object.properties.xml,
-	  params/formal.procedures.xml, params/formal.title.placement.xml,
-	  params/formal.title.properties.xml,
-	  params/funcsynopsis.decoration.xml,
-	  params/funcsynopsis.style.xml,
-	  params/funcsynopsis.tabular.threshold.xml,
-	  params/function.parens.xml, params/generate.id.attributes.xml,
-	  params/generate.index.xml, params/generate.legalnotice.link.xml,
-	  params/generate.manifest.xml, params/generate.meta.abstract.xml,
-	  params/generate.revhistory.link.xml,
-	  params/generate.section.toc.level.xml, params/generate.toc.xml,
-	  params/glossary.as.blocks.xml, params/glossary.collection.xml,
-	  params/glossary.sort.xml, params/glossentry.show.acronym.xml,
-	  params/glosslist.as.blocks.xml, params/glossterm.auto.link.xml,
-	  params/glossterm.separation.xml, params/glossterm.width.xml,
-	  params/graphic.default.extension.xml,
-	  params/graphical.admonition.properties.xml,
-	  params/graphics.dir.xml, params/graphicsize.extension.xml,
-	  params/graphicsize.use.img.src.path.xml,
-	  params/header.column.widths.xml,
-	  params/header.content.properties.xml, params/header.hr.xml,
-	  params/header.rule.xml, params/header.table.height.xml,
-	  params/header.table.properties.xml,
-	  params/headers.on.blank.pages.xml, params/hidetoc.image.xml,
-	  params/highlight.default.language.xml,
-	  params/highlight.source.xml, params/home.image.xml,
-	  params/html.append.xml, params/html.base.xml,
-	  params/html.cellpadding.xml, params/html.cellspacing.xml,
-	  params/html.cleanup.xml, params/html.ext.xml,
-	  params/html.extra.head.links.xml,
-	  params/html.head.legalnotice.link.multiple.xml,
-	  params/html.head.legalnotice.link.types.xml,
-	  params/htmlhelp.alias.file.xml, params/htmlhelp.autolabel.xml,
-	  params/htmlhelp.button.back.xml,
-	  params/htmlhelp.button.forward.xml,
-	  params/htmlhelp.button.hideshow.xml,
-	  params/htmlhelp.button.home.url.xml,
-	  params/htmlhelp.button.home.xml,
-	  params/htmlhelp.button.jump1.title.xml,
-	  params/htmlhelp.button.jump1.url.xml,
-	  params/htmlhelp.button.jump1.xml,
-	  params/htmlhelp.button.jump2.title.xml,
-	  params/htmlhelp.button.jump2.url.xml,
-	  params/htmlhelp.button.jump2.xml,
-	  params/htmlhelp.button.locate.xml,
-	  params/htmlhelp.button.next.xml,
-	  params/htmlhelp.button.options.xml,
-	  params/htmlhelp.button.prev.xml,
-	  params/htmlhelp.button.print.xml,
-	  params/htmlhelp.button.refresh.xml,
-	  params/htmlhelp.button.stop.xml, params/htmlhelp.button.zoom.xml,
-	  params/htmlhelp.chm.xml, params/htmlhelp.default.topic.xml,
-	  params/htmlhelp.display.progress.xml,
-	  params/htmlhelp.encoding.xml,
-	  params/htmlhelp.enhanced.decompilation.xml,
-	  params/htmlhelp.enumerate.images.xml,
-	  params/htmlhelp.force.map.and.alias.xml,
-	  params/html.longdesc.link.xml, params/html.longdesc.xml,
-	  params/html.stylesheet.type.xml, params/html.stylesheet.xml,
-	  params/htmlhelp.hhc.binary.xml,
-	  params/htmlhelp.hhc.folders.instead.books.xml,
-	  params/htmlhelp.hhc.section.depth.xml,
-	  params/htmlhelp.hhc.show.root.xml, params/htmlhelp.hhc.width.xml,
-	  params/htmlhelp.hhc.xml, params/htmlhelp.hhk.xml,
-	  params/htmlhelp.hhp.tail.xml, params/htmlhelp.hhp.window.xml,
-	  params/htmlhelp.hhp.windows.xml, params/htmlhelp.hhp.xml,
-	  params/htmlhelp.map.file.xml, params/htmlhelp.only.xml,
-	  params/htmlhelp.remember.window.position.xml,
-	  params/htmlhelp.show.advanced.search.xml,
-	  params/htmlhelp.show.favorities.xml,
-	  params/htmlhelp.show.menu.xml,
-	  params/htmlhelp.show.toolbar.text.xml, params/htmlhelp.title.xml,
-	  params/htmlhelp.use.hhk.xml, params/htmlhelp.window.geometry.xml,
-	  params/hyphenate.verbatim.characters.xml,
-	  params/hyphenate.verbatim.xml, params/hyphenate.xml,
-	  params/id.warnings.xml, params/ignore.image.scaling.xml,
-	  params/img.src.path.xml, params/index.div.title.properties.xml,
-	  params/index.entry.properties.xml, params/index.method.xml,
-	  params/index.number.separator.xml, params/index.on.role.xml,
-	  params/index.on.type.xml,
-	  params/index.page.number.properties.xml,
-	  params/index.prefer.titleabbrev.xml,
-	  params/index.preferred.page.properties.xml,
-	  params/index.range.separator.xml,
-	  params/index.term.separator.xml,
-	  params/informal.object.properties.xml,
-	  params/informalequation.properties.xml,
-	  params/informalexample.properties.xml,
-	  params/informalfigure.properties.xml,
-	  params/informaltable.properties.xml, params/inherit.keywords.xml,
-	  params/insert.link.page.number.xml,
-	  params/insert.olink.page.number.xml,
-	  params/insert.olink.pdf.frag.xml,
-	  params/insert.xref.page.number.xml,
-	  params/itemizedlist.label.properties.xml,
-	  params/itemizedlist.label.width.xml,
-	  params/itemizedlist.properties.xml, params/javahelp.encoding.xml,
-	  params/keep.relative.image.uris.xml, params/keyboard.nav.xml,
-	  params/l10n.gentext.default.language.xml,
-	  params/l10n.gentext.language.xml,
-	  params/l10n.gentext.use.xref.language.xml,
-	  params/l10n.lang.value.rfc.compliant.xml,
-	  params/label.from.part.xml, params/line-height.xml,
-	  params/linenumbering.everyNth.xml,
-	  params/linenumbering.extension.xml,
-	  params/linenumbering.separator.xml,
-	  params/linenumbering.width.xml, params/link.mailto.url.xml,
-	  params/list.block.properties.xml, params/list.block.spacing.xml,
-	  params/list.item.spacing.xml, params/make.graphic.viewport.xml,
-	  params/make.index.markup.xml, params/make.single.year.ranges.xml,
-	  params/make.valid.html.xml, params/make.year.ranges.xml,
-	  params/man.authors.section.enabled.xml,
-	  params/man.break.after.slash.xml, params/man.charmap.enabled.xml,
-	  params/man.charmap.subset.profile.xml,
-	  params/man.charmap.uri.xml, params/man.charmap.use.subset.xml,
-	  params/man.copyright.section.enabled.xml,
-	  params/man.endnotes.are.numbered.xml,
-	  params/man.endnotes.list.enabled.xml,
-	  params/man.endnotes.list.heading.xml,
-	  params/man.font.funcprototype.xml,
-	  params/man.font.funcsynopsisinfo.xml,
-	  params/man.font.table.headings.xml,
-	  params/man.font.table.title.xml,
-	  params/man.hyphenate.computer.inlines.xml,
-	  params/man.hyphenate.filenames.xml,
-	  params/man.hyphenate.urls.xml, params/man.hyphenate.xml,
-	  params/man.indent.blurbs.xml, params/man.indent.lists.xml,
-	  params/man.indent.refsect.xml, params/man.indent.verbatims.xml,
-	  params/man.indent.width.xml, params/man.justify.xml,
-	  params/man.links.are.underlined.xml,
-	  params/man.output.base.dir.xml, params/man.output.encoding.xml,
-	  params/man.output.in.separate.dir.xml,
-	  params/man.output.lang.in.name.enabled.xml,
-	  params/man.output.manifest.enabled.xml,
-	  params/man.output.manifest.filename.xml,
-	  params/man.output.quietly.xml,
-	  params/man.output.subdirs.enabled.xml,
-	  params/man.segtitle.suppress.xml,
-	  params/manifest.in.base.dir.xml, params/manifest.xml,
-	  params/man.string.subst.map.local.post.xml,
-	  params/man.string.subst.map.local.pre.xml,
-	  params/man.string.subst.map.xml,
-	  params/man.subheading.divider.enabled.xml,
-	  params/man.subheading.divider.xml,
-	  params/man.table.footnotes.divider.xml,
-	  params/man.th.extra1.suppress.xml,
-	  params/man.th.extra2.max.length.xml,
-	  params/man.th.extra2.suppress.xml,
-	  params/man.th.extra3.max.length.xml,
-	  params/man.th.extra3.suppress.xml,
-	  params/man.th.title.max.length.xml, params/manual.toc.xml,
-	  params/margin.note.float.type.xml,
-	  params/margin.note.properties.xml,
-	  params/margin.note.title.properties.xml,
-	  params/margin.note.width.xml, params/marker.section.level.xml,
-	  params/menuchoice.menu.separator.xml,
-	  params/menuchoice.separator.xml, params/minus.image.xml,
-	  params/monospace.font.family.xml,
-	  params/monospace.properties.xml,
-	  params/monospace.verbatim.properties.xml,
-	  params/multiframe.bottom.bgcolor.xml,
-	  params/multiframe.navigation.height.xml,
-	  params/multiframe.top.bgcolor.xml, params/multiframe.xml,
-	  params/nav.separator.xml, params/nav.table.summary.xml,
-	  params/navbgcolor.xml, params/navbodywidth.xml,
-	  params/navig.graphics.extension.xml,
-	  params/navig.graphics.path.xml, params/navig.graphics.xml,
-	  params/navig.showtitles.xml, params/navtocwidth.xml,
-	  params/next.image.xml, params/no.home.image.xml,
-	  params/no.next.image.xml, params/no.prev.image.xml,
-	  params/no.toc.image.xml, params/no.up.image.xml,
-	  params/nominal.image.depth.xml, params/nominal.image.width.xml,
-	  params/nominal.table.width.xml,
-	  params/nongraphical.admonition.properties.xml,
-	  params/normal.para.spacing.xml, params/olink.base.uri.xml,
-	  params/olink.debug.xml, params/olink.doctitle.xml,
-	  params/olink.fragid.xml, params/olink.lang.fallback.sequence.xml,
-	  params/olink.outline.ext.xml, params/olink.properties.xml,
-	  params/olink.pubid.xml, params/olink.resolver.xml,
-	  params/olink.sysid.xml, params/orderedlist.label.properties.xml,
-	  params/orderedlist.label.width.xml,
-	  params/orderedlist.properties.xml,
-	  params/othercredit.like.author.enabled.xml,
-	  params/output-root.xml, params/output.indent.xml,
-	  params/overlay.js.xml, params/overlay.logo.xml,
-	  params/overlay.xml, params/page.height.portrait.xml,
-	  params/page.height.xml, params/page.margin.bottom.xml,
-	  params/page.margin.inner.xml, params/page.margin.outer.xml,
-	  params/page.margin.top.xml, params/page.orientation.xml,
-	  params/page.width.portrait.xml, params/pages.template.xml,
-	  params/page.width.xml, params/paper.type.xml,
-	  params/para.propagates.style.xml, params/part.autolabel.xml,
-	  params/passivetex.extensions.xml, params/pgwide.properties.xml,
-	  params/phrase.propagates.style.xml, params/pixels.per.inch.xml,
-	  params/plus.image.xml, params/points.per.em.xml,
-	  params/preface.autolabel.xml, params/prefer.internal.olink.xml,
-	  params/preferred.mediaobject.role.xml, params/prev.image.xml,
-	  params/procedure.properties.xml,
-	  params/process.empty.source.toc.xml,
-	  params/process.source.toc.xml, params/profile.arch.xml,
-	  params/profile.attribute.xml, params/profile.audience.xml,
-	  params/profile.condition.xml, params/profile.conformance.xml,
-	  params/profile.lang.xml, params/profile.os.xml,
-	  params/profile.revision.xml, params/profile.revisionflag.xml,
-	  params/profile.role.xml, params/profile.security.xml,
-	  params/profile.separator.xml, params/profile.status.xml,
-	  params/profile.userlevel.xml, params/profile.value.xml,
-	  params/profile.vendor.xml, params/profile.wordsize.xml,
-	  params/punct.honorific.xml, params/qanda.defaultlabel.xml,
-	  params/qanda.in.toc.xml, params/qanda.inherit.numeration.xml,
-	  params/qanda.nested.in.toc.xml,
-	  params/qanda.title.level1.properties.xml,
-	  params/qanda.title.level2.properties.xml,
-	  params/qanda.title.level3.properties.xml,
-	  params/qanda.title.level4.properties.xml,
-	  params/qanda.title.level5.properties.xml,
-	  params/qanda.title.level6.properties.xml,
-	  params/qanda.title.properties.xml, params/qandadiv.autolabel.xml,
-	  params/rebuild-all.xml, params/refclass.suppress.xml,
-	  params/refentry.date.profile.enabled.xml,
-	  params/refentry.date.profile.xml,
-	  params/refentry.generate.name.xml,
-	  params/refentry.generate.title.xml,
-	  params/refentry.manual.fallback.profile.xml,
-	  params/refentry.manual.profile.enabled.xml,
-	  params/refentry.manual.profile.xml,
-	  params/refentry.meta.get.quietly.xml,
-	  params/refentry.pagebreak.xml, params/refentry.separator.xml,
-	  params/refentry.source.fallback.profile.xml,
-	  params/refentry.source.name.profile.enabled.xml,
-	  params/refentry.source.name.profile.xml,
-	  params/refentry.source.name.suppress.xml,
-	  params/refentry.title.properties.xml,
-	  params/refentry.version.profile.enabled.xml,
-	  params/refentry.version.profile.xml,
-	  params/refentry.version.suppress.xml,
-	  params/refentry.xref.manvolnum.xml,
-	  params/reference.autolabel.xml, params/region.after.extent.xml,
-	  params/region.before.extent.xml,
-	  params/revhistory.table.cell.properties.xml,
-	  params/revhistory.table.properties.xml,
-	  params/revhistory.title.properties.xml, params/root.filename.xml,
-	  params/root.properties.xml, params/rootid.xml,
-	  params/runinhead.default.title.end.punct.xml,
-	  params/runinhead.title.end.punct.xml,
-	  params/running.foot.properties.xml, params/sans.font.family.xml,
-	  params/saxon.callouts.xml,
-	  params/saxon.character.representation.xml,
-	  params/saxon.linenumbering.xml, params/saxon.tablecolumns.xml,
-	  params/script.dir.xml, params/section.autolabel.max.depth.xml,
-	  params/section.autolabel.xml,
-	  params/section.container.element.xml,
-	  params/section.label.includes.component.label.xml,
-	  params/section.level1.properties.xml,
-	  params/section.level2.properties.xml,
-	  params/section.level3.properties.xml,
-	  params/section.level4.properties.xml,
-	  params/section.level5.properties.xml,
-	  params/section.level6.properties.xml,
-	  params/section.properties.xml,
-	  params/section.title.level1.properties.xml,
-	  params/section.title.level2.properties.xml,
-	  params/section.title.level3.properties.xml,
-	  params/section.title.level4.properties.xml,
-	  params/section.title.level5.properties.xml,
-	  params/section.title.level6.properties.xml,
-	  params/section.title.properties.xml,
-	  params/segmentedlist.as.table.xml, params/sequential.links.xml,
-	  params/shade.verbatim.style.xml, params/shade.verbatim.xml,
-	  params/show.comments.xml, params/show.foil.number.xml,
-	  params/show.revisionflag.xml, params/showtoc.image.xml,
-	  params/side.float.properties.xml, params/sidebar.float.type.xml,
-	  params/sidebar.float.width.xml, params/sidebar.properties.xml,
-	  params/sidebar.title.properties.xml,
-	  params/simplesect.in.toc.xml, params/slide.font.family.xml,
-	  params/slide.title.font.family.xml, params/slides.js.xml,
-	  params/slides.properties.xml, params/spacing.paras.xml,
-	  params/speakernote.properties.xml,
-	  params/subscript.properties.xml,
-	  params/superscript.properties.xml,
-	  params/suppress.footer.navigation.xml,
-	  params/suppress.header.navigation.xml,
-	  params/suppress.homepage.title.xml,
-	  params/suppress.navigation.xml, params/symbol.font.family.xml,
-	  params/table.borders.with.css.xml,
-	  params/table.cell.border.color.xml,
-	  params/table.cell.border.style.xml,
-	  params/table.cell.border.thickness.xml,
-	  params/table.cell.padding.xml, params/table.entry.padding.xml,
-	  params/table.footnote.number.format.xml,
-	  params/table.footnote.number.symbols.xml,
-	  params/table.footnote.properties.xml,
-	  params/table.frame.border.color.xml,
-	  params/table.frame.border.style.xml,
-	  params/table.frame.border.thickness.xml,
-	  params/table.properties.xml, params/table.spacer.image.xml,
-	  params/table.table.properties.xml,
-	  params/tablecolumns.extension.xml,
-	  params/target.database.document.xml, params/targets.filename.xml,
-	  params/template.xml, params/tex.math.delims.xml,
-	  params/tex.math.file.xml, params/tex.math.in.alt.xml,
-	  params/text.home.xml, params/text.next.xml, params/text.prev.xml,
-	  params/text.toc.xml, params/text.up.xml, params/textbgcolor.xml,
-	  params/textdata.default.encoding.xml,
-	  params/textinsert.extension.xml, params/title.font.family.xml,
-	  params/title.margin.left.xml, params/titlefoil.html.xml,
-	  params/toc.bg.color.xml, params/toc.blank.graphic.xml,
-	  params/toc.blank.image.xml, params/toc.blank.text.xml,
-	  params/toc.hide.show.xml, params/toc.html.xml,
-	  params/toc.image.xml, params/toc.indent.width.xml,
-	  params/toc.line.properties.xml, params/toc.list.type.xml,
-	  params/toc.margin.properties.xml, params/toc.max.depth.xml,
-	  params/toc.pointer.graphic.xml, params/toc.pointer.image.xml,
-	  params/toc.pointer.text.xml, params/toc.row.height.xml,
-	  params/toc.section.depth.xml, params/toc.spacer.graphic.xml,
-	  params/toc.spacer.image.xml, params/toc.spacer.text.xml,
-	  params/toc.width.xml, params/ua.js.xml,
-	  params/ulink.footnotes.xml, params/ulink.hyphenate.chars.xml,
-	  params/ulink.hyphenate.xml, params/ulink.show.xml,
-	  params/ulink.target.xml, params/up.image.xml,
-	  params/use.embed.for.svg.xml, params/use.extensions.xml,
-	  params/use.id.as.filename.xml, params/use.id.function.xml,
-	  params/use.local.olink.style.xml,
-	  params/use.role.as.xrefstyle.xml,
-	  params/use.role.for.mediaobject.xml, params/use.svg.xml,
-	  params/variablelist.as.blocks.xml,
-	  params/variablelist.as.table.xml,
-	  params/variablelist.max.termlength.xml,
-	  params/variablelist.term.break.after.xml,
-	  params/variablelist.term.separator.xml,
-	  params/verbatim.properties.xml, params/wordml.template.xml,
-	  params/xbCollapsibleLists.js.xml, params/xbDOM.js.xml,
-	  params/xbLibrary.js.xml, params/xbStyle.js.xml,
-	  params/xep.extensions.xml, params/xep.index.item.properties.xml,
-	  params/xref.label-page.separator.xml,
-	  params/xref.label-title.separator.xml,
-	  params/xref.properties.xml, params/xref.title-page.separator.xml,
-	  params/xref.with.number.and.title.xml,
-	  profiling/profile-mode.xsl, profiling/profile.xsl,
-	  profiling/strip-attributes.xsl, profiling/xsl2profile.xsl,
-	  roundtrip/blocks-spec.xml, roundtrip/blocks2dbk.dtd,
-	  roundtrip/blocks2dbk.xsl, roundtrip/dbk2ooo.xsl,
-	  roundtrip/dbk2pages.xsl, roundtrip/dbk2wordml.xsl,
-	  roundtrip/dbk2wp.xsl, roundtrip/docbook-pages.xsl,
-	  roundtrip/docbook.xsl, roundtrip/normalise2sections.xsl,
-	  roundtrip/pages-normalise.xsl, roundtrip/pages2normalise.xsl,
-	  roundtrip/param.xml, roundtrip/param.xsl,
-	  roundtrip/sections-spec.xml, roundtrip/sections2blocks.xsl,
-	  roundtrip/specifications.xml, roundtrip/supported.xml,
-	  roundtrip/template-pages.xml, roundtrip/template.dot,
-	  roundtrip/template.xml, roundtrip/wordml-blocks.xsl,
-	  roundtrip/wordml-final.xsl, roundtrip/wordml-normalise.xsl,
-	  roundtrip/wordml-sections.xsl, roundtrip/wordml.xsl,
-	  roundtrip/wordml2normalise.xsl: Updated stylesheets version and
-	  added manpages target to build man pages for the csound command
-	  and the utilities
-	* docbook-xsl-1.73.2/: common/af.xml, common/am.xml, common/ar.xml,
-	  common/autoidx-kimber.xsl, common/autoidx-kosek.xsl,
-	  common/az.xml, common/bg.xml, common/bn.xml, common/bs.xml,
-	  common/ca.xml, common/charmap.xml, common/charmap.xsl,
-	  common/common.xml, common/common.xsl, common/cs.xml,
-	  common/cy.xml, common/da.xml, common/de.xml, common/el.xml,
-	  common/en.xml, common/entities.ent, common/eo.xml, common/es.xml,
-	  common/et.xml, common/eu.xml, common/fa.xml, common/fi.xml,
-	  common/fr.xml, common/ga.xml, common/gentext.xsl, common/gu.xml,
-	  common/he.xml, common/hi.xml, common/hr.xml, common/hu.xml,
-	  common/id.xml, common/insertfile.xsl, common/it.xml,
-	  common/ja.xml, common/kn.xml, common/ko.xml, common/l10n.dtd,
-	  common/l10n.xml, common/l10n.xsl, common/la.xml,
-	  common/labels.xsl, common/lt.xml, common/lv.xml, common/mn.xml,
-	  common/nl.xml, common/nn.xml, common/no.xml, common/olink.xsl,
-	  common/or.xml, common/pa.xml, common/pi.xml, common/pi.xsl,
-	  common/pl.xml, common/pt.xml, common/pt_br.xml,
-	  common/refentry.xml, common/refentry.xsl, common/ro.xml,
-	  common/ru.xml, common/sk.xml, common/sl.xml, common/sq.xml,
-	  common/sr.xml, common/sr_Latn.xml, common/stripns.xsl,
-	  common/subtitles.xsl, common/sv.xml, common/ta.xml,
-	  common/table.xsl, common/targetdatabase.dtd, common/targets.xsl,
-	  common/th.xml, common/titles.xsl, common/tl.xml, common/tr.xml,
-	  common/uk.xml, common/utility.xml, common/utility.xsl,
-	  common/vi.xml, common/xh.xml, common/zh_cn.xml, common/zh_tw.xml,
-	  highlighting/c-hl.xml, highlighting/common.xsl,
-	  highlighting/delphi-hl.xml, highlighting/ini-hl.xml,
-	  highlighting/java-hl.xml, highlighting/m2-hl.xml,
-	  highlighting/myxml-hl.xml, highlighting/php-hl.xml,
-	  highlighting/xslthl-config.xml, html/admon.xsl,
-	  html/annotations.xsl, html/autoidx-kimber.xsl,
-	  html/autoidx-kosek.xsl, html/autoidx-ng.xsl, html/autoidx.xsl,
-	  html/autotoc.xsl, html/biblio-iso690.xsl, html/biblio.xsl,
-	  html/block.xsl, html/callout.xsl, html/changebars.xsl,
-	  html/chunk-code.xsl, html/chunk-common.xsl, html/chunk.xsl,
-	  html/chunker.xsl, html/chunkfast.xsl, html/chunktoc.xsl,
-	  html/component.xsl, html/division.xsl, html/docbook.xsl,
-	  html/ebnf.xsl, html/footnote.xsl, html/formal.xsl,
-	  html/glossary.xsl, html/graphics.xsl, html/highlight.xsl,
-	  html/html-rtf.xsl, html/htmltbl.xsl, html/html.xsl,
-	  html/index.xsl, html/info.xsl, html/inline.xsl,
-	  html/keywords.xsl, html/lists.xsl, html/maketoc.xsl,
-	  html/manifest.xsl, html/math.xsl, html/oldchunker.xsl,
-	  html/onechunk.xsl, html/param.xml, html/param.xsl, html/pi.xml,
-	  html/pi.xsl, html/profile-chunk-code.xsl, html/profile-chunk.xsl,
-	  html/profile-docbook.xsl, html/profile-onechunk.xsl,
-	  html/qandaset.xsl, html/refentry.xsl, html/sections.xsl,
-	  html/synop.xsl, html/table.xsl, html/task.xsl,
-	  html/titlepage.templates.xml, html/titlepage.templates.xsl,
-	  html/titlepage.xsl, html/toc.xsl, html/verbatim.xsl,
-	  html/xref.xsl: Updated stylesheets version and added manpages
-	  target to build man pages for the csound command and the
-	  utilities
-
-2008-01-05 23:14  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* manpages.xml, docbook-xsl-1.73.2/AUTHORS,
-	  docbook-xsl-1.73.2/BUGS, docbook-xsl-1.73.2/COPYING,
-	  docbook-xsl-1.73.2/VERSION, docbook-xsl-1.73.2/catalog.xml,
-	  docbook-xsl-1.73.2/customHTMLHelp.xsl,
-	  docbook-xsl-1.73.2/customPDF.xsl,
-	  docbook-xsl-1.73.2/customXHTMLOneChunk.xsl,
-	  docbook-xsl-1.73.2/customXHTMLchunk.xsl,
-	  docbook-xsl-1.73.2/xhtml/admon.xsl,
-	  docbook-xsl-1.73.2/xhtml/annotations.xsl,
-	  docbook-xsl-1.73.2/xhtml/autoidx-kimber.xsl,
-	  docbook-xsl-1.73.2/xhtml/autoidx-kosek.xsl,
-	  docbook-xsl-1.73.2/xhtml/autoidx-ng.xsl,
-	  docbook-xsl-1.73.2/xhtml/autoidx.xsl,
-	  docbook-xsl-1.73.2/xhtml/autotoc.xsl,
-	  docbook-xsl-1.73.2/xhtml/biblio-iso690.xsl,
-	  docbook-xsl-1.73.2/xhtml/biblio.xsl,
-	  docbook-xsl-1.73.2/xhtml/block.xsl,
-	  docbook-xsl-1.73.2/xhtml/callout.xsl,
-	  docbook-xsl-1.73.2/xhtml/changebars.xsl,
-	  docbook-xsl-1.73.2/xhtml/chunk-code.xsl,
-	  docbook-xsl-1.73.2/xhtml/chunk-common.xsl,
-	  docbook-xsl-1.73.2/xhtml/chunk.xsl,
-	  docbook-xsl-1.73.2/xhtml/chunker.xsl,
-	  docbook-xsl-1.73.2/xhtml/chunkfast.xsl,
-	  docbook-xsl-1.73.2/xhtml/chunktoc.xsl,
-	  docbook-xsl-1.73.2/xhtml/component.xsl,
-	  docbook-xsl-1.73.2/xhtml/division.xsl,
-	  docbook-xsl-1.73.2/xhtml/docbook.xsl,
-	  docbook-xsl-1.73.2/xhtml/ebnf.xsl,
-	  docbook-xsl-1.73.2/xhtml/footnote.xsl,
-	  docbook-xsl-1.73.2/xhtml/formal.xsl,
-	  docbook-xsl-1.73.2/xhtml/glossary.xsl,
-	  docbook-xsl-1.73.2/xhtml/graphics.xsl,
-	  docbook-xsl-1.73.2/xhtml/highlight.xsl,
-	  docbook-xsl-1.73.2/xhtml/html-rtf.xsl,
-	  docbook-xsl-1.73.2/xhtml/html.xsl,
-	  docbook-xsl-1.73.2/xhtml/htmltbl.xsl,
-	  docbook-xsl-1.73.2/xhtml/index.xsl,
-	  docbook-xsl-1.73.2/xhtml/info.xsl,
-	  docbook-xsl-1.73.2/xhtml/inline.xsl,
-	  docbook-xsl-1.73.2/xhtml/keywords.xsl,
-	  docbook-xsl-1.73.2/xhtml/lists.xsl,
-	  docbook-xsl-1.73.2/xhtml/maketoc.xsl,
-	  docbook-xsl-1.73.2/xhtml/manifest.xsl,
-	  docbook-xsl-1.73.2/xhtml/math.xsl,
-	  docbook-xsl-1.73.2/xhtml/oldchunker.xsl,
-	  docbook-xsl-1.73.2/xhtml/onechunk.xsl,
-	  docbook-xsl-1.73.2/xhtml/param.xsl,
-	  docbook-xsl-1.73.2/xhtml/pi.xsl,
-	  docbook-xsl-1.73.2/xhtml/profile-chunk-code.xsl,
-	  docbook-xsl-1.73.2/xhtml/profile-chunk.xsl,
-	  docbook-xsl-1.73.2/xhtml/profile-docbook.xsl,
-	  docbook-xsl-1.73.2/xhtml/profile-onechunk.xsl,
-	  docbook-xsl-1.73.2/xhtml/qandaset.xsl,
-	  docbook-xsl-1.73.2/xhtml/refentry.xsl,
-	  docbook-xsl-1.73.2/xhtml/sections.xsl,
-	  docbook-xsl-1.73.2/xhtml/synop.xsl,
-	  docbook-xsl-1.73.2/xhtml/table.xsl,
-	  docbook-xsl-1.73.2/xhtml/task.xsl,
-	  docbook-xsl-1.73.2/xhtml/titlepage.templates.xsl,
-	  docbook-xsl-1.73.2/xhtml/titlepage.xsl,
-	  docbook-xsl-1.73.2/xhtml/toc.xsl,
-	  docbook-xsl-1.73.2/xhtml/verbatim.xsl,
-	  docbook-xsl-1.73.2/xhtml/xref.xsl: Updated stylesheets version
-	  and added manpages target to build man pages for the csound
-	  command and the utilities
-
-2008-01-05 06:40  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/: mxadsr.xml, xadsr.xml: Minor fix
-	* opcodes/: envlpxr.xml, linenr.xml, madsr.xml: Minor fix
-
-2008-01-04 21:28  gogins
-
-	* csound5/extending.xml: no message
-
-2008-01-04 06:25  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/imagesize.xml: typo in imagesize
-	* examples/imageopcodes.csd: image opcodes
-	* examples-xml/imageopcodes.csd.xml, opcodes/top.xml: image opcodes
-	* manual.xml, examples/imageopcodes.csd, opcodes/imagecreate.xml,
-	  opcodes/imagefree.xml, opcodes/imagegetpixel.xml,
-	  opcodes/imageload.xml, opcodes/imagesave.xml,
-	  opcodes/imagesetpixel.xml, opcodes/imagesize.xml,
-	  opcodes/top.xml: image opcodes
-
-2007-12-20 14:57  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/: pvsbandp.xml, pvsbandr.xml: krate rolloff shape
-
-2007-12-19 02:05  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/: pvsbandp.xml, pvsbandr.xml: added shape parameter to
-	  pvsbandp/r
-	* opcodes/: pvsbandp.xml, pvsbandr.xml: added shape parameter to
-	  pvsbandp/r
-
-2007-12-15 08:07  jpff  <jpff at codemist.co.uk>
-
-	* ChangeLog, Makefile, manual.xml, opcodes/pvsbandp.xml,
-	  opcodes/pvsbandr.xml, opcodes/top.xml, spectral/realtime.xml:
-	  pvsband[pr].xml - Added new pvsbandp and pvsbandr opcodes
-
-2007-12-13 16:16  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/loopseg.xml, opcodes/loopsegp.xml, opcodes/lpshold.xml,
-	  opcodes/lpsholdp.xml, opcodes/rspline.xml, examples/scale.csd,
-	  examples-xml/scale.csd.xml: Minor fix
-
-2007-11-30 01:15  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/: linseg.xml, linsegr.xml, logcurve.xml: Minor fix
-	* examples-xml/logcurve.csd.xml: Minor fix
-
-2007-11-28 01:49  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/: expon.xml, line.xml: Minor fix
-
-2007-11-14 15:42  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/pvsarp.xml: pvsarp example did not work
-
-2007-11-04 05:28  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/: cps2pch.xml, cpstun.xml, cpstuni.xml, cpsxpch.xml:
-	  Minor layout fix
-
-2007-11-03 15:25  Francois Pinot <francois.pinot at numericable.fr>
-
-	* overview/building.xml: Typo
-
-2007-11-03 15:14  Francois Pinot <francois.pinot at numericable.fr>
-
-	* examples-xml/cpsmidinn.csd.xml: Minor fix
-	* opcodes/: cent.xml, cpsoct.xml, cpspch.xml, octave.xml,
-	  octcps.xml, octmidinn.xml, octpch.xml, pchmidinn.xml, pchoct.xml,
-	  semitone.xml: Minor layout fix
-
-2007-11-01 19:01  gogins
-
-	* overview/building.xml: no message
-
-2007-10-26 01:08  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/: birnd.xml, rnd.xml, taninv2.xml: Minor layout fix
-
-2007-10-24 16:59  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/: ampdb.xml, ampdbfs.xml, cos.xml, cosh.xml, cosinv.xml,
-	  db.xml, dbamp.xml, dbfsamp.xml, sin.xml, sinh.xml, sininv.xml,
-	  tan.xml, tanh.xml, taninv.xml: Minor layout fix
-
-2007-10-22 01:01  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/: logbtwo.xml, powoftwo.xml: Minot layout fix
-
-2007-10-21 09:33  Francois Pinot <francois.pinot at numericable.fr>
-
-	* misc/quickref.xml: Updated
-	* opcodes/gainslider.xml: Typo
-
-2007-10-20 03:31  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/fluidEngine.xml: Typo
-
-2007-10-15 15:43  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/jspline.xml: Added some links
-
-2007-10-11 06:32  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/expcurve.xml, opcodes/expon.xml, opcodes/expseg.xml,
-	  opcodes/expsega.xml, opcodes/gainslider.xml,
-	  examples-xml/expcurve.csd.xml, examples-xml/gainslider.csd.xml:
-	  Minor fix
-
-2007-10-10 15:24  Francois Pinot <francois.pinot at numericable.fr>
-
-	* stylesheets/customPDF.xsl: Improved quickref layout rules
-
-2007-10-09 15:00  Francois Pinot <francois.pinot at numericable.fr>
-
-	* manual.xml, opcodes/syncloop.xml: Minor fix
-
-2007-10-08 14:16  Francois Pinot <francois.pinot at numericable.fr>
-
-	* Makefile: VERSION variable fixed to 5.07
-	* opcodes/syncloop.xml: Syntax highlighting and typos
-
-2007-10-08 09:09  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* preface/whatsnew.xml: Finished what's new
-
-2007-10-07 23:58  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* misc/quickref.xml: Updated quickref.xml for release
-	* ChangeLog, manual.xml, preface/whatsnew.xml: Bumped version to
-	  5.07. Added what's new section for 5.07. Updated changelog from
-	  cvs (using cvs2cl)
-
-2007-10-06 06:13  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/syncgrain.xml: Syntax highlighting and typos
-
-2007-10-05 01:47  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/: sndwarp.xml, sndwarpst.xml: Syntax highlighting and
-	  typos
-
-2007-10-04 22:56  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples-xml/cpsmidinn.csd.xml, opcodes/clear.xml,
-	  opcodes/cpsmidi.xml, opcodes/cpsmidinn.xml, opcodes/maca.xml,
-	  opcodes/pvsosc.xml, opcodes/vincr.xml, sigmod/compaccum.xml:
-	  Added Anthony Kozar's suggestions for accumulator opcodes, and a
-	  fixed syntax definition for pvsosc
-
-2007-10-03 23:34  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/partikkelsync.xml: Minor fix
-	* opcodes/: partikkel.xml, partikkelsync.xml: Typos
-
-2007-10-02 23:51  Anthony Kozar	<anthonykozar at sbcglobal.net>
-
-	* opcodes/: db.xml, maxabsaccum.xml, maxaccum.xml, top.xml: Minor
-	  corrections.
-	* opcodes/: mac.xml, maca.xml: Changed Quick Ref group to
-	  "Mathematical Operations:Opcode Equivalents of Functions".
-	* math/top.xml, sigmod/top.xml: Moved "Comparators and
-	  Accumulators" section from "Signal Modifiers" to "Mathematical
-	  Operations".
-	* opcodes/: clear.xml, vincr.xml: Tried to generalize and clarify
-	  the discussion of these opcodes.
-	* math/amp.xml, sigmod/compaccum.xml, math/opeqfunc.xml: Added more
-	  classifications for "mac", "maca", and "vincr". Reclassified "db"
-	  under "Amplitude Converters".
-	* preface/acknowledgements.xml, credits.txt: Added some names
-	  (including my own) to the list of Csound contributors.
-	* opcodes/: cpsmidi.xml, cpsoct.xml, cpspch.xml, octcps.xml,
-	  octmidi.xml, octpch.xml, pchmidi.xml, pchoct.xml: Added
-	  information about and references new *midinn opcodes.  Expanded
-	  note about cps conversion table and its tuning issues.
-	* ChangeLog, pitch/funcs.xml, manual.xml, examples/cpsmidinn.csd,
-	  opcodes/cpsmidinn.xml, opcodes/octmidinn.xml,
-	  opcodes/pchmidinn.xml: Added new opcode entries.
-
-2007-09-30 12:15  jpff  <jpff at codemist.co.uk>
-
-	* ChangeLog, opcodes/pvscent.xml, opcodes/pvsmooth.xml: More typos
-	  in examples
-	* ChangeLog, Makefile: another typo
-
-2007-09-30 09:25  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/pvsfilter.xml: Syntax highlighting
-	* opcodes/pan2.xml: Syntax highlighting
-
-2007-09-30 07:55  jpff  <jpff at codemist.co.uk>
-
-	* ChangeLog, opcodes/pvsfilter.xml: fixed exampel error
-
-2007-09-30 02:18  Francois Pinot <francois.pinot at numericable.fr>
-
-	* examples-xml/diskgrain.csd.xml: Minor fix
-
-2007-09-29 06:08  jpff  <jpff at codemist.co.uk>
-
-	* manual.xml, opcodes/pan2.xml, opcodes/top.xml, Makefile: pan2
-	  opcode
-
-2007-09-28 01:26  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/granule.xml: Reorganized sections
-
-2007-09-26 21:37  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* csd2docbook2.py, opcode_list.txt: Added csd2docbook2.py script
-	  which is not dependent on the python csnd module, but on the
-	  opcode_list.txt text file
-	* examples/virtual.csd, examples-xml/virtual.csd.xml,
-	  midi/virtual.xml: Added example for virtual keyboard
-	* orch/macros.xml: Added note about command line macros
-	* examples/strsub.csd, examples-xml/strsub.csd.xml,
-	  opcodes/strsub.xml: Added example by Jonathan Murphy
-	* examples-xml/: dam.csd.xml, diskgrain.csd.xml, tempo.csd.xml,
-	  vbap8.csd.xml, vbap8move.csd.xml: Updated syntax highlight files
-	* examples-xml/fout_ftable.csd.xml, opcodes/fout.xml: Corrected
-	  fout and added syntax highlight for its new example
-	* examples/fout_ftable.csd, opcodes/fout.xml: Added example by
-	  Jonathan Murphy
-	* opcodes/scoreline.xml: Added example suggestion by Joachim Heintz
-	* examples/tempo.csd: Added changes suggested by Greg Thompson
-	* opcodes/wguide2.xml: Added feedback note by Steven Yi
-
-2007-09-21 00:03  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/grain3.xml: Minor fixes
-
-2007-09-19 00:02  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/grain2.xml: Deleted diagram pasted from grain3
-
-2007-09-18 23:27  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/grain2.xml: Minor fixes
-
-2007-09-16 23:05  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/tone.xml: Minor fix
-	* opcodes/aresonk.xml: Minor fix
-
-2007-09-12 00:45  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/aftouch.xml: Minor fix
-
-2007-09-11 14:47  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/round.xml: Minor fix
-	* opcodes/: assign.xml, divz.xml: Minor layout fix
-
-2007-09-10 13:12  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/: equals.xml, greaterequal.xml, greaterthan.xml,
-	  lessequal.xml, lessthan.xml, notequal.xml: Minor fixes
-	* opcodes/: adds.xml, divides.xml, multiplies.xml, pow.xml,
-	  raises.xml, subtracts.xml: Minor layout fix
-
-2007-09-09 15:38  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/: adds.xml, divides.xml, multiplies.xml, opor.xml,
-	  raises.xml, subtracts.xml: Typo
-
-2007-09-06 11:19  Francois Pinot <francois.pinot at numericable.fr>
-
-	* quickref.py, misc/quickref.xml: Bug fix (Spectral Processing
-	  opcodes display)
-
-2007-09-05 02:03  Francois Pinot <francois.pinot at numericable.fr>
-
-	* examples-xml/: vbap8.csd.xml, vbap8move.csd.xml: Initial commit
-	* examples/vbap8move.csd: Added closing tag
-	* opcodes/vbap8move.xml: Minor fix
-
-2007-09-04 15:34  Francois Pinot <francois.pinot at numericable.fr>
-
-	* examples-xml/dam.csd.xml: Updated
-	* examples/dam.csd: minor fix
-
-2007-09-04 10:53  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/sflooper.xml: fix typo
-	* opcodes/: pvsfilter.xml, pvsfreeze.xml, pvsinfo.xml,
-	  pvsmooth.xml: remove false fin variables
-	* opcodes/: pvsfilter.xml, pvsfreeze.xml, pvsmooth.xml: remove
-	  false fout variables
-
-2007-09-04 09:44  Victor  Lazzarini <victor.lazzarini at nuim.ie>
-
-	* manual.xml, opcodes/top.xml, siggen/sample.xml,
-	  spectral/realtime.xml: added pvsbuffer, pvsbufread and sflooper
-	  links
-
-2007-09-03 17:20  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/vbap8.csd: Changed channels to 8
-	* scoregens/top.xml: Added note about f statement and negative
-	  fgens.
-
-2007-08-28 21:54  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/vbap4move.csd, examples/vbap8move.csd,
-	  opcodes/vbap16move.xml, opcodes/vbap4move.xml,
-	  opcodes/vbap8move.xml, opcodes/vbapzmove.xml: Small corrections,
-	  added example for vbap8move by Hector Centeno, and removed
-	  example for vbap4move
-	* examples/vbap4move.csd, examples/vbap8.csd, opcodes/vbap16.xml,
-	  opcodes/vbap16move.xml, opcodes/vbap4.xml, opcodes/vbap4move.xml,
-	  opcodes/vbap8.xml, opcodes/vbap8move.xml, opcodes/vbaplsinit.xml,
-	  opcodes/vbapz.xml, opcodes/vbapzmove.xml: Added note about
-	  vbaplsinit, moved examples to csd files and other minor fixes
-
-2007-08-28 14:33  Steven Yi <stevenyi at gmail.com>
-
-	* opcodes/fluidEngine.xml: updated info on optional numChannels and
-	  polyphony
-
-2007-08-26 17:26  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* scoregens/gen52.xml: Small improvement in wording
-
-2007-08-25 10:32  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* scoregens/: gen52.xml, top.xml: Added GEN15 and GEN52 to the
-	  F-gen list and expanded GEN52 docuementation.
-
-2007-08-22 23:42  Steven Yi <stevenyi at gmail.com>
-
-	* Makefile, manual.xml, opcodes/fluidSetInterpMethod.xml,
-	  opcodes/top.xml, siggen/sample.xml: added fluidSetInterpMethod
-	  opcode entry
-
-2007-08-22 05:04  Victor  Lazzarini <victor.lazzarini at nuim.ie>
-
-	* opcodes/sflooper.xml: added sflooper page
-
-2007-08-17 10:42  Victor  Lazzarini <victor.lazzarini at nuim.ie>
-
-	* opcodes/: pvsbuffer.xml, pvsbufread.xml: pvsbufread etc pages
-
-2007-07-12 05:04  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/ATSaddnz.xml: correcting ATSaddnz
-
-2007-07-06 09:02  jpff  <jpff at codemist.co.uk>
-
-	* ChangeLog, examples/dam.csd, opcodes/ATSaddnz.xml: Corrected
-	  ATSaddnz. Removed references to the cosine table as
-	  this is not in the code.
-
-2007-07-04 09:01  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* overview/building.xml, ChangeLog, Makefile: Added note about getting sources from
-	  tarball
-
-2007-07-03 15:29  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* overview/building.xml: Updated building instructions
-
-2007-06-17 09:53  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/: log.xml, log10.xml, opk.xml, sqrt.xml: Added links
-
-2007-06-16 16:01  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/0dbfs.xml: Minor fixes
-	* examples-xml/diskgrain.csd.xml: Minor fix
-
-2007-06-10 22:48  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* misc/quickref.xml: Updated quickref.xml
-
-2007-06-10 22:30  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* preface/whatsnew.xml: minor fixes
-	* examples/FLslidBnk2.csd, examples/FLslidBnk2Setk.csd,
-	  examples-xml/FLslidBnk2Setk.csd.xml: Fixed line endings
-	* spectral/realtime.xml: indentation
-	* overview/frontends.xml: minor changes
-	* siggen/granular.xml: alphabetical order
-	* examples/partikkel_softsync.csd,
-	  examples-xml/partikkel_softsync.csd.xml, opcodes/partikkel.xml:
-	  Added new example for partikkel
-	* examples/vtable1k.csd, examples-xml/vtable1k.csd.xml,
-	  opcodes/vtable1k.xml: Added example for vtable1k
-	* opcodes/flslidbnksetk.xml: Commented out example
-	* opcodes/: eqfil.xml, pvsdiskin.xml, pvsmorph.xml: Cosmetic
-	* opcodes/ctrl7.xml: Added information about a-rate version
-	* examples/diskgrain.csd, examples-xml/diskgrain.csd.xml,
-	  opcodes/diskgrain.xml: Moved example to a separate file and other
-	  cosmetic changes
-	* control/fltkother.xml: Added reference to the FLslidBnkSet
-	  opcodes
-	* manual.xml: Better place for the version number
-	* manual.xml, preface/top.xml, preface/whatsnew.xml: Added what's
-	  new section
-	* examples/FLslidBnk2Setk.csd, examples-xml/FLslidBnk2Setk.csd.xml,
-	  opcodes/flslidbnk2set.xml, opcodes/flslidbnk2setk.xml,
-	  opcodes/flslidbnkgethandle.xml, opcodes/flslidbnkset.xml,
-	  opcodes/flslidbnksetk.xml, opcodes/top.xml: Added FslidBnk
-	  opcodes
-	* opcodes/: flgetsnap.xml, flloadsnap.xml, flsavesnap.xml,
-	  flsetsnap.xml, flsetsnapgroup.xml: Added note about igroup
-	  parameter not working yet.
-	* Tagged release and updated Quick Reference page using quickref.py.
-
-2007-06-03 12:30  gogins
-
-	* overview/building.xml: Updated for OSC.
-
-2007-06-01 17:01  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/: vtaba.xml, vtabi.xml, vtabk.xml, vtable1k.xml,
-	  vtablea.xml, vtablei.xml, vtablek.xml, vtablewa.xml,
-	  vtablewi.xml, vtablewk.xml, vtabwa.xml, vtabwi.xml, vtabwk.xml:
-	  Added clarification and note about arguments and other small
-	  additions
-
-2007-05-31 21:54  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/linen.xml: Small addition
-
-2007-05-28 18:45  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/filepeak.xml: Removed obsolete warning
-	* opcodes/: filenchnls.xml, filesr.xml: Added missing optional
-	  parameter
-
-2007-05-26 07:22  brandtsegg
-
-	* opcodes/: partikkel.xml, partikkelsync.xml: [no log message]
-
-2007-05-18 19:34  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/fluidcomplex.csd, examples-xml/fluidcomplex.csd.xml:
-	  Fixed fluidsynth example
-
-2007-05-17 21:45  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/FLslidBnk2.csd, examples-xml/FLslidBnk2.csd.xml,
-	  opcodes/flslidbnk2.xml, opcodes/flvslidbnk2.xml: Added example to
-	  FlslidBnk2 and fixed FLvslidBnk2
-	* manual.xml, examples/FLvslidBnk.csd,
-	  examples-xml/FLvslidBnk.csd.xml, opcodes/flslidbnk.xml,
-	  opcodes/flslidbnk2.xml, opcodes/flvslidbnk.xml,
-	  opcodes/flvslidbnk2.xml, opcodes/top.xml, control/fltkother.xml:
-	  Added entries for FlslidBnk2, FlvslidBnk, FlvslidBnk2
-	* examples/vcomb.csd, examples-xml/vcomb.csd.xml,
-	  opcodes/vcomb.xml: Added example to vcomb by Jonathan Murphy and
-	  Charles Gran
-	* manual.xml, midi/sliderbk.xml, opcodes/sliderkawai.xml,
-	  opcodes/top.xml: Added sliderKawai entry
-
-2007-05-15 20:50  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/FLhvsBox.csd: Had been added by mistake
-	* misc/quickref.xml: Updated quickref
-
-2007-05-14 20:21  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/slider32table.xml: typo
-	* control/fltkintro.xml: small addition
-	* opcodes/vstnote.xml: small additions
-	* opcodes/random.xml: cosmetic
-	* quickref.py: Added HVS
-	* manual.xml, midi/sliderbk.xml, opcodes/slider16.xml,
-	  opcodes/slider16f.xml, opcodes/slider16table.xml,
-	  opcodes/slider16tablef.xml, opcodes/slider32.xml,
-	  opcodes/slider32f.xml, opcodes/slider32table.xml,
-	  opcodes/slider32tablef.xml, opcodes/slider64.xml,
-	  opcodes/slider64f.xml, opcodes/slider64table.xml,
-	  opcodes/slider64tablef.xml, opcodes/slider8table.xml,
-	  opcodes/slider8tablef.xml, opcodes/top.xml: Added docs for
-	  sliderNtable(f) opcodes
-	* opcodes/vphaseseg.xml: Typos
-	* vectorial/tables.xml: Added FLhvsBox, FLhvsBoxSetValue, FLkeyin,
-	  removed FLkeyb, FLmouse, FLsetSnapGroup, FLxyin, hvs1, hvs2,
-	  hvs3, vphaseseg, inrg, outrg, lposcila, lposcilsa, lposcilsa2,
-	  tabmorph, tabmorpha, tabmorphak, tabmorphi, trandom, vtable1k
-	* table/readwrit.xml: Added tabmorph opcodes
-	* sigio/: input.xml, output.xml: Added inrg and outrg
-	* siggen/top.xml: Added HVS opcodes: hvs1, hvs2, hvs3 and vphaseseg
-	* siggen/sample.xml: Added new lposcil opcodes and formatting
-	* siggen/random.xml: Added trandom
-	* opcodes/top.xml: Added FLhvsBox, FLhvsBoxSetValue, FLkeyin,
-	  removed FLkeyb, FLmouse, FLsetSnapGroup, FLxyin, hvs1, hvs2,
-	  hvs3, vphaseseg, inrg, outrg, lposcila, lposcilsa, lposcilsa2,
-	  tabmorph, tabmorpha, tabmorphak, tabmorphi, trandom, vtable1k
-	* opcodes/sensekey.xml: Added references
-	* opcodes/lposcil.xml: Added references to new poscil opcodes
-	* opcodes/: flgetsnap.xml, flloadsnap.xml, flsavesnap.xml,
-	  flsetsnap.xml: Added new optional igroup parameter
-	* opcodes/: flcount.xml, fljoy.xml, flknob.xml, flpanel.xml,
-	  flroller.xml, flslider.xml, fltext.xml: Removed FLkeyb which was
-	  never functional and marked experimental. Replaced by FLkeyin
-	* manual.xml: Fixed typo
-	* Makefile: Removed FLkeyb which was never functional and marked
-	  experimental. Replaced by FLkeyin
-	* examples-xml/FLsetText.csd.xml: Updated xml version of examples
-	* examples/ftgen-2.csd, examples-xml/ftgen-2.csd.xml,
-	  opcodes/ftgen.xml: Added another example for ftgen
-	* examples-xml/: FLsavesnap.csd.xml, FLsavesnap_simple.csd.xml:
-	  Added examples for FLsavesnap
-	* opcodes/: inrg.xml, lposcila.xml, lposcilsa.xml, lposcilsa2.xml,
-	  outrg.xml, tabmorphak.xml, tabmorph.xml, tabmorpha.xml,
-	  tabmorphi.xml, trandom.xml, vtable1k.xml: Added new opcodes inrg,
-	  new lposcil family, new tabmorph family, outrg and vtable1k
-	* opcodes/hvs1.xml, opcodes/hvs2.xml, opcodes/hvs3.xml,
-	  opcodes/vphaseseg.xml, siggen/hvs.xml, examples/hvs1.csd,
-	  examples-xml/hvs1.csd.xml: Added HVS opcodes: hvs1, hvs2, hvs3
-	  and vphaseseg
-	* control/fltkother.xml: Added FLkeyin, FLhvsBox, FLhvsBoxSetValue,
-	  Fl mouse, FLxyin
-	* control/fltkgeneral.xml, control/fltkintro.xml,
-	  opcodes/FLhvsBox.csd: Added FLhvsSetBox
-	* control/fltkvaluators.xml, opcodes/flkeyb.xml: Removed FLkeyb
-	  which was never functional and marked experimental. Replaced by
-	  FLkeyin
-	* examples/FLhvsBox.csd, examples/FLkeyIn.csd,
-	  examples/FLmouse.csd, examples/FLsavesnap.csd,
-	  examples/FLsavesnap_simple.csd, examples/FLxyin-2.csd,
-	  examples/FLxyin.csd, examples-xml/FLhvsBox.csd.xml,
-	  examples-xml/FLkeyIn.csd.xml, examples-xml/FLmouse.csd.xml,
-	  examples-xml/FLxyin-2.csd.xml, examples-xml/FLxyin.csd.xml,
-	  opcodes/flhvsbox.xml, opcodes/flhvsboxsetvalue.xml,
-	  opcodes/flkeyin.xml, opcodes/flmouse.xml,
-	  opcodes/flsetsnapgroup.xml, opcodes/flxyin.xml: Added new opcodes
-	  FLhvsBox, FLhvsBoxSetValue, FLkeyin, FLmouse, FLsetSnapGroup,
-	  FLxyin
-	* examples/vrandh.csd, examples/vrandi.csd,
-	  examples-xml/vrandh.csd.xml, examples-xml/vrandi.csd.xml,
-	  opcodes/vrandh.xml, opcodes/vrandi.xml: Added optional argument
-	  isize
-	* examples-xml/: prepiano.csd.xml, ptrack.csd.xml, rms.csd.xml,
-	  schedkwhennamed.csd.xml, scogen.csd.xml, system.csd.xml: Updated
-	  xml version of examples
-	* examples/fof2-2.csd, examples-xml/fof2-2.csd.xml: Small
-	  correction in example
-	* manual.xml: Added FLhvsBox, FLhvsBoxSetValue, FLkeyin,  removed
-	  FLkeyb, FLmouse, FLsetSnapGroup, FLxyin, hvs1, hvs2, hvs3,
-	  vphaseseg, inrg, outrg, lposcila, lposcilsa, lposcilsa2,
-	  tabmorph, tabmorpha, tabmorphak, tabmorphi, trandom, vtable1k
-
-2007-05-14 06:53  Victor  Lazzarini <victor.lazzarini at nuim.ie>
-
-	* manual.xml, opcodes/diskgrain.xml, opcodes/pvsdiskin.xml,
-	  opcodes/pvsmorph.xml, opcodes/syncgrain.xml, opcodes/top.xml,
-	  siggen/granular.xml, spectral/realtime.xml: added manual pages
-	  for pvsdiskin pvsmorph diskgrain
-
-2007-05-10 20:18  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* table/readwrit.xml: Added ftmorf
-	* opcodes/: dconv.xml, ftconv.xml: Minor additions
-	* opcodes/: partikkel.xml, partikkelsync.xml: [no log message]
-
-2007-05-07 07:01  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* TODO, opcodes/tabplay.xml: Small correction to tabplay and
-	  removed fixed things from TODO
-
-2007-05-03 10:05  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* scoregens/gen40.xml: Small change
-	* strings/manipulate.xml: Added examples to sprintfk by Jonathan
-	  Murphy, separated sprintfk from sprintf and other small fixes
-	* scoregens/gen40.xml: Added small clarification for cuserrnd
-	* manual.xml, examples/sprintfk.csd, examples-xml/sprintfk.csd.xml,
-	  opcodes/sprintf.xml, opcodes/sprintfk.xml, opcodes/top.xml: Added
-	  examples to sprintfk by Jonathan Murphy, separated sprintfk from
-	  sprintf and other small fixes
-	* examples/mpulse.csd, examples-xml/mpulse.csd.xml: Improved mpulse
-	  example
-	* opcodes/: mpulse.xml, partials.xml, pvscross.xml: Incorporated
-	  corrections by Joachim Heintz
-
-2007-05-02 10:15  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/mdelay.csd, examples/midion_scale.csd,
-	  examples/midion_simple.csd, examples/moscil.csd,
-	  examples/noteondur.csd, examples/noteondur2.csd,
-	  examples/outkpc.csd, examples/outkpc_fltk.csd,
-	  examples-xml/mdelay.csd.xml, examples-xml/midion_scale.csd.xml,
-	  examples-xml/midion_simple.csd.xml, examples-xml/moscil.csd.xml,
-	  examples-xml/noteondur.csd.xml, examples-xml/noteondur2.csd.xml,
-	  examples-xml/outkpc.csd.xml, examples-xml/outkpc_fltk.csd.xml:
-	  Removed flag to use virtual keyboard MIDI in, since this disables
-	  MIDI out
-
-2007-05-01 04:41  Francois Pinot <francois.pinot at numericable.fr>
-
-	* command/flagscategory.xml: Modified some ids
-	* examples-xml/: partikkel.csd.xml, schedkwhennamed.csd.xml: Minor
-	  fix
-
-2007-04-28 09:36  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/mdelay.csd, examples/noteondur.csd,
-	  examples/noteondur2.csd, examples/outkpc.csd,
-	  examples/outkpc_fltk.csd, examples-xml/mdelay.csd.xml,
-	  examples-xml/noteondur.csd.xml, examples-xml/noteondur2.csd.xml,
-	  examples-xml/outkpc.csd.xml, examples-xml/outkpc_fltk.csd.xml:
-	  Added missing flag to examples.
-	* sigmod/speciali.xml: Minor fix
-	* siggen/granular.xml: Finished entry for partikkel and separated
-	  partikklesyn
-	* manual.xml, examples/partikkel.csd,
-	  examples-xml/partikkel.csd.xml, opcodes/partikkel.xml,
-	  opcodes/partikkelsync.xml, opcodes/top.xml: Finished entry for
-	  partikkel and separated partikklesyn
-	* examples/outkpc_fltk.csd, examples-xml/outkpc_fltk.csd.xml:
-	  Removed unnecessary init in example.
-	* examples/scans.csd, examples-xml/scans.csd.xml: Removed
-	  unnecessary MIDI input flag
-	* examples/mdelay.csd, examples/midion_scale.csd,
-	  examples/midion_simple.csd, examples/moscil.csd,
-	  examples/noteondur.csd, examples/noteondur2.csd,
-	  examples/outkpc.csd, examples/outkpc_fltk.csd,
-	  examples-xml/mdelay.csd.xml, examples-xml/midion_scale.csd.xml,
-	  examples-xml/midion_simple.csd.xml, examples-xml/moscil.csd.xml,
-	  examples-xml/noteondur.csd.xml, examples-xml/noteondur2.csd.xml,
-	  examples-xml/outkpc.csd.xml, examples-xml/outkpc_fltk.csd.xml,
-	  opcodes/mdelay.xml, opcodes/midion.xml, opcodes/midion2.xml,
-	  opcodes/moscil.xml, opcodes/noteondur.xml,
-	  opcodes/noteondur2.xml, opcodes/outkpc.xml: Added examples by
-	  Giorgio Zucco to mdelay, midion, moscil, noteondur, noteondur2
-	  and outkpc, and other minor changes to these entries
-	* examples/schedkwhennamed.csd,
-	  examples-xml/schedkwhennamed.csd.xml,
-	  opcodes/schedkwhennamed.xml: Added example by Jonathan Murphy to
-	  schedkwhennamed
-	* opcodes/flbutbank.xml: minor fix
-	* opcodes/bformdec.xml: removed "counter-clockwise"
-	* opcodes/fluidEngine.xml: made arguments optional
-	* command/flagscategory.xml: individual messages options
-
-2007-04-26 10:11  Victor  Lazzarini <victor.lazzarini at nuim.ie>
-
-	* manual.xml, control/invocat.xml, opcodes/scoreline.xml,
-	  opcodes/scoreline_i.xml, opcodes/top.xml: scoreline and _i man
-	  pages
-
-2007-04-25 11:02  Victor  Lazzarini <victor.lazzarini at nuim.ie>
-
-	* manual.xml, opcodes/eqfil.xml, opcodes/top.xml,
-	  sigmod/speciali.xml: added eqfil manual page
-
-2007-04-22 14:46  gogins
-
-	* opcodes/fluidEngine.xml: no message
-
-2007-04-22 08:29  John ffitch  <jpff at codemist.co.uk>
-
-	* manual.xml, opcodes/partikkel.xml, opcodes/top.xml: added
-	  partikkel opcode
-
-2007-04-15 12:33  John ffitch  <jpff at codemist.co.uk>
-
-	* command/flags.xml: individual messages options
-
-2007-04-09 10:25  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/flvalue.xml: Small correction
-	* opcodes/flvalue.xml: Added note about not setting FLvalue with
-	  FLsetVal
-
-2007-04-02 22:01  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/OSCmidisend.csd, examples-xml/OSCmidisend.csd.xml,
-	  opcodes/OSClisten.xml: Corrected example author
-
-2007-03-28 11:50  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/grain.xml: Minor fixes
-
-2007-03-26 01:46  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/: fof2.xml, fog.xml: Minor fixes
-
-2007-03-21 01:43  Francois Pinot <francois.pinot at numericable.fr>
-
-	* examples-xml/: vrandh.csd.xml, vrandi.csd.xml: Initial commit
-
-2007-03-21 01:41  Francois Pinot <francois.pinot at numericable.fr>
-
-	* examples/: vrandh.csd, vrandi.csd: Added CsOptions section
-
-2007-03-20 07:26  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/: pvsfreeze.xml, pvsmaska.xml, pvsynth.xml: Small
-	  corrections. Thanks to Alex Weiss
-
-2007-03-19 09:11  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* Makefile: Small fix to delete backup files from the examples
-	  directory when packaging
-	* examples/randh.csd, examples/vrandh.csd, examples/vrandi.csd,
-	  opcodes/randh.xml, opcodes/randi.xml, opcodes/vrandh.xml,
-	  opcodes/vrandi.xml: Corrected iseed parameter for randh and
-	  randi. Added information about new functionality for vrandh and
-	  vrandi
-
-2007-03-18 21:29  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples-xml/: 0dbfs-1.csd.xml, abs.csd.xml, adsr.csd.xml,
-	  alpass.csd.xml, ampdb.csd.xml, ampdbfs.csd.xml, areson.csd.xml,
-	  atone.csd.xml, biquad-2.csd.xml, biquad.csd.xml, birnd.csd.xml,
-	  cent.csd.xml, changed.csd.xml, checkbox.csd.xml, comb.csd.xml,
-	  cos.csd.xml, cosh.csd.xml, cosinv.csd.xml, cpsoct.csd.xml,
-	  cpspch.csd.xml, date.csd.xml, db.csd.xml, dbamp.csd.xml,
-	  FLcount.csd.xml, dbfsamp.csd.xml, dconv.csd.xml,
-	  distort1.csd.xml, envlpx.csd.xml, exp.csd.xml, expseg.csd.xml,
-	  expsegr.csd.xml, flashtxt.csd.xml, fmmetal.csd.xml,
-	  fmrhode.csd.xml, fmwurlie.csd.xml, fof.csd.xml, frac.csd.xml,
-	  ftchnls.csd.xml, ftlen.csd.xml, ftlptim.csd.xml, ftsr.csd.xml,
-	  grain.csd.xml, grain2.csd.xml, grain3.csd.xml, harmon.csd.xml,
-	  hsboscil_midi.csd.xml, int.csd.xml, linseg.csd.xml,
-	  linsegr.csd.xml, log.csd.xml, log10.csd.xml, logbtwo.csd.xml,
-	  lowpass2.csd.xml, lphasor.csd.xml, mode.csd.xml,
-	  notnum_complex.csd.xml, nsamp.csd.xml, octave.csd.xml,
-	  octcps.csd.xml, octpch.csd.xml, opa.csd.xml,
-	  opcode_example.csd.xml, oscbnk.csd.xml, p.csd.xml, pareq.csd.xml,
-	  pchoct.csd.xml, phaser1.csd.xml, phaser2.csd.xml, pitch.csd.xml,
-	  poisson.csd.xml, polyaft.csd.xml, powoftwo.csd.xml,
-	  randh.csd.xml, resonr.csd.xml, reverb.csd.xml, rnd.csd.xml,
-	  scans.csd.xml, semitone.csd.xml, setctrl.csd.xml, sin.csd.xml,
-	  sinh.csd.xml, sininv.csd.xml, spat3d_UHJ.csd.xml,
-	  spat3d_quad.csd.xml, spat3d_stereo.csd.xml, sqrt.csd.xml,
-	  svfilter.csd.xml, tablexkt.csd.xml, tan.csd.xml, tanh.csd.xml,
-	  taninv.csd.xml, tbvcf.csd.xml, vadd.csd.xml, vadd_i.csd.xml,
-	  vaddv.csd.xml, vaget.csd.xml, vaset.csd.xml, vcella.csd.xml,
-	  vco.csd.xml, vdivv.csd.xml, vexp.csd.xml, vexp_i.csd.xml,
-	  vexpv.csd.xml, vmult-2.csd.xml, vmult_i.csd.xml, vmultv.csd.xml,
-	  vpow.csd.xml, vpow_i.csd.xml, vpowv.csd.xml, vsubv.csd.xml,
-	  wgbowedbar.csd.xml, wterrain.csd.xml: Updated examples-xml
-
-2007-03-12 09:42  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/FLbutBank.csd, examples/FLbutton.csd,
-	  examples/FLslidBnk.csd, examples/FLslider-2.csd,
-	  examples/FLslider.csd, examples-xml/FLbutBank.csd.xml,
-	  examples-xml/FLbutton.csd.xml, examples-xml/FLslidBnk.csd.xml,
-	  examples-xml/FLslider-2.csd.xml, examples-xml/FLslider.csd.xml,
-	  images/flbutton.png, opcodes/flbutbank.xml, opcodes/flbutton.xml,
-	  opcodes/flslidbnk.xml, opcodes/flslider.xml: Added information
-	  about plastic slider types, improved examples and other minor
-	  corrections
-	* command/unifile.xml: Minor corrections
-
-2007-03-09 12:29  Francois Pinot <francois.pinot at numericable.fr>
-
-	* examples-xml/: ptrack.csd.xml, system.csd.xml: Minor fixes
-
-2007-03-07 08:47  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/system.csd: small fix
-	* ChangeLog: updated changelog
-
-2007-03-07 08:18  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* misc/quickref.xml: updated quickref.xml
-	* opcodes/ptrack.xml: Fixed refentryinfo tag
-	* opcodes/ptrack.xml: Fixed refentryinfo tag
-	* opcodes/top.xml: Fixed alphabetical order of pvs opcodes in list
-	* opcodes/: prepiano.xml, ptrack.xml: minor changes
-
-2007-03-05 16:47  Francois Pinot <francois.pinot at numericable.fr>
-
-	* examples/prepiano.csd: Minor fixes
-	* examples-xml/prepiano.csd.xml: Initial commit
-	* opcodes/: foscil.xml, foscili.xml: Mior fixes
-	* examples-xml/: fmmetal.csd.xml, fmrhode.csd.xml,
-	  fmwurlie.csd.xml: Mior fix
-
-2007-03-05 12:42  John ffitch  <jpff at codemist.co.uk>
-
-	* examples/prepiano.csd, opcodes/prepiano.xml, opcodes/top.xml,
-	  siggen/models.xml, manual.xml: prepared piano
-
-2007-03-05 10:37  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* ChangeLog: Updated changelog
-	* scoregens/gen01.xml: Fixed typo
-	* examples/ptrack.csd, examples-xml/ptrack.csd.xml,
-	  opcodes/ptrack.xml: Moved example to a separate file and other
-	  minor corrections for ptrack
-	* examples/ptrack.csd, examples-xml/ptrack.csd.xml,
-	  opcodes/ptrack.xml: Moved example to a separate file and other
-	  minor corrections for ptrack
-
-2007-03-05 06:54  Victor  Lazzarini <victor.lazzarini at nuim.ie>
-
-	* manual.xml, control/sensing.xml, opcodes/ptrack.xml,
-	  opcodes/top.xml: added ptrack page
-
-2007-03-02 17:22  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/marimba.csd, examples-xml/marimba.csd.xml: Improved
-	  marimba example
-
-2007-03-02 14:35  Francois Pinot <francois.pinot at numericable.fr>
-
-	* Makefile: Updated VERSION variable
-	* makeframes.py: Added correct display of scoregens entries
-
-2007-03-02 09:15  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/gen16.csd, examples-xml/gen16.csd.xml,
-	  images/gen16_types.png, scoregens/gen16.xml: Added image and
-	  improved examples for gen 16
-
-2007-03-01 15:02  Francois Pinot <francois.pinot at numericable.fr>
-
-	* cscore/: advancd.xml, compile.xml, events.xml, main.xml, top.xml:
-	  Minor fixes
-
-2007-02-28 20:07  Anthony Kozar	<anthonykozar at sbcglobal.net>
-
-	* ChangeLog: Log entry for Cscore changes.
-	* cscore/: compile.xml, events.xml: Fixes for errors in the Cscore
-	  revisions.
-
-2007-02-27 15:11  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/: vco.xml, vco2.xml, vco2ft.xml, vco2ift.xml,
-	  vco2init.xml: Minor fixes
-
-2007-02-26 22:12  Anthony Kozar	<anthonykozar at sbcglobal.net>
-
-	* cscore/: advancd.xml, compile.xml, events.xml, main.xml, top.xml:
-	  Updated Cscore documentation for Csound 5.
-
-2007-02-26 12:14  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/: fof2.xml, fog.xml: Minor corrections to fog and fof2
-
-2007-02-25 19:55  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/fof2-2.csd, examples/fof2.csd,
-	  examples-xml/fof2-2.csd.xml, examples-xml/fof2.csd.xml,
-	  opcodes/fof2.xml: Minor corrections and added two examples to
-	  fof2
-
-2007-02-25 16:27  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/: buzz.xml, gbuzz.xml: Minor fix
-
-2007-02-25 10:34  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* Makefile: Added target to make winhelp package
-
-2007-02-24 18:11  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/pvspitch.csd, examples-xml/pvspitch.csd.xml,
-	  opcodes/pvspitch.xml: Improvements to pvspitch and its example
-
-2007-02-24 08:19  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/: oscils.xml, vibrato.xml: Minor fix
-
-2007-02-23 20:34  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* ChangeLog: Updated changelog
-
-2007-02-23 16:27  Francois Pinot <francois.pinot at numericable.fr>
-
-	* csound.css: Added rule for links in appendix (quickref)
-
-2007-02-21 17:57  Francois Pinot <francois.pinot at numericable.fr>
-
-	* examples-xml/oscbnk.csd.xml: Minor fix
-	* csound.css, stylesheets/customPDF.xsl: Added C style comment rule
-	* opcodes/oscbnk.xml, csd2docbook.py: Minor fix
-
-2007-02-17 12:03  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/adsynt2.xml, opcodes/hsboscil.xml,
-	  examples/hsboscil_midi.csd, examples-xml/hsboscil_midi.csd.xml:
-	  Minor fix
-
-2007-02-16 13:29  Francois Pinot <francois.pinot at numericable.fr>
-
-	* examples/fluid-2.orc, examples/fluid.orc,
-	  examples/fluidAllOut.orc, examples/fluidcomplex.csd,
-	  examples-xml/fluid-2.orc.xml, examples-xml/fluid.orc.xml,
-	  examples-xml/fluidAllOut.orc.xml,
-	  examples-xml/fluidcomplex.csd.xml: Layout
-	* opcodes/: fluidAllOut.xml, fluidControl.xml, fluidEngine.xml,
-	  fluidLoad.xml, fluidNote.xml, fluidOut.xml,
-	  fluidProgramSelect.xml: Minor fix
-	* opcodes/: modulus.xml, opand.xml: Layout fix
-
-2007-02-14 13:39  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/notequal.xml, opcodes/vcella.xml, examples/vcella.csd,
-	  examples-xml/opcode_example.csd.xml, examples-xml/vcella.csd.xml:
-	  Layout fixes
-
-2007-02-13 08:47  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples-xml/xyin.csd.xml, examples/xyin.csd, opcodes/xyin.xml:
-	  added --displays flag to examples and a note in xyin.xml
-
-2007-02-12 17:02  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/seqtime.csd, examples-xml/seqtime.csd.xml,
-	  opcodes/seqtime.xml: Added examples and other fixes to seqtime
-	* opcodes/flexecbutton.xml: Removed unnecessary line
-	* examples/OSCmidircv.csd, examples/OSCmidisend.csd,
-	  examples-xml/OSCmidircv.csd.xml,
-	  examples-xml/OSCmidisend.csd.xml, opcodes/OSCinit.xml,
-	  opcodes/OSClisten.xml, opcodes/OSCsend.xml: Added examples,
-	  syntax highlight and other fixes to the OSC opcodes
-
-2007-02-12 16:08  Francois Pinot <francois.pinot at numericable.fr>
-
-	* stylesheets/customPDF.xsl, csound.css: Minor style change
-	* opcodes/: define.xml, dollar.xml, ifdef.xml, ifndef.xml,
-	  include.xml, undef.xml: Minor fixes
-	* examples-xml/table1.inc.xml: Initial commit
-	* stylesheets/customPDF.xsl: Improved layout and syntax
-	  highlighting
-	* quickref.py, misc/quickref.xml: Changes for layout improvement
-	  and OS independance
-
-2007-02-09 16:04  Francois Pinot <francois.pinot at numericable.fr>
-
-	* command/environment.xml, command/flags.xml,
-	  command/flagscategory.xml, overview/realtimelinux.xml: Minor
-	  layout fixes
-
-2007-02-09 08:12  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* command/: flags.xml, flagscategory.xml: Added -+ignore_csopts
-	  flag
-
-2007-02-09 07:43  Francois Pinot <francois.pinot at numericable.fr>
-
-	* misc/quickref.xml: Updated
-	* examples-xml/: 0dbfs-1.csd.xml, 0dbfs.csd.xml, FLbox.csd.xml,
-	  FLbutton.csd.xml, FLcount.csd.xml, FLjoy.csd.xml,
-	  FLknob-2.csd.xml, FLknob.csd.xml, FLpanel-sensekey.csd.xml,
-	  FLpanel-sensekey2.csd.xml, FLpanel.csd.xml, FLroller.csd.xml,
-	  FLscroll.csd.xml, FLsetText.csd.xml, FLsetVal.csd.xml,
-	  FLsetcolor.csd.xml, FLslider-2.csd.xml, FLslider.csd.xml,
-	  FLtabs.csd.xml, FLtext.csd.xml, FLvalue.csd.xml, abs.csd.xml,
-	  active.csd.xml, active_k.csd.xml, adds.csd.xml, adsr.csd.xml,
-	  adsyn.csd.xml, adsynt.csd.xml, aftouch.csd.xml, alpass.csd.xml,
-	  ampdb.csd.xml, ampdbfs.csd.xml, ampmidi.csd.xml, areson.csd.xml,
-	  assign.csd.xml, atone.csd.xml, babo.csd.xml, babo_expert.csd.xml,
-	  balance.csd.xml, bamboo.csd.xml, barmodel.csd.xml,
-	  bbcutm.csd.xml, betarand.csd.xml, bexprnd.csd.xml,
-	  bformenc.csd.xml, biquad-2.csd.xml, biquad.csd.xml,
-	  birnd.csd.xml, bqrez.csd.xml, butterbp.csd.xml, butterbr.csd.xml,
-	  butterhp.csd.xml, butterlp.csd.xml, buzz.csd.xml, cabasa.csd.xml,
-	  cauchy.csd.xml, cent.csd.xml, cggoto.csd.xml, changed.csd.xml,
-	  checkbox.csd.xml, cigoto.csd.xml, ckgoto.csd.xml,
-	  clfilt_highpass.csd.xml, clfilt_lowpass.csd.xml, clip.csd.xml,
-	  cngoto.csd.xml, comb.csd.xml, cos.csd.xml, cosh.csd.xml,
-	  cosinv.csd.xml, cps2pch.csd.xml, cps2pch_19et.csd.xml,
-	  cps2pch_ftable.csd.xml, cpsmidi.csd.xml, cpsmidib.csd.xml,
-	  cpsoct.csd.xml, cpspch.csd.xml, cpstmid.csd.xml, cpstun.csd.xml,
-	  cpstuni.csd.xml, cpsxpch.csd.xml, cpsxpch_105et.csd.xml,
-	  cpsxpch_pierce.csd.xml, cpuprc.csd.xml, cross2.csd.xml,
-	  crunch.csd.xml, dam.csd.xml, dam_expanded.csd.xml, date.csd.xml,
-	  db.csd.xml, dbamp.csd.xml, dbfsamp.csd.xml, dcblock.csd.xml,
-	  dconv.csd.xml, define.csd.xml, define_args.csd.xml,
-	  delay.csd.xml, delayw.csd.xml, diff.csd.xml, diskin.csd.xml,
-	  diskin2.csd.xml, dispfft.csd.xml, display.csd.xml,
-	  distort1.csd.xml, divides.csd.xml, divz.csd.xml,
-	  downsamp.csd.xml, dripwater.csd.xml, dssi4cs.csd.xml,
-	  endin.csd.xml, envlpx.csd.xml, equals.csd.xml, event.csd.xml,
-	  event_named.csd.xml, exp.csd.xml, expcurve.csd.xml,
-	  expon.csd.xml, exprand.csd.xml, expseg.csd.xml, expsega.csd.xml,
-	  expsegr.csd.xml, filelen.csd.xml, filenchnls.csd.xml,
-	  filepeak.csd.xml, filesr.csd.xml, flanger.csd.xml,
-	  flashtxt.csd.xml, fluid-2.orc.xml, fluid.orc.xml,
-	  fluidAllOut.orc.xml, fluidcomplex.csd.xml, fmb3.csd.xml,
-	  fmbell.csd.xml, fmmetal.csd.xml, fmpercfl.csd.xml,
-	  fmrhode.csd.xml, fmvoice.csd.xml, fmwurlie.csd.xml, fof.csd.xml,
-	  fold.csd.xml, follow.csd.xml, follow2.csd.xml, foscil.csd.xml,
-	  foscili.csd.xml, fout.csd.xml, fout_poly.csd.xml,
-	  fprintks-2.csd.xml, fprintks.csd.xml, fprints.csd.xml,
-	  frac.csd.xml, freeverb.csd.xml, ftchnls.csd.xml, ftconv.csd.xml,
-	  ftgen.csd.xml, ftlen.csd.xml, ftlptim.csd.xml, ftmorf.csd.xml,
-	  ftsave.csd.xml, ftsr.csd.xml, gainslider.csd.xml, gauss.csd.xml,
-	  gbuzz.csd.xml, gen01.csd.xml, gen01computed.csd.xml,
-	  gen02.csd.xml, gen03.csd.xml, gen05.csd.xml, gen06.csd.xml,
-	  gen07.csd.xml, gen08.csd.xml, gen09.csd.xml, gen09square.csd.xml,
-	  gen10.csd.xml, gen11.csd.xml, gen12.csd.xml, gen13.csd.xml,
-	  gen14.csd.xml, gen19.csd.xml, gogobel.csd.xml, goto.csd.xml,
-	  grain.csd.xml, grain2.csd.xml, grain3.csd.xml, granule.csd.xml,
-	  greaterequal.csd.xml, greaterthan.csd.xml, guiro.csd.xml,
-	  harmon.csd.xml, hilbert.csd.xml, hilbert_barberpole.csd.xml,
-	  hrtfer.csd.xml, hsboscil.csd.xml, hsboscil_midi.csd.xml,
-	  ifthen.csd.xml, igoto.csd.xml, ihold.csd.xml, include.csd.xml,
-	  insremot.csd.xml, insremotM.csd.xml, instr.csd.xml, int.csd.xml,
-	  integ.csd.xml, interp.csd.xml, jitter.csd.xml, jitter2.csd.xml,
-	  kgoto.csd.xml, lessequal.csd.xml, lessthan.csd.xml, lfo.csd.xml,
-	  line.csd.xml, linrand.csd.xml, linseg.csd.xml, linsegr.csd.xml,
-	  log.csd.xml, log10.csd.xml, logbtwo.csd.xml, logcurve.csd.xml,
-	  loopseg.csd.xml, lorenz.csd.xml, loscil.csd.xml, loscil3.csd.xml,
-	  lowpass2.csd.xml, lowres.csd.xml, lowresx.csd.xml, lpf18.csd.xml,
-	  lphasor.csd.xml, lpshold.csd.xml, madsr.csd.xml, mandol.csd.xml,
-	  marimba.csd.xml, maxalloc.csd.xml, metro.csd.xml,
-	  midichannelaftertouch.csd.xml, midichn.csd.xml,
-	  midichn_advanced.csd.xml, midiin.csd.xml, midinoteoff.csd.xml,
-	  midinoteoncps.csd.xml, midinoteonkey.csd.xml,
-	  midinoteonoct.csd.xml, midinoteonpch.csd.xml,
-	  midipitchbend.csd.xml, midremot.csd.xml, mode.csd.xml,
-	  modulus.csd.xml, moog.csd.xml, moogvcf.csd.xml, moogvcf2.csd.xml,
-	  mpulse.csd.xml, multiplies.csd.xml, mute.csd.xml,
-	  nestedap.csd.xml, noise-2.csd.xml, noise.csd.xml,
-	  notequal.csd.xml, notnum.csd.xml, notnum_complex.csd.xml,
-	  nreverb.csd.xml, nreverb_ftable.csd.xml, nsamp.csd.xml,
-	  octave.csd.xml, octcps.csd.xml, octmidi.csd.xml,
-	  octmidib.csd.xml, octpch.csd.xml, opa.csd.xml,
-	  opcode_example.csd.xml, oscbnk.csd.xml, oscil.csd.xml,
-	  oscil3.csd.xml, oscili.csd.xml, oscilikt.csd.xml,
-	  osciliktp.csd.xml, oscilikts.csd.xml, oscils.csd.xml, p.csd.xml,
-	  pareq.csd.xml, pcauchy.csd.xml, pchbend.csd.xml, pchmidi.csd.xml,
-	  pchmidib.csd.xml, pchoct.csd.xml, pcount.csd.xml, peak.csd.xml,
-	  pgmassign.csd.xml, pgmassign_advanced.csd.xml,
-	  pgmassign_ignore.csd.xml, phaser1.csd.xml, phaser2.csd.xml,
-	  phasor.csd.xml, phasorbnk.csd.xml, pindex.csd.xml,
-	  pinkish.csd.xml, pitch.csd.xml, pitchamdf.csd.xml,
-	  planet.csd.xml, pluck.csd.xml, poisson.csd.xml, polyaft.csd.xml,
-	  portk.csd.xml, poscil.csd.xml, poscil3.csd.xml, pow.csd.xml,
-	  powoftwo.csd.xml, prealloc.csd.xml, print.csd.xml,
-	  printk.csd.xml, printk2.csd.xml, printks.csd.xml, prints.csd.xml,
-	  pvsbin.csd.xml, pvsdisp.csd.xml, pvsfwrite.csd.xml,
-	  pvsosc.csd.xml, pvspitch.csd.xml, r.csd.xml, raises.csd.xml,
-	  rand.csd.xml, randh.csd.xml, randi.csd.xml, random.csd.xml,
-	  randomh.csd.xml, randomi.csd.xml, rbjeq.csd.xml,
-	  readclock.csd.xml, reinit.csd.xml, repluck.csd.xml,
-	  reson.csd.xml, resonr.csd.xml, resony.csd.xml, reverb.csd.xml,
-	  reverbsc.csd.xml, rezzy.csd.xml, rms.csd.xml, rnd.csd.xml,
-	  rnd31.csd.xml, rnd31_krate.csd.xml, rnd31_seed7.csd.xml,
-	  rnd31_time.csd.xml, rtclock.csd.xml, sandpaper.csd.xml,
-	  scale.csd.xml, scans.csd.xml, scantable.csd.xml,
-	  schedkwhen.csd.xml, schedule.csd.xml, schedwhen.csd.xml,
-	  scogen.csd.xml, sekere.csd.xml, semitone.csd.xml,
-	  sensekey.csd.xml, setctrl.csd.xml, shaker.csd.xml, sin.csd.xml,
-	  sinh.csd.xml, sininv.csd.xml, sleighbells.csd.xml,
-	  sndwarp.csd.xml, soundin.csd.xml, spat3d_UHJ.csd.xml,
-	  spat3d_quad.csd.xml, spat3d_stereo.csd.xml, sqrt.csd.xml,
-	  stix.csd.xml, streson.csd.xml, subinstr.csd.xml,
-	  subinstr_named.csd.xml, subtracts.csd.xml, svfilter.csd.xml,
-	  system.csd.xml, table.csd.xml, tableng.csd.xml, tablexkt.csd.xml,
-	  tambourine.csd.xml, tan.csd.xml, tanh.csd.xml, taninv.csd.xml,
-	  taninv2.csd.xml, tbvcf.csd.xml, tempest.csd.xml, tempo.csd.xml,
-	  tempoval.csd.xml, timeinstk.csd.xml, timeinsts.csd.xml,
-	  timek.csd.xml, times.csd.xml, trigger.csd.xml, trirand.csd.xml,
-	  turnoff.csd.xml, unirand.csd.xml, vadd.csd.xml, vadd_i.csd.xml,
-	  vaddv.csd.xml, vaget.csd.xml, vaset.csd.xml, vcella.csd.xml,
-	  vco.csd.xml, vco2.csd.xml, vcopy.csd.xml, vdivv.csd.xml,
-	  veloc.csd.xml, vexp.csd.xml, vexp_i.csd.xml, vexpseg.csd.xml,
-	  vexpv.csd.xml, vibes.csd.xml, vibr.csd.xml, vibrato.csd.xml,
-	  vlinseg.csd.xml, vlowres.csd.xml, vmap.csd.xml, vmult-2.csd.xml,
-	  vmult.csd.xml, vmult_i.csd.xml, vmultv.csd.xml, voice.csd.xml,
-	  vpow.csd.xml, vpow_i.csd.xml, vpowv.csd.xml, vsubv.csd.xml,
-	  vtablei.csd.xml, vtablek.csd.xml, vtablewa.csd.xml,
-	  vtablewk.csd.xml, waveset.csd.xml, weibull.csd.xml,
-	  wgbow.csd.xml, wgbowedbar.csd.xml, wgbrass.csd.xml,
-	  wgclar.csd.xml, wgflute.csd.xml, wgpluck.csd.xml,
-	  wgpluck2.csd.xml, wgpluck_brighter.csd.xml, wguide1.csd.xml,
-	  wguide2.csd.xml, wterrain.csd.xml, xtratim-2.csd.xml,
-	  xtratim.csd.xml, xyin.csd.xml, zacl.csd.xml, zakinit.csd.xml,
-	  zamod.csd.xml, zar.csd.xml, zarg.csd.xml, zaw.csd.xml,
-	  zawm.csd.xml, zir.csd.xml, ziw.csd.xml, ziwm.csd.xml,
-	  zkcl.csd.xml, zkmod.csd.xml, zkr.csd.xml, zkw.csd.xml,
-	  zkwm.csd.xml: CRLF to LF
-
-2007-02-08 17:03  Francois Pinot <francois.pinot at numericable.fr>
-
-	* control/fltkintro.xml: Minor fix
-	* Makefile: Updated version number
-	* opcodes/poisson.xml: Fixed docbook problem
-
-2007-02-07 07:04  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/: endop.xml, instr.xml, kr.xml, ksmps.xml, opcode.xml,
-	  sr.xml: Display layout and colour changes
-
-2007-02-06 13:25  Francois Pinot <francois.pinot at numericable.fr>
-
-	* command/environment.xml: Minor style fix
-	* utility/atsa.xml, utility/cs.xml, utility/csb64enc.xml,
-	  utility/cvanal.xml, utility/extractor.xml, utility/hetro.xml,
-	  utility/lpanal.xml, utility/makecsd.xml, cscore/advancd.xml,
-	  cscore/compile.xml, cscore/events.xml, cscore/main.xml,
-	  csound5/extending.xml, misc/windows.xml, utility/mixer.xml,
-	  utility/pvanal.xml, utility/pvlook.xml, utility/scale.xml,
-	  utility/sndinfo.xml: Display layout and colour changes
-
-2007-02-06 09:51  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* command/environment.xml: added CSDOCDIR environment variable
-
-2007-02-05 15:47  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/FLexecButton.csd, examples-xml/FLexecButton.csd.xml,
-	  opcodes/flexecbutton.xml: Fixed error and added example by
-	  Jonathan Murphy
-
-2007-02-05 15:22  Francois Pinot <francois.pinot at numericable.fr>
-
-	* scoregens/: gen32.xml, gen33.xml, gen34.xml: Display layout and
-	  colour changes
-	* scoregens/: gen04.xml, gen17.xml, gen18.xml, gen20.xml,
-	  gen21.xml, gen27.xml, gen28.xml, gen43.xml, gen51.xml, gen52.xml:
-	  Display layout and colour changes
-
-2007-02-04 13:17  Francois Pinot <francois.pinot at numericable.fr>
-
-	* scoregens/: b.xml, i.xml, v.xml: Display layout and colours
-	  changes
-
-2007-02-03 16:41  Francois Pinot <francois.pinot at numericable.fr>
-
-	* control/fltkintro.xml, midi/interop.xml, spectral/loris.xml,
-	  csound5/opcodes/py.xml, strings/top.xml: Display layout and
-	  colours changes
-	* command/desc.xml, command/environment.xml, command/flags.xml,
-	  command/flagscategory.xml, command/preproc.xml,
-	  command/unifile.xml, orch/UDO.xml, orch/express.xml,
-	  orch/header.xml, orch/iblock.xml, orch/namedInstruments.xml,
-	  orch/top.xml, overview/building.xml, overview/frontends.xml,
-	  overview/realtimelinux.xml, preface/gettingstarted.xml,
-	  score/eval.xml, score/macros.xml, score/mult.xml,
-	  score/nextp.xml, score/preproc.xml, score/ramp.xml: Display
-	  layout and colours changes
-
-2007-02-02 02:37  Francois Pinot <francois.pinot at numericable.fr>
-
-	* csound.css: Changed syntax colours by Andres Cabrera
-
-2007-01-31 17:32  Francois Pinot <francois.pinot at numericable.fr>
-
-	* csd2docbook.py: Initial commit
-	* scoregens/: gen01.xml, gen02.xml, gen03.xml, gen05.xml,
-	  gen06.xml, gen07.xml, gen08.xml, gen09.xml, gen10.xml, gen11.xml,
-	  gen12.xml, gen13.xml, gen14.xml, gen19.xml, r.xml: Modified for
-	  syntax highlighting
-
-2007-01-31 16:49  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* preface/history.xml: Removed dead link note about David's Manual
-
-2007-01-31 13:39  Francois Pinot <francois.pinot at numericable.fr>
-
-	* opcodes/0dbfs.xml, opcodes/abs.xml, opcodes/active.xml,
-	  opcodes/adds.xml, opcodes/adsr.xml, opcodes/adsyn.xml,
-	  opcodes/adsynt.xml, opcodes/aftouch.xml, opcodes/alpass.xml,
-	  opcodes/ampdb.xml, opcodes/ampdbfs.xml, opcodes/ampmidi.xml,
-	  opcodes/areson.xml, opcodes/assign.xml, opcodes/atone.xml,
-	  opcodes/babo.xml, opcodes/balance.xml, opcodes/bamboo.xml,
-	  opcodes/barmodel.xml, opcodes/bbcutm.xml, opcodes/betarand.xml,
-	  opcodes/bexprnd.xml, opcodes/bformdec.xml, opcodes/bformenc.xml,
-	  opcodes/biquad.xml, opcodes/birnd.xml, opcodes/bqrez.xml,
-	  opcodes/butterbp.xml, opcodes/butterbr.xml, opcodes/butterhp.xml,
-	  opcodes/butterlp.xml, opcodes/buzz.xml, opcodes/cabasa.xml,
-	  opcodes/cauchy.xml, opcodes/cent.xml, opcodes/cggoto.xml,
-	  opcodes/changed.xml, opcodes/checkbox.xml, opcodes/cigoto.xml,
-	  opcodes/ckgoto.xml, opcodes/clfilt.xml, opcodes/clip.xml,
-	  opcodes/cngoto.xml, opcodes/comb.xml, opcodes/cos.xml,
-	  opcodes/cosh.xml, opcodes/cosinv.xml, opcodes/cps2pch.xml,
-	  opcodes/cpsmidi.xml, opcodes/cpsmidib.xml, opcodes/cpsoct.xml,
-	  opcodes/cpspch.xml, opcodes/cpstmid.xml, opcodes/cpstun.xml,
-	  opcodes/cpstuni.xml, opcodes/cpsxpch.xml, opcodes/cpuprc.xml,
-	  opcodes/cross2.xml, opcodes/crunch.xml, opcodes/dam.xml,
-	  opcodes/date.xml, opcodes/dates.xml, opcodes/db.xml,
-	  opcodes/dbamp.xml, opcodes/dbfsamp.xml, opcodes/dcblock.xml,
-	  opcodes/dconv.xml, opcodes/define.xml, opcodes/delay.xml,
-	  opcodes/delayw.xml, opcodes/denorm.xml, opcodes/diff.xml,
-	  opcodes/diskin.xml, opcodes/diskin2.xml, opcodes/dispfft.xml,
-	  opcodes/display.xml, opcodes/distort1.xml, opcodes/divides.xml,
-	  opcodes/divz.xml, opcodes/dollar.xml, opcodes/downsamp.xml,
-	  opcodes/dripwater.xml, opcodes/dssiinit.xml, opcodes/endin.xml,
-	  opcodes/envlpx.xml, opcodes/equals.xml, opcodes/event.xml,
-	  opcodes/exp.xml, opcodes/expcurve.xml, opcodes/expon.xml,
-	  opcodes/exprand.xml, opcodes/expseg.xml, opcodes/expsega.xml,
-	  opcodes/expsegr.xml, opcodes/filelen.xml, opcodes/filenchnls.xml,
-	  opcodes/filepeak.xml, opcodes/filesr.xml, opcodes/flanger.xml,
-	  opcodes/flashtxt.xml, opcodes/flbox.xml, opcodes/flbutton.xml,
-	  opcodes/flcount.xml, opcodes/fljoy.xml, opcodes/flknob.xml,
-	  opcodes/flpanel.xml, opcodes/flroller.xml, opcodes/flscroll.xml,
-	  opcodes/flsetcolor.xml, opcodes/flsettext.xml,
-	  opcodes/flslider.xml, opcodes/fltabs.xml, opcodes/fltext.xml,
-	  opcodes/fluidAllOut.xml, opcodes/fluidControl.xml,
-	  opcodes/fluidEngine.xml, opcodes/fluidLoad.xml,
-	  opcodes/fluidNote.xml, opcodes/fluidOut.xml,
-	  opcodes/fluidProgramSelect.xml, opcodes/flvalue.xml,
-	  opcodes/fmb3.xml, opcodes/fmbell.xml, opcodes/fmmetal.xml,
-	  opcodes/fmpercfl.xml, opcodes/fmrhode.xml, opcodes/fmvoice.xml,
-	  opcodes/fmwurlie.xml, opcodes/fof.xml, opcodes/fold.xml,
-	  opcodes/follow.xml, opcodes/follow2.xml, opcodes/foscil.xml,
-	  opcodes/foscili.xml, opcodes/fout.xml, opcodes/fprintks.xml,
-	  opcodes/fprints.xml, opcodes/frac.xml, opcodes/freeverb.xml,
-	  opcodes/ftchnls.xml, opcodes/ftconv.xml, opcodes/ftgen.xml,
-	  opcodes/ftlen.xml, opcodes/ftlptim.xml, opcodes/ftmorf.xml,
-	  opcodes/ftsave.xml, opcodes/ftsr.xml, opcodes/gainslider.xml,
-	  opcodes/gauss.xml, opcodes/gbuzz.xml, opcodes/gogobel.xml,
-	  opcodes/goto.xml, opcodes/grain.xml, opcodes/grain2.xml,
-	  opcodes/grain3.xml, opcodes/granule.xml,
-	  opcodes/greaterequal.xml, opcodes/greaterthan.xml,
-	  opcodes/guiro.xml, opcodes/harmon.xml, opcodes/hilbert.xml,
-	  opcodes/hrtfer.xml, opcodes/hsboscil.xml, opcodes/if.xml,
-	  opcodes/igoto.xml, opcodes/ihold.xml, opcodes/include.xml,
-	  opcodes/insremot.xml, opcodes/instr.xml, opcodes/int.xml,
-	  opcodes/integ.xml, opcodes/interp.xml, opcodes/jitter.xml,
-	  opcodes/jitter2.xml, opcodes/kgoto.xml, opcodes/lessequal.xml,
-	  opcodes/lessthan.xml, opcodes/lfo.xml, opcodes/line.xml,
-	  opcodes/linrand.xml, opcodes/linseg.xml, opcodes/linsegr.xml,
-	  opcodes/log.xml, opcodes/log10.xml, opcodes/logbtwo.xml,
-	  opcodes/logcurve.xml, opcodes/loopseg.xml, opcodes/lorenz.xml,
-	  opcodes/loscil.xml, opcodes/loscil3.xml, opcodes/lowpass2.xml,
-	  opcodes/lowres.xml, opcodes/lowresx.xml, opcodes/lpf18.xml,
-	  opcodes/lphasor.xml, opcodes/lpshold.xml, opcodes/madsr.xml,
-	  opcodes/mandol.xml, opcodes/marimba.xml, opcodes/maxalloc.xml,
-	  opcodes/metro.xml, opcodes/midichannelaftertouch.xml,
-	  opcodes/midichn.xml, opcodes/midiin.xml, opcodes/midinoteoff.xml,
-	  opcodes/midinoteoncps.xml, opcodes/midinoteonkey.xml,
-	  opcodes/midinoteonoct.xml, opcodes/midinoteonpch.xml,
-	  opcodes/midipitchbend.xml, opcodes/midremot.xml,
-	  opcodes/mode.xml, opcodes/modulus.xml, opcodes/moog.xml,
-	  opcodes/moogvcf.xml, opcodes/moogvcf2.xml, opcodes/mpulse.xml,
-	  opcodes/multiplies.xml, opcodes/mute.xml, opcodes/nestedap.xml,
-	  opcodes/noise.xml, opcodes/notequal.xml, opcodes/notnum.xml,
-	  opcodes/nreverb.xml, opcodes/nsamp.xml, opcodes/octave.xml,
-	  opcodes/octcps.xml, opcodes/octmidi.xml, opcodes/octmidib.xml,
-	  opcodes/octpch.xml, opcodes/opa.xml, opcodes/opcode.xml,
-	  opcodes/oscbnk.xml, opcodes/oscil.xml, opcodes/oscil3.xml,
-	  opcodes/oscili.xml, opcodes/oscilikt.xml, opcodes/osciliktp.xml,
-	  opcodes/oscilikts.xml, opcodes/oscils.xml, opcodes/p.xml,
-	  opcodes/pareq.xml, opcodes/pcauchy.xml, opcodes/pchbend.xml,
-	  opcodes/pchmidi.xml, opcodes/pchmidib.xml, opcodes/pchoct.xml,
-	  opcodes/pcount.xml, opcodes/peak.xml, opcodes/pgmassign.xml,
-	  opcodes/phaser1.xml, opcodes/phaser2.xml, opcodes/phasor.xml,
-	  opcodes/phasorbnk.xml, opcodes/pindex.xml, opcodes/pinkish.xml,
-	  opcodes/pitch.xml, opcodes/pitchamdf.xml, opcodes/planet.xml,
-	  opcodes/pluck.xml, opcodes/poisson.xml, opcodes/polyaft.xml,
-	  opcodes/portk.xml, opcodes/poscil.xml, opcodes/poscil3.xml,
-	  opcodes/pow.xml, opcodes/powoftwo.xml, opcodes/prealloc.xml,
-	  opcodes/print.xml, opcodes/printk.xml, opcodes/printk2.xml,
-	  opcodes/printks.xml, opcodes/prints.xml, opcodes/pvsbin.xml,
-	  opcodes/pvsdisp.xml, opcodes/pvsfwrite.xml, opcodes/pvsosc.xml,
-	  opcodes/pvspitch.xml, opcodes/raises.xml, opcodes/rand.xml,
-	  opcodes/randh.xml, opcodes/randi.xml, opcodes/random.xml,
-	  opcodes/randomh.xml, opcodes/randomi.xml, opcodes/rbjeq.xml,
-	  opcodes/readclock.xml, opcodes/reinit.xml, opcodes/repluck.xml,
-	  opcodes/reson.xml, opcodes/resonr.xml, opcodes/resony.xml,
-	  opcodes/reverb.xml, opcodes/reverbsc.xml, opcodes/rezzy.xml,
-	  opcodes/rireturn.xml, opcodes/rms.xml, opcodes/rnd.xml,
-	  opcodes/rnd31.xml, opcodes/rtclock.xml, opcodes/sandpaper.xml,
-	  opcodes/scale.xml, opcodes/scans.xml, opcodes/scantable.xml,
-	  opcodes/schedkwhen.xml, opcodes/schedule.xml,
-	  opcodes/schedwhen.xml, opcodes/sekere.xml, opcodes/semitone.xml,
-	  opcodes/sensekey.xml, opcodes/setctrl.xml, opcodes/shaker.xml,
-	  opcodes/sin.xml, opcodes/sinh.xml, opcodes/sininv.xml,
-	  opcodes/sleighbells.xml, opcodes/sndwarp.xml,
-	  opcodes/soundin.xml, opcodes/spat3d.xml, opcodes/sqrt.xml,
-	  opcodes/stix.xml, opcodes/streson.xml, opcodes/strtod.xml,
-	  opcodes/strtodk.xml, opcodes/strtol.xml, opcodes/strtolk.xml,
-	  opcodes/subinstr.xml, opcodes/subtracts.xml,
-	  opcodes/svfilter.xml, opcodes/system.xml, opcodes/table.xml,
-	  opcodes/tableng.xml, opcodes/tablexkt.xml,
-	  opcodes/tambourine.xml, opcodes/tan.xml, opcodes/tanh.xml,
-	  opcodes/taninv.xml, opcodes/taninv2.xml, opcodes/tbvcf.xml,
-	  opcodes/tempest.xml, opcodes/tempo.xml, opcodes/tempoval.xml,
-	  opcodes/timeinstk.xml, opcodes/timeinsts.xml, opcodes/timek.xml,
-	  opcodes/times.xml, opcodes/trigger.xml, opcodes/trirand.xml,
-	  opcodes/turnoff.xml, opcodes/unirand.xml, opcodes/vadd.xml,
-	  opcodes/vadd_i.xml, opcodes/vaddv.xml, opcodes/vaget.xml,
-	  opcodes/vaset.xml, opcodes/vcella.xml, opcodes/vco.xml,
-	  opcodes/vco2.xml, opcodes/vcopy.xml, opcodes/vdivv.xml,
-	  opcodes/veloc.xml, opcodes/vexp.xml, opcodes/vexp_i.xml,
-	  opcodes/vexpseg.xml, opcodes/vexpv.xml, opcodes/vibes.xml,
-	  opcodes/vibr.xml, opcodes/vibrato.xml, opcodes/vlinseg.xml,
-	  opcodes/vlowres.xml, opcodes/vmap.xml, opcodes/vmult.xml,
-	  opcodes/vmult_i.xml, opcodes/vmultv.xml, opcodes/voice.xml,
-	  opcodes/vpow.xml, opcodes/vpow_i.xml, opcodes/vpowv.xml,
-	  opcodes/vsubv.xml, opcodes/vtablei.xml, opcodes/vtablek.xml,
-	  opcodes/vtablewa.xml, opcodes/vtablewk.xml, opcodes/waveset.xml,
-	  opcodes/weibull.xml, opcodes/wgbow.xml, opcodes/wgbowedbar.xml,
-	  opcodes/wgbrass.xml, opcodes/wgclar.xml, opcodes/wgflute.xml,
-	  opcodes/wgpluck.xml, opcodes/wgpluck2.xml, opcodes/wguide1.xml,
-	  opcodes/wguide2.xml, opcodes/wterrain.xml, opcodes/xtratim.xml,
-	  opcodes/xyin.xml, opcodes/zacl.xml, opcodes/zakinit.xml,
-	  opcodes/zamod.xml, opcodes/zar.xml, opcodes/zarg.xml,
-	  opcodes/zaw.xml, opcodes/zawm.xml, opcodes/zir.xml,
-	  opcodes/ziw.xml, opcodes/ziwm.xml, opcodes/zkcl.xml,
-	  opcodes/zkmod.xml, opcodes/zkr.xml, opcodes/zkw.xml,
-	  opcodes/zkwm.xml, csound.css: Modified for syntax highlighting
-
-2007-01-31 13:35  Francois Pinot <francois.pinot at numericable.fr>
-
-	* examples-xml/: 0dbfs-1.csd.xml, 0dbfs.csd.xml, FLbox.csd.xml,
-	  FLbutton.csd.xml, FLcount.csd.xml, FLjoy.csd.xml,
-	  FLknob-2.csd.xml, FLknob.csd.xml, FLpanel-sensekey.csd.xml,
-	  FLpanel-sensekey2.csd.xml, FLpanel.csd.xml, FLroller.csd.xml,
-	  FLscroll.csd.xml, FLsetText.csd.xml, FLsetVal.csd.xml,
-	  FLsetcolor.csd.xml, FLslider-2.csd.xml, FLslider.csd.xml,
-	  FLtabs.csd.xml, FLtext.csd.xml, FLvalue.csd.xml, abs.csd.xml,
-	  active.csd.xml, active_k.csd.xml, adds.csd.xml, adsr.csd.xml,
-	  adsyn.csd.xml, adsynt.csd.xml, aftouch.csd.xml, alpass.csd.xml,
-	  ampdb.csd.xml, ampdbfs.csd.xml, ampmidi.csd.xml, areson.csd.xml,
-	  assign.csd.xml, atone.csd.xml, babo.csd.xml, babo_expert.csd.xml,
-	  balance.csd.xml, bamboo.csd.xml, barmodel.csd.xml,
-	  bbcutm.csd.xml, betarand.csd.xml, bexprnd.csd.xml,
-	  bformenc.csd.xml, biquad-2.csd.xml, biquad.csd.xml,
-	  birnd.csd.xml, bqrez.csd.xml, butterbp.csd.xml, butterbr.csd.xml,
-	  butterhp.csd.xml, butterlp.csd.xml, buzz.csd.xml, cabasa.csd.xml,
-	  cauchy.csd.xml, cent.csd.xml, cggoto.csd.xml, changed.csd.xml,
-	  checkbox.csd.xml, cigoto.csd.xml, ckgoto.csd.xml,
-	  clfilt_highpass.csd.xml, clfilt_lowpass.csd.xml, clip.csd.xml,
-	  cngoto.csd.xml, comb.csd.xml, cos.csd.xml, cosh.csd.xml,
-	  cosinv.csd.xml, cps2pch.csd.xml, cps2pch_19et.csd.xml,
-	  cps2pch_ftable.csd.xml, cpsmidi.csd.xml, cpsmidib.csd.xml,
-	  cpsoct.csd.xml, cpspch.csd.xml, cpstmid.csd.xml, cpstun.csd.xml,
-	  cpstuni.csd.xml, cpsxpch.csd.xml, cpsxpch_105et.csd.xml,
-	  cpsxpch_pierce.csd.xml, cpuprc.csd.xml, cross2.csd.xml,
-	  crunch.csd.xml, dam.csd.xml, dam_expanded.csd.xml, date.csd.xml,
-	  db.csd.xml, dbamp.csd.xml, dbfsamp.csd.xml, dcblock.csd.xml,
-	  dconv.csd.xml, define.csd.xml, define_args.csd.xml,
-	  delay.csd.xml, delayw.csd.xml, diff.csd.xml, diskin.csd.xml,
-	  diskin2.csd.xml, dispfft.csd.xml, display.csd.xml,
-	  distort1.csd.xml, divides.csd.xml, divz.csd.xml,
-	  downsamp.csd.xml, dripwater.csd.xml, dssi4cs.csd.xml,
-	  endin.csd.xml, envlpx.csd.xml, equals.csd.xml, event.csd.xml,
-	  event_named.csd.xml, exp.csd.xml, expcurve.csd.xml,
-	  expon.csd.xml, exprand.csd.xml, expseg.csd.xml, expsega.csd.xml,
-	  expsegr.csd.xml, filelen.csd.xml, filenchnls.csd.xml,
-	  filepeak.csd.xml, filesr.csd.xml, flanger.csd.xml,
-	  flashtxt.csd.xml, fluid-2.orc.xml, fluid.orc.xml,
-	  fluidAllOut.orc.xml, fluidcomplex.csd.xml, fmb3.csd.xml,
-	  fmbell.csd.xml, fmmetal.csd.xml, fmpercfl.csd.xml,
-	  fmrhode.csd.xml, fmvoice.csd.xml, fmwurlie.csd.xml, fof.csd.xml,
-	  fold.csd.xml, follow.csd.xml, follow2.csd.xml, foscil.csd.xml,
-	  foscili.csd.xml, fout.csd.xml, fout_poly.csd.xml,
-	  fprintks-2.csd.xml, fprintks.csd.xml, fprints.csd.xml,
-	  frac.csd.xml, freeverb.csd.xml, ftchnls.csd.xml, ftconv.csd.xml,
-	  ftgen.csd.xml, ftlen.csd.xml, ftlptim.csd.xml, ftmorf.csd.xml,
-	  ftsave.csd.xml, ftsr.csd.xml, gainslider.csd.xml, gauss.csd.xml,
-	  gbuzz.csd.xml, gen01.csd.xml, gen01computed.csd.xml,
-	  gen02.csd.xml, gen03.csd.xml, gen05.csd.xml, gen06.csd.xml,
-	  gen07.csd.xml, gen08.csd.xml, gen09.csd.xml, gen09square.csd.xml,
-	  gen10.csd.xml, gen11.csd.xml, gen12.csd.xml, gen13.csd.xml,
-	  gen14.csd.xml, gen19.csd.xml, gogobel.csd.xml, goto.csd.xml,
-	  grain.csd.xml, grain2.csd.xml, grain3.csd.xml, granule.csd.xml,
-	  greaterequal.csd.xml, greaterthan.csd.xml, guiro.csd.xml,
-	  harmon.csd.xml, hilbert.csd.xml, hilbert_barberpole.csd.xml,
-	  hrtfer.csd.xml, hsboscil.csd.xml, hsboscil_midi.csd.xml,
-	  ifthen.csd.xml, igoto.csd.xml, ihold.csd.xml, include.csd.xml,
-	  insremot.csd.xml, insremotM.csd.xml, instr.csd.xml, int.csd.xml,
-	  integ.csd.xml, interp.csd.xml, jitter.csd.xml, jitter2.csd.xml,
-	  kgoto.csd.xml, lessequal.csd.xml, lessthan.csd.xml, lfo.csd.xml,
-	  line.csd.xml, linrand.csd.xml, linseg.csd.xml, linsegr.csd.xml,
-	  log.csd.xml, log10.csd.xml, logbtwo.csd.xml, logcurve.csd.xml,
-	  loopseg.csd.xml, lorenz.csd.xml, loscil.csd.xml, loscil3.csd.xml,
-	  lowpass2.csd.xml, lowres.csd.xml, lowresx.csd.xml, lpf18.csd.xml,
-	  lphasor.csd.xml, lpshold.csd.xml, madsr.csd.xml, mandol.csd.xml,
-	  marimba.csd.xml, maxalloc.csd.xml, metro.csd.xml,
-	  midichannelaftertouch.csd.xml, midichn.csd.xml,
-	  midichn_advanced.csd.xml, midiin.csd.xml, midinoteoff.csd.xml,
-	  midinoteoncps.csd.xml, midinoteonkey.csd.xml,
-	  midinoteonoct.csd.xml, midinoteonpch.csd.xml,
-	  midipitchbend.csd.xml, midremot.csd.xml, mode.csd.xml,
-	  modulus.csd.xml, moog.csd.xml, moogvcf.csd.xml, moogvcf2.csd.xml,
-	  mpulse.csd.xml, multiplies.csd.xml, mute.csd.xml,
-	  nestedap.csd.xml, noise-2.csd.xml, noise.csd.xml,
-	  notequal.csd.xml, notnum.csd.xml, notnum_complex.csd.xml,
-	  nreverb.csd.xml, nreverb_ftable.csd.xml, nsamp.csd.xml,
-	  octave.csd.xml, octcps.csd.xml, octmidi.csd.xml,
-	  octmidib.csd.xml, octpch.csd.xml, opa.csd.xml,
-	  opcode_example.csd.xml, oscbnk.csd.xml, oscil.csd.xml,
-	  oscil3.csd.xml, oscili.csd.xml, oscilikt.csd.xml,
-	  osciliktp.csd.xml, oscilikts.csd.xml, oscils.csd.xml, p.csd.xml,
-	  pareq.csd.xml, pcauchy.csd.xml, pchbend.csd.xml, pchmidi.csd.xml,
-	  pchmidib.csd.xml, pchoct.csd.xml, pcount.csd.xml, peak.csd.xml,
-	  pgmassign.csd.xml, pgmassign_advanced.csd.xml,
-	  pgmassign_ignore.csd.xml, phaser1.csd.xml, phaser2.csd.xml,
-	  phasor.csd.xml, phasorbnk.csd.xml, pindex.csd.xml,
-	  pinkish.csd.xml, pitch.csd.xml, pitchamdf.csd.xml,
-	  planet.csd.xml, pluck.csd.xml, poisson.csd.xml, polyaft.csd.xml,
-	  portk.csd.xml, poscil.csd.xml, poscil3.csd.xml, pow.csd.xml,
-	  powoftwo.csd.xml, prealloc.csd.xml, print.csd.xml,
-	  printk.csd.xml, printk2.csd.xml, printks.csd.xml, prints.csd.xml,
-	  pvsbin.csd.xml, pvsdisp.csd.xml, pvsfwrite.csd.xml,
-	  pvsosc.csd.xml, pvspitch.csd.xml, r.csd.xml, raises.csd.xml,
-	  rand.csd.xml, randh.csd.xml, randi.csd.xml, random.csd.xml,
-	  randomh.csd.xml, randomi.csd.xml, rbjeq.csd.xml,
-	  readclock.csd.xml, reinit.csd.xml, repluck.csd.xml,
-	  reson.csd.xml, resonr.csd.xml, resony.csd.xml, reverb.csd.xml,
-	  reverbsc.csd.xml, rezzy.csd.xml, rms.csd.xml, rnd.csd.xml,
-	  rnd31.csd.xml, rnd31_krate.csd.xml, rnd31_seed7.csd.xml,
-	  rnd31_time.csd.xml, rtclock.csd.xml, sandpaper.csd.xml,
-	  scale.csd.xml, scans.csd.xml, scantable.csd.xml,
-	  schedkwhen.csd.xml, schedule.csd.xml, schedwhen.csd.xml,
-	  scogen.csd.xml, sekere.csd.xml, semitone.csd.xml,
-	  sensekey.csd.xml, setctrl.csd.xml, shaker.csd.xml, sin.csd.xml,
-	  sinh.csd.xml, sininv.csd.xml, sleighbells.csd.xml,
-	  sndwarp.csd.xml, soundin.csd.xml, spat3d_UHJ.csd.xml,
-	  spat3d_quad.csd.xml, spat3d_stereo.csd.xml, sqrt.csd.xml,
-	  stix.csd.xml, streson.csd.xml, subinstr.csd.xml,
-	  subinstr_named.csd.xml, subtracts.csd.xml, svfilter.csd.xml,
-	  system.csd.xml, table.csd.xml, tableng.csd.xml, tablexkt.csd.xml,
-	  tambourine.csd.xml, tan.csd.xml, tanh.csd.xml, taninv.csd.xml,
-	  taninv2.csd.xml, tbvcf.csd.xml, tempest.csd.xml, tempo.csd.xml,
-	  tempoval.csd.xml, timeinstk.csd.xml, timeinsts.csd.xml,
-	  timek.csd.xml, times.csd.xml, trigger.csd.xml, trirand.csd.xml,
-	  turnoff.csd.xml, unirand.csd.xml, vadd.csd.xml, vadd_i.csd.xml,
-	  vaddv.csd.xml, vaget.csd.xml, vaset.csd.xml, vcella.csd.xml,
-	  vco.csd.xml, vco2.csd.xml, vcopy.csd.xml, vdivv.csd.xml,
-	  veloc.csd.xml, vexp.csd.xml, vexp_i.csd.xml, vexpseg.csd.xml,
-	  vexpv.csd.xml, vibes.csd.xml, vibr.csd.xml, vibrato.csd.xml,
-	  vlinseg.csd.xml, vlowres.csd.xml, vmap.csd.xml, vmult-2.csd.xml,
-	  vmult.csd.xml, vmult_i.csd.xml, vmultv.csd.xml, voice.csd.xml,
-	  vpow.csd.xml, vpow_i.csd.xml, vpowv.csd.xml, vsubv.csd.xml,
-	  vtablei.csd.xml, vtablek.csd.xml, vtablewa.csd.xml,
-	  vtablewk.csd.xml, waveset.csd.xml, weibull.csd.xml,
-	  wgbow.csd.xml, wgbowedbar.csd.xml, wgbrass.csd.xml,
-	  wgclar.csd.xml, wgflute.csd.xml, wgpluck.csd.xml,
-	  wgpluck2.csd.xml, wgpluck_brighter.csd.xml, wguide1.csd.xml,
-	  wguide2.csd.xml, wterrain.csd.xml, xtratim-2.csd.xml,
-	  xtratim.csd.xml, xyin.csd.xml, zacl.csd.xml, zakinit.csd.xml,
-	  zamod.csd.xml, zar.csd.xml, zarg.csd.xml, zaw.csd.xml,
-	  zawm.csd.xml, zir.csd.xml, ziw.csd.xml, ziwm.csd.xml,
-	  zkcl.csd.xml, zkmod.csd.xml, zkr.csd.xml, zkw.csd.xml,
-	  zkwm.csd.xml: Initial commit
-
-2007-01-29 17:32  Francois Pinot <francois.pinot at numericable.fr>
-
-	* examples/ifthen.csd: File was empty
-
-2007-01-29 17:32  Francois Pinot <francois.pinot at numericable.fr>
-
-	* examples/FLpanel-sensekey2.csd: Closed CsOptions tag
-
-2007-01-29 17:31  Francois Pinot <francois.pinot at numericable.fr>
-
-	* examples/: date.csd, ftconv.csd: Added CsOptions
-
-2007-01-29 17:30  Francois Pinot <francois.pinot at numericable.fr>
-
-	* examples/biquad-2.csd: Last closing tag was missing
-
-2007-01-27 11:43  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/vmap.csd: Small improvement
-	* overview/building.xml: fixed cvs server name
-
-2007-01-25 15:45  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/pcount.xml: typo
-
-2007-01-24 08:45  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* quickref.py, csound.css: Added improvements by Francois Pinot
-	* command/: flags.xml, flagscategory.xml: Added missing jack flags
-
-2007-01-22 10:17  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* overview/realtimelinux.xml: typo
-	* csound5/extending.xml, misc/modalfreq.xml: Added corrections by
-	  Francois Pinot
-
-2007-01-19 11:05  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* examples/FLsetText.csd, opcodes/flsettext.xml: Added example for
-	  FLsetText
-	* cscore/main.xml: typo
-
-2007-01-19 07:37  Steven Yi <stevenyi at gmail.com>
-
-	* overview/realtimelinux.xml: added information about dmix
-
-2007-01-18 10:10  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/fprintks.xml: typo
-	* opcodes/fprintks.xml: typo
-	* examples/FLsetVal.csd, opcodes/flsetval.xml,
-	  opcodes/flsetvali.xml: Added example and corrections to FLsetVal
-	  and FLsetVal_i
-	* examples/fprintks-2.csd, examples/schottstaedt.orc,
-	  examples/scogen.csd, opcodes/fprintks.xml: Added more examples to
-	  fprintks
-	* cscore/: advancd.xml, compile.xml, events.xml, main.xml: Added
-	  corrections by Francois Pinot
-
-2007-01-15 17:24  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/massign.xml: Small addition
-	* examples/FLknob-2.csd, examples/FLknob.csd,
-	  examples/FLslider-2.csd, examples/FLslider.csd,
-	  opcodes/flknob.xml, opcodes/flslider.xml: Added new examples to
-	  FLknob and FLslider
-	* utility/srconv.xml: Added corrections by Francois Pinot
-	* overview/design.xml: typos, noted by Francois Pinot
-
-2007-01-13 09:38  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/: massign.xml, midiin.xml: Added note about massign 0,0
-
-2007-01-12 20:02  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* images/noise-filter.png: improved noise entry and added example
-	* examples/rms.csd, opcodes/rms.xml: Improved rms and added
-	  example.
-	* opcodes/fluidEngine.xml: improvements in the fluid opcodes and
-	  examples
-	* examples/noise-2.csd, opcodes/noise.xml: improved noise entry and
-	  added example
-	* opcodes/fluidControl.xml: improvements in the fluid opcodes and
-	  examples
-	* examples/: line.csd, linseg.csd: Improved examples for line and
-	  linseg
-	* examples/portk.csd, opcodes/portk.xml: added example to portk
-	* examples/midiin.csd, opcodes/midiin.xml: Added example to midiiin
-	* examples/fluid-2.orc, examples/fluid.orc,
-	  opcodes/fluidAllOut.xml, opcodes/fluidCCi.xml,
-	  opcodes/fluidCCk.xml, opcodes/fluidEngine.xml,
-	  opcodes/fluidLoad.xml, opcodes/fluidNote.xml,
-	  opcodes/fluidOut.xml, opcodes/fluidProgramSelect.xml:
-	  improvements in the fluid opcodes and examples
-	* images/engine.png: Added new design section
-	* manual.xml, overview/design.xml, overview/using.xml: Added new
-	  design section
-
-2007-01-11 21:27  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* utility/: analysis.xml, convert.xml, csb64enc.xml, lpanal.xml,
-	  mixer.xml, other.xml, pvanal.xml, pvlook.xml, sndinfo.xml,
-	  srconv.xml, top.xml: Added corrections by Francois Pinot
-	* opcodes/vmap.xml: Fixes to vmap
-	* overview/using.xml: Added notes on buffers in new Csound Engine
-	  section
-	* examples/biquad-2.csd, misc/modalfreq.xml, opcodes/biquad.xml:
-	  Added modal example to biquad
-	* overview/: building.xml, using.xml: Corrected docbook issues
-	* misc/modalfreq.xml, misc/top.xml, opcodes/mode.xml,
-	  opcodes/streson.xml, manual.xml: Added Modal frequency ratios
-	  appendix and references to it.
-	* csound5/opcodes/py.xml: Added corrections by Francois Pinot
-	* control/: fltkintro.xml: improved and updated information for
-	  FLTK opcodes
-	* control/: fltkcontainers.xml, fltkgeneral.xml, fltkintro.xml,
-	  fltkother.xml, fltkvaluators.xml: improved and updated
-	  information for FLTK opcodes
-	* miscopcodes/top.xml: Improved system opcode entry and added
-	  example.
-	* examples/system.csd, manual.xml, opcodes/system.xml,
-	  strings/top.xml: Improved system opcode entry and added example.
-	* examples/poisson.csd, images/Poisson_distribution_PMF.png,
-	  images/poisson_equation.png, opcodes/poisson.xml: Improved
-	  information and examples for the poisson opcode
-
-2007-01-10 05:59  John ffitch  <jpff at codemist.co.uk>
-
-	* Makefile: system
-
-2007-01-09 17:35  John ffitch  <jpff at codemist.co.uk>
-
-	* manual.xml, opcodes/top.xml, opcodes/system.xml: system call
-
-2007-01-09 09:31  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* sigmod/envelope.xml: No longer used. moved to siggen/envelope.xml
-	* vectorial/: envelopeGenerators.xml, limiting.xml: Small fix.
-	* opcodes/: linsegr.xml, release.xml: Fixed typos
-	* examples/FLpanel-sensekey2.csd, opcodes/sensekey.xml: Added new
-	  example to sensekey
-
-2007-01-09 02:29  John ffitch  <jpff at codemist.co.uk>
-
-	* opcodes/printf.xml: typo in printf
-
-2007-01-04 21:37  gogins
-
-	* overview/building.xml: Expanded "Building" for MinGW.
-
-2007-01-01 07:42  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/: seqtime2.xml, timedseq.xml: Added and expanded "See
-	  also" section
-	* opcodes/top.xml: Moved timedseq to correct place
-	* csound5/opcodes/mixer.xml, opcodes/monitor.xml: Fixed "mixer"
-	  name confilct thanks to Francois Pinot
-	* scoregens/q.xml: Moved indexterm to correct place
-	* scoregens/: gen03.xml, gen12.xml, gen18.xml, gen28.xml,
-	  gen33.xml, gen42.xml, gen51.xml, gen52.xml, v.xml: Added
-	  corrections by Francois Pinot
-
-2006-12-27 18:47  gogins
-
-	* overview/building.xml: A bit of clarification on installing
-	  MinGW.
-
-2006-12-20 08:07  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* score/: macros.xml, mult.xml, nextp.xml, preproc.xml,
-	  statemnt.xml: Incorporated suggestions by Francois Pinot
-
-2006-12-16 23:28  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* scoregens/top.xml: Fixed incorrect links
-	* orch/statemnt.xml, scoregens/top.xml: Moved score statements to a
-	  better place
-	* opcodes/linsegr.xml: Changed note on maximum duration thanks to
-	  Jonathan Murphy and Istvan Varga
-	* Makefile, csound.css: Added css by Francois Pinot and modified
-	  Makefile to copy it appropriately
-
-2006-12-15 09:43  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* overview/using.xml: Added optimizing performance section
-	* examples/pcount.csd, examples/pindex.csd, opcodes/pcount.xml,
-	  opcodes/pindex.xml, opcodes/top.xml, manual.xml: Added pcount and
-	  pindex entries and examples
-
-2006-12-14 10:54  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* preface/copy.xml: Removed repeated line
-	* Makefile, manual.xml, csound5/licenses.xml, preface/copy.xml,
-	  preface/preface.xml, preface/top.xml: Removed redundant license
-	  information from csound5/licenses.xml
-	* preface/: csoundav.xml, name.xml, scope.xml: Removed, Not used
-	* orch/iblock.xml, orch/kvar.xml, orch/namedInstruments.xml,
-	  command/unifile.xml: Minor corrections suggested by Francois
-	  Pinot
-	* opcodes/: moogvcf.xml, moogvcf2.xml: Expanded explanation
-	* opcodes/sr.xml: Typo
-	* opcodes/sr.xml: Expanded explanation
-	* opcodes/moogvcf2.xml: Added note about amplitude and 0dbfs
-	* opcodes/moogvcf.xml: Fixed layout
-	* sigmod/ampmod.xml: Typo
-
-2006-12-12 10:40  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/: kr.xml, ksmps.xml: Corrected and expanded information
-	  on kr/ksmps relation
-
-2006-12-11 17:25  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* opcodes/: envlpxr.xml, expsegr.xml, linenr.xml, linsegr.xml,
-	  madsr.xml, mxadsr.xml, release.xml: Added more crossreferences
-	  and information about xtratim
-	* examples/xtratim-2.csd, examples/xtratim.csd,
-	  opcodes/xtratim.xml: Added examples and improved xtratim (thanks
-	  to Jonathan Murphy)
-	* opcodes/vcella.xml, examples/vcella.csd: Corrected vcella syntax
-	  and added example by Anthony Kozar
-	* opcodes/: vpow.xml, vpow_i.xml, vpowv.xml, vpowv_i.xml: Changed
-	  "elevated" for "raised". Thanks to Anthony Kozar
-	* opcodes/: vrandh.xml, vrandi.xml: Fixed second description.
-	  Reported By Anthony Kozar
-
-2006-12-09 12:22  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* control/timeread.xml: Added date and dates
-	* opcodes/denorm.xml: Added notes on usage
-	* opcodes/: dates.xml, date.xml: Fixed refentry id and category
-	* opcodes/insglobal.xml, opcodes/insremot.xml,
-	  opcodes/midglobal.xml, opcodes/midremot.xml,
-	  examples/midremot.csd: Made layout consistent and added links
-	* examples/lphasor.csd, examples/tablexkt.csd, opcodes/lphasor.xml,
-	  opcodes/tablexkt.xml: Added examples to lphasor and tablexkt by
-	  Jonathan Murphy
-	* examples/: 01hpschd.sf2, 07AcousticGuitar.sf2, 19Trumpet.sf2,
-	  22Bassoon.sf2: Trimmed down soundfonts
-
-2006-12-09 07:31  John ffitch  <jpff at codemist.co.uk>
-
-	* Makefile, manual.xml, examples/date.csd, opcodes/date.xml,
-	  opcodes/dates.xml, opcodes/top.xml: date and dates
-
-2006-12-05 08:03  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* command/top.xml: Added hyperlinks to the list in this section
-	* command/top.xml: Small clarification for overrides
-
-2006-12-04 15:25  Andrés Cabrera	<mantaraya36 at gmail.com>
-
-	* oscnetwork/Remote.xml: Fixed links
-	* opcodes/: insglobal.xml, insremot.xml, midglobal.xml,
-	  midremot.xml: Minor formatting fixes
-	* csound5/licenses.xml: Corrected link for copying.txt
-	* examples/insremot.csd, examples/insremotM.csd, manual.xml,
-	  quickref.py, examples/midremot.csd, opcodes/insglobal.xml,
-	  opcodes/insremot.xml, opcodes/midglobal.xml,
-	  opcodes/midremot.xml, oscnetwork/Remote.xml, oscnetwork/top.xml:
-	  Added chapter, references and quickref.py information for the
-	  remote opcodes
-	* Makefile: Corrected link for copying.txt
-	* overview/building.xml: Corrected some hyper links.
-	* opcodes/: in.xml, ino.xml, inq.xml, ins.xml: Added link to inch
-
-2006-12-04  John ffitch  <jpff at codemist.co.uk>
-
-	* Added documentation for insremot, insglobal, midremote and
-	midglobal opcodes
-
-2006-12-02	Andrés Cabrera	<mantaraya36 at gmail.com>
-	* Added examples/vmap.xml
-	* Added new parameters for vmap
-
-2006-11-27	Steven Yi	<stevenyi at gmail.com>
-	* Added documentation for FLcloseButton, FLexecButton, and FLvkeybd
-
-2006-11-26	Andrés Cabrera	<mantaraya36 at gmail.com>
-	* Major section reorganization
-	* Many small corrections
-	* References vaget, vaset, flooper2 and syncloop to the corresponding
-        sections
-	* Added csb64enc utility
-	* Modified synopsis tag (by splitting in several lines) in many files
-        to correct pdf output
-
-2006-11-23	Andrés Cabrera	<mantaraya36 at gmail.com>
-	* Added realtime section for windows
-	* Many small corrections
-
-2006-09-12	Steven Yi	<stevenyi at gmail.com>
-	* Renamed avar_get and avar_set opcodes to vaget and vaset
-
-2006-09-04	Steven Yi	<stevenyi at gmail.com>
-	* Added avar_get and avar_set opcodes
-
-2006-08-11	Andrés Cabrera	<mantaraya36 at gmail.com>
-	* Vectorial opcodes: Documented new features and added new examples
-	* Added 'See also' references to convolve, pconvolve and dconv.
-
-2006-08-07	Andrés Cabrera	<mantaraya36 at gmail.com>
-	* preface/gettingstarted.xml: Updated Getting Started section
-	* examples/wguide2.csd: Added example for wguide2 by John ffitch
-
-2006-07-20	Andrés Cabrera	<mantaraya36 at gmail.com>
-	* Added notnum example by David Akbari (examples/notnum_complex.csd)
-	* Unified flags from Csound4 and Csound5 into a single list, and
-	created section of flags by category (command/flagscategory.xml)
-
-2006-07-19  Victor  Lazzarini <victor.lazzarini at nuim.ie>
-	* Added flooper2 and syncloop opcodes
-
-2006-07-17	Andrés Cabrera	<mantaraya36 at gmail.com>
-	* Converted all .orc and .sco files to .csd and moved old files
-	to attic/examples
-	* Added section for Real-time Audio configuration for Linux
-	written mostly by Jonathan Murphy
-	* Started writing a getting started section
-
-2006-07-08	Andrés Cabrera	<mantaraya36 at gmail.com>
-	* Many small corrections and improvements
-	* Added stack opcodes (stack, push, pop, push_f, pop_f)
-
-2006-07-05  	Andrés Cabrera	<mantaraya36 at gmail.com>
-	* Added opcodes/sndinfo.xml and stub at opcodes/loscilx.xml
-	* Minor improvements in categorization
-
-2006-07-05  jpff  <jpff at codemist.co.uk>
-
-	* opcodes/socksend.xml:
-	* opcodes/sockrecv.xml: New documentation
-
-2006-06-30	Andrés Cabrera	<mantaraya36 at gmail.com>
-	* Added UDO chapter orch (orch/UDO.xml)
-	* Added info tag for more opcodes (about 90% done now)
-	* Many small fixes
-
-2006-06-30	Andrés Cabrera	<mantaraya36 at gmail.com>
-	* Many small corrections
-	* Reorganized plugin hosting section
-	* Added info tag for most opcode to generate the Quick Reference
-
-2006-06-22	Andrés Cabrera	<mantaraya36 at gmail.com>
-	* Created script quickref.py which parses all entries and generates
-	a categorized quick reference.
-	(Still many opcodes need the info tag for this to work properly)
-	* Created script makeframes.py which generates a frames version of
-	the manual from the html version
-	* Added new vectorial opcodes vadd_i, vmult_i, v_exp_i and vpow_i
-	* Many small fixes
-
-2006-06-02	Andrés Cabrera	<mantaraya36 at gmail.com>
-	* Reorgranized MIDI section
-	* Added monitor opcode
-	* Wrapped most link tags within listitem with para for safety
-
-2006-06-01  jpff  <jpff at codemist.co.uk>
-
-	* utility/extractor.xml: Added new desciption of old utility
-
-2006-05-31  jpff  <jpff at codemist.co.uk>
-
-	* utility/sndinfo.xml: Added documentation of options -i and -b
-
-2006-05-28  jpff  <jpff at codemist.co.uk>
-
-	* Added mixer utility
-
-	* Added description of scale utility
-
-2006-05-25	Andrés Cabrera	<mantaraya36 at gmail.com>
-	* Updated fluid synth opcodes examples for new syntax
-	* Small typo fix in vdelayk
-	* Updated mailing list and bug tracker information
-
-2006-05-24	Steven Yi 	<stevenyi at gmail.com>
-	* Fixed doc regarding old limitation on 20 depth for #includes
-	* Added q to score statements page
-	* fixed spacing of ^+ and ^- in Score Preprocessing section (can not have
-	spaces)
-
-2006-05-16	Andrés Cabrera	<mantaraya36 at gmail.com>
-	* Started large redesign of Overview section
-
-2006-05-13	Andrés Cabrera	<mantaraya36 at gmail.com>
-	* Added chapter on ATS opcodes on the spectral processing section
-
-2006-04-18	Andrés Cabrera	<mantaraya36 at gmail.com>
-	* Added chapter on environment variables, and other minor fixes (Thanks
-	to Istvan Varga, Art Hunkins, David Akbari, Matt Ingalls, Victor Lazzarini
-	and others)
-
-2006-03-19	Andrés Cabrera	<mantaraya36 at gmail.com>
-        * fixed capitalization issues on all FL opcodes.
-	* Added entries for ATS opcodes (ATSinfo, ATSread, ATSreadnz, etc.)
-
-2006-03-11	Anthony Kozar	<anthonykozar at sbcglobal.net>
-	* Added documentation for max, maxabs, maxaccum, maxabsaccum, min,
-	minabs, minaccum, minabsaccum.
-
-2006-01-13	Istvan Varga	<ivarga at csounds.com>
-	* added documentation for chnmix and chnclear
-
-2005-08-10  John  <jpff at codemist.co.uk>
-
-	* control/macros.xml: Add #ifdef
-
-2005-07-31	Andres Cabrera <andres at geminiflux.com>
-	* Corrected dssi4cs entries and linking
-	* Added vcopy_i, vrandh, vrandi
-
-2005-07-30	Andres Cabrera <andres at geminiflux.com>
-	* Added entries for dssi4cs opcodes dssiinit, dssiaudio, dssilist, dssictls.
-
-2005-07-26	Andres Cabrera <andres at geminiflux.com>
-	* Capitalized FL opcode entries to make them compatible with blue
-
-2005-07-06  John ffitch  <jpff at cs.bath.ac.uk>
-
-	* opcodes/fprints.xml: Arguments are irate not krate
-
-2005-06-30 Victor Lazzarini <Victor.Lazzarini at nuim.ie>
-        * added opcodes/fid.xml, partials.xml, tradsyn.xml, sinsyn.xml and
-	resyn.xml new streaming spectral analysis, partial tracking and
-	resynthesis opcodes.
-
-2005-06-18	Andres Cabrera <andres at geminiflux.com>
-	* added more vectorial opcodes
-	* added gen menu in scoregens/top.
-
-2005-06-17	Steven Yi	<stevenyi at gmail.com>
-	* Pushed new release of manual to Csounds.com
-
-2005-06-09  John ffitch  <jpff at codemist.co.uk>
-
-	* opcodes/pvsanal.xml: Changed variables in example to avoid
-	opcode names
-
-2005-06-07 	Steven Yi <stevenyi at gmail.com>
-        * rnd: added note about running at different rates and updated
-	examples from John Harrison
-	* int, frac: added note that runs at audio rate with Csound5 from Istvan
-	Varga
-	* ceil, round, floor: added entries from Istvan Varga, added links in
-	mathematical functions section
-	* k(): added k function entry from Istvan Varga
-
-2005-06-06  Andres Cabrera <andres at geminiflux.com>
-	* Added docs for vaddv,vsubv,vmultv,vdivv,vexpv,vpowv
-	* Added miditempo
-
-2005-06-06 	Steven Yi <stevenyi at gmail.com>
-        * timeinstk: added note "Called at both i-time as well as k-time."
-	from John Harrison
-	* port: added note about negative value for skipping
-	intiialization from John Harrison
-
-2005-05-27  Steven Yi <stevenyi at gmail.com>
-	* Fix for reverbsc.xml (link instead of ulink)
-	* Pushed New Release to Csounds.com
-
-2005-05-25  Steven Yi <stevenyi at gmail.com>
-	* Added turnoff2 entry
-	* Added entries for makecsd and cs utilities
-	* Integrated Victor's manual entries for pvsarp, pvsvoc, flooper, and
-	sndloop
-
-2005-05-25  Steven Yi <stevenyi at gmail.com>
-	* Added denorm entry
-	* Added extended commandline flags for CS5
-	* Added rbjeq entry
-
-2005-05-09  Steven Yi <stevenyi at gmail.com>
-	* Added ChangeLog
-	* Added documentation for Istvan's strtod, strtodk, strtol, strtolk to
-	Csound5 opcodes
-	* Added --strset to command-line options
diff --git a/Makefile b/Makefile
index 8370780..20a2718 100644
--- a/Makefile
+++ b/Makefile
@@ -6,15 +6,13 @@
 #       on your system.
 # *************************************************************************
 BASENAME=Csound
-BASENAMEOLPC=OLPCsound
-VERSION=5.13
+VERSION=6.02
 
 # export PATH=$PATH:/home/andres/bin/fop-0.20.5/
 # export JAVA_HOME=/usr/lib/jvm/java-6-sun/
 
 # Output Directories
 HTML_DIR=html
-HTMLXO_DIR=manualOLPC
 HTML_ONE_DIR=singleHTML
 HTMLHELP_DIR=htmlhelp
 MANPAGES_DIR=manpages
@@ -93,7 +91,8 @@ OPCODES = 	opcodes/0dbfs.xml	opcodes/abetarand.xml \
 	opcodes/clfilt.xml	opcodes/clip.xml	opcodes/clock.xml \
 	opcodes/clockoff.xml	opcodes/clockon.xml	opcodes/cngoto.xml \
 	opcodes/comb.xml	opcodes/control.xml	opcodes/convle.xml \
-	opcodes/convolve.xml	opcodes/cos.xml	        opcodes/cosh.xml \
+	opcodes/convolve.xml	opcodes/copya2ftab.xml	opcodes/copyf2array.xml \
+	opcodes/cos.xml	opcodes/cosh.xml \
 	opcodes/cosinv.xml	opcodes/cps2pch.xml	opcodes/cpsmidi.xml \
 	opcodes/cpsmidib.xml	opcodes/cpsoct.xml	opcodes/cpspch.xml \
 	opcodes/cpstmid.xml	opcodes/cpstun.xml	opcodes/cpstuni.xml \
@@ -110,7 +109,8 @@ OPCODES = 	opcodes/0dbfs.xml	opcodes/abetarand.xml \
 	opcodes/distort1.xml	opcodes/divides.xml	opcodes/divz.xml \
 	opcodes/dollar.xml	opcodes/downsamp.xml	opcodes/dripwater.xml \
 	opcodes/dumpk.xml	opcodes/dumpk2.xml	opcodes/dumpk3.xml \
-	opcodes/dumpk4.xml	opcodes/duserrnd.xml	opcodes/else.xml \
+	opcodes/dumpk4.xml	opcodes/duserrnd.xml	opcodes/dust.xml \
+	opcodes/dust2.xml 	opcodes/else.xml \
 	opcodes/elseif.xml	opcodes/endif.xml	opcodes/endin.xml \
 	opcodes/endop.xml	opcodes/envlpx.xml	opcodes/envlpxr.xml \
 	opcodes/equals.xml	opcodes/event.xml	opcodes/exitnow.xml \
@@ -149,11 +149,14 @@ OPCODES = 	opcodes/0dbfs.xml	opcodes/abetarand.xml \
 	opcodes/follow.xml	opcodes/follow2.xml	opcodes/foscil.xml \
 	opcodes/foscili.xml	opcodes/fout.xml	opcodes/fouti.xml \
 	opcodes/foutir.xml	opcodes/foutk.xml	opcodes/fprintks.xml \
-	opcodes/fprints.xml	opcodes/frac.xml	opcodes/ftchnls.xml \
+	opcodes/fprints.xml	opcodes/frac.xml	opcodes/fractalnoise.xml \
+	opcodes/ftchnls.xml \
 	opcodes/ftgen.xml	opcodes/ftlen.xml	opcodes/ftload.xml \
 	opcodes/ftloadk.xml	opcodes/ftlptim.xml	opcodes/ftmorf.xml \
 	opcodes/ftsave.xml	opcodes/ftsavek.xml	opcodes/ftsr.xml \
-	opcodes/gain.xml	opcodes/gauss.xml	opcodes/gbuzz.xml \
+	opcodes/gain.xml	opcodes/gauss.xml	opcodes/gausstrig.xml \
+	opcodes/gbuzz.xml	opcodes/gendy.xml       opcodes/gendyc.xml \
+	opcodes/gendyx.xml \
 	opcodes/gogobel.xml	opcodes/goto.xml	opcodes/grain.xml \
 	opcodes/grain2.xml	opcodes/grain3.xml	opcodes/granule.xml \
 	opcodes/greaterequal.xml	opcodes/greaterthan.xml	opcodes/guiro.xml \
@@ -257,6 +260,8 @@ OPCODES = 	opcodes/0dbfs.xml	opcodes/abetarand.xml \
 	opcodes/powoftwo.xml	opcodes/prealloc.xml	opcodes/print.xml \
 	opcodes/printk.xml	opcodes/printk2.xml	opcodes/printks.xml \
 	opcodes/prints.xml	opcodes/product.xml	opcodes/pset.xml \
+	opcodes/ptable.xml	opcodes/ptable3.xml	opcodes/ptablei.xml \
+	opcodes/ptablew.xml \
 	opcodes/pvadd.xml	opcodes/pvbufread.xml	opcodes/pvcross.xml \
 	opcodes/pvinterp.xml	opcodes/pvoc.xml	opcodes/pvread.xml \
 	opcodes/pvsadsyn.xml	opcodes/pvsanal.xml	opcodes/pvsarp.xml \
@@ -489,48 +494,6 @@ html-bw: $(XSL_HTML) manual.xml $(SRCS) Makefile
 	rm -rf ${HTML_DIR}/images/callouts/CVS
 	rm -rf ${HTML_DIR}/examples/CVS
 
-htmlXO: $(XSL_HTML) manualXO.xml $(SRCS) Makefile
-	-mkdir -p ${HTMLXO_DIR}
-	xsltproc  --xinclude -o ${HTMLXO_DIR}/ ${XSL_HTML} manualXO.xml
-	cp -R images ${HTMLXO_DIR}/
-	cp -R imagesXO ${HTMLXO_DIR}/
-	cp -R examples ${HTMLXO_DIR}/
-	cp copying.txt ${HTMLXO_DIR}/
-	cp csoundXO.css ${HTMLXO_DIR}/csound.css
-	rm -rf ${HTMLXO_DIR}/flbutbank.png
-	rm -rf ${HTMLXO_DIR}/flbutton.png
-	rm -rf ${HTMLXO_DIR}/flcount.png
-	rm -rf ${HTMLXO_DIR}/flknob_3d.png
-	rm -rf ${HTMLXO_DIR}/flknob_clock.png
-	rm -rf ${HTMLXO_DIR}/flknob_flat.png
-	rm -rf ${HTMLXO_DIR}/flknob_pie.png
-	rm -rf ${HTMLXO_DIR}/flpack.png
-	rm -rf ${HTMLXO_DIR}/flpanel.png
-	rm -rf ${HTMLXO_DIR}/flroller.png
-	rm -rf ${HTMLXO_DIR}/flscroll.png
-	rm -rf ${HTMLXO_DIR}/flslider_horizontal-engraved.png
-	rm -rf ${HTMLXO_DIR}/flslider_horizontal-fill.png
-	rm -rf ${HTMLXO_DIR}/flslider_horizontal-nice.png
-	rm -rf ${HTMLXO_DIR}/fltabs.png
-	rm -rf ${HTMLXO_DIR}/fltabs_joysticks-tab.png
-	rm -rf ${HTMLXO_DIR}/fltabs_rollers-tab.png
-	rm -rf ${HTMLXO_DIR}/fltabs_sliders-tab.png
-	rm -rf ${HTMLXO_DIR}/fltext.png
-	rm -rf ${HTMLXO_DIR}/symbols.png
-	rm -rf ${HTMLXO_DIR}/virtualkeyboard.png
-	rm -rf ${HTMLXO_DIR}/images/CVS
-	rm -rf ${HTMLXO_DIR}/images/callouts/CVS
-	rm -rf ${HTMLXO_DIR}/examples/CVS
-
-bundleXO: htmlXO
-	cp -R ${HTMLXO_DIR} ${BASENAMEOLPC}${VERSION}_manual
-	mkdir $(BASENAMEOLPC)$(VERSION)_manual/library
-	cp XO/library.info $(BASENAMEOLPC)$(VERSION)_manual/library
-	rm -Rd $(BASENAMEOLPC)$(VERSION)_manual.xol
-	zip -r /tmp/$(BASENAMEOLPC)$(VERSION)_manual.xol ${BASENAMEOLPC}${VERSION}_manual
-	mv /tmp/$(BASENAMEOLPC)$(VERSION)_manual.xol ./
-	rm -Rd $(BASENAMEOLPC)$(VERSION)_manual
-
 html-onechunk: $(XSL_HTML_ONECHUNK) manual.xml $(SRCS) Makefile
 	-mkdir -p ${HTML_ONE_DIR}
 	xsltproc  --xinclude -o ${HTML_ONE_DIR}/ ${XSL_HTML_ONECHUNK} manual.xml
@@ -547,23 +510,12 @@ pdf: $(XSL_PRINT) manual.xml $(SRCS) Makefile
 	fop.sh -fo $(BASENAME)$(VERSION)_manual.fo -pdf $(BASENAME)$(VERSION)_manual.pdf
 	rm $(BASENAME)$(VERSION)_manual.fo
 
-pdfXO: $(XSL_PRINT) manualXO.xml $(SRCS) Makefile
-	xsltproc  --xinclude -o $(BASENAMEOLPC)$(VERSION)_manual.fo ${XSL_PRINT} manualXO.xml
-	fop.sh -fo $(BASENAMEOLPC)$(VERSION)_manual.fo -pdf $(BASENAMEOLPC)$(VERSION)_manual.pdf
-	rm $(BASENAMEOLPC)$(VERSION)_manual.fo
-
 pdfA4: $(XSL_PRINT) manual.xml $(SRCS) Makefile
 	xsltproc --stringparam paper.type A4  --xinclude \
 		-o $(BASENAME)$(VERSION)_manual_A4.fo ${XSL_PRINT} manual.xml
 	fop.sh -fo $(BASENAME)$(VERSION)_manual_A4.fo -pdf $(BASENAME)$(VERSION)_manual_A4.pdf
 	rm $(BASENAME)$(VERSION)_manual_A4.fo
 
-pdfA4XO: $(XSL_PRINT) manualXO.xml $(SRCS) Makefile
-	xsltproc --stringparam paper.type A4  --xinclude \
-		-o $(BASENAMEOLPC)$(VERSION)_manual_A4.fo ${XSL_PRINT} manualXO.xml
-	fop.sh -fo $(BASENAMEOLPC)$(VERSION)_manual_A4.fo -pdf $(BASENAMEOLPC)$(VERSION)_manual_A4.pdf
-	rm $(BASENAMEOLPC)$(VERSION)_manual_A4.fo
-
 htmlhelp: ${XSL_HTMLHELP} manual.xml $(SRCS)
 	-mkdir -p ${HTMLHELP_DIR}
 	xsltproc  --xinclude -o ${HTMLHELP_DIR}/ ${XSL_HTMLHELP} manual.xml
@@ -584,11 +536,6 @@ html-clean:
 	rm -rf html
 	rm -f examples/*.csd~
 
-xo-clean:
-	rm -rf htmlXO
-	rm -rf ${HTMLXO_DIR}
-	rm -f *.xol
-
 pdf-clean:
 	rm -f *.pdf *.fo
 
@@ -599,7 +546,7 @@ htmlhelp-clean:
 manpages-clean:
 	rm -rf manpages
 
-clean: html-clean pdf-clean htmlhelp-clean manpages-clean xo-clean
+clean: html-clean pdf-clean htmlhelp-clean manpages-clean
 	rm -f $(XSL_HTML) $(XSL_HTML_ONECHUNK) $(XSL_PRINT) $(XSL_HTMLHELP)
 
 distclean: clean
diff --git a/STKopcodes/top.xml b/STKopcodes/top.xml
new file mode 100644
index 0000000..168eb47
--- /dev/null
+++ b/STKopcodes/top.xml
@@ -0,0 +1,84 @@
+<chapter id="STKTop">
+  <title>STK Opcodes</title>
+  <note>
+    <para>
+      These opcodes are an optional component of Csound5. You can check if
+      they are installed by using the command 'csound -z' which lists all
+      available opcodes.
+    </para>
+  </note>
+
+  <para>
+    The STK opcodes can be built in several ways. If you are already building
+    Csound, simply follow the directions at the top of the Opcodes/stk/stkOpcodes.cpp
+    file.
+  </para>
+  <para>
+    If you do not wish to build all of Csound, you can still build the STK
+    opcodes as an opcode plugin (shared library). You can adapt the example from
+    the Csound GIT repository in the pluginSDK directory. Replace the
+    pluginSDK/examplePlugin.c file with the opcodes/stk/stkOpcodes.cpp file, and
+    change the name of this file in the SConstruct build file. Then use scons to
+    build the opcodes. Be sure to use the scons command-line option useDouble=0
+    if you have single-precision (32 bit) Csound, and useDouble=1 if you have
+    double-precision (64 bit) Csound.
+  </para>
+  <para>
+    You must also either add all the STK source code files and include path to
+    the SConstruct file, or you must add a prebuilt STK library and include path
+    to the SConstruct file. The STK source files would go near line 296 in the
+    SConstruct file:
+
+<programlisting>makePlugin(pluginEnvironment, 'stkOpcodes', Split('''
+    stkOpcodes.cpp
+    ... STK source files ...
+'''))</programlisting>
+  </para>
+
+  <para>The STK family of opcodes wraps:
+    <itemizedlist>
+      <listitem><link linkend="STKBandedWG"><citetitle>STKBandedWG</citetitle></link></listitem>
+      <listitem><link linkend="STKBeeThree"><citetitle>STKBeeThree</citetitle></link></listitem>
+      <listitem><link linkend="STKBlowBotl"><citetitle>STKBlowBotl</citetitle></link></listitem>
+      <listitem><link linkend="STKBlowHole"><citetitle>STKBlowHole</citetitle></link></listitem>
+      <listitem><link linkend="STKBowed"><citetitle>STKBowed</citetitle></link></listitem>
+      <listitem><link linkend="STKBrass"><citetitle>STKBrass</citetitle></link></listitem>
+      <listitem><link linkend="STKClarinet"><citetitle>STKClarinet</citetitle></link></listitem>
+      <listitem><link linkend="STKDrummer"><citetitle>STKDrummer</citetitle></link></listitem>
+      <listitem><link linkend="STKFlute"><citetitle>STKFlute</citetitle></link></listitem>
+      <listitem><link linkend="STKFMVoices"><citetitle>STKFMVoices</citetitle></link></listitem>
+      <listitem><link linkend="STKHevyMetl"><citetitle>STKHevyMetl</citetitle></link></listitem>
+      <listitem><link linkend="STKMandolin"><citetitle>STKMandolin</citetitle></link></listitem>
+      <listitem><link linkend="STKModalBar"><citetitle>STKModalBar</citetitle></link></listitem>
+      <listitem><link linkend="STKMoog"><citetitle>STKMoog</citetitle></link></listitem>
+      <listitem><link linkend="STKPercFlut"><citetitle>STKPercFlut</citetitle></link></listitem>
+      <listitem><link linkend="STKPlucked"><citetitle>STKPlucked</citetitle></link></listitem>
+      <listitem><link linkend="STKResonate"><citetitle>STKResonate</citetitle></link></listitem>
+      <listitem><link linkend="STKRhodey"><citetitle>STKRhodey</citetitle></link></listitem>
+      <listitem><link linkend="STKSaxofony"><citetitle>STKSaxofony</citetitle></link></listitem>
+      <listitem><link linkend="STKShakers"><citetitle>STKShakers</citetitle></link></listitem>
+      <listitem><link linkend="STKSimple"><citetitle>STKSimple</citetitle></link></listitem>
+      <listitem><link linkend="STKSitar"><citetitle>STKSitar</citetitle></link></listitem>
+      <listitem><link linkend="STKStifKarp"><citetitle>STKStifKarp</citetitle></link></listitem>
+      <listitem><link linkend="STKTubeBell"><citetitle>STKTubeBell</citetitle></link></listitem>
+      <listitem><link linkend="STKVoicForm"><citetitle>STKVoicForm</citetitle></link></listitem>
+      <listitem><link linkend="STKWhistle"><citetitle>STKWhistle</citetitle></link></listitem>
+      <listitem><link linkend="STKWurley"><citetitle>STKWurley</citetitle></link></listitem>
+    </itemizedlist>
+  </para>
+
+  <para>
+    For more information about the STK opcodes, visit The Synthesis ToolKit in
+    C++ (STK) web site at <ulink
+    url="https://ccrma.stanford.edu/software/stk">https://ccrma.stanford.edu/software/stk</ulink>.
+  </para>
+
+  <bridgehead>Credits</bridgehead>
+  <para>
+    This implementation of the STK unit generators was written by Perry R. Cook
+    and Gary P. Scavone.
+  </para>
+  <para>
+    The opcodes were further adapted as a plugin for Csound 5 by Michael Gogins.
+  </para>
+</chapter>
diff --git a/TODO b/TODO
deleted file mode 100644
index 55c79a9..0000000
--- a/TODO
+++ /dev/null
@@ -1,8 +0,0 @@
-Opcodes to be Documented:
-
-Move: tab_i (drafted by JPff)
-      tabw (drafted by JPff)
-      tabw_i (drafted by JPff)
-From the tab entry to their own entry.
-
- cogoto (is this necessary?)
\ No newline at end of file
diff --git a/XO/library.info b/XO/library.info
deleted file mode 100644
index 8b73329..0000000
--- a/XO/library.info
+++ /dev/null
@@ -1,12 +0,0 @@
-[Library]
-name = CsoundXO Manual
-global_name = org.csounds.com
-long_name = CsoundXO Manual
-library_version = 1
-host_version = 1
-l10n = false
-locale = en
-category =  media
-subcategory = sound
-activity = Browse
-activity_start = index.html
\ No newline at end of file
diff --git a/beats/top.xml b/beats/top.xml
deleted file mode 100644
index f7f3641..0000000
--- a/beats/top.xml
+++ /dev/null
@@ -1,272 +0,0 @@
-<chapter id="BeatsTop">
-  <title>Beats</title>
-
-  <para>
-    <indexterm id="IndexBeats"><primary>Beats</primary></indexterm>
-    <emphasis>Beats</emphasis> is an alternative score language that is aimed at 
-     specifying simple scores in standard western tunings and
-     rhythms.  <emphasis>Beats</emphasis> can be invoked via the
-     CsScore component of a standard .csd score with
-     <emphasis>bin="beats"</emphasis> or as stand-alone
-     program which generates a standard numeric score.
-  </para>
-
-  <para>
-    As a stand-alone the program reads standard input and writes to
-    standard output.
-  </para>
-
-  <section id="Syntax">
-
-    <para>
-      The <emphasis>beats</emphasis> language is very simple, having
-      only 5  kinds of statement, and only one of them has any
-      complexity.  In general the introductory word for each statement
-      type is case insensitive, so "QUIT", "quit", "QuIt"... are all
-      the same.  Comments can be introduced in either ANSI C89 format
-      or C++ (that is either /* ... */ or // to the end of line) or
-      Csound's semicolo.
-    </para>
-    <itemizedlist>
-      <listitem><emphasis>QUIT</emphasis>
-      <para>
-        Causes beats to exit.  For
-        flexibility the command <emphasis>END</emphasis> is also
-        accepted for the identical action.
-      </para>
-      </listitem>
-      <listitem><emphasis>BEATS</emphasis>=integer
-      <para>
-        Sets the number of beats
-        per minute for the following score until the end or until it is
-        reset.  The default value is 60bpm.  The token
-        <emphasis>BPS</emphasis> is also acceptable instead of BEATS.  
-      </para>
-      </listitem>
-      <listitem><emphasis>PERMEASURE</emphasis>=integer
-      <para>
-        Sets the number of
-        beats in a bar.  The default value is 4.
-      </para>
-      </listitem>
-      <listitem><emphasis>BAR</emphasis>
-      <para>
-        Start a new bar.
-      </para>
-      </listitem>
-      <listitem><emphasis>BAR</emphasis> integer
-      <para>
-        Start the bar whose number is
-        given.
-      </para>
-      </listitem>
-      <listitem>
-        <emphasis>i</emphasis> integer attributes
-        <para>
-          Specified a note event for the numbered instrument.  The
-          attributes may be any of a pitch, duration or dynamic, or a
-          positioning of the note to a beat or measure, and can be in
-          any order.
-        </para>
-        <para>
-          Pitches are specified with a conventional note name (English
-          form) in upper case optionally followed by a #, x (for
-          double sharp), b (for flat) or bb (for double flat). 
-          A note of Z is a rest (think zzzz).  All notes except rests
-          must be followed by an octave number, with A4 being
-          international A (440Hz).  Pitches are passed to Csound in
-          Hertz in the parameter p4, and are twelve tone equal temprament.
-        </para>
-        <para>
-          Durations are coded in lower case with the initial letter of the
-          name.
-          <itemizedlist>
-            <listitem>
-              <emphasis>ed</emphasis> Dotted eighth note (three
-              quarters of a beat) 
-            </listitem>
-            <listitem>
-              <emphasis>et</emphasis> Triplet eighth note (third of a beat)
-            </listitem>
-            <listitem>
-              <emphasis>e</emphasis> Eighth note (half a beat)
-            </listitem>
-            <listitem>
-              <emphasis>hd</emphasis> Dotted half note (three beats)
-            </listitem>
-            <listitem>
-              <emphasis>ht</emphasis> Triplet half note (one and a third beats)
-            </listitem>
-            <listitem>
-              <emphasis>h</emphasis> Half note (two beats)
-            </listitem>
-            <listitem>
-              <emphasis>qd</emphasis> Dotted quarter note (one and a half beats)
-            </listitem>
-            <listitem>
-              <emphasis>qt</emphasis> Triplet quarter note (two thirds of a
-              beat)
-            </listitem>
-            <listitem>
-              <emphasis>q</emphasis> Quarter note (one beat)
-            </listitem>
-            <listitem>
-          <emphasis>sd</emphasis> Dotted sixteenth note (Three eighths
-          of a beat)
-        </listitem>
-        <listitem>
-          <emphasis>st</emphasis> Triplet sixteenth note (sixth
-          of a beat)
-        </listitem>
-        <listitem>
-          <emphasis>s</emphasis> Sixteenth note (quarter of a beat)
-        </listitem>
-        <listitem>
-          <emphasis>th</emphasis> Thirty-second note (an eighth of a beat)
-        </listitem>
-        <listitem>
-          <emphasis>w</emphasis> Whole note (four beats)
-        </listitem>
-      </itemizedlist>
-      Durations can be added together by giving more that one
-      duration.  To make this more intuitive a + sign can be used
-      instead of white space.
-    </para>
-    <para>
-      The dynamics are written in conventional notation, that is fff,
-      ff, f, mf, mp, p, pp, ppp.  These are passed to the instrument
-      as p5 as 0 for fff, and one less dB for each step below.  The
-      default dynamic is fortissimo.
-    </para>
-    <para>
-      If any of these attributes is missing it carried forward from the
-      previous note, with beat position being incremented to the end
-      of the previous note.
-    </para>
-    <para>
-      In addition an event can be directed to a particular measure with
-      an m attribute or a particular beat with a b.
-    </para>
-      </listitem>
-    </itemizedlist>
-   </section>
-
-  <section id="Example">
-    <para>
-      The opening of Bach's Goldberg variation number 3 can be coded
-      as:
-      <programlisting>
-; Bach - Goldberg Variations - Variato 3
-; by Brian Baughn 3-14-05
-; bbaughn at berklee.net
-beats = 120
-permeasure = 6
-
-i101    m1 b1 B4 mp qd+s
-i101          C5    s
-i101          D5
-i101          C5
-i101          D5
-i101          E5
-i101          A4    qd+s
-i101          B4    s
-i101          C5
-i101          B4
-i101          C5
-i101          D5
-
-i101    m2 b1 G4    qd
-i101          G5    qd+e
-i101          A5    s
-i101          G5
-i101          F#5
-i101          G5
-i101          A5    e
-
-i101  m3 b1.5 D5    s
-i101          C5
-i101          B4
-i101          A4
-i101          B4    e
-i101          C5    s
-i101          B4
-i101          A4
-i101          B4
-i101          G4    e
-i101          E5
-i101          D5
-i101          C5
-i101          F#5
-i101          A5
-
-i101  m4 b1   B4    q
-i101          G5    e
-i101          G5    q
-i101          F#5   e
-i101          Z     e   // Z is a rest (zzzzz..)
-i101                e
-i101          B5    e
-i101          A5    q
-i101          D5    e
-
-quit
-
-      </programlisting>
-This produces output
-      <programlisting>
-;;;setting bpm=120.000000
-;;;setting permeasure=6
-i101 0.000000 0.875000 493.883621 -4
-i101 0.875000 0.125000 523.251131 -4
-i101 1.000000 0.125000 587.329536 -4
-i101 1.125000 0.125000 523.251131 -4
-i101 1.250000 0.125000 587.329536 -4
-i101 1.375000 0.125000 659.255114 -4
-i101 1.500000 0.875000 440.000000 -4
-i101 2.375000 0.125000 493.883621 -4
-i101 2.500000 0.125000 523.251131 -4
-i101 2.625000 0.125000 493.883621 -4
-i101 2.750000 0.125000 523.251131 -4
-i101 2.875000 0.125000 587.329536 -4
-i101 3.000000 0.750000 391.995436 -4
-i101 3.750000 1.000000 783.990872 -4
-i101 4.750000 0.125000 880.000000 -4
-i101 4.875000 0.125000 783.990872 -4
-i101 5.000000 0.125000 739.988845 -4
-i101 5.125000 0.125000 783.990872 -4
-i101 5.250000 0.250000 880.000000 -4
-i101 6.250000 0.125000 587.329536 -4
-i101 6.375000 0.125000 523.251131 -4
-i101 6.500000 0.125000 493.883621 -4
-i101 6.625000 0.125000 440.000000 -4
-i101 6.750000 0.250000 493.883621 -4
-i101 7.000000 0.125000 523.251131 -4
-i101 7.125000 0.125000 493.883621 -4
-i101 7.250000 0.125000 440.000000 -4
-i101 7.375000 0.125000 493.883621 -4
-i101 7.500000 0.250000 391.995436 -4
-i101 7.750000 0.250000 659.255114 -4
-i101 8.000000 0.250000 587.329536 -4
-i101 8.250000 0.250000 523.251131 -4
-i101 8.500000 0.250000 739.988845 -4
-i101 8.750000 0.250000 880.000000 -4
-i101 9.000000 0.500000 493.883621 -4
-i101 9.500000 0.250000 783.990872 -4
-i101 9.750000 0.500000 783.990872 -4
-i101 10.250000 0.250000 739.988845 -4
-;;rest at 10.500000 for 0.250000
-;;rest at 10.750000 for 0.250000
-i101 11.000000 0.250000 987.767243 -4
-i101 11.250000 0.500000 880.000000 -4
-i101 11.750000 0.250000 587.329536 -4
-e
-      </programlisting>
-    </para>
-    </section>
-
-
-
-
-
-
-</chapter>
diff --git a/categories.py b/categories.py
index f1a74ee..5e56f54 100644
--- a/categories.py
+++ b/categories.py
@@ -15,6 +15,7 @@ categories = ['Orchestra Syntax:Header',
               'Signal Generators:Random (Noise) Generators',
               'Signal Generators:Sample Playback',
               'Signal Generators:Scanned Synthesis',
+              'Signal Generators:STK Opcodes',
               'Signal Generators:Table Access',
               'Signal Generators:Wave Terrain Synthesis',
               'Signal Generators:Waveguide Physical Modeling',
@@ -41,6 +42,7 @@ categories = ['Orchestra Syntax:Header',
               'Signal Modifiers:Comparators and Accumulators',
               'Instrument Control:Clock Control',
               'Instrument Control:Conditional Values',
+              'Instrument Control:Compilation',
               'Instrument Control:Duration Control',
               'Instrument Control:Invocation',
               'Instrument Control:Program Flow Control',
@@ -50,6 +52,9 @@ categories = ['Orchestra Syntax:Header',
               'Instrument Control:Stacks',
               'Instrument Control:Subinstrument Control',
               'Instrument Control:Time Reading',
+              'Jacko Opcodes',
+              'Lua Opcodes',
+              'Serial I/O',
               'Table Control',
               'Table Control:Table Queries',
               'Table Control:Dynamic Selection',
@@ -65,6 +70,7 @@ categories = ['Orchestra Syntax:Header',
               'Mathematical Operations:Amplitude Functions',
               'Mathematical Operations:Random Functions',
               'Mathematical Operations:Opcode Equivalents of Functions',
+              'Mathematical Operations:Vectors',
               'Pitch Converters:Functions',
               'Pitch Converters:Tuning Opcodes',
               'Real-time MIDI:Input',
@@ -76,13 +82,14 @@ categories = ['Orchestra Syntax:Header',
               'Real-time MIDI:MIDI/Score Interoperability',
               'Real-time MIDI:System Realtime',
               'Real-time MIDI:Slider Banks',
-              'Signal Flow Graph',
+              'Signal Flow Graph Opcodes',
               'Spectral Processing:STFT',
               'Spectral Processing:LPC',
               'Spectral Processing:Non-Standard',
               'Spectral Processing:Streaming',
               'Spectral Processing:ATS',
               'Spectral Processing:Loris',
+              'Spectral Processing:Other',
               'Strings:Definition',
               'Strings:Manipulation',
               'Strings:Conversion',
@@ -98,11 +105,13 @@ categories = ['Orchestra Syntax:Header',
               'Plugin Hosting:DSSI and LADSPA',
               'Plugin Hosting:VST',
               'OSC',
+              'Faust Opcodes',
               'Network',
               'Remote Opcodes',
               'Mixer Opcodes',
               'Python Opcodes',
               'Image Processing Opcodes',
+              'Array Opcodes',
               'Miscellaneous',
               'Testing',
               'Utilities']
diff --git a/command/flags.xml b/command/flags.xml
index cf531bd..5936b44 100644
--- a/command/flags.xml
+++ b/command/flags.xml
@@ -29,7 +29,7 @@
     <refsect1>
       <title>Csound command line flags</title>
       <para>
-        Listed below are the command line flags available in Csound5 in alphabetical order. Various platform
+        Listed below are the command line flags available in Csound6 in alphabetical order. Various platform
         implementations may not react the same way to different flags! You can view the command line flags organized by category in <link linkend="CommandFlagsCategory"><citetitle>Command-line Flags (by Category)</citetitle></link>.
       </para>
       <para>
@@ -68,8 +68,9 @@
             <para>
               Set the audio file output format to one of the formats
               available in libsndfile.  At present the list is
-              aiff, au, avr, caf, flac, htk, ircam, mat4, mat5, nis, paf, pvf,
-              raw, sd2, sds, svx, voc, w64, wav, wavex and xi.
+              aiff, au, avr, caf, flac, htk, ircam, mat4, mat5, MPC,
+              nist, ogg, paf, pvf, raw, sd2, sds, svx, voc, w64, W64,
+              wav, wavex, WVE, xi.
               Can also be used as --format=type:format or --format=format:type
               to set both the file type (wav, aiff, etc.) and sample format
               (short, long, float, etc.) at the same time.
@@ -160,6 +161,16 @@
           </listitem>
         </varlistentry>
 
+        <varlistentry id="FlagsDaemon">
+          <term>-d<indexterm id="IndexDaemon"><primary>--daemon</primary></indexterm></term>
+          <listitem>
+            <para>
+              Run in daemon mode: do not exit if CSD/orchestra is not given, is empty or does not compile.
+            </para>
+          </listitem>
+        </varlistentry>
+
+        
         <varlistentry id="FlagsMinusDisplays">
           <term>--displays<indexterm id="IndexMinusDisplays"><primary>--displays</primary></indexterm></term>
           <listitem>
@@ -823,38 +834,78 @@
           </listitem>
         </varlistentry>
 
-      <varlistentry id="FlagsMinusOpcodeLib">
-	<term>--opcode-lib=LIBNAME<indexterm id="IndexMinusOpcodeLib"><primary>--opcode-lib</primary></indexterm></term>
-	<listitem>
-	  <para>
-	    Load plugin library <emphasis>LIBNAME</emphasis>.
-	  </para>
-	</listitem>
-      </varlistentry>
-
-        <varlistentry id="FlagsMinusOmacro">
-          <term>--omacro:XXX=YYY<indexterm id="IndexMinusOmacro"><primary>--omacro</primary></indexterm></term>
+        <varlistentry id="FlagsMinusMinusOgg">
+          <term>--ogg<indexterm id="IndexMinusMinusOgg"><primary>--ogg</primary></indexterm></term>
           <listitem>
             <para>
-              Set orchestra macro XXX to value YYY
+              Set output file format to ogg.  (csound 5.18 and later)
             </para>
           </listitem>
         </varlistentry>
 
-        <varlistentry id="FlagsMinusPlusOutputStream">
-          <term>-+output_stream=string<indexterm id="IndexMinusPlusOutputStream"><primary>-+output_stream</primary></indexterm></term>
+        <varlistentry id="FlagsMinusOmacro">
+          <term>--omacro:XXX=YYY<indexterm id="IndexMinusOmacro"><primary>--omacro</primary></indexterm></term>
           <listitem>
             <para>
-              Pulseaudio output stream name.
+              Set orchestra macro XXX to value YYY
             </para>
           </listitem>
         </varlistentry>
 
-        <varlistentry id="FlagsMinusUpperQ">
-          <term>-Q DEVICE<indexterm id="IndexMinusUpperQ"><primary>-Q</primary></indexterm></term>
-          <listitem>
-            <para>
-              Enables MIDI OUT operations to device id <emphasis>DEVICE</emphasis>. This flag allows parallel MIDI OUT and DAC performance. Unfortunately the real-time timing implemented in Csound is completely managed by DAC buffer sample flow. So MIDI OUT operations can present some time irregularities. These irregularities can be reduced by using a lower value for the <link linkend="FlagsMinusLowerB"><citetitle>-b</citetitle></link> flag.
+      <varlistentry id="FlagsMinusOpcodeLib">
+	<term>--opcode-lib=LIBNAME<indexterm id="IndexMinusOpcodeLib"><primary>--opcode-lib</primary></indexterm></term>
+	<listitem>
+	  <para>
+	    Load plugin library <emphasis>LIBNAME</emphasis>.
+	  </para>
+	</listitem>
+      </varlistentry>
+
+      <varlistentry id="FlagMinuMinusOrc">
+	<term>--orc orcname<indexterm id="IndexMinusMinusOrc"><primary>--orc</primary></indexterm></term>
+	<listitem>
+	  <para>
+	    Set the argument as the orchestrra file.  Used when not
+            score is required>.  (Csound 5.18 and later).
+	  </para>
+	</listitem>
+      </varlistentry>
+      
+      <varlistentry id="FlagsMinusPlusOutputStream">
+        <term>-+output_stream=string<indexterm id="IndexMinusPlusOutputStream"><primary>-+output_stream</primary></indexterm></term>
+        <listitem>
+          <para>
+            Pulseaudio output stream name.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="FlagsMinusPort">
+        <term>--port=N<indexterm
+        id="IndexMinusPprt"><primary>--port</primary></indexterm></term> 
+        <listitem>
+          <para>
+            Set UDP port on which to listen instruments/orchestra code
+            (implies --daemon) 
+          </para>
+        </listitem>
+      </varlistentry>
+
+
+      <varlistentry id="FlagsMinusUpperQ">
+        <term>-Q DEVICE<indexterm
+        id="IndexMinusUpperQ"><primary>-Q</primary></indexterm></term> 
+        <listitem>
+          <para>
+            Enables MIDI OUT operations to device id
+            <emphasis>DEVICE</emphasis>. This flag allows parallel
+            MIDI OUT and DAC performance. Unfortunately the real-time
+            timing implemented in Csound is completely managed by DAC
+            buffer sample flow. So MIDI OUT operations can present
+            some time irregularities. These irregularities can be
+            reduced by using a lower value for the <link
+            linkend="FlagsMinusLowerB"><citetitle>-b</citetitle></link>
+            flag. 
             </para>
             <para>
               If using ALSA MIDI (-+rtmidi=alsa), devices are selected by name and not number. So, you need to use an option like -Q hw:CARD,DEVICE where CARD and DEVICE are the card and device numbers (e.g. -Q hw:1,0). In the case of PortMidi and MME, DEVICE should be a number, and if it is out of range, an error occurs and the valid device numbers are printed.
@@ -925,6 +976,18 @@
           </listitem>
         </varlistentry>
 
+        <varlistentry id="FlagsSampleAccurate">
+          <term>--sample-accurate<indexterm id="IndexSampleAccurate"><primary>--sample-accurate</primary></indexterm></term>
+          <listitem>
+            <para>
+              Start and stop instances of instruments at the nearest
+              sample to the requested time.  This is in contrast to
+              traditional Csound which rounds the times to the nearest
+              k-cycle.  Note that this does not work with tied notes.
+            </para>
+          </listitem>
+        </varlistentry>
+
         <varlistentry id="FlagsMinusSched">
           <term>--sched<indexterm id="IndexMinusSched"><primary>--sched</primary></indexterm></term>
           <listitem>
diff --git a/command/flagscategory.xml b/command/flagscategory.xml
index 7ec0eb5..913dd04 100644
--- a/command/flagscategory.xml
+++ b/command/flagscategory.xml
@@ -173,6 +173,15 @@
       </listitem>
     </varlistentry>
 
+        <varlistentry id="FlagsCatMinusMinusOgg">
+          <term>--ogg<indexterm id="IndexCatMinusMinusOgg"><primary>--ogg</primary></indexterm></term>
+          <listitem>
+            <para>
+              Set output file format to ogg.  (Csound 5.18 and later).
+            </para>
+          </listitem>
+        </varlistentry>
+
     <varlistentry id="FlagsCatMinusUpperR">
       <term>-R<indexterm id="IndexCatMinusUpperR"><primary>-R</primary></indexterm>, --rewrite<indexterm id="IndexCatMinusRewrite"><primary>--rewrite</primary></indexterm></term>
       <listitem>
@@ -798,8 +807,20 @@ csound5:output2             (playback right)</screen>
       </listitem>
     </varlistentry>
 
-    <varlistentry id="FlagsCatMinusLowerK">
-      <term>-k NUM<indexterm id="IndexCatMinusLowerK"><primary>-k</primary></indexterm>, --control-rate=NUM<indexterm id="IndexCatMinusControlrate"><primary>--control-rate</primary></indexterm></term>
+        <varlistentry id="FlagsDaemon">
+          <term>-d<indexterm id="IndexDaemon"><primary>--daemon</primary></indexterm></term>
+          <listitem>
+            <para>
+              Run in daemon mode: do not exit if CSD/orchestra is not given, is empty or does not compile.
+            </para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry id="FlagsCatMinusLowerK">
+          <term>-k NUM<indexterm
+          id="IndexCatMinusLowerK"><primary>-k</primary></indexterm>,
+          --control-rate=NUM<indexterm
+          id="IndexCatMinusControlrate"><primary>--control-rate</primary></indexterm></term>
       <listitem>
         <para>
           Override the control rate (<link linkend="kr"><citetitle>KR</citetitle></link>) supplied by the orchestra.
@@ -821,7 +842,6 @@ csound5:output2             (playback right)</screen>
       </listitem>
     </varlistentry>
 
-
     <varlistentry id="FlagsCatMinusOmacro">
       <term>--omacro:XXX=YYY<indexterm id="IndexCatMinusOmacro"><primary>--omacro</primary></indexterm></term>
       <listitem>
@@ -831,6 +851,15 @@ csound5:output2             (playback right)</screen>
       </listitem>
     </varlistentry>
 
+      <varlistentry id="FlagsMinusPort">
+        <term>--port=N<indexterm id="IndexMinusPprt"><primary>--port</primary></indexterm></term>
+        <listitem>
+          <para>
+            Set UDP port on which to listen instruments/orchestra code
+            (implies --daemon)
+          </para>
+        </listitem>
+      </varlistentry>
 
     <varlistentry id="FlagsCatMinusLowerR">
       <term>-r NUM<indexterm id="IndexCatMinusLowerR"><primary>-r</primary></indexterm>, --sample-rate=NUM<indexterm id="IndexCatMinusSamplerate"><primary>--sample-rate</primary></indexterm></term>
@@ -841,11 +870,23 @@ csound5:output2             (playback right)</screen>
       </listitem>
     </varlistentry>
 
-    <varlistentry id="FlagsCatMinusSched">
+    <varlistentry id="FlagsCatSampleAccurate">
+      <term>--sample-accurate<indexterm id="IndexCatSampleAccurate"><primary>--sample-accurate</primary></indexterm></term>
+      <listitem>
+        <para>
+          Start and stop instances of instruments at the nearest
+          sample to the requested time.  This is in contrast to
+          traditional Csound which rounds the times to the nearest
+          k-cycle.  Note that this does not work with tied notes.
+        </para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry id="FlagsMinusSched">
       <term>--sched<indexterm id="IndexCatMinusSched"><primary>--sched</primary></indexterm></term>
       <listitem>
         <para>
-          <emphasis>Linux only.</emphasis> Use real-time scheduling and lock memory. (Also requires <link linkend="FlagsMinusLowerD"><citetitle>-d</citetitle></link> and either <link linkend="FlagsMinusLowerO"><citetitle>-o dac</citetitle></link> or <link linkend="FlagsMinusLowerO"><citetitle>-o devaudio</citetitle></link>).
+          <emphasis>Linux only.</emphasis> Use real-time scheduling and lock memory. (Also requires <link linkend="FlagsCatMinusLowerD"><citetitle>-d</citetitle></link> and either <link linkend="FlagsCatMinusLowerO"><citetitle>-o dac</citetitle></link> or <link linkend="FlagsCatMinusLowerO"><citetitle>-o devaudio</citetitle></link>).
           See also --sched=N below.
         </para>
       </listitem>
@@ -1138,6 +1179,16 @@ csound5:output2             (playback right)</screen>
       </listitem>
     </varlistentry>
 
+      <varlistentry id="FlagCatMinuMinusOrc">
+	<term>--orc orcname<indexterm id="IndexCatMinusMinusOrc"><primary>--orc</primary></indexterm></term>
+	<listitem>
+	  <para>
+	    Set the argument as the orchestra file.  Used when not
+            score is required>.  (Csound 5.18 and later).
+	  </para>
+	</listitem>
+      </varlistentry>
+      
       <varlistentry id="FlagsCatMinusSyntaxCheckOnly">
         <term>--syntax-check-only<indexterm id="IndexCatMinusSyntaxCheckOnly"><primary>--syntax-check-only</primary></indexterm></term>
         <listitem>
diff --git a/compare_opcode_lists.py b/compare_opcode_lists.py
deleted file mode 100644
index 2e9d644..0000000
--- a/compare_opcode_lists.py
+++ /dev/null
@@ -1,75 +0,0 @@
-# By Andres Cabrera - mantaraya36 at gmail.com
-# Under GPL licence
-
-# This script compares the two opcode lists to generate
-# a new list with the differences called "removed_opcodesXO.txt"
-# This list is used in quickref.py to exclude removed opcodes
-import sys
-
-outputname = ""
-
-if len(sys.argv) == 1:
-  input1name = "opcode_list.txt"
-  input2name = "opcode_listXO.txt"
-  outputname = "removed_opcodesXO.txt"
-else:
-  input1name = sys.argv[1]
-  input2name = sys.argv[2]
-
-
-infile1 = open(input1name,"r")
-infile2 = open(input2name,"r")
-
-opcodelist = []
-opcodelistXO = []
-excludedopcodes = []
-missingopcodes = []
-
-opcodelist = infile1.read().split()
-opcodelistXO = infile2.read().split()
-
-print "File", input1name, "has", len(opcodelist),"opcodes"
-print "File", input2name, "has", len(opcodelistXO),"opcodes"
-
-for opcode in opcodelist:
-  if opcodelistXO.count(opcode) == 0:
-    excludedopcodes.append(opcode)
-
-for opcode in opcodelistXO:
-  if opcodelist.count(opcode) == 0:
-    missingopcodes.append(opcode)
-
-infile1.close()
-infile2.close()
-
-print len(excludedopcodes), "excluded opcodes"
-
-outtext = ""
-
-for opcodenum in range(len(excludedopcodes)):
-  outtext += excludedopcodes[opcodenum]
-  if opcodenum%4  == 3:
-    outtext += "\n"
-  else:
-    outtext += " "
-
-
-if outputname != "":
-  outfile = open(outputname,"w")
-  outfile.write(outtext)
-  outfile.close()
-
-
-print outtext
-print len(missingopcodes), "missing opcodes"
-
-outtext = ""
-
-for opcodenum in range(len(missingopcodes)):
-  outtext += missingopcodes[opcodenum]
-  if opcodenum%4  == 3:
-    outtext += "\n"
-  else:
-    outtext += " "
-
-print outtext
\ No newline at end of file
diff --git a/control/pgmctl.xml b/control/pgmctl.xml
index 83422c8..47553a8 100644
--- a/control/pgmctl.xml
+++ b/control/pgmctl.xml
@@ -28,6 +28,7 @@
     <listitem><para><link linkend="loop_gt"><citetitle>loop_gt</citetitle></link></para></listitem>
     <listitem><para><link linkend="loop_le"><citetitle>loop_le</citetitle></link></para></listitem>
     <listitem><para><link linkend="loop_lt"><citetitle>loop_lt</citetitle></link></para></listitem>
+<listitem><para><link linkend="until"><citetitle>until</citetitle></link></para></listitem>
   </itemizedlist>
   <warning>
     <simpara>Some of these opcodes work at i-rate even if they contain k- or a- rate comparisons. See the <link linkend="ControlReinitn"><citetitle>Reinitialization</citetitle></link> section.</simpara>
diff --git a/control/reinitn.xml b/control/reinitn.xml
index 77c5099..1fe3a76 100644
--- a/control/reinitn.xml
+++ b/control/reinitn.xml
@@ -27,5 +27,13 @@
   </para>
   <para>The opcode <link linkend="p"><citetitle>p</citetitle></link> can be used to find score p-fields at i- or k-rate.</para>
   <para><link linkend="nstrnum"><citetitle>nstrnum</citetitle></link> returns the instrument number for a named instrument.</para>
-
+  <para><note>Note that a instrument may modify the p3 (duration) parameter
+  at initialisation time.  For example statements like
+<screen>
+iattack = 0.02
+irelease = 0.04
+isustain = p3
+p3 = iattack + isustain + irelease
+</screen>
+are valid.</note></para>
 </section>
diff --git a/credits.txt b/credits.txt
deleted file mode 100644
index f0064f9..0000000
--- a/credits.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-In addition to the core code developed by Barry Vercoe at M.I.T., a large part 
-of the Csound code was modified, developed and extended by an independent 
-group of programmers, composers and scientists.  Copyright to this code is 
-held by the respective authors:
-
-Mike Berry
-Eli Breder
-Andres Cabrera
-Michael Casey
-Michael Clark
-Perry Cook
-Sean Costello
-Richard Dobson
-Mark Dolson
-Rasmus Ekman
-Dan Ellis
-Tom Erbe
-John ffitch
-Bill Gardner
-Michael Gogins
-Matt Ingalls
-Richard Karpen
-Anthony Kozar
-Victor Lazzarini
-Allan Lee
-David Macintyre
-Gabriel Maldonado
-Max Mathews
-Hans Mikelson
-Peter Neubacker
-Peter Nix
-Jean Piche
-Ville Pulkki
-Maurizio Umberto Puxeddu
-John Ramsdell
-Marc Resibois
-Rob Shaw
-Paris Smaragdis
-Greg Sullivan
-Istvan Varga
-Bill Verplank
-Robin Whittle
-Steven Yi
-
-The previous version of this manual was compiled from the canonical Csound 
-Manual sources maintained by John ffitch, Richard Boulanger, Jean Piche, and 
-David Boothe. The Alternative Csound Reference Manual is maintained by 
-Kevin Conder.
diff --git a/csbeats/example.xml b/csbeats/example.xml
new file mode 100644
index 0000000..3e66b5a
--- /dev/null
+++ b/csbeats/example.xml
@@ -0,0 +1,128 @@
+<refsect1>
+    <para>
+      The opening of Bach's Goldberg variation number 3 can be coded
+      as:
+      <programlisting>
+; Bach - Goldberg Variations - Variato 3
+; by Brian Baughn 3-14-05
+; bbaughn at berklee.net
+beats = 120
+permeasure = 6
+
+i101    m1 b1 B4 mp qd+s
+i101          C5    s
+i101          D5
+i101          C5
+i101          D5
+i101          E5
+i101          A4    qd+s
+i101          B4    s
+i101          C5
+i101          B4
+i101          C5
+i101          D5
+
+i101    m2 b1 G4    qd
+i101          G5    qd+e
+i101          A5    s
+i101          G5
+i101          F#5
+i101          G5
+i101          A5    e
+
+i101  m3 b1.5 D5    s
+i101          C5
+i101          B4
+i101          A4
+i101          B4    e
+i101          C5    s
+i101          B4
+i101          A4
+i101          B4
+i101          G4    e
+i101          E5
+i101          D5
+i101          C5
+i101          F#5
+i101          A5
+
+i101  m4 b1   B4    q
+i101          G5    e
+i101          G5    q
+i101          F#5   e
+i101          Z     e   // Z is a rest (zzzzz..)
+i101                e
+i101          B5    e
+i101          A5    q
+i101          D5    e
+
+quit
+
+      </programlisting>
+      This produces output
+      <programlisting>
+<emphasis role="comment">;;;setting bpm=120.000000</emphasis>
+<emphasis role="comment">;;;setting permeasure=6</emphasis>
+<emphasis role="stamnt">i</emphasis>101 0.000000 0.875000 493.883621 -4
+<emphasis role="stamnt">i</emphasis>101 0.875000 0.125000 523.251131 -4
+<emphasis role="stamnt">i</emphasis>101 1.000000 0.125000 587.329536 -4
+<emphasis role="stamnt">i</emphasis>101 1.125000 0.125000 523.251131 -4
+<emphasis role="stamnt">i</emphasis>101 1.250000 0.125000 587.329536 -4
+<emphasis role="stamnt">i</emphasis>101 1.375000 0.125000 659.255114 -4
+<emphasis role="stamnt">i</emphasis>101 1.500000 0.875000 440.000000 -4
+<emphasis role="stamnt">i</emphasis>101 2.375000 0.125000 493.883621 -4
+<emphasis role="stamnt">i</emphasis>101 2.500000 0.125000 523.251131 -4
+<emphasis role="stamnt">i</emphasis>101 2.625000 0.125000 493.883621 -4
+<emphasis role="stamnt">i</emphasis>101 2.750000 0.125000 523.251131 -4
+<emphasis role="stamnt">i</emphasis>101 2.875000 0.125000 587.329536 -4
+<emphasis role="stamnt">i</emphasis>101 3.000000 0.750000 391.995436 -4
+<emphasis role="stamnt">i</emphasis>101 3.750000 1.000000 783.990872 -4
+<emphasis role="stamnt">i</emphasis>101 4.750000 0.125000 880.000000 -4
+<emphasis role="stamnt">i</emphasis>101 4.875000 0.125000 783.990872 -4
+<emphasis role="stamnt">i</emphasis>101 5.000000 0.125000 739.988845 -4
+<emphasis role="stamnt">i</emphasis>101 5.125000 0.125000 783.990872 -4
+<emphasis role="stamnt">i</emphasis>101 5.250000 0.250000 880.000000 -4
+<emphasis role="stamnt">i</emphasis>101 6.250000 0.125000 587.329536 -4
+<emphasis role="stamnt">i</emphasis>101 6.375000 0.125000 523.251131 -4
+<emphasis role="stamnt">i</emphasis>101 6.500000 0.125000 493.883621 -4
+<emphasis role="stamnt">i</emphasis>101 6.625000 0.125000 440.000000 -4
+<emphasis role="stamnt">i</emphasis>101 6.750000 0.250000 493.883621 -4
+<emphasis role="stamnt">i</emphasis>101 7.000000 0.125000 523.251131 -4
+<emphasis role="stamnt">i</emphasis>101 7.125000 0.125000 493.883621 -4
+<emphasis role="stamnt">i</emphasis>101 7.250000 0.125000 440.000000 -4
+<emphasis role="stamnt">i</emphasis>101 7.375000 0.125000 493.883621 -4
+<emphasis role="stamnt">i</emphasis>101 7.500000 0.250000 391.995436 -4
+<emphasis role="stamnt">i</emphasis>101 7.750000 0.250000 659.255114 -4
+<emphasis role="stamnt">i</emphasis>101 8.000000 0.250000 587.329536 -4
+<emphasis role="stamnt">i</emphasis>101 8.250000 0.250000 523.251131 -4
+<emphasis role="stamnt">i</emphasis>101 8.500000 0.250000 739.988845 -4
+<emphasis role="stamnt">i</emphasis>101 8.750000 0.250000 880.000000 -4
+<emphasis role="stamnt">i</emphasis>101 9.000000 0.500000 493.883621 -4
+<emphasis role="stamnt">i</emphasis>101 9.500000 0.250000 783.990872 -4
+<emphasis role="stamnt">i</emphasis>101 9.750000 0.500000 783.990872 -4
+<emphasis role="stamnt">i</emphasis>101 10.250000 0.250000 739.988845 -4
+<emphasis role="comment">;;rest at 10.500000 for 0.250000</emphasis>
+<emphasis role="comment">;;rest at 10.750000 for 0.250000</emphasis>
+<emphasis role="stamnt">i</emphasis>101 11.000000 0.250000 987.767243 -4
+<emphasis role="stamnt">i</emphasis>101 11.250000 0.500000 880.000000 -4
+<emphasis role="stamnt">i</emphasis>101 11.750000 0.250000 587.329536 -4
+<emphasis role="stamnt">e</emphasis>
+      </programlisting>
+    </para>
+</refsect1>
+
+  <refsect1>
+    <title>A Complete Example</title>
+    <para>
+      Here is a simple example of the <emphasis>csbeats</emphasis>
+      score generator. It uses the file <ulink url="examples/csbeats.csd"><citetitle>csbeats.csd</citetitle></ulink>.
+      <example>
+        <title>A simple example of csbeats.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/csbeats.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+
+  </refsect1>
+
+
diff --git a/csbeats/syntax.xml b/csbeats/syntax.xml
new file mode 100644
index 0000000..61593a8
--- /dev/null
+++ b/csbeats/syntax.xml
@@ -0,0 +1,122 @@
+<refsect1>
+  <para>
+    The <emphasis>csbeats</emphasis> language is very simple, having
+    only 5  kinds of statement, and only one of them has any
+    complexity.  In general the introductory word for each statement
+    type is case insensitive, so "QUIT", "quit", "QuIt"... are all
+    the same.  Comments can be introduced in either ANSI C89 format
+    or C++ (that is either /* ... */ or // to the end of line) or
+      Csound's semicolon.
+  </para>
+  <itemizedlist>
+    <listitem><emphasis>QUIT</emphasis>
+    <para>
+      Causes csbeats to exit.  For
+      flexibility the command <emphasis>END</emphasis> is also
+      accepted for the identical action.
+    </para>
+    </listitem>
+    <listitem><emphasis>BEATS</emphasis>=integer
+    <para>
+      Sets the number of beats
+      per minute for the following score until the end or until it is
+      reset.  The default value is 60bpm.  The token
+      <emphasis>BPS</emphasis> is also acceptable instead of BEATS.  
+    </para>
+    </listitem>
+    <listitem><emphasis>PERMEASURE</emphasis>=integer
+    <para>
+      Sets the number of
+        beats in a bar.  The default value is 4.
+    </para>
+    </listitem>
+    <listitem><emphasis>BAR</emphasis>
+    <para>
+      Start a new bar.
+    </para>
+    </listitem>
+    <listitem><emphasis>BAR</emphasis> integer
+    <para>
+      Start the bar whose number is
+      given.
+    </para>
+    </listitem>
+    <listitem>
+      <emphasis>i</emphasis> integer attributes
+      <para>
+        Specified a note event for the numbered instrument.  The
+        attributes may be any of a pitch, duration or dynamic, or a
+        positioning of the note to a beat or measure, and can be in
+        any order.
+      </para>
+      <para>
+        Pitches are specified with a conventional note name (English
+        form) in upper case optionally followed by a #, x (for
+        double sharp), b (for flat) or bb (for double flat). 
+        A note of Z is a rest (think zzzz).  All notes except rests
+        must be followed by an octave number, with A4 being
+        international A (440Hz).  Pitches are passed to Csound in
+        Hertz in the parameter p4, and are twelve tone equal temprament.
+      </para>
+      <para>
+        Durations are coded in lower case with the initial letter of
+        the name for <emphasis>w</emphasis>hole,
+        <emphasis>h</emphasis>alf, <emphasis>q</emphasis>uarter,
+        <emphasis>e</emphasis>igth and <emphasis>s</emphasis>ixteeth
+        notes, or <emphasis>th</emphasis> for thirtysecondth notes.
+        Except for <emphasis>w</emphasis> these can be moderated by
+        appending as suffix:
+        <itemizedlist>
+          <listitem>
+            <emphasis>d</emphasis> or <emphasis>.</emphasis> Dotted
+            note (half as long again) 
+          </listitem>
+          <listitem>
+            <emphasis>dd</emphasis> or <emphasis>..</emphasis> Dotted
+            note (three quarters as long again) 
+          </listitem>
+          <listitem>
+            <emphasis>t</emphasis> Triplet note (third notes in
+            two)
+          </listitem>
+          <listitem>
+            <emphasis>t.</emphasis> Dotted triplet note
+          </listitem>
+          <listitem>
+            <emphasis>q</emphasis> Quintuplet (Five notes in four)
+          </listitem>
+          <listitem>
+            <emphasis>s</emphasis> Septuplet (Seven notes in eight)
+          </listitem>
+        </itemizedlist>
+        Durations can be added together by giving more that one
+        duration.  To make this more intuitive a + sign can be used
+        instead of white space.
+      </para>
+      <para>
+        The dynamics are written in conventional notation, that is fff,
+        ff, f, mf, mp, p, pp, ppp, pppp.  These are passed to the instrument
+        as p5 as 0 for fff, and one less dB for each step below.  The
+        default dynamic is fortissimo.
+      </para>
+      <para>
+        Additional parameters (p-fields) can be specified in an
+        instrument statement by giving statements like
+        <emphasis>p6=42</emphasis> which would set the p6 field to 42
+        until it is changed.  The number must be 6 or greater as the
+        first 5 fields are taken with fixed information.  Each
+        instrument number has its own additional parameters.
+      </para>
+      <para>
+        If any of these attributes is missing it carried forward from the
+        previous note, with beat position being incremented to the end
+        of the previous note.
+      </para>
+      <para>
+        In addition an event can be directed to a particular measure with
+        an m attribute or a particular beat with a b.
+        </para>
+    </listitem>
+  </itemizedlist>
+</refsect1>
+
diff --git a/csbeats/top.xml b/csbeats/top.xml
new file mode 100644
index 0000000..fe6ac2c
--- /dev/null
+++ b/csbeats/top.xml
@@ -0,0 +1,22 @@
+<chapter id="CsBeats">
+  <title>Csbeats</title>
+
+  <para>
+    <indexterm id="IndexBeats"><primary>Csbeats</primary></indexterm>
+    <emphasis>Csbeats</emphasis> is an alternative score language that is aimed at 
+     specifying simple scores in standard western tunings and
+     rhythms.  <emphasis>Csbeats</emphasis> can be invoked via the
+     CsScore component of a standard .csd score with
+     <emphasis>bin="csbeats"</emphasis> or as stand-alone
+     program which generates a standard numeric score.
+  </para>
+
+  <para>
+    As a stand-alone the program reads standard input and writes to
+    standard output.
+  </para>
+
+ &csbeatssyntax;
+ &csbeatsexample;
+
+</chapter>
diff --git a/csd2docbook.py b/csd2docbook.py
index 7391f61..d2553c8 100644
--- a/csd2docbook.py
+++ b/csd2docbook.py
@@ -20,7 +20,7 @@
 # http://www.fsf.org/licensing/licenses/lgpl.html
 # 
 
-import csnd
+import csnd6
 import getopt, sys, os, glob, re
 from xml.dom import minidom
 
@@ -43,7 +43,7 @@ class OrchestraDict(dict):
         CsoundOpcodeList() in order to get the opcode list. So we use a dummy
         csd file for that purpose (tricky isn't it?)
         '''
-        csound = csnd.CppSound()
+        csound = csnd6.CppSound()
         dummy = '''<CsoundSynthesizer>
         <CsOptions>
         -dodac
@@ -62,7 +62,7 @@ class OrchestraDict(dict):
         f.write(dummy)
         f.close()
         csound.Compile("dummy.csd")
-        lo = csnd.CsoundOpcodeList(csound.GetCsound())
+        lo = csnd6.CsoundOpcodeList(csound.GetCsound())
         n = lo.Count()
         print n, "Opcodes registered"
         for i in xrange(n):
diff --git a/csd2docbook2.py b/csd2docbook2.py
index 994115a..9f84b81 100644
--- a/csd2docbook2.py
+++ b/csd2docbook2.py
@@ -249,15 +249,18 @@ class CsdTransform(object):
         s = s.replace('LeSsThAnCs', '<Cs')
         s = s.replace('LeSsThAn/Cs', '</Cs')
         csddoc = minidom.parseString(s)
-        options = csddoc.getElementsByTagName("CsOptions")[0]
+        options_elem = csddoc.getElementsByTagName("CsOptions")
+        if len(options_elem) > 0:
+            options = options_elem[0]
         orchestra = csddoc.getElementsByTagName("CsInstruments")[0]
         score = csddoc.getElementsByTagName("CsScore")[0]
         outLines = []
         outLines.append('<programlisting>')
         outLines.append(tag("CsoundSynthesizer"))
-        outLines.append(tag("CsOptions"))
-        outLines.extend(self.optTransform(self.text(options)))
-        outLines.append(tag("/CsOptions"))
+        if len(options_elem) > 0:
+            outLines.append(tag("CsOptions"))
+            outLines.extend(self.optTransform(self.text(options)))
+            outLines.append(tag("/CsOptions"))
         outLines.append(tag("CsInstruments"))
         outLines.extend(self.orc_t.transformLines(self.text(orchestra)))
         outLines.append(tag("/CsInstruments"))
diff --git a/csound-bw.css b/csound-bw.css
deleted file mode 100644
index b288e3e..0000000
--- a/csound-bw.css
+++ /dev/null
@@ -1,90 +0,0 @@
-/* csound-bw.css - for Csound5 html manual(black and white)  */
-/* (c) Francois Pinot, 2007                                  */
-/* Free software, licensed by GNU Free Documentation License */
-
-pre.programlisting {
-  background-color: #f0f0f0; padding: 10px 2em;
-}
-
-pre.screen {
-  background-color: #f0f0f0; padding: 10px 2em;
-}
-
-div.literallayout {
-  font-family: monospace;
-}
-
-span.strong {
-  font-weight: 700;
-}
-
-div.table table, div.informaltable table {
-  border-collapse: collapse;
-}
-
-div.table thead {
-  border-bottom: solid;
-}
-
-div.table td, div.table th, div.informaltable table td {
-  padding: 2px 6px; 
-}
-
-div.appendix pre {
-  margin-bottom: 0; margin-top: 0;
-}
-
-div.appendix a {
-  color: blue; font-weight: bolder; text-decoration: none;
-}
-
-div.appendix p b {
-  font-size: 1.17em; font-weight: bolder;
-  display: block; margin-top: 40px; padding-top: 5px; border-top: 1px solid;
-}
-
-/* Syntax highlighting rules */
-pre.programlisting span.csdtag {
-  color: brown;
-}
-
-pre.programlisting span.comment {
-  color: green; font-style: italic;
-}
-
-pre.programlisting span.Ccomment {
-  color: peru; font-style: italic;
-}
-
-pre.programlisting span.ohdr {
-  color: darkred; font-weight: bold;
-}
-
-pre.programlisting span.oblock {
-  color: purple; font-weight: bold;
-}
-
-pre.programlisting span.opc {
-  color: blue; font-weight: bold;
-}
-
-pre.programlisting span.op {
-  font-weight: bolder;
-}
-
-pre.programlisting span.octrl {
-  color: green; font-weight: bold;
-}
-
-pre.programlisting span.olabel {
-  color: indianred; font-weight: bold;
-}
-
-pre.programlisting span.omacro {
-  color: mediumorchid; font-weight: bold;
-}
-
-pre.programlisting span.stamnt {
-  color: blue; font-weight: bold;
-}
-
diff --git a/csound5/cs5opcodes.xml b/csound5/cs5opcodes.xml
index 38aa55e..45f9252 100644
--- a/csound5/cs5opcodes.xml
+++ b/csound5/cs5opcodes.xml
@@ -5,6 +5,7 @@
   &vst4cs;
   &loris;
   &OSC;
+  &lua;
   &py;
   &mixer;
   &stringconvert;
diff --git a/csound5/extending.xml b/csound5/extending.xml
index 120ae6c..191b3c3 100644
--- a/csound5/extending.xml
+++ b/csound5/extending.xml
@@ -313,7 +313,6 @@ can have as many unit generators in one plugin as you like):</para>
 #define S sizeof
 
 static OENTRY localops[] = {
-{
         { "rampt",  S(RMP),  5, "a", "iiio",  (SUBR) rampset, (SUBR) NULL, (SUBR)ramp  },
 };
 
diff --git a/csound5/opcodes/lua.xml b/csound5/opcodes/lua.xml
new file mode 100644
index 0000000..1cdff6e
--- /dev/null
+++ b/csound5/opcodes/lua.xml
@@ -0,0 +1,114 @@
+<chapter id="lua">
+    <title>
+        Lua Opcodes
+    </title>
+    <para>
+        The purposes of the Lua opcodes are: 
+    </para>
+    <orderedlist>
+        <listitem><simpara>
+            Make it possible to write Csound code in a user-friendly, 
+            high-level language with full lexical scoping, structures and 
+            classes, and support for functional programming, using 
+            LuaJIT (the Lua programming language, implemented with a 
+            just-in-time compiler and foreign function interface).
+        </simpara></listitem>
+        <listitem><simpara>
+            Require the installation of no third party software packages, 
+            or at least a minimum installation; also, require no build 
+            system or external compilation.
+        </simpara></listitem>
+        <listitem><simpara>
+            Run <emphasis>really fast</emphasis>; typically, almost as 
+            fast as compiled C code,  and several times faster than 
+            user-defined opcodes.
+        </simpara></listitem>
+    </orderedlist>
+    <para>
+        Using the Lua opcode family, you can interact with the Lua 
+        interpreter and just-in-time compiler (luajit) embedded in Csound 
+        as follows:
+    </para>
+    <orderedlist>
+        <listitem>
+            <simpara>
+                Execute any arbitrary block of Lua code (the <link 
+                linkend="lua_exec"><citetitle>lua_exec</citetitle></link> opcode),
+            </simpara>
+        </listitem>
+        <listitem>
+            <simpara>
+                Define an opcode in Lua taking any number or type of  
+                parameters, and returning any number or type of parameters 
+                (the <link linkend="lua_opdef"><citetitle>lua_opdef</citetitle>
+                </link> opcode),
+            </simpara>
+        </listitem>
+        <listitem>
+            <simpara>
+                Call a Lua opcode at i-rate (the <link linkend="lua_opcall">
+                <citetitle>lua_iopcall</citetitle></link> opcode),
+            </simpara>
+        </listitem>
+        <listitem>
+            <simpara>
+                Call a Lua opcode at i-rate and k-rate (the <link linkend="lua_opcall">
+                <citetitle>lua_ikopcall</citetitle></link> opcods), or
+            </simpara>
+        </listitem>
+        <listitem>
+            <simpara>
+                Call a Lua opcode at i-rate and a-rate (the <link linkend="lua_opcall">
+                <citetitle>lua_iaopcall</citetitle></link> opcode).
+            </simpara></listitem>
+        </orderedlist>
+    <para>
+        Lua is Portuguese for "moon." And Lua 
+        (<ulink url="http://www.lua.org"><citetitle>http://www.lua.org</citetitle></ulink>) is a 
+        lightweight, efficient dynamic programming language, designed for 
+        embedding in C/C++ and extending with C/C++. Lua has a 
+        stack-based calling mechanism and provides a toolkit of features 
+        (tables, metatables, anonymous functions, and closures) with 
+        which many styles of object-oriented and functional programming 
+        may be implemented. Lua's syntax is only slightly harder than Python's. 
+    </para>
+    <para>
+        Lua is already one of the fastest dynamic languages; yet LuaJIT 
+        by Mike Pall (<ulink url="http://luajit.org"><citetitle>http://luajit.org</citetitle></ulink>) 
+        goes much further, 
+        giving Lua a just-in-time optimizing trace compiler for Intel 
+        architectures. LuaJIT includes an efficient foreign function 
+        interface (FFI) with the ability to define C arrays, structures, 
+        and other types in Lua. The speed of LuaJIT/FFI ranges from 
+        several times as fast as Lua, to faster (in some contexts) than 
+        optimized C.
+    </para>
+    <refsect1>
+        <!--To add examples, create the csd file in the examples directory, then run:-->
+        <!--python csd2docbook.py -f newopcodename.csd-->
+        <!--to generate the xml highlighted version used below-->
+        <title>
+            Example
+        </title>
+        <para>
+            Here is an example of a Lua opcode, implementing a Moog 
+            ladder filter. For purposes of comparison, a user-defined 
+            opcode and the native Csound opcode that compute the same 
+            sound using the same algorithm also are shown, and timed.. 
+            The example uses the file <ulink url="examples/luamoog.csd">
+            <citetitle>luamoog.csd</citetitle></ulink>.
+            <example>
+                <title>
+                    Example of a Lua opcode.
+                </title>
+                <xi:include href="examples-xml/luamoog.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+            </example>
+        </para>
+    </refsect1>
+    <bridgehead>
+        Credits
+    </bridgehead>
+    <para>
+        Copyright (c) 2011 by Michael Gogins. All rights reserved.
+    </para>
+</chapter>
diff --git a/csound5/opcodes/signalflowgraph.xml b/csound5/opcodes/signalflowgraph.xml
index a713bae..fdbaa48 100644
--- a/csound5/opcodes/signalflowgraph.xml
+++ b/csound5/opcodes/signalflowgraph.xml
@@ -1,98 +1,107 @@
-<chapter id="SignalFlowGraphOpcodes">
-  <title>Signal Flow Graph Opcodes</title>
-
-  <para>
-    These opcodes enable the use of signal flow graphs 
-    (AKA asynchronous data flow graphs) in Csound orchestras. 
-    Signals flow from the outlets of source instruments
-    and are summed in the inlets of sink instruments. 
-    Signals may be krate, arate, or frate.
-    Any number of outlets may be connected to any number of inlets. 
-    When a new instance of an instrument is instantiated during performance, 
-    the declared connections also are automatically instantiated.
-  </para>
-  
-  <para>  
-    Signal flow graphs simplify the construction of complex mixers, 
-    signal processing chains, and the like. They also simplify the re-use 
-    of "plug and play" instrument definitions and even entire sub-orchestras, 
-    which can simply be #included and then "plugged in" to existing orchestras.
-  </para>
-  
-  <para>
-    Note that inlets and outlets are defined in instruments without reference 
-    to how they are connected. Connections are defined in the orchestra header. 
-    It is this separation that enables plug-in instruments.
-  </para>
-  
-  <para>
-    Inlets must be named. Instruments may be named or numbered, but in 
-    either case each source instrument must be defined 
-    in the orchestra before any of its sinks. Naming instruments makes 
-    it easier to connect outlets and inlets in any higher-level orchestra 
-    to inlets and outlets in any lower-level #included orchestra. 
-  </para>
-
-  <para>
-    The signal flow graph opcodes include: 
-    
-    <link linkend="outleta"><citetitle>outleta</citetitle></link>, for
-    sending an arate signal from any instrument out a named port.
-    
-    <link linkend="outletk"><citetitle>outletk</citetitle></link>, for
-    sending a krate signal from any instrument out a named port.
-    
-    <link linkend="outletf"><citetitle>outletf</citetitle></link>, for
-    sending an frate signal from any instrument out a named port.
-    
-    <link linkend="inleta"><citetitle>inleta</citetitle></link>, for
-    receiving an arate signal through a named port.
-    
-    <link linkend="inletk"><citetitle>inletk</citetitle></link>, for
-    receiving a krate signal through a named port.
-    
-    <link linkend="inletf"><citetitle>inletf</citetitle></link>, for
-    receiving an frate signal through a named port.
-    
-    <link linkend="connect"><citetitle>connect</citetitle></link>, for
-    routing the signal from a named outlet in a source instrument 
-    to a named inlet in a sink instrument.
-    
-    <link linkend="alwayson"><citetitle>alwayson</citetitle></link> for
-    permanently activating an instrument from the orchestra header,
-    without need of a score statement, e.g. for use as an effect processor
-    receiving inputs from a number of sources.
-
-    <link linkend="ftgenonce"><citetitle>ftgenonce</citetitle></link> for
-    instantiating function tables from within instrument definitions, without
-    need for f-statements in the score or ftgen opcodes in the orchestra header.
-  </para>
-  
-  <para>
-    A typical scenario for the use of these opcodes would be something like this.
-    A set of instruments would be defined, each in its own orchestra file, and 
-    each instrument would define inlet ports, outlet ports, and function tables within itself. Such 
-    instruments are completely self-contained. Then, a set of effects processors, such 
-    as equalizers, reverbs, compressors, and so on, would also be defined, each in its 
-    own file. Then, a customized master orchestra would #include the instruments 
-    and effects to be used, route the outputs of some instruments into one equalizer
-    and the outputs of other effects into another equalizer, then route the outputs of
-    both equalizers into a reverb, the output of the reverb into a compressor, and 
-    the output of the compressor into a stereo output soundfile.
-  </para>
-
-  <refsect1>
-    <!--To add examples, create the csd file in the examples directory, then run:-->
-    <!--python csd2docbook.py -f newopcodename.csd-->
-    <!--to generate the xml highlighted version used below-->
-    <title>Example</title>
-    <para>
-      Here is an example of the signal flow graph opcodes. It uses the file <ulink url="examples/signalflowgraph.csd"><citetitle>signalflowgraph.csd</citetitle></ulink>.
-      <example>
-        <title>Example of the signal flow graph opcodes.</title>
+<chapter id="SignalFlowGraphOpcodes">
+  
+  <title>
+    Signal Flow Graph Opcodes
+</title>
+
+  <para>
+    These opcodes enable the use of signal flow graphs 
+    (AKA asynchronous data flow graphs) in Csound orchestras. 
+    Signals flow from the outlets of source instruments
+    and are summed in the inlets of sink instruments. 
+    Signals may be krate, arate, or frate.
+    Any number of outlets may be connected to any number of inlets. 
+    When a new instance of an instrument is instantiated during performance, 
+    the declared connections also are automatically instantiated.
+  </para>
+  
+  <para>  
+    Signal flow graphs simplify the construction of complex mixers, 
+    signal processing chains, and the like. They also simplify the re-use 
+    of "plug and play" instrument definitions and even entire sub-orchestras, 
+    which can simply be #included and then "plugged in" to existing orchestras.
+  </para>
+  
+  <para>
+    Note that inlets and outlets are defined in instruments without reference 
+    to how they are connected. Connections are defined in the orchestra header. 
+    It is this separation that enables plug-in instruments.
+  </para>
+  
+  <para>
+    Inlets must be named. Instruments may be named or numbered, but in 
+    either case each source instrument must be defined 
+    in the orchestra before any of its sinks. Naming instruments makes 
+    it easier to connect outlets and inlets in any higher-level orchestra 
+    to inlets and outlets in any lower-level #included orchestra. 
+  </para>
+
+  <para>
+    The signal flow graph opcodes include: 
+    
+    <link linkend="outleta"><citetitle>outleta</citetitle></link>, for
+    sending an arate signal from any instrument out a named port.
+    
+    <link linkend="outletk"><citetitle>outletk</citetitle></link>, for
+    sending a krate signal from any instrument out a named port.
+    
+    <link linkend="outletkid"><citetitle>outletkid</citetitle></link>, 
+    similar to outletk, but receiving a krate signal only from an identified instance of a port.
+    
+    <link linkend="outletf"><citetitle>outletf</citetitle></link>, for
+    sending an frate signal from any instrument out a named port.
+    
+    <link linkend="inleta"><citetitle>inleta</citetitle></link>, for
+    receiving an arate signal through a named port.
+    
+    <link linkend="inletk"><citetitle>inletk</citetitle></link>, for
+    receiving a krate signal through a named port.
+    
+    <link linkend="inletkid"><citetitle>inletkid</citetitle></link>, 
+    similiar to inletk, but transmitting a signal only between inlet and outlet opcodes 
+    .
+    <link linkend="inletf"><citetitle>inletf</citetitle></link>, for
+    receiving an frate signal through a named port.
+    
+    <link linkend="connect"><citetitle>connect</citetitle></link>, for
+    routing the signal from a named outlet in a source instrument 
+    to a named inlet in a sink instrument.
+    
+    <link linkend="alwayson"><citetitle>alwayson</citetitle></link> for
+    permanently activating an instrument from the orchestra header,
+    without need of a score statement, e.g. for use as an effect processor
+    receiving inputs from a number of sources.
+
+    <link linkend="ftgenonce"><citetitle>ftgenonce</citetitle></link> for
+    instantiating function tables from within instrument definitions, without
+    need for f-statements in the score or ftgen opcodes in the orchestra header.
+  </para>
+  
+  <para>
+    A typical scenario for the use of these opcodes would be something like this.
+    A set of instruments would be defined, each in its own orchestra file, and 
+    each instrument would define inlet ports, outlet ports, and function tables within itself. Such 
+    instruments are completely self-contained. Then, a set of effects processors, such 
+    as equalizers, reverbs, compressors, and so on, would also be defined, each in its 
+    own file. Then, a customized master orchestra would #include the instruments 
+    and effects to be used, route the outputs of some instruments into one equalizer
+    and the outputs of other effects into another equalizer, then route the outputs of
+    both equalizers into a reverb, the output of the reverb into a compressor, and 
+    the output of the compressor into a stereo output soundfile.
+  </para>
+
+  <refsect1>
+    <!--To add examples, create the csd file in the examples directory, then run:-->
+    <!--python csd2docbook.py -f newopcodename.csd-->
+    <!--to generate the xml highlighted version used below-->
+    <title>Example</title>
+    <para>
+      Here is an example of the signal flow graph opcodes. It uses the file <ulink url="examples/signalflowgraph.csd"><citetitle>signalflowgraph.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the signal flow graph opcodes.</title>
         <xi:include href="examples-xml/signalflowgraph.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-  </refsect1>
-  
-</chapter>
+      </example>
+    </para>
+  </refsect1>
+  
+</chapter>
diff --git a/csound5/tclcsound.xml b/csound5/tclcsound.xml
deleted file mode 100755
index 7db9b8f..0000000
--- a/csound5/tclcsound.xml
+++ /dev/null
@@ -1,288 +0,0 @@
-<chapter id="tclcsound">
-<title>TclCsound</title>
-<para>
-TclCsound was introduced to provide a simple scripting interface to Csound.
-Tcl is a simple language that is easy to extend and provide nice facilities such as easy file 
-access and TCP networking. With its Tk component, it can also handle a graphic and event interface. 
-TclCsound provides three ‘points of contact' with Tcl: </para>
-<para>1. a csound-aware tcl interpreter (cstclsh) </para>
-<para>2. a csound-aware windowing shell (cswish) </para>
-<para>3. a csound commands module for Tcl/Tk (tclcsound dynamic lib) </para>
-<section id="tclcsh">
-<title>The Tcl interpreter: cstclsh </title>
-<para>With cstclsh, it is possible to have interactive control over a csound performance.
- The command starts an interactive shell, which holds an instance of Csound. 
- A number of commands can then be used to control it. For instance, the following 
- command can compile csound code and load it in memory ready for performance: </para>
-<programlisting>csCompile -odac <emphasis>orchestra</emphasis> <emphasis>score</emphasis> -m0 </programlisting>
-<para>Once this is done, performance can be started in two ways: using csPlay or csPerform . The command </para>
-<programlisting>csPlay </programlisting>
-<para>will start the Csound performance in a separate thread and return to the cstclsh prompt. 
-A number of commands can then be used to control Csound. For instance, </para>
-<programlisting>csPause </programlisting>
-<para>will pause performance; and </para>
-<programlisting>csRewind </programlisting>
-<para>will rewind to the beginning of the note-list. The csNote, csTable and 
-csEvent commands can be used to add Csound score events to the performance, on-the-fly. 
-The csPerform command, as opposed to csPlay , will not launch a separate thread, but will run Csound in 
-the same thread, returning only when the performance is finished. A variety of other commands exist, 
-providing full control of Csound. </para>
-</section>
-<section id="cswish">
-<title>Cswish: the windowing shell </title>
-<para>With Cswish, Tk widgets and commands can be used to provide graphical 
-interface and event handling. As with cstclsh, running the cswish command also opens an 
-interactive shell. For instance, the following commands can be used to create a transport 
-control panel for Csound: </para>
-<programlisting>frame .fr
-button .fr.play -text play -command csPlay
-button .fr.pause -text pause -command csPause
-button .fr.rew -text rew -command csRewind
-pack .fr .fr.play .fr.pause .fr.rew </programlisting>
-<para>Similarly, it is possible to bind keys to commands so that the computer keyboard can be 
-used to play Csound. </para>
-<para>Particularly useful are the control channel commands that TclCsound provides. 
-For instance, named IO channels can be registered with TclCsound and these can be used with the 
-invalue, outvalue opcodes. In addition, the Csound API also provides a complete software bus for audio, 
-control and string channels. It is possible in TclCsound to access control and string bus channels 
-(the audio bus is not implemented, as Tcl is not able to handle such data). 
-With these TclCsound commands, Tk widgets can be easily connected to synthesis parameters. </para>
-</section>
-<section id="csserver">
-<title>A Csound server </title>
-<para>In Tcl, setting up TCP network connections is very simple. With a few lines of code a csound server can be built. 
-This can accept connections from the local machine or from remote clients. Not only Tcl/Tk clients can send 
-commands to it, but TCP connections can be made from other sofware, such as, for instance, Pure Data (PD). 
-A Tcl script that can be run under the standard tclsh interpreter is shown below. It uses the Tclcsound module, 
-a dynamic library that adds the Csound API commands to Tcl. </para>
-<programlisting>
-# load tclcsound.so
-#(OSX: tclcsound.dylib, Windows: tclcsound.dll)
-load tclcsound.so Tclcsound
-set forever 0
-
-# This arranges for commands to be evaluated
-proc ChanEval { chan client } {
-if { [catch { set rtn [eval [gets $chan]]} err] } {
-puts "Error: $err"
-} else {
-puts $client $rtn
-flush $client
-}
-} 
-</programlisting>
-<programlisting>
-# this arranges for connections to be made 
-</programlisting>
-<programlisting>
-proc NewChan { chan host port } {
-puts "Csound server: connected to $host on port $port ($chan)"
-fileevent $chan readable [list ChanEval $chan $host]
-} 
-</programlisting>
-<programlisting>
-# this sets up a server to listen for
-# connections 
-</programlisting>
-<programlisting>
-set server [socket -server NewChan 40001]
-set sinfo [fconfigure $server -sockname]
-puts "Csound server: ready for connections on port [lindex $sinfo 2]"
-vwait forever 
-</programlisting>
-<para>With the server running, it is then possible to set up clients to control the Csound server. 
-Such clients can be run from standard Tcl/Tk interpreters, as they do not evaluate the Csound commands themselves. Here is an example of client connections to a Csound server, using Tcl: </para>
-<programlisting>
-# connect to server
-set sock [socket localhost 40001]
-
-# compile Csound code
-puts $sock "csCompile -odac <emphasis>orchestra</emphasis> <emphasis>score</emphasis>"
-flush $sock 
-</programlisting>
-<programlisting>
-# start performance
-puts $sock "csPlay"
-flush $sock 
-</programlisting>
-<programlisting>
-# stop performance
-puts $sock "csStop"
-flush $sock 
-</programlisting>
-<para>As mentioned before, it is possible to set up clients using other software systems, such as PD. 
-Such clients need only to connect to the server (using a netsend object) and send messages to it. The first 
-item of each message is taken to be a command. Further items can optionally be added to it as arguments to that command. </para>
-</section>
-<section id="tclscripting">
-<title>A Scripting Environment </title>
-<para>With TclCsound, it is possible to transform the popular text editor e-macs into a Csound scripting/performing 
-environment. When in Tcl mode, the editor allows for Tcl expressions to be evaluated by selection and use of a simple 
-escape sequence (Ctrl-C Ctrl-X). This facility allows the integrated editing and performance of Csound and Tcl/Tk code. </para>
-<para>In Tcl it is possible to write score and orchestra files that can be saved, compiled and run by the same script, 
-under the e-macs environment. The following example shows a Tcl script that builds a csound instrument and then 
-proceeds to run a csound performance. It creates 10 slightly detuned parallel oscillators, generating sounds similar 
-to those found in Risset's <emphasis>Inharmonique</emphasis>. </para>
-<programlisting>load tclcsound.so Tclcsound </programlisting>
-<programlisting># set up some intermediary files </programlisting>
-<programlisting>
-set orcfile "tcl.orc"
-set scofile "tcl.sco"
-set orc [open $orcfile w]
-set sco [open $scofile w] 
-</programlisting>
-<programlisting># This Tcl procedure builds an instrument
-proc MakeIns { no code } {
-global orc sco
-puts $orc "instr $no"
-puts $orc $code
-puts $orc "endin"
-} 
-</programlisting>
-<programlisting>
-# Here is the instrument code
-append ins "asum init 0 \n"
-append ins "ifreq = p5 \n"
-append ins "iamp = p4 \n" 
-</programlisting>
-<programlisting>
-for { set i 0 } { $i < 10 } { incr i } {
-append ins "a$i oscili iamp,
-ifreq+ifreq*[expr $i * 0.002], 1\n"
-} 
-</programlisting>
-<programlisting>for { set i 0 } {$i < 10 } { incr i } {
-if { $i } {
-append ins " + a$i"
-} else {
-append ins "asum = a$i "
-}
-} 
-</programlisting>
-<programlisting>
-append ins "\nk1 linen 1, 0.01, p3, 0.1 \n"
-append ins "out asum*k1" 
-</programlisting>
-<programlisting>
-# build the instrument and a dummy score 
-</programlisting>
-<programlisting>
-MakeIns 1 $ins
-puts $sco "f0 10"
-close $orc
-close $sco 
-</programlisting>
-<programlisting>
-# compile
-csCompile $orcfile $scofile -odac -d -m0 
-</programlisting>
-<programlisting>
-# set a wavetable
-csTable 1 0 16384 10 1 .5 .25 .2 .17 .15 .12 .1 
-</programlisting>
-<programlisting>
-# send in a sequence of events and perform it
-for {set i 0} { $i < 60 } { incr i } {
-csNote 1 [expr $i * 0.1] .5 \
-[expr ($i * 10) + 500] [expr 100 + $i * 10]
-}
-csPerform 
-</programlisting>
-<programlisting>
-# it is possible to run it interactively as
-# well
-csNote 1 0 10 1000 200
-csPlay 
-</programlisting>
-<para>The use of such facilities as provided by e-macs can emulate an environment not 
-unlike the one found under the so-called ‘modern synthesis systems', such as SuperCollider (SC).
-In fact, it is possible to run Csound in a client-server set-up, which is one of the features of SC3. 
-A major advantage is that Csound provides about three or four times the number of unit generators 
-found in that language (as well as providing a lower-level approach to signal processing, in fact 
-these are but a few advantages of Csound). </para>
-</section>
-<section id="tclwrapper">
-<title> TclCsound as a language wrapper </title>
-<para>It is possible to use TclCsound at a slightly lower level, as many of the 
-C API functions have been wrapped as Tcl commands. For instance it is possible to create a ‘classic' 
-Csound command-line frontend completely written in Tcl. The following script demonstrates this: </para>
-<programlisting>#!/usr/local/bin/cstclsh </programlisting>
-<programlisting>
-set result 1
-csCompileList $argv
-while { $result != 0 } {
-set result csPerformKsmps
-}
-</programlisting>
-</section>
-<section id="tclrefe">
-<title> TclCsound Command Reference</title>
-
-<para> Performance control commands: </para>
-<para> <command> 
-csCompile [csound command-line] : </command> compiles an orc/sco/csd + any options 
-</para> <para> <command> 
-csCompileList arglist : </command> compiles an orc/sco/csd + options given as a Tcl list 'arglist'
-</para> <para> <command> 
-csPerform : </command> plays the score, returning when finished
-</para> <para> <command> 
-csPerformKsmps : </command> performs one ksmps block of audio samples, returning when finished
-</para> <para> <command> 
-csPerformBuffer : </command> performs one buffersize block of audio samples, returning when finished
-</para> <para> <command> 
-csPlay : </command> starts asynchronous performance in a separate thread, returning immediately
-</para> <para> <command> 
-csPause : </command> pauses playback
-</para> <para> <command> 
-csStop : </command> stops performance and resets csound
-</para> <para> <command> 
-csRewind : </command> rewinds the score
-</para> <para> <command> 
-csOffset secs : </command> offsets score playback by secs
-</para> <para> <command> 
-csGetoffset : </command> returns the score offset in secs
-</para> <para> <command> 
-csGetScoreTime : </command> returns the score time in secs
-</para>
-
-<para>Event commands:</para>
-<para> <command> csNote [p-fields] : </command> sends in a i-statement event
-</para> <para> <command> csTable [p-fields] : </command> sends in a f-statement event
-</para> <para> <command> csEvent opcode [p-fields] : </command> sends in a score event defined by 'opcode' plus p-fields
-</para> <para> <command> csNoteList arglist : </command> sends in a i-statement event with p-fields as a Tcl list 'arglist'
-</para> <para> <command> csTableList arglist : </command> sends in a f-statement event with p-fields as a Tcl list 'arglist'
-</para> <para> <command> csEventList arglist : </command> sends in a score event defined by 'opcode' plus p-fields as a Tcl list 'arglist'
-</para>
-<para>Invalue, outvalue, pvsin, pvsout control and string channel commands:</para>
-<para> <command> csInChannel name : </command> registers a csound invalue channel 
-</para> <para> <command> csOutChannel name : </command> registers a csound outvalue channel and creates tcl global variable 'name'
-</para> <para> <command> csInValue channel value : </command> sets the value of a csound invalue channel
-</para> <para> <command> csOutValue channel : </command> returns the value of a csound outvalue channel
-</para> <para> <command> csPvsIn number [size olaps wsize wtype]: </command> registers a pvs in bus channel, optionally initialising fsig
-values for fftsize to 'size' (default:1024), overlaps to 'olaps' (def.: size/4), window size to 'wsize' (def.: size) and window type
-to 'wtype' (def.: 1, Hanning window, see manual page for pvsanal). Works with pvsin opcode (PVS_AMP_FREQ format only). 
-</para> <para> <command> csPvsOut number [size olaps wsize wtype]: </command> registers a pvs out bus channel. Works with opcode pvsout (PVS_AMP_FREQ format only).
-</para> <para> <command> csPvsInSet channel bin amp freq: </command> sets the amp and freq of a bin of the pvs in channel number.
-</para> <para> <command> csPvsOutGet channel bin [isFreq]: </command> returns the amp or freq of a bin of the pvs out channel number. The optional 
-argument 'isFreq' (default: 0) controls whether the returned value is the bin amp (0) or freq (1).
-</para> <para> <command> csSetControlChannel channel value : </command> sets the value of control channel 'channel', creating it if it does not exist
-</para> <para> <command> csGetControlChannel channel : </command> returns the value of control channel 'channel'; creates the channel it if it does not exist
-</para> <para> <command> csSetStringChannel channel string : </command> sets the string channel 'channel', creating it if it does not exist
-</para> <para> <command> csGetStringChannel channel : </command> returns the string in channel 'channel'; creates the channel it if it does not exist
-</para>
-<para> Message commands: </para>
-<para> <command>csMessageOutput  var: </command>appends all csound messages to the tcl variable var. </para>
-
-<para>Table commands:</para>
-<para> <command> csGetTableSize ftn : </command> returns the size of function table ftn (-1 if non-existent)
-</para> <para> <command> csSetTable ftn index value : </command> sets the value of position 'index' to 'value' in function table 'ftn'
-</para> <para> <command> csGetTable ftn index : </command> returns the value of position 'index' in function table 'ftn'
-</para>
-<para>Environment variable commands:
-</para>
-<para> <command> csOpcodedir opcodedir : </command> sets the opcode directory
-</para> <para> <command> csSetenv envvar value : </command> sets any environment variable (eg. SFDIR, SADIR) 
-</para>
-</section>
-</chapter>
-
diff --git a/csoundXO.css b/csoundXO.css
deleted file mode 100644
index 7a992e2..0000000
--- a/csoundXO.css
+++ /dev/null
@@ -1,305 +0,0 @@
-/* csoundXO.css - for Csound5 html manual                    */
-/* (c) Francois Pinot, 2007                                  */
-/* (c) Andres Cabrera, 2008                                  */
-/* Free software, licensed by GNU Free Documentation License */
-
-pre.programlisting {
-  background-color: #e5e5e5;
-  padding: 10px 2em;
-  border-style: solid;
-  border-width: 1px;
-  border-color: #003300;
-}
-
-pre.screen {
-  background-color: #f0f0f0; padding: 10px 2em;
-}
-
-div.literallayout {
-  font-family: monospace;
-  padding-left: 1.5cm;
-}
-
-span.strong {
-  font-weight: 700;
-}
-
-div.table table, div.informaltable table {
-  border-collapse: collapse;
-}
-
-div.table thead {
-  border-bottom: solid;
-}
-
-div.table td, div.table th, div.informaltable table td {
-  padding: 2px 6px; 
-}
-
-div.chapter pre {
-  margin-bottom: 0; margin-top: 0;
-}
-
-div.chapter pre.synopsis {
-  background-color: #e0e0e0; padding: 0px 2em;
-}
-
-div.chapter a {
-  color: blue; font-weight: bolder; text-decoration: none;
-}
-
-div.chapter p b {
-  font-size: 1.17em; font-weight: bolder;
-  display: block; margin-top: 40px; padding-top: 5px; border-top: 1px solid;
-}
-
-div.navheader {
-  font-family: sans-serif;
-}
-
-div.navheader th{
-  color: #33CC00;
-}
-
-div.navheader tr td a{
-  font-size: small;
-  color: #33CC00;
-  font-family: sans-serif;
-}
-
-div.toc b{
-/* Table of contents Title */
-  font-size: large;
-  color: #33CC00;
-  font-family: sans-serif;
-  font-weight: bold;
-  padding-left: 1.5cm;
-}
-
-div.navfooter {
-  color: #33CC00;
-  font-family: sans-serif;
-  font-size: small;
-}
-
-div.navfooter tr td{
-  font-size: small;
-  color: #000000;
-  font-family: sans-serif;
-}
-
-div.navfooter tr td a{
-  font-size: small;
-  color: #33CC00;
-  font-family: sans-serif;
-}
-
-h1.title {
-/*   Main title */
-  font-family: sans-serif;
-  padding-left: 1.5cm;
-  color: #33CC00;
-  font-size: xx-large;
-}
-
-h2.title {
-  font-family: sans-serif;
-/*   padding-left: 0.5cm; */
-  color: #003300;
-/*   font-size: x-large; */
-}
-
-div.section h2.title {
-  font-family: sans-serif;
-  padding-left: 0.5cm;
-  color: #669933;
-  font-size: large;
-}
-
-h2 {
-  font-family: sans-serif;
-/*   padding-left: 1cm; */
-/*   font-size: x-small; */
-  color: #003300;
-}
-
-h2.subtitle {
-  font-family: sans-serif;
-  padding-left: 1.5cm;
-  color: #003300;
-  font-size: x-large;
-}
-
-h3.author {
-  font-family: sans-serif;
-  padding-left: 2cm;
-  font-size: medium;
-  color: #003300;
-}
-
-h3 {
-  font-family: sans-serif;
-/*   padding-left: 1cm; */
-/*   font-size: x-small; */
-  color: #996633;
-}
-
-h3.editor {
-  font-family: sans-serif;
-  padding-left: 2cm;
-  font-size: x-small;
-  color: #003300;
-}
-
-h4 {
-  font-family: sans-serif;
-/*   padding-left: 1cm; */
-/*   font-size: x-small; */
-  color: #996633;
-}
-
-span.orgname {
-  font-family: serif;
-  padding-left: 2cm;
-  font-size: medium;
-}
-
-p {
- text-align: justify;
-/* Most text */
-/* font-size: 11px; */
-/*   padding-left: 1cm; */
-}
-
-h2 span.refentrytitle {
-  font-family: sans-serif;
-  padding-left: 0.5cm;
-  color: #669933;
-  font-size: xx-large;
-}
-
-/*dt span.refentrytitle {
-  font-family: sans-serif;
-  font-size: small;
-  color: #669933;
-}*/
-
-span.refentrytitle a {
-  font-family: sans-serif;
-  font-size: small;
-  color: #669933;
-}
-
-div.refsect1 h2 {
-  font-family: sans-serif;
-/*   padding-left: 1cm; */
-  color: #996633;
-  font-size: large;
-}
-
-span.preface a {
-  font-family: sans-serif;
-  color: #003300;
-  font-weight: bold;
-}
-
-span.part a {
-  font-family: sans-serif;
-  color: #003300;
-  font-weight: bold;
-}
-
-span.chapter a {
-  font-family: sans-serif;
-  color: #669933;
-}
-
-div.toc span.refentrytitle a {
-/*   Csound command line entry */
-  font-family: sans-serif;
-  font-size: medium;
-  color: #669933;
-}
-
-span.section a {
-  font-family: sans-serif;
-  color: #669933;
-}
-
-span.appendix a {
-  font-family: sans-serif;
-  color: #003300;
-  font-weight: bold;
-}
-
-span.glossary a {
-  font-family: sans-serif;
-  color: #003300;
-  font-weight: bold;
-}
-
-span.term {
-  font-family: sans-serif;
-  font-size: small;
-  font-weight: bold;
-}
-
-div.note th {
-  font-family: sans-serif;
-}
-
-p.title b {
-  font-family: sans-serif;
-/*   padding-left: 1cm; */
-  color: #996633;
-}
-
-pre.synopsis {
-  background-color: #e0e0e0; padding: 10px 2em;
-}
-
-/* Syntax highlighting rules */
-pre.programlisting span.csdtag {
-  color: brown;
-}
-
-pre.programlisting span.comment {
-  color: green; font-style: italic;
-}
-
-pre.programlisting span.Ccomment {
-  color: peru; font-style: italic;
-}
-
-pre.programlisting span.ohdr {
-  color: darkred; font-weight: bold;
-}
-
-pre.programlisting span.oblock {
-  color: purple; font-weight: bold;
-}
-
-pre.programlisting span.opc {
-  color: blue; font-weight: bold;
-}
-
-pre.programlisting span.op {
-  font-weight: bolder;
-}
-
-pre.programlisting span.octrl {
-  color: green; font-weight: bold;
-}
-
-pre.programlisting span.olabel {
-  color: indianred; font-weight: bold;
-}
-
-pre.programlisting span.omacro {
-  color: mediumorchid; font-weight: bold;
-}
-
-pre.programlisting span.stamnt {
-  color: blue; font-weight: bold;
-}
-
diff --git a/cvsauthors b/cvsauthors
deleted file mode 100644
index 6275d0b..0000000
--- a/cvsauthors
+++ /dev/null
@@ -1,14 +0,0 @@
-usethisfile:'cvs2cl --accum -U cvsauthors'
-mantaraya36:'Andrés Cabrera	<mantaraya36 at gmail.com>'
-fggpinot:'François Pinot <fggpinot at gmail.com>'
-jpff:'jpff  <jpff at codemist.co.uk>'
-veplaini:'Victor  Lazzarini <victor.lazzarini at nuim.ie>'
-akozar:'Anthony Kozar  <anthonykozar at sbcglobal.net>'
-brandtsegg:'Oeyvind Brandtsegg <obrandts at gmail.com>'
-gogins:'Michael Gogins <michael.gogins at gmail.com>'
-stevenyi:'Steven Yi <stevenyi at gmail.com>'
-gareth_uk:'Gareth Edwards <gdedwards at blueyonder.co.uk>'
-fsateler:'Felipe Sateler <fsateler at gmail.com>'
-brinkmann:'Peter Brinkmann <brinkman at sci.ccny.cuny.edu>'
-joachimheintz:'Joachim Heintz <jh at joachimheintz.de>'
-menno0:'Menno Knevel <nabob_cd at yahoo.com>'
diff --git a/deprecated.txt b/deprecated.txt
deleted file mode 100644
index 40030a8..0000000
--- a/deprecated.txt
+++ /dev/null
@@ -1,101 +0,0 @@
-abetarand
-abexprnd
-acauchy
-aexprand
-agauss
-agogobel
-alinrand
-apcauchy
-apoisson
-apow
-atrirand
-aunirand
-aweibull
-clock
-diskin
-ibetarand
-ibexprnd
-icauchy
-ictrl14
-ictrl21
-ictrl7
-iexprand
-igauss
-ilinrand
-imidic14
-imidic21
-imidic7
-instimek
-instimes
-ioff
-ion
-iondur
-iondur2
-ioutat
-ioutc
-ioutc14
-ioutpat
-ioutpb
-ioutpc
-ipcauchy
-ipoisson
-ipow
-is16b14
-is32b14
-islider16
-islider32
-islider64
-islider8
-itablecopy
-itablegpw
-itablemix
-itablew
-itrirand
-iunirand
-iweibull
-kbetarand
-kbexprnd
-kcauchy
-kdump
-kdump2
-kdump3
-kdump4
-kexprand
-kfilter2
-kgauss
-klinrand
-kon
-koutat
-koutc
-koutc14
-koutpat
-koutpb
-koutpc
-kpcauchy
-kpoisson
-kpow
-kread
-kread2
-kread3
-kread4
-ktableseg
-ktrirand
-kunirand
-kweibull
-peakk
-
-gen22
-
----------------------------------
-Removed from XO docs:
-slider8table
-slider8tablef
-slider16table
-slider16tablef
-slider32table
-slider32tablef
-slider64table
-slider64tablef
-sliderkawai
-ALL FL opcodes and references
-ATSA opcodes
diff --git a/deprecated/top.xml b/deprecated/top.xml
new file mode 100644
index 0000000..2a51698
--- /dev/null
+++ b/deprecated/top.xml
@@ -0,0 +1,116 @@
+
+<chapter id="DeprecatedTop">
+  <title>Deprecated Orchestra Opcodes and GEN Routines</title>
+
+  <section id="DeprecatedOpcodesRef">
+    <title>Deprecated Orchestra Opcodes</title>
+    <para>
+      The following opcodes are deprecated. They are still distributed with
+      Csound for backward compatibility. The new opcodes which are to be used
+      in place of the deprecated ones are indicated within each of the following
+      entries.
+    </para>
+  </section>
+  
+  &opcodesabetarand;
+  &opcodesabexprnd;
+  &opcodesacauchy;
+  &opcodesaexprand;
+  &opcodesagauss;
+  &opcodesagogobel;
+  &opcodesalinrand;
+  &opcodesapcauchy;
+  &opcodesapoisson;
+  &opcodesapow;
+  &opcodesatrirand;
+  &opcodesaunirand;
+  &opcodesaweibull;
+  &opcodesbformenc;
+  &opcodesbformdec;
+  &opcodesclock;
+  &opcodesdiskin;
+  &opcodesibetarand;
+  &opcodesibexprnd;
+  &opcodesicauchy;
+  &opcodesictrl14;
+  &opcodesictrl21;
+  &opcodesictrl7;
+  &opcodesiexprand;
+  &opcodesigauss;
+  &opcodesilinrand;
+  &opcodesimidic14;
+  &opcodesimidic21;
+  &opcodesimidic7;
+  &opcodesinstimek;
+  &opcodesinstimes;
+  &opcodesioff;
+  &opcodesion;
+  &opcodesiondur;
+  &opcodesiondur2;
+  &opcodesioutat;
+  &opcodesioutc;
+  &opcodesioutc14;
+  &opcodesioutpat;
+  &opcodesioutpb;
+  &opcodesioutpc;
+  &opcodesipcauchy;
+  &opcodesipoisson;
+  &opcodesipow;
+  &opcodesis16b14;
+  &opcodesis32b14;
+  &opcodesislider16;
+  &opcodesislider32;
+  &opcodesislider64;
+  &opcodesislider8;
+  &opcodesitablecopy;
+  &opcodesitablegpw;
+  &opcodesitablemix;
+  &opcodesitablew;
+  &opcodesitrirand;
+  &opcodesiunirand;
+  &opcodesiweibull;
+  &opcodeskbetarand;
+  &opcodeskbexprnd;
+  &opcodeskcauchy;
+  &opcodeskdump;
+  &opcodeskdump2;
+  &opcodeskdump3;
+  &opcodeskdump4;
+  &opcodeskexprand;
+  &opcodeskfilter2;
+  &opcodeskgauss;
+  &opcodesklinrand;
+  &opcodeskon;
+  &opcodeskoutat;
+  &opcodeskoutc;
+  &opcodeskoutc14;
+  &opcodeskoutpat;
+  &opcodeskoutpb;
+  &opcodeskoutpc;
+  &opcodeskpcauchy;
+  &opcodeskpoisson;
+  &opcodeskpow;
+  &opcodeskread;
+  &opcodeskread2;
+  &opcodeskread3;
+  &opcodeskread4;
+  &opcodesktableseg;
+  &opcodesktrirand;
+  &opcodeskunirand;
+  &opcodeskweibull;
+  &opcodespeakk;
+  &opcodessoundout;
+  &opcodessoundouts;
+  
+  <section id="DeprecatedGensRef">
+    <title>Deprecated Gen Routines</title>
+    <para>
+      The following GEN routine is deprecated. It is still distributed with
+      Csound for backward compatibility. The new GEN routine which is to be used
+      in place of the deprecated one is indicated within the following
+      entry.
+    </para>
+  </section>
+  
+  &scoregensgen22;
+</chapter>
diff --git a/examples-xml/ATSadd-2.csd.xml b/examples-xml/ATSadd-2.csd.xml
new file mode 100644
index 0000000..1e9cc91
--- /dev/null
+++ b/examples-xml/ATSadd-2.csd.xml
@@ -0,0 +1,56 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+-odac -d -m1
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="comment">;example by joachim heintz</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+
+giSine    <emphasis role="ohdr">ftgen</emphasis>     0, 0, 1024, 10, 1
+
+  <emphasis role="oblock">instr</emphasis> AllTheTones
+Sfile     <emphasis role="op">=</emphasis>         "fox.ats"
+          <emphasis role="opc">prints</emphasis>    "Resynthesizing with all the tones.\n"
+iDur      <emphasis role="opc">ATSinfo</emphasis>   Sfile, 7
+p3        <emphasis role="op">=</emphasis>         iDur
+iNumParts <emphasis role="opc">ATSinfo</emphasis>   Sfile, 3
+          <emphasis role="opc">prints</emphasis>    "Overall number of <emphasis role="opc">partials</emphasis> <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>d\n", iNumParts
+ktime     <emphasis role="opc">line</emphasis>      0, iDur, iDur
+asig      <emphasis role="opc">ATSadd</emphasis>    ktime, 1, Sfile, giSine, iNumParts
+          <emphasis role="opc">outs</emphasis>      asig, asig
+
+<emphasis role="comment">;start next instr</emphasis>
+          <emphasis role="opc">event_i</emphasis>   "i", "TonesInBandsOfTen", iDur<emphasis role="op">+</emphasis>1, iDur, 0, iNumParts
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> TonesInBandsOfTen
+Sfile     <emphasis role="op">=</emphasis>         "fox.ats"
+iOffset   <emphasis role="op">=</emphasis>         p4 <emphasis role="comment">;start at this partial</emphasis>
+iNumParts <emphasis role="op">=</emphasis>         p5 <emphasis role="comment">;overall number of partials</emphasis>
+          <emphasis role="opc">prints</emphasis>    "Resynthesizing with <emphasis role="opc">partials</emphasis> <emphasis role="op">%</emphasis>d <emphasis role="op">-</emphasis> <emphasis role="op">%</emphasis>d.\n", iOffset<emphasis role="op">+</emphasis>1, iOffset<emphasis role="op">+</emphasis>10
+ktime     <emphasis role="opc">line</emphasis>      0, p3, p3
+asig      <emphasis role="opc">ATSadd</emphasis>    ktime, 1, Sfile, giSine, 10, iOffset
+          <emphasis role="opc">outs</emphasis>      asig, asig
+
+<emphasis role="comment">;start next instance until there are enough partials left</emphasis>
+ <emphasis role="octrl">if</emphasis> iOffset<emphasis role="op">+</emphasis>20 <emphasis role="op"><</emphasis> iNumParts then
+          <emphasis role="opc">event_i</emphasis>   "i", "TonesInBandsOfTen", p3<emphasis role="op">+</emphasis>1, p3, iOffset<emphasis role="op">+</emphasis>10, iNumParts
+          <emphasis role="octrl">else</emphasis>
+          <emphasis role="opc">event_i</emphasis>   "i", "End", p3, 1
+ <emphasis role="octrl">endif</emphasis>
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> End
+          <emphasis role="opc">exitnow</emphasis>
+  <emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> "AllTheTones" 0 1
+<emphasis role="stamnt">e</emphasis> 999
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/ATSaddnz-2.csd.xml b/examples-xml/ATSaddnz-2.csd.xml
new file mode 100644
index 0000000..8ff4405
--- /dev/null
+++ b/examples-xml/ATSaddnz-2.csd.xml
@@ -0,0 +1,46 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+-odac -d -m1
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="comment">;example by joachim heintz</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> AllTheNoise
+Sfile    <emphasis role="op">=</emphasis>        "fox.ats"
+         <emphasis role="opc">prints</emphasis>   "Resynthesizing with all the noise.\n"
+iDur     <emphasis role="opc">ATSinfo</emphasis>  Sfile, 7
+p3       <emphasis role="op">=</emphasis>        iDur
+ktime    <emphasis role="opc">line</emphasis>     0, iDur, iDur
+asig     <emphasis role="opc">ATSaddnz</emphasis> ktime, Sfile, 25
+         <emphasis role="opc">outs</emphasis>     asig, asig
+
+<emphasis role="comment">;start next instr</emphasis>
+         <emphasis role="opc">event_i</emphasis>  "i", "NoiseInBandsOfFive", iDur<emphasis role="op">+</emphasis>1, 1, 0
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> NoiseInBandsOfFive
+Sfile    <emphasis role="op">=</emphasis>        "fox.ats"
+         <emphasis role="opc">prints</emphasis>   "Resynthesizing with <emphasis role="opc">noise</emphasis> bands <emphasis role="op">%</emphasis>d <emphasis role="op">-</emphasis> <emphasis role="op">%</emphasis>d.\n", p4, p4<emphasis role="op">+</emphasis>5
+iDur     <emphasis role="opc">ATSinfo</emphasis>  Sfile, 7
+p3       <emphasis role="op">=</emphasis>        iDur
+ktime    <emphasis role="opc">line</emphasis>     0, iDur, iDur
+asig     <emphasis role="opc">ATSaddnz</emphasis> ktime, Sfile, 5, p4
+         <emphasis role="opc">outs</emphasis>     asig, asig
+
+<emphasis role="comment">;start next instr</emphasis>
+<emphasis role="octrl">if</emphasis> p4 <emphasis role="op"><</emphasis> 20 then
+         <emphasis role="opc">event_i</emphasis>  "i", "NoiseInBandsOfFive", iDur<emphasis role="op">+</emphasis>1, 1, p4<emphasis role="op">+</emphasis>5
+<emphasis role="octrl">endif</emphasis>
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> "AllTheNo<emphasis role="stamnt">i</emphasis>se" 0 1
+<emphasis role="stamnt">e</emphasis> 25
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/ATSinfo-2.csd.xml b/examples-xml/ATSinfo-2.csd.xml
new file mode 100644
index 0000000..eb7ea77
--- /dev/null
+++ b/examples-xml/ATSinfo-2.csd.xml
@@ -0,0 +1,42 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-n     <emphasis role="comment">;;;no audio out</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="comment">;example by joachim heintz</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; "fox.ats" has been created by ATSanal</emphasis>
+Sfile   <emphasis role="op">=</emphasis>       "fox.ats"
+isr     <emphasis role="opc">ATSinfo</emphasis> Sfile, 0
+ifs     <emphasis role="opc">ATSinfo</emphasis> Sfile, 1
+iws     <emphasis role="opc">ATSinfo</emphasis> Sfile, 2
+inp     <emphasis role="opc">ATSinfo</emphasis> Sfile, 3
+inf     <emphasis role="opc">ATSinfo</emphasis> Sfile, 4
+ima     <emphasis role="opc">ATSinfo</emphasis> Sfile, 5
+imf     <emphasis role="opc">ATSinfo</emphasis> Sfile, 6
+id      <emphasis role="opc">ATSinfo</emphasis> Sfile, 7
+ift     <emphasis role="opc">ATSinfo</emphasis> Sfile, 8
+        <emphasis role="opc">prints</emphasis>  {{
+Sample rate <emphasis role="op">=</emphasis>   <emphasis role="op">%</emphasis>d Hz
+Frame Size <emphasis role="op">=</emphasis>    <emphasis role="op">%</emphasis>d samples
+Window Size <emphasis role="op">=</emphasis>   <emphasis role="op">%</emphasis>d samples
+Number of Partials <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>d
+Number of Frames <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>d
+Maximum Amplitude <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f
+Maximum Frequency <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f Hz
+Duration <emphasis role="op">=</emphasis>      <emphasis role="op">%</emphasis>f seconds
+ATS file Type <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>d
+}}, isr, ifs, iws, inp, inf, ima, imf, id, ift
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 0 
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/ATSread-2.csd.xml b/examples-xml/ATSread-2.csd.xml
new file mode 100644
index 0000000..8744d4e
--- /dev/null
+++ b/examples-xml/ATSread-2.csd.xml
@@ -0,0 +1,120 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+-odac -d -m128
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="comment">;example by joachim heintz</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+
+giSine    <emphasis role="ohdr">ftgen</emphasis>     0, 0, 1024, 10, 1
+gSfile    <emphasis role="op">=</emphasis>         "fox.ats"
+giNumParts <emphasis role="opc">ATSinfo</emphasis>  gSfile, 3 <emphasis role="comment">;overall number of partials</emphasis>
+giDur     <emphasis role="opc">ATSinfo</emphasis>   gSfile, 7 <emphasis role="comment">;duration </emphasis>
+          <emphasis role="ohdr">seed</emphasis>      0
+
+
+  <emphasis role="oblock">instr</emphasis> ReadOnePartial
+iPartial  <emphasis role="op">=</emphasis>         p4
+p3        <emphasis role="op">=</emphasis>         giDur
+ktime     <emphasis role="opc">line</emphasis>      0, giDur, giDur
+          <emphasis role="opc">prints</emphasis>    "Resynthesizing partial number <emphasis role="op">%</emphasis>d.\n", iPartial
+kFq,kAmp  <emphasis role="opc">ATSread</emphasis>   ktime, gSfile, iPartial
+kAmp      <emphasis role="opc">port</emphasis>      kAmp, .1 <emphasis role="comment">;smooth amplitudes - still not satisfactoring</emphasis>
+aOut      <emphasis role="opc">poscil</emphasis>    kAmp, kFq, giSine
+aOut      <emphasis role="opc">linen</emphasis>     aOut, 0, p3, .01 <emphasis role="comment">;anti-click</emphasis>
+          <emphasis role="opc">outs</emphasis>      aOut<emphasis role="op">*</emphasis>10, aOut<emphasis role="op">*</emphasis>10
+
+<emphasis role="comment">;start next instr: normal speed, three loops, pause between loops one second</emphasis>
+          <emphasis role="opc">event_i</emphasis>   "i", "MasterRand", giDur<emphasis role="op">+</emphasis>3, 1, 1, 3, 2
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> MasterRand
+  <emphasis role="comment">;random selections of 10 partials per second, overlapping</emphasis>
+iSpeed    <emphasis role="op">=</emphasis>         p4 <emphasis role="comment">;speed of reading / playing</emphasis>
+iNumLoops <emphasis role="op">=</emphasis>         p5 <emphasis role="comment">;number of loops</emphasis>
+iPause    <emphasis role="op">=</emphasis>         p6 <emphasis role="comment">;length of pause between loops</emphasis>
+          <emphasis role="opc">prints</emphasis>    "Resynthesizing <emphasis role="opc">random</emphasis> partials.\n"
+p3        <emphasis role="op">=</emphasis>         (giDur<emphasis role="op">/</emphasis>iSpeed<emphasis role="op">+</emphasis>iPause) <emphasis role="op">*</emphasis> iNumLoops
+<emphasis role="comment">;start next instr: half speed, three loops, three seonds pause between loops</emphasis>
+          <emphasis role="opc">event_i</emphasis>   "i", "MasterArp", p3<emphasis role="op">+</emphasis>3, 1, .5, 3, 3
+<emphasis role="comment">;loop over duration plus pause</emphasis>
+<emphasis role="olabel">loop</emphasis><emphasis role="op">:</emphasis>
+          <emphasis role="octrl">timout</emphasis>    0, giDur<emphasis role="op">/</emphasis>iSpeed<emphasis role="op">+</emphasis>iPause, <emphasis role="olabel">play</emphasis>
+          <emphasis role="opc">reinit</emphasis>    <emphasis role="olabel">loop</emphasis>
+<emphasis role="olabel">play</emphasis><emphasis role="op">:</emphasis>
+gkTime    <emphasis role="opc">line</emphasis>      0, giDur<emphasis role="op">/</emphasis>iSpeed, giDur <emphasis role="comment">;start time from 0 in each loop</emphasis>
+kTrig     <emphasis role="opc">metro</emphasis>     10 <emphasis role="comment">;10 new partials per second</emphasis>
+ <emphasis role="comment">;call subinstrument if trigger and no pause</emphasis>
+ <emphasis role="octrl">if</emphasis> kTrig <emphasis role="op">==</emphasis> 1 <emphasis role="op">&&</emphasis> gkTime <emphasis role="op"><</emphasis> giDur then
+kPart     <emphasis role="opc">random</emphasis>    1, giNumParts<emphasis role="op">+</emphasis>.999
+          <emphasis role="opc">event</emphasis>     "i", "PlayRand", 0, 1, <emphasis role="opc">int</emphasis>(kPart)
+ <emphasis role="octrl">endif</emphasis>
+
+  <emphasis role="oblock">endin</emphasis>
+  
+  <emphasis role="oblock">instr</emphasis> MasterArp
+  <emphasis role="comment">;argeggio-like reading and playing of partials </emphasis>
+iSpeed    <emphasis role="op">=</emphasis>         p4 <emphasis role="comment">;speed of reading / playing</emphasis>
+iNumLoops <emphasis role="op">=</emphasis>         p5 <emphasis role="comment">;number of loops</emphasis>
+iPause    <emphasis role="op">=</emphasis>         p6 <emphasis role="comment">;length of pause between loops</emphasis>
+          <emphasis role="opc">prints</emphasis>    "Arpeggiating partials.\n"
+p3        <emphasis role="op">=</emphasis>         (giDur<emphasis role="op">/</emphasis>iSpeed<emphasis role="op">+</emphasis>iPause) <emphasis role="op">*</emphasis> iNumLoops
+<emphasis role="olabel">loop</emphasis><emphasis role="op">:</emphasis>
+          <emphasis role="octrl">timout</emphasis>    0, giDur<emphasis role="op">/</emphasis>iSpeed<emphasis role="op">+</emphasis>iPause, <emphasis role="olabel">play</emphasis>
+          <emphasis role="opc">reinit</emphasis>    <emphasis role="olabel">loop</emphasis>
+<emphasis role="olabel">play</emphasis><emphasis role="op">:</emphasis>
+gkTime    <emphasis role="opc">line</emphasis>      0, giDur<emphasis role="op">/</emphasis>iSpeed, giDur
+kArp      <emphasis role="opc">linseg</emphasis>    1, (giDur<emphasis role="op">/</emphasis>iSpeed)<emphasis role="op">/</emphasis>2, giNumParts, (giDur<emphasis role="op">/</emphasis>iSpeed)<emphasis role="op">/</emphasis>2, 1 <emphasis role="comment">;arp up and down</emphasis>
+kTrig     <emphasis role="opc">metro</emphasis>     10 <emphasis role="comment">;10 new partials per second</emphasis>
+ <emphasis role="octrl">if</emphasis> kTrig <emphasis role="op">==</emphasis> 1 <emphasis role="op">&&</emphasis> gkTime <emphasis role="op"><</emphasis> giDur then
+          <emphasis role="opc">event</emphasis>     "i", "PlayArp", 0, 5, <emphasis role="opc">int</emphasis>(kArp)
+ <emphasis role="octrl">endif</emphasis>
+
+<emphasis role="comment">;exit csound when finished</emphasis>
+          <emphasis role="opc">event_i</emphasis>   "i", "End", p3<emphasis role="op">+</emphasis>5, 1
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> PlayRand
+iPartial  <emphasis role="op">=</emphasis>         p4
+kFq,kAmp  <emphasis role="opc">ATSread</emphasis>   gkTime, gSfile, iPartial
+kamp      <emphasis role="opc">port</emphasis>      kAmp, .15 <emphasis role="comment">;smooth amplitudes</emphasis>
+aOut      <emphasis role="opc">poscil</emphasis>    kAmp, kFq, giSine
+aOut      <emphasis role="opc">linen</emphasis>     aOut, .01, p3, .01
+          <emphasis role="opc">outs</emphasis>      aOut, aOut
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> PlayArp
+kCount    <emphasis role="opc">init</emphasis>      1 <emphasis role="comment">;k-cycle</emphasis>
+iPartial  <emphasis role="op">=</emphasis>         p4
+kFq,kAmp  <emphasis role="opc">ATSread</emphasis>   gkTime, gSfile, iPartial
+ <emphasis role="octrl">if</emphasis> kCount <emphasis role="op">==</emphasis> 1 then <emphasis role="comment">;get freq from first k-cycle</emphasis>
+kModFq    <emphasis role="op">=</emphasis>         kFq
+  <emphasis role="comment">;avoid to go with 0 Hz as this blocks the mode filter</emphasis>
+  <emphasis role="octrl">if</emphasis> kModFq <emphasis role="op">==</emphasis> 0 then
+          <emphasis role="opc">turnoff</emphasis>
+  <emphasis role="octrl">endif</emphasis>
+ <emphasis role="octrl">endif</emphasis>
+iVol      <emphasis role="opc">random</emphasis>    <emphasis role="op">-</emphasis>42, <emphasis role="op">-</emphasis>12 <emphasis role="comment">;db</emphasis>
+iOffset   <emphasis role="opc">random</emphasis>    .01, .1 <emphasis role="comment">;no too regularily ...</emphasis>
+aImp      <emphasis role="opc">mpulse</emphasis>    <emphasis role="opc">ampdb</emphasis>(iVol), p3, iOffset
+iQ        <emphasis role="opc">random</emphasis>    500, 5000
+aOut      <emphasis role="opc">mode</emphasis>      aImp, kModFq, iQ
+aOut      <emphasis role="opc">linen</emphasis>     aOut, 0, p3, p3<emphasis role="op">/</emphasis>3
+          <emphasis role="opc">outs</emphasis>      aOut, aOut
+kCount    <emphasis role="op">=</emphasis>         2
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> End
+          <emphasis role="opc">exitnow</emphasis>
+  <emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> "ReadOnePart<emphasis role="stamnt">i</emphasis>al" 0 1 10
+<emphasis role="stamnt">e</emphasis> 999
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/ATSsinnoi-2.csd.xml b/examples-xml/ATSsinnoi-2.csd.xml
new file mode 100644
index 0000000..97bbfdd
--- /dev/null
+++ b/examples-xml/ATSsinnoi-2.csd.xml
@@ -0,0 +1,81 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+-odac -d -m128
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="comment">;example by joachim heintz</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+
+giSine    <emphasis role="ohdr">ftgen</emphasis>     0, 0, 1024, 10, 1
+gSfile    <emphasis role="op">=</emphasis>         "fox.ats"
+giNumParts <emphasis role="opc">ATSinfo</emphasis>  gSfile, 3 <emphasis role="comment">;overall number of partials</emphasis>
+giDur     <emphasis role="opc">ATSinfo</emphasis>   gSfile, 7 <emphasis role="comment">;duration </emphasis>
+          <emphasis role="ohdr">seed</emphasis>      0
+          
+
+  <emphasis role="oblock">instr</emphasis> PlayList
+<emphasis role="opc">event_i</emphasis> "i", "PlayAll", 0, 1, 1, 0, .5 <emphasis role="comment">;sine only, half speed</emphasis>
+<emphasis role="opc">event_i</emphasis> "i", "PlayAll", giDur<emphasis role="op">*</emphasis>2<emphasis role="op">+</emphasis>1, 1, 0, 1, .5 <emphasis role="comment">;noise only</emphasis>
+<emphasis role="opc">event_i</emphasis> "i", "PlayAll", giDur<emphasis role="op">*</emphasis>4<emphasis role="op">+</emphasis>2, 1, .5, .5, .5 <emphasis role="comment">;half sine, half noise</emphasis>
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> PlayAll
+iSinAmnt  <emphasis role="op">=</emphasis>         p4 <emphasis role="comment">;sinee amount (0-1)</emphasis>
+iNzAmnt   <emphasis role="op">=</emphasis>         p5 <emphasis role="comment">;noise amount (0-1)</emphasis>
+iSpeed    <emphasis role="op">=</emphasis>         p6 <emphasis role="comment">;speed</emphasis>
+p3        <emphasis role="op">=</emphasis>         giDur<emphasis role="op">/</emphasis>iSpeed
+ktime     <emphasis role="opc">line</emphasis>      0, giDur<emphasis role="op">/</emphasis>iSpeed, giDur
+          <emphasis role="opc">prints</emphasis>    "Resynthesizing all <emphasis role="opc">partials</emphasis> with <emphasis role="opc">tone</emphasis> <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>.1f and <emphasis role="opc">noise</emphasis> <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>.1f.\n", iSinAmnt, iNzAmnt
+aOut      <emphasis role="opc">ATSsinnoi</emphasis> ktime, iSinAmnt, iNzAmnt, 1, gSfile, giNumParts
+          <emphasis role="opc">outs</emphasis>      aOut, aOut
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> PlayBand
+iOffset   <emphasis role="op">=</emphasis>         p4 <emphasis role="comment">;offset in partials</emphasis>
+iSpeed    <emphasis role="op">=</emphasis>         p5 <emphasis role="comment">;speed</emphasis>
+p3        <emphasis role="op">=</emphasis>         giDur<emphasis role="op">/</emphasis>iSpeed
+ktime     <emphasis role="opc">line</emphasis>      0, giDur<emphasis role="op">/</emphasis>iSpeed, giDur
+          <emphasis role="opc">prints</emphasis>    "Resynthesizing <emphasis role="opc">partials</emphasis> <emphasis role="op">%</emphasis>d to <emphasis role="op">%</emphasis>d with related noise.\n", iOffset<emphasis role="op">+</emphasis>1, iOffset<emphasis role="op">+</emphasis>10
+aOut      <emphasis role="opc">ATSsinnoi</emphasis> ktime, 1, 1, 1, gSfile, 10, iOffset, 1
+          <emphasis role="opc">outs</emphasis>      aOut, aOut
+<emphasis role="comment">;call itself again</emphasis>
+ <emphasis role="octrl">if</emphasis> iOffset <emphasis role="op"><</emphasis> giNumParts <emphasis role="op">-</emphasis> 20 then
+          <emphasis role="opc">event_i</emphasis>   "i", "PlayBand", giDur<emphasis role="op">/</emphasis>iSpeed<emphasis role="op">+</emphasis>1, 1, iOffset<emphasis role="op">+</emphasis>10, iSpeed
+ <emphasis role="octrl">endif</emphasis>
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> PlayWeighted
+  <emphasis role="comment">;sine amount, noise amount and speeed are varying</emphasis>
+kSinAmnt  <emphasis role="opc">randomi</emphasis>   0, 1, 1, 3
+kNzAmnt   <emphasis role="op">=</emphasis>         1<emphasis role="op">-</emphasis>kSinAmnt
+kSpeed    <emphasis role="opc">randomi</emphasis>   .01, .3, 1, 3
+async     <emphasis role="opc">init</emphasis>      0
+atime, aEnd <emphasis role="opc">syncphasor</emphasis> kSpeed<emphasis role="op">/</emphasis>giDur, async
+kTrig     <emphasis role="opc">metro</emphasis>     100
+kEnd      <emphasis role="opc">max_k</emphasis>     aEnd, kTrig, 1 <emphasis role="comment">;1 if phasor signal crosses zero</emphasis>
+ktime     <emphasis role="opc">downsamp</emphasis>  atime
+aOut      <emphasis role="opc">ATSsinnoi</emphasis> ktime<emphasis role="op">*</emphasis>giDur, kSinAmnt, kNzAmnt, 1, gSfile, giNumParts
+          <emphasis role="opc">outs</emphasis>      aOut, aOut
+  <emphasis role="comment">;exit if file is at the end </emphasis>
+  <emphasis role="octrl">if</emphasis> kEnd <emphasis role="op">==</emphasis> 1 then
+          <emphasis role="opc">event</emphasis>     "i", "End", 0, 1
+  <emphasis role="octrl">endif</emphasis>
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> End
+          <emphasis role="opc">exitnow</emphasis>
+  <emphasis role="oblock">endin</emphasis>
+
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> "PlayL<emphasis role="stamnt">i</emphasis>st" 0 1
+<emphasis role="stamnt">i</emphasis> "PlayBand" 20 1 0 .5
+<emphasis role="stamnt">i</emphasis> "PlayWe<emphasis role="stamnt">i</emphasis>ghted" 110 100
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/FLsavesnap.csd.xml b/examples-xml/FLsavesnap.csd.xml
index 7c52c4a..cc3c106 100644
--- a/examples-xml/FLsavesnap.csd.xml
+++ b/examples-xml/FLsavesnap.csd.xml
@@ -29,7 +29,7 @@
     gksliderD, gislidSM4 	<emphasis role="opc">FLslider</emphasis> "Slider D", 0, 1, 0, 3, ivalSM4, 250, 20, 20, 140
     itext1		 <emphasis role="opc">FLbox</emphasis>	  "store", 1, 1, 14, 50, 25, 355, 15
     itext2		 <emphasis role="opc">FLbox</emphasis>	  "load", 1, 1, 14, 50, 25, 415, 15
-    itext3		 <emphasis role="opc">FLbox</emphasis>	  "G\nr\no\nu\np\n \n1", 1, 1, 14, 30, 145, 485, 15
+    itext3		 <emphasis role="opc">FLbox</emphasis>	  "Group 1", 1, 1, 14, 30, 145, 485, 15
     gksnap, ibuttn1	 <emphasis role="opc">FLbutton</emphasis> "1", 1, 0, 11, 25, 25, 364, 45, 0, 3, 0, 3, 1
     gksnap, ibuttn2	 <emphasis role="opc">FLbutton</emphasis> "2", 1, 0, 11, 25, 25, 364, 75, 0, 3, 0, 3, 2
     gksnap, ibuttn3	 <emphasis role="opc">FLbutton</emphasis> "3", 1, 0, 11, 25, 25, 364, 105, 0, 3, 0, 3, 3
@@ -51,7 +51,7 @@
     gkknobD, gislidSM8 	<emphasis role="opc">FLknob</emphasis> "Knob D", 0, 1, 0, 3, ivalSM8, 45, 205, 230
     itext4		 <emphasis role="opc">FLbox</emphasis>	  "store", 1, 1, 14, 50, 25, 355, 185
     itext5		 <emphasis role="opc">FLbox</emphasis>	  "load", 1, 1, 14, 50, 25, 415, 185
-    itext6		 <emphasis role="opc">FLbox</emphasis>	  "G\nr\no\nu\np\n \n2", 1, 1, 14, 30, 145, 485, 185
+    itext6		 <emphasis role="opc">FLbox</emphasis>	  "Group 2", 1, 1, 14, 30, 145, 485, 185
     gksnap, ibuttn1	 <emphasis role="opc">FLbutton</emphasis> "5", 1, 0, 11, 25, 25, 364, 215, 0, 3, 0, 3, 5
     gksnap, ibuttn2	 <emphasis role="opc">FLbutton</emphasis> "6", 1, 0, 11, 25, 25, 364, 245, 0, 3, 0, 3, 6
     gksnap, ibuttn3	 <emphasis role="opc">FLbutton</emphasis> "7", 1, 0, 11, 25, 25, 364, 275, 0, 3, 0, 3, 7
diff --git a/examples-xml/JackoInfo.csd.xml b/examples-xml/JackoInfo.csd.xml
new file mode 100644
index 0000000..b777fb4
--- /dev/null
+++ b/examples-xml/JackoInfo.csd.xml
@@ -0,0 +1,26 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+-n
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis>  <emphasis role="op">=</emphasis> 48000
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 128
+<emphasis role="ohdr">nchnls</emphasis>  <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>   <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+JackoInit "default", "csound"
+JackoInfo
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+ <emphasis role="stamnt">i</emphasis> 1 0 0
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/JackoInit.csd.xml b/examples-xml/JackoInit.csd.xml
new file mode 100644
index 0000000..b777fb4
--- /dev/null
+++ b/examples-xml/JackoInit.csd.xml
@@ -0,0 +1,26 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+-n
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis>  <emphasis role="op">=</emphasis> 48000
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 128
+<emphasis role="ohdr">nchnls</emphasis>  <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>   <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+JackoInit "default", "csound"
+JackoInfo
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+ <emphasis role="stamnt">i</emphasis> 1 0 0
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/Mixer.csd.xml b/examples-xml/Mixer.csd.xml
new file mode 100644
index 0000000..a10ec19
--- /dev/null
+++ b/examples-xml/Mixer.csd.xml
@@ -0,0 +1,55 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+<emphasis role="comment">; Audio out   Audio in</emphasis>
+-odac       <emphasis role="comment">;   -iadc    ;;;RT audio out</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o Mixer.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis>	32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+katt	<emphasis role="opc">expon</emphasis> 0.01, p3, 1		<emphasis role="comment">;create an attack</emphasis>
+aout	<emphasis role="opc">poscil</emphasis> .7, 440,1
+	<emphasis role="opc">MixerSetLevel</emphasis>	1, 3, katt	<emphasis role="comment">;impose attack on the gain level</emphasis>
+	<emphasis role="opc">MixerSend</emphasis> aout, 1, 3, 0		<emphasis role="comment">;send to channel 0</emphasis>
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+
+aout	<emphasis role="opc">vco2</emphasis> .5, 110			<emphasis role="comment">;saw wave</emphasis>
+	<emphasis role="opc">MixerSetLevel</emphasis> 2, 3, .25		<emphasis role="comment">;set level to .25 of vco2</emphasis>
+	<emphasis role="opc">MixerSend</emphasis> aout, 2, 3, 1		<emphasis role="comment">;send to channel 1</emphasis>
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 3	<emphasis role="comment">;mix instr.1 and 2 with reverb</emphasis>
+	
+kgain1	<emphasis role="opc">MixerGetLevel</emphasis>	1,3		<emphasis role="comment">;get level form buss 3</emphasis>
+kgain2	<emphasis role="opc">MixerGetLevel</emphasis>	2,3		<emphasis role="comment">;get level form buss 3</emphasis>
+a1	<emphasis role="opc">MixerReceive</emphasis>	3,0		<emphasis role="comment">;receive channel 0</emphasis>
+a2	<emphasis role="opc">MixerReceive</emphasis>	3,1		<emphasis role="comment">;receive channel 1</emphasis>
+aout	<emphasis role="op">=</emphasis> a1<emphasis role="op">*</emphasis>kgain1<emphasis role="op">+</emphasis>a2<emphasis role="op">*</emphasis>kgain2		<emphasis role="comment">;mix them</emphasis>
+aoutL, aoutR <emphasis role="opc">reverbsc</emphasis> aout, aout,  0.85, 12000	<emphasis role="comment">;add a nice reverb</emphasis>
+	<emphasis role="opc">outs</emphasis>  aoutL, aoutR
+	<emphasis role="opc">MixerClear</emphasis>
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 4096 10 1
+
+<emphasis role="stamnt">i</emphasis>1 0 2
+<emphasis role="stamnt">i</emphasis>2 0 2
+<emphasis role="stamnt">i</emphasis>3 0 8	<emphasis role="comment">;reverb stays on for 8 sec.</emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/PartikkelExample1.csd.xml b/examples-xml/PartikkelExample1.csd.xml
index 14e21f3..2ad84aa 100644
--- a/examples-xml/PartikkelExample1.csd.xml
+++ b/examples-xml/PartikkelExample1.csd.xml
@@ -38,7 +38,7 @@ icentrand		<emphasis role="op">=</emphasis> p9		<emphasis role="comment">; trans
 ipan			<emphasis role="op">=</emphasis> p10		<emphasis role="comment">; panning narrow (0) to wide (1)</emphasis>
 idist			<emphasis role="op">=</emphasis> p11		<emphasis role="comment">; grain distribution (0=periodic, 1=scattered)</emphasis>
 
-<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis>get length of source wave file, needed for both transposition <emphasis role="opc">and</emphasis> time pointer<emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis>get length of source wave file, needed for both transposition and time pointer<emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
 ifilen			<emphasis role="opc">tableng</emphasis>	giFile
 ifildur			<emphasis role="op">=</emphasis> ifilen <emphasis role="op">/</emphasis> <emphasis role="ohdr">sr</emphasis>
 
@@ -101,7 +101,7 @@ afilposphas		<emphasis role="opc">phasor</emphasis> ispeed <emphasis role="op">/
 iposrandsec		<emphasis role="op">=</emphasis> iposrand <emphasis role="op">/</emphasis> 1000	<emphasis role="comment">; ms -> sec</emphasis>
 iposrand		<emphasis role="op">=</emphasis> iposrandsec <emphasis role="op">/</emphasis> ifildur	<emphasis role="comment">; phase values (0-1)</emphasis>
 krndpos			<emphasis role="opc">linrand</emphasis>	 iposrand	<emphasis role="comment">; random offset in phase values</emphasis>
-<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis><emphasis role="opc">add</emphasis> <emphasis role="opc">random</emphasis> deviation to the time pointer<emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis>add <emphasis role="opc">random</emphasis> deviation to the time pointer<emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
 asamplepos1		<emphasis role="op">=</emphasis> afilposphas <emphasis role="op">+</emphasis> krndpos<emphasis role="comment">; resulting phase values (0-1)</emphasis>
 asamplepos2		<emphasis role="op">=</emphasis> asamplepos1
 asamplepos3		<emphasis role="op">=</emphasis> asamplepos1	
diff --git a/examples-xml/STKBandedWG.csd.xml b/examples-xml/STKBandedWG.csd.xml
index 8fec724..3b8e902 100644
--- a/examples-xml/STKBandedWG.csd.xml
+++ b/examples-xml/STKBandedWG.csd.xml
@@ -2,7 +2,7 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
--odac     <emphasis role="comment">;;;RT audio out</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
 <emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o STKBandedWG.wav -W ;;; for file output any platform</emphasis>
@@ -12,25 +12,25 @@
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
-ifrq	<emphasis role="op">=</emphasis>	p4
-kblw	<emphasis role="opc">line</emphasis>	p5, p3, p6
-kenv	<emphasis role="opc">line</emphasis>	1, p3, 0
+ifrq <emphasis role="op">=</emphasis>    p4
+kv1  <emphasis role="opc">line</emphasis> p5, p3, p6					<emphasis role="comment">;pressure of bow</emphasis>
+kenv <emphasis role="opc">line</emphasis> 1, p3, 0
 
-asig	STKBandedWG <emphasis role="opc">cpspch</emphasis>(ifrq), 1, 2, p5, 4, 100, 11, 0, 1, 0, 64, 100, 128, 120, 16, 2
-asig	<emphasis role="op">=</emphasis>	asig <emphasis role="op">*</emphasis> kenv				<emphasis role="comment">;envelope</emphasis>
-	<emphasis role="opc">outs</emphasis> asig, asig
+asig <emphasis role="opc">STKBandedWG</emphasis> <emphasis role="opc">cpspch</emphasis>(ifrq), 1, 2, kv1, 4, 100, 11, 0, 1, 0, 64, 100, 128, 120, 16, 2
+asig <emphasis role="op">=</emphasis> asig <emphasis role="op">*</emphasis> kenv					<emphasis role="comment">;simple envelope</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
 <emphasis role="stamnt">i</emphasis> 1 0 10 5.00 100 0
-<emphasis role="stamnt">i</emphasis> 1 2  8 6.03 10 .
-<emphasis role="stamnt">i</emphasis> 1 5  5 7.05 50 127
+<emphasis role="stamnt">i</emphasis> 1 10 8 6.03 10 .
+<emphasis role="stamnt">i</emphasis> 1 20 5 7.05 50 127
 
 <emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
diff --git a/examples-xml/STKBeeThree.csd.xml b/examples-xml/STKBeeThree.csd.xml
index a03569e..810c194 100644
--- a/examples-xml/STKBeeThree.csd.xml
+++ b/examples-xml/STKBeeThree.csd.xml
@@ -2,7 +2,7 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
--odac     <emphasis role="comment">;;;RT audio out</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
 <emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o STKBeeThree.wav -W ;;; for file output any platform</emphasis>
@@ -12,16 +12,16 @@
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
-kfdb	<emphasis role="op">=</emphasis>	p6
-kop3	<emphasis role="opc">line</emphasis>	p4, p3, p5
-kvol	<emphasis role="opc">line</emphasis>	0, p3, 100
+kv1	<emphasis role="op">=</emphasis>	p6					<emphasis role="comment">;feedback of operator 4</emphasis>
+kv2	<emphasis role="opc">line</emphasis>	p4, p3, p5				<emphasis role="comment">;gain of operator 3</emphasis>
+kv5	<emphasis role="opc">line</emphasis>	0, p3, 100
 ipch	<emphasis role="op">=</emphasis>	p7
 
-asig	STKBeeThree	<emphasis role="opc">cpspch</emphasis>(ipch), 1, 2, kfdb, 4, kop3, 11, 50, 1, 0, 128, kvol
+asig	<emphasis role="opc">STKBeeThree</emphasis>	<emphasis role="opc">cpspch</emphasis>(ipch), 1, 2, kv1, 4, kv2, 11, 50, 1, 0, 128, kv5
 	<emphasis role="opc">outs</emphasis>	asig, asig
 <emphasis role="oblock">endin</emphasis>
 
@@ -29,7 +29,7 @@ asig	STKBeeThree	<emphasis role="opc">cpspch</emphasis>(ipch), 1, 2, kfdb, 4, ko
 <emphasis role="csdtag"><CsScore></emphasis>
 
 <emphasis role="stamnt">i</emphasis> 1 0 2 20 100 127 8.00
-<emphasis role="stamnt">i</emphasis> 1 + 3 120 0 0 6.09
+<emphasis role="stamnt">i</emphasis> 1 + 8 120 0 0 6.09
 <emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
diff --git a/examples-xml/STKBlowBotl.csd.xml b/examples-xml/STKBlowBotl.csd.xml
index b740d43..73805b9 100644
--- a/examples-xml/STKBlowBotl.csd.xml
+++ b/examples-xml/STKBlowBotl.csd.xml
@@ -2,7 +2,7 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
--odac     <emphasis role="comment">;;;RT audio out</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
 <emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o STKBlowBotl.wav -W ;;; for file output any platform</emphasis>
@@ -12,16 +12,16 @@
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
 ipch	<emphasis role="op">=</emphasis> p4
-knoise	<emphasis role="opc">line</emphasis> p5, p3, p6					<emphasis role="comment">;noise</emphasis>
-kvol	<emphasis role="opc">line</emphasis>	100, p3, 70				<emphasis role="comment">;volume</emphasis>
+kv1	<emphasis role="opc">line</emphasis> p5, p3, p6					<emphasis role="comment">;gain of noise</emphasis>
+kv4	<emphasis role="opc">line</emphasis>	100, p3, 70				<emphasis role="comment">;volume</emphasis>
 
-asig	STKBlowBotl <emphasis role="opc">cpspch</emphasis>(ipch), 1, 4, knoise, 11, 10, 1, 50, 128, kvol
-asig	<emphasis role="op">=</emphasis>	asig <emphasis role="op">*</emphasis> .7				<emphasis role="comment">;too loud</emphasis>
+asig	<emphasis role="opc">STKBlowBotl</emphasis> <emphasis role="opc">cpspch</emphasis>(ipch), 1, 4, kv1, 11, 10, 1, 50, 128, kv4
+asig	<emphasis role="op">=</emphasis>	asig <emphasis role="op">*</emphasis> .5				<emphasis role="comment">;too loud</emphasis>
 	<emphasis role="opc">outs</emphasis>	asig, asig
 <emphasis role="oblock">endin</emphasis>
 
@@ -29,7 +29,7 @@ asig	<emphasis role="op">=</emphasis>	asig <emphasis role="op">*</emphasis> .7
 <emphasis role="csdtag"><CsScore></emphasis>
 
 <emphasis role="stamnt">i</emphasis> 1 0 2 9.00 20 100
-<emphasis role="stamnt">i</emphasis> 1 + 3 8.03 120 0
+<emphasis role="stamnt">i</emphasis> 1 + 5 8.03 120 0
 <emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
diff --git a/examples-xml/STKBlowHole.csd.xml b/examples-xml/STKBlowHole.csd.xml
index e2de7b3..f662c76 100644
--- a/examples-xml/STKBlowHole.csd.xml
+++ b/examples-xml/STKBlowHole.csd.xml
@@ -2,7 +2,7 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
--odac     <emphasis role="comment">;;;RT audio out</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
 <emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o STKBlowHole.wav -W ;;; for file output any platform</emphasis>
@@ -12,15 +12,15 @@
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1	
 
-ipch	<emphasis role="op">=</emphasis> p4
-kstiff	<emphasis role="op">=</emphasis>	p7
-khole	<emphasis role="opc">line</emphasis>	p5, p3, p6
+ipch	<emphasis role="op">=</emphasis>	p4
+kv1	<emphasis role="op">=</emphasis>	p7						<emphasis role="comment">;stiffness of reed</emphasis>
+kv3	<emphasis role="opc">line</emphasis>	p5, p3, p6					<emphasis role="comment">;state of tonehole</emphasis>
 
-asig	STKBlowHole	<emphasis role="opc">cpspch</emphasis>(ipch), 1, 2, kstiff, 4, 100, 11, khole, 1, 10, 128, 100
+asig	<emphasis role="opc">STKBlowHole</emphasis>	<emphasis role="opc">cpspch</emphasis>(ipch), 1, 2, kv1, 4, 100, 11, kv3, 1, 10, 128, 100
 	<emphasis role="opc">outs</emphasis>	asig, asig
 <emphasis role="oblock">endin</emphasis>
 
@@ -28,7 +28,7 @@ asig	STKBlowHole	<emphasis role="opc">cpspch</emphasis>(ipch), 1, 2, kstiff, 4,
 <emphasis role="csdtag"><CsScore></emphasis>
 
 <emphasis role="stamnt">i</emphasis> 1 0 4 10.00 20 127 100
-<emphasis role="stamnt">i</emphasis> 1 + 3 6.09 120  0  10
+<emphasis role="stamnt">i</emphasis> 1 + 7 6.09 120  0  10
 <emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
diff --git a/examples-xml/STKBowed.csd.xml b/examples-xml/STKBowed.csd.xml
index c260baa..518ea14 100644
--- a/examples-xml/STKBowed.csd.xml
+++ b/examples-xml/STKBowed.csd.xml
@@ -2,7 +2,7 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
--odac     <emphasis role="comment">;;;RT audio out</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
 <emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o STKBowed.wav -W ;;; for file output any platform</emphasis>
@@ -12,27 +12,27 @@
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
 ipch	<emphasis role="op">=</emphasis> p4
-kpos	<emphasis role="op">=</emphasis> p7
-kpres	<emphasis role="opc">line</emphasis>	p5, p3, p6
-kvib	<emphasis role="opc">line</emphasis>	0, p3, 7
+kv2	<emphasis role="op">=</emphasis> p7							<emphasis role="comment">;position on bow</emphasis>
+kv1	<emphasis role="opc">line</emphasis>	p5, p3, p6					<emphasis role="comment">;bow pressure</emphasis>
+kv4	<emphasis role="opc">line</emphasis>	0, p3, 7					<emphasis role="comment">;depth of low-frequency oscillator</emphasis>
 
-asig	STKBowed <emphasis role="opc">cpspch</emphasis>(ipch), 1, 2, kpres, 4, kpos, 11, 40, 1, kvib, 128, 100
-asig	<emphasis role="op">=</emphasis>	asig<emphasis role="op">*</emphasis>4			<emphasis role="comment">;amplify</emphasis>
+asig	<emphasis role="opc">STKBowed</emphasis> <emphasis role="opc">cpspch</emphasis>(ipch), 1, 2, kv1, 4, kv2, 11, 40, 1, kv4, 128, 100
+asig	<emphasis role="op">=</emphasis>	asig<emphasis role="op">*</emphasis>2						<emphasis role="comment">;amplify</emphasis>
 	<emphasis role="opc">outs</emphasis>	asig, asig
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="stamnt">i</emphasis> 1 0 5 6.00 20 100 127
-<emphasis role="stamnt">i</emphasis> 1 + 3 7.00 120 0 0
-<emphasis role="stamnt">i</emphasis> 1 8 3 7.05 120 0 30
-<emphasis role="stamnt">i</emphasis> 1 8 4 7.03  50 0 0
+<emphasis role="stamnt">i</emphasis> 1 0 15 6.00 20 100 115
+<emphasis role="stamnt">i</emphasis> 1 17 3 7.00 120 0  0
+<emphasis role="stamnt">i</emphasis> 1 21 3 7.09 120 0  30
+<emphasis role="stamnt">i</emphasis> 1 21 4 7.03 50  0  0
 <emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
diff --git a/examples-xml/STKBrass.csd.xml b/examples-xml/STKBrass.csd.xml
index 0197555..c6341a0 100644
--- a/examples-xml/STKBrass.csd.xml
+++ b/examples-xml/STKBrass.csd.xml
@@ -2,7 +2,7 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
--odac     <emphasis role="comment">;;;RT audio out</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
 <emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o STKBrass.wav -W ;;; for file output any platform</emphasis>
@@ -12,15 +12,16 @@
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
+
 ifrq	<emphasis role="op">=</emphasis>	p4
-kjet	<emphasis role="opc">line</emphasis>	p5, p3, p6
-ktrl	<emphasis role="opc">line</emphasis>	p7, p3, p8
+kv1	<emphasis role="opc">line</emphasis>	p5, p3, p6					<emphasis role="comment">;lip tension</emphasis>
+kv3	<emphasis role="opc">line</emphasis>	p7, p3, p8					<emphasis role="comment">;speed of low-frequency oscillator</emphasis>
 
-asig	STKBrass <emphasis role="opc">cpspch</emphasis>(ifrq), 1, 2, kjet, 4, 100, 11, ktrl, 1, 10, 128, 50
-asig	<emphasis role="op">=</emphasis>	asig <emphasis role="op">*</emphasis> 3			<emphasis role="comment">;amplify</emphasis>
+asig	<emphasis role="opc">STKBrass</emphasis> <emphasis role="opc">cpspch</emphasis>(ifrq), 1, 2, kv1, 4, 100, 11, kv3, 1, 10, 128, 40
+asig	<emphasis role="op">=</emphasis>	asig <emphasis role="op">*</emphasis>3						<emphasis role="comment">;amplify</emphasis>
 	<emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
diff --git a/examples-xml/STKClarinet.csd.xml b/examples-xml/STKClarinet.csd.xml
index 421fdab..e0a38ea 100644
--- a/examples-xml/STKClarinet.csd.xml
+++ b/examples-xml/STKClarinet.csd.xml
@@ -2,7 +2,7 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
--odac     <emphasis role="comment">;;;RT audio out</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
 <emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o STKclarinet.wav -W ;;; for file output any platform</emphasis>
@@ -12,14 +12,14 @@
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
 ifrq	<emphasis role="op">=</emphasis>	p4
-kpress	<emphasis role="op">=</emphasis>	p5
-kstiff	<emphasis role="opc">line</emphasis>	p6, p3, p7
-asig	STKClarinet <emphasis role="opc">cpspch</emphasis>(p4), 1, 2, kstiff, 4, 100, 11, 60, 1, 10, 128, kpress
+kv5	<emphasis role="op">=</emphasis>	p5						<emphasis role="comment">;breath pressure</emphasis>
+kv1	<emphasis role="opc">line</emphasis>	p6, p3, p7					<emphasis role="comment">;reed stiffness</emphasis>
+asig	<emphasis role="opc">STKClarinet</emphasis> <emphasis role="opc">cpspch</emphasis>(p4), 1, 2, kv1, 4, 100, 11, 60, 1, 10, 128, kv5
 	<emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
diff --git a/examples-xml/STKDrummer.csd.xml b/examples-xml/STKDrummer.csd.xml
index 2d70899..044c7be 100644
--- a/examples-xml/STKDrummer.csd.xml
+++ b/examples-xml/STKDrummer.csd.xml
@@ -2,7 +2,7 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
--odac      -M0  <emphasis role="comment">;;;RT audio out and midi in</emphasis>
+-odac      -M0  <emphasis role="comment">;;;realtime audio out and midi in</emphasis>
 <emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o STKDrummer.wav -W ;;; for file output any platform</emphasis>
@@ -12,13 +12,13 @@
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;STK Drummer - has no controllers but plays samples</emphasis>
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;STK Drummer - has no controllers but plays samples (11)</emphasis>
 
 icps	<emphasis role="opc">cpsmidi</emphasis>
 iamp	<emphasis role="opc">ampmidi</emphasis>	1
-asig	STKDrummer icps, iamp
+asig	<emphasis role="opc">STKDrummer</emphasis> icps, iamp
 	<emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
diff --git a/examples-xml/STKFMVoices.csd.xml b/examples-xml/STKFMVoices.csd.xml
index a46c453..07c6525 100644
--- a/examples-xml/STKFMVoices.csd.xml
+++ b/examples-xml/STKFMVoices.csd.xml
@@ -2,7 +2,7 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
--odac     <emphasis role="comment">;;;RT audio out</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
 <emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o STKFMVoices.wav -W ;;; for file output any platform</emphasis>
@@ -12,16 +12,16 @@
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
 ifrq	<emphasis role="op">=</emphasis>	p4
-kjet	<emphasis role="opc">line</emphasis>	p5, p3, p6			<emphasis role="comment">;vowel</emphasis>
-ktlt	<emphasis role="opc">line</emphasis>	p7, p3, p8			<emphasis role="comment">;specral tilt</emphasis>
+kv1	<emphasis role="opc">line</emphasis>	p5, p3, p6					<emphasis role="comment">;vowel</emphasis>
+kv2	<emphasis role="opc">line</emphasis>	p7, p3, p8					<emphasis role="comment">;specral tilt</emphasis>
 
-asig	STKFMVoices <emphasis role="opc">cpspch</emphasis>(ifrq), 1, 2, kjet, 4, ktlt, 11, 10, 1, 10, 128, 50
-asig	<emphasis role="op">=</emphasis>	asig <emphasis role="op">*</emphasis> 4		<emphasis role="comment">;amplify</emphasis>
+asig	<emphasis role="opc">STKFMVoices</emphasis> <emphasis role="opc">cpspch</emphasis>(ifrq), 1, 2, kv1, 4, kv2, 11, 10, 1, 10, 128, 50
+asig	<emphasis role="op">=</emphasis>	asig <emphasis role="op">*</emphasis> 4					<emphasis role="comment">;amplify</emphasis>
 	<emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
diff --git a/examples-xml/STKFlute.csd.xml b/examples-xml/STKFlute.csd.xml
index 2188796..9e747a8 100644
--- a/examples-xml/STKFlute.csd.xml
+++ b/examples-xml/STKFlute.csd.xml
@@ -2,7 +2,7 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
--odac     <emphasis role="comment">;;;RT audio out</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
 <emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o STKFlute.wav -W ;;; for file output any platform</emphasis>
@@ -12,22 +12,22 @@
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
 ifrq	<emphasis role="op">=</emphasis>	p4
-kjet	<emphasis role="opc">line</emphasis>	p5, p3, p6				<emphasis role="comment">;jet delay</emphasis>
-kvib	<emphasis role="opc">line</emphasis>	0, p3, 100				<emphasis role="comment">;vibrato depth</emphasis>
+kv1	<emphasis role="opc">line</emphasis>	p5, p3, p6				<emphasis role="comment">;jet delay</emphasis>
+kv4	<emphasis role="opc">line</emphasis>	0, p3, 100				<emphasis role="comment">;vibrato depth</emphasis>
 
-asig	STKFlute <emphasis role="opc">cpspch</emphasis>(ifrq), 1, 2, kjet, 4, 100, 11, 100, 1, kvib, 128, 100
+asig	<emphasis role="opc">STKFlute</emphasis> <emphasis role="opc">cpspch</emphasis>(ifrq), 1, 2, kv1, 4, 100, 11, 100, 1, kv4, 128, 100
 	<emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2 8.00 0 0
-<emphasis role="stamnt">i</emphasis> 1 3 3 9.00 20 120 
+<emphasis role="stamnt">i</emphasis> 1 0 5 8.00 0 0
+<emphasis role="stamnt">i</emphasis> 1 7 3 9.00 20 120 
 <emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
diff --git a/examples-xml/STKHevyMetl.csd.xml b/examples-xml/STKHevyMetl.csd.xml
index af2ce83..1ef0000 100644
--- a/examples-xml/STKHevyMetl.csd.xml
+++ b/examples-xml/STKHevyMetl.csd.xml
@@ -2,7 +2,7 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
--odac     <emphasis role="comment">;;;RT audio out</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
 <emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o STKHevyMetl.wav -W ;;; for file output any platform</emphasis>
@@ -12,15 +12,15 @@
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
 ifrq	<emphasis role="op">=</emphasis>	p4
-kndx	<emphasis role="opc">line</emphasis>	p5, p3, p6				<emphasis role="comment">;Total Modulator Index</emphasis>
-kfad	<emphasis role="opc">line</emphasis>	p7, p3, 0				<emphasis role="comment">;Modulator Crossfade</emphasis>
+kv1	<emphasis role="opc">line</emphasis>	p5, p3, p6				<emphasis role="comment">;Total Modulator Index</emphasis>
+kv2	<emphasis role="opc">line</emphasis>	p7, p3, 0				<emphasis role="comment">;Modulator Crossfade</emphasis>
 
-asig	STKHevyMetl <emphasis role="opc">cpspch</emphasis>(ifrq), 1, 2, kndx, 4, kfad, 11, 0, 1, 100, 128, 40
+asig	<emphasis role="opc">STKHevyMetl</emphasis> <emphasis role="opc">cpspch</emphasis>(ifrq), 1, 2, kv1, 4, kv2, 11, 0, 1, 100, 128, 40
 	<emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
diff --git a/examples-xml/STKMandolin.csd.xml b/examples-xml/STKMandolin.csd.xml
index 6d4c160..6c19726 100644
--- a/examples-xml/STKMandolin.csd.xml
+++ b/examples-xml/STKMandolin.csd.xml
@@ -2,7 +2,7 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
--odac     <emphasis role="comment">;;;RT audio out</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
 <emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o STKMandolin.wav -W ;;; for file output any platform</emphasis>
@@ -12,15 +12,15 @@
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
 ifrq	<emphasis role="op">=</emphasis>	p4
-kbody	<emphasis role="opc">line</emphasis>	p5, p3, p6			<emphasis role="comment">;body size</emphasis>
-ksus	<emphasis role="op">=</emphasis>	p7				<emphasis role="comment">;sustain</emphasis>
+kv1	<emphasis role="opc">line</emphasis>	p5, p3, p6			<emphasis role="comment">;body size</emphasis>
+kv3	<emphasis role="op">=</emphasis>	p7				<emphasis role="comment">;sustain</emphasis>
 
-asig	STKMandolin <emphasis role="opc">cpspch</emphasis>(ifrq), 1, 2, kbody, 4, 10, 11, ksus, 1, 100, 128, 100
+asig	<emphasis role="opc">STKMandolin</emphasis> <emphasis role="opc">cpspch</emphasis>(ifrq), 1, 2, kv1, 4, 10, 11, kv3, 1, 100, 128, 100
 	<emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
diff --git a/examples-xml/STKModalBar.csd.xml b/examples-xml/STKModalBar.csd.xml
index 9182b16..c3bf893 100644
--- a/examples-xml/STKModalBar.csd.xml
+++ b/examples-xml/STKModalBar.csd.xml
@@ -12,15 +12,15 @@
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
 ifrq	<emphasis role="op">=</emphasis>	p4
-khard	<emphasis role="op">=</emphasis>	p5					<emphasis role="comment">;stick hardness					;</emphasis>
+kv1	<emphasis role="op">=</emphasis>	p5					<emphasis role="comment">;stick hardness					;</emphasis>
 
-asig	STKModalBar <emphasis role="opc">cpspch</emphasis>(ifrq), 1, 2, khard, 4, 120, 11, 0, 1, 0, 8, 10, 16, 1
-asig	<emphasis role="op">=</emphasis>	asig <emphasis role="op">*</emphasis> 3		<emphasis role="comment">;amplify</emphasis>
+asig	<emphasis role="opc">STKModalBar</emphasis> <emphasis role="opc">cpspch</emphasis>(ifrq), 1, 2, kv1, 4, 120, 11, 0, 1, 0, 8, 10, 16, 1
+asig	<emphasis role="op">=</emphasis>	asig <emphasis role="op">*</emphasis> 3				<emphasis role="comment">;amplify</emphasis>
 	<emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
diff --git a/examples-xml/STKMoog.csd.xml b/examples-xml/STKMoog.csd.xml
index f076e72..62c6d68 100644
--- a/examples-xml/STKMoog.csd.xml
+++ b/examples-xml/STKMoog.csd.xml
@@ -2,7 +2,7 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
--odac     <emphasis role="comment">;;;RT audio out</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
 <emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o STKMoog.wav -W ;;; for file output any platform</emphasis>
@@ -12,14 +12,14 @@
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
 ifrq	<emphasis role="op">=</emphasis>	p4
-kfil	<emphasis role="opc">line</emphasis>	p5, p3, p6				<emphasis role="comment">;filter Q</emphasis>
+kv1	<emphasis role="opc">line</emphasis>	p5, p3, p6				<emphasis role="comment">;filter Q</emphasis>
 
-asig	STKMoog <emphasis role="opc">cpspch</emphasis>(ifrq), 1, 2,kfil, 4, 120, 11, 40, 1, 1, 128, 120
+asig	<emphasis role="opc">STKMoog</emphasis> <emphasis role="opc">cpspch</emphasis>(ifrq), 1, 2,kv1, 4, 120, 11, 40, 1, 1, 128, 120
 asig	<emphasis role="op">=</emphasis>	asig <emphasis role="op">*</emphasis> .3				<emphasis role="comment">;too loud</emphasis>
 	<emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
diff --git a/examples-xml/STKPercFlut.csd.xml b/examples-xml/STKPercFlut.csd.xml
index e936452..b53217f 100644
--- a/examples-xml/STKPercFlut.csd.xml
+++ b/examples-xml/STKPercFlut.csd.xml
@@ -2,7 +2,7 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
--odac     <emphasis role="comment">;;;RT audio out</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
 <emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o STKPercFlut.wav -W ;;; for file output any platform</emphasis>
@@ -12,15 +12,15 @@
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
 ifrq	<emphasis role="op">=</emphasis>	p4
-kndx	<emphasis role="opc">line</emphasis>	p5, p3, p6				<emphasis role="comment">;Total Modulator Index</emphasis>
-kfad	<emphasis role="opc">line</emphasis>	p7, p3, 0				<emphasis role="comment">;Modulator Crossfade</emphasis>
+kv1	<emphasis role="opc">line</emphasis>	p5, p3, p6				<emphasis role="comment">;Total Modulator Index</emphasis>
+kv2	<emphasis role="opc">line</emphasis>	p7, p3, 0				<emphasis role="comment">;Modulator Crossfade</emphasis>
 
-asig	STKPercFlut <emphasis role="opc">cpspch</emphasis>(ifrq), 1, 2, kndx, 4, kfad, 11, 0, 1, 100, 128, 40
+asig	<emphasis role="opc">STKPercFlut</emphasis> <emphasis role="opc">cpspch</emphasis>(ifrq), 1, 2, kv1, 4, kv2, 11, 0, 1, 100, 128, 40
 	<emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
diff --git a/examples-xml/STKPlucked.csd.xml b/examples-xml/STKPlucked.csd.xml
index fa77c3f..bd5c84d 100644
--- a/examples-xml/STKPlucked.csd.xml
+++ b/examples-xml/STKPlucked.csd.xml
@@ -2,7 +2,7 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
--odac     <emphasis role="comment">;;;RT audio out</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
 <emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o STKPlucked.wav -W ;;; for file output any platform</emphasis>
@@ -12,13 +12,13 @@
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1  <emphasis role="comment">;STKPlucked - has no controllers</emphasis>
 
 ifrq	<emphasis role="op">=</emphasis>	p4
 
-asig	STKPlucked <emphasis role="opc">cpspch</emphasis>(ifrq), 1
+asig	<emphasis role="opc">STKPlucked</emphasis> <emphasis role="opc">cpspch</emphasis>(ifrq), 1
 	<emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
diff --git a/examples-xml/STKResonate.csd.xml b/examples-xml/STKResonate.csd.xml
index 1085cd8..d6c8a6f 100644
--- a/examples-xml/STKResonate.csd.xml
+++ b/examples-xml/STKResonate.csd.xml
@@ -2,7 +2,7 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
--odac     <emphasis role="comment">;;;RT audio out</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
 <emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o STKResonate.wav -W ;;; for file output any platform</emphasis>
@@ -12,15 +12,15 @@
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">; frequency of STKResonate has no effect on sound</emphasis>
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">; frequency and amplitude of STKResonate have no effect</emphasis>
 
-kpol	<emphasis role="op">=</emphasis>	p4				<emphasis role="comment">;pole radii</emphasis>
-kfrq	<emphasis role="opc">line</emphasis>	100, p3, 0			<emphasis role="comment">;resonance freq + notch freq</emphasis>
-
-asig	STKResonate 1, 1, 2, kfrq, 4, kpol, 1, 10, 11, kfrq, 128, 127
-asig	<emphasis role="op">=</emphasis>	asig <emphasis role="op">*</emphasis> .7			<emphasis role="comment">;too loud</emphasis>
+kv2	<emphasis role="op">=</emphasis>	p4				<emphasis role="comment">;pole radii</emphasis>
+kv1	<emphasis role="opc">line</emphasis>	100, p3, 0			<emphasis role="comment">;resonance freq + notch freq</emphasis>
+kv3	<emphasis role="op">=</emphasis>	kv1
+asig	<emphasis role="opc">STKResonate</emphasis> 1, 1, 2, kv1, 4, kv2, 1, 10, 11, kv3, 128, 100
+asig	<emphasis role="op">=</emphasis>	asig <emphasis role="op">*</emphasis> .3			<emphasis role="comment">;too loud</emphasis>
 	<emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
diff --git a/examples-xml/STKRhodey.csd.xml b/examples-xml/STKRhodey.csd.xml
index 4b6d5a6..e268423 100644
--- a/examples-xml/STKRhodey.csd.xml
+++ b/examples-xml/STKRhodey.csd.xml
@@ -2,34 +2,34 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
--odac     <emphasis role="comment">;;;RT audio out</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
 <emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o STKWurley.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">; -o STKRhodey.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
 ifrq	<emphasis role="op">=</emphasis>	p4
-kndx	<emphasis role="opc">line</emphasis>	p5, p3, p6				<emphasis role="comment">;(FM) Modulator Index One</emphasis>
-
-asig	STKRhodey <emphasis role="opc">cpspch</emphasis>(p4), 1, 2, kndx, 4, 10, 11, 100, 1, 3, 128, 75
+kv1	<emphasis role="opc">line</emphasis>	p5, p3, p6				<emphasis role="comment">;(FM) Modulator Index One</emphasis>
+kv5	<emphasis role="op">=</emphasis>	p7					<emphasis role="comment">;ADSR 2 and 4 target</emphasis>
+asig	<emphasis role="opc">STKRhodey</emphasis> <emphasis role="opc">cpspch</emphasis>(p4), 1, 2, kv1, 4, 10, 11, 100, 1, 3, 128, kv5
 	<emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="stamnt">i</emphasis> 1 0 .5 7.00 75  0  20
-<emphasis role="stamnt">i</emphasis> 1 + .  8.00 120 0  20
-<emphasis role="stamnt">i</emphasis> 1 + 1  6.00 50 120 20
-<emphasis role="stamnt">i</emphasis> 1 + 4  8.00 10 10  127
+<emphasis role="stamnt">i</emphasis> 1 0 .5 7.00 75  0    0
+<emphasis role="stamnt">i</emphasis> 1 + .  8.00 120 0    120
+<emphasis role="stamnt">i</emphasis> 1 + 1  6.00 50  120  50
+<emphasis role="stamnt">i</emphasis> 1 + 4  8.00 10  120  100
 <emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
diff --git a/examples-xml/STKSaxofony.csd.xml b/examples-xml/STKSaxofony.csd.xml
index ca2b81e..1b4974e 100644
--- a/examples-xml/STKSaxofony.csd.xml
+++ b/examples-xml/STKSaxofony.csd.xml
@@ -2,7 +2,7 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
--odac     <emphasis role="comment">;;;RT audio out</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
 <emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o STKSaxofony.wav -W ;;; for file output any platform</emphasis>
@@ -12,16 +12,16 @@
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
 ifreq	<emphasis role="op">=</emphasis>	p4
-kstiff	<emphasis role="op">=</emphasis>	p5					<emphasis role="comment">;reed stiffness</emphasis>
-kblw	<emphasis role="opc">line</emphasis>	p6, p3, p7				<emphasis role="comment">;blow position</emphasis>
-kvib	<emphasis role="opc">line</emphasis>	0, p3, 127				<emphasis role="comment">;vibrato speed</emphasis>
+kv1	<emphasis role="op">=</emphasis>	p5					<emphasis role="comment">;reed stiffness</emphasis>
+kv3	<emphasis role="opc">line</emphasis>	p6, p3, p7				<emphasis role="comment">;blow position</emphasis>
+kv6	<emphasis role="opc">line</emphasis>	0, p3, 127				<emphasis role="comment">;depth of low-frequency oscillator</emphasis>
 
-asig	STKSaxofony <emphasis role="opc">cpspch</emphasis>(p4), 1, 2, kstiff, 4, 100, 26, 70, 11, kblw, 1, kvib, 29, 100
+asig	<emphasis role="opc">STKSaxofony</emphasis> <emphasis role="opc">cpspch</emphasis>(p4), 1, 2, kv1, 4, 100, 26, 70, 11, kv3, 1, kv6, 29, 100
 asig	<emphasis role="op">=</emphasis>	asig <emphasis role="op">*</emphasis> .5				<emphasis role="comment">;too loud</emphasis>
 	<emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
diff --git a/examples-xml/STKShakers.csd.xml b/examples-xml/STKShakers.csd.xml
index 9b7c87b..cf226b6 100644
--- a/examples-xml/STKShakers.csd.xml
+++ b/examples-xml/STKShakers.csd.xml
@@ -2,7 +2,7 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
--odac     <emphasis role="comment">;;;RT audio out</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
 <emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o STKShakers.wav -W ;;; for file output any platform</emphasis>
@@ -12,14 +12,14 @@
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
 ifrq	<emphasis role="op">=</emphasis>	p4
 
-asig	STKShakers <emphasis role="opc">cpspch</emphasis>(p4), 1, 2, 10, 4, 10, 11, 10, 1, 112, 128, 80, 1071, 5
-asig	<emphasis role="op">=</emphasis>	asig				<emphasis role="comment">;amplify</emphasis>
+asig	<emphasis role="opc">STKShakers</emphasis> <emphasis role="opc">cpspch</emphasis>(p4), 1, 2, 10, 4, 10, 11, 10, 1, 112, 128, 80, 1071, 5
+asig	<emphasis role="op">=</emphasis>	asig <emphasis role="op">*</emphasis>2				<emphasis role="comment">;amplify</emphasis>
 	<emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
diff --git a/examples-xml/STKSimple.csd.xml b/examples-xml/STKSimple.csd.xml
index 4bae02a..0648080 100644
--- a/examples-xml/STKSimple.csd.xml
+++ b/examples-xml/STKSimple.csd.xml
@@ -2,7 +2,7 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
--odac     <emphasis role="comment">;;;RT audio out</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
 <emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o STKSimple.wav -W ;;; for file output any platform</emphasis>
@@ -12,25 +12,25 @@
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
 ifrq	<emphasis role="op">=</emphasis>	p4
-kfil	<emphasis role="opc">line</emphasis>	p5, p3, p6				<emphasis role="comment">;Filter Pole Position</emphasis>
-knois	<emphasis role="opc">line</emphasis>	20, p3, 90				<emphasis role="comment">;Noise/Pitched Cross-Fade</emphasis>
+kv1	<emphasis role="opc">line</emphasis>	p5, p3, p6				<emphasis role="comment">;Filter Pole Position</emphasis>
+kv2	<emphasis role="opc">line</emphasis>	20, p3, 90				<emphasis role="comment">;Noise/Pitched Cross-Fade</emphasis>
 
-asig	STKSimple <emphasis role="opc">cpspch</emphasis>(p4), 1, 2, kfil, 4, knois, 11, 100, 128, 120
+asig	<emphasis role="opc">STKSimple</emphasis> <emphasis role="opc">cpspch</emphasis>(p4), 1, 2, kv1, 4, kv2, 11, 10, 128, 120
 	<emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="stamnt">i</emphasis> 1 0 .5 7.00 100 0 120
-<emphasis role="stamnt">i</emphasis> 1 + .  7.05 10 127 220
-<emphasis role="stamnt">i</emphasis> 1 + .  8.03 100 0 320
-<emphasis role="stamnt">i</emphasis> 1 + 5  5.00 10 10 127
+<emphasis role="stamnt">i</emphasis> 1 0 5 7.00 100 0
+<emphasis role="stamnt">i</emphasis> 1 + .  7.05 10 127
+<emphasis role="stamnt">i</emphasis> 1 + .  8.03 100 0
+<emphasis role="stamnt">i</emphasis> 1 + .  5.00 10 10
 <emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
diff --git a/examples-xml/STKSitar.csd.xml b/examples-xml/STKSitar.csd.xml
index 2e6ff73..e7ff635 100644
--- a/examples-xml/STKSitar.csd.xml
+++ b/examples-xml/STKSitar.csd.xml
@@ -2,7 +2,7 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
--odac     <emphasis role="comment">;;;RT audio out</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
 <emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o STKSitar.wav -W ;;; for file output any platform</emphasis>
@@ -12,14 +12,14 @@
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1  <emphasis role="comment">;STKSitar - has no controllers</emphasis>
 
 ifrq	<emphasis role="op">=</emphasis>	p4
 
-asig	STKSitar <emphasis role="opc">cpspch</emphasis>(p4), 1
-asig	<emphasis role="op">=</emphasis>	asig <emphasis role="op">*</emphasis> 3			<emphasis role="comment">;amplify</emphasis>
+asig	<emphasis role="opc">STKSitar</emphasis> <emphasis role="opc">cpspch</emphasis>(p4), 1
+asig	<emphasis role="op">=</emphasis>	asig <emphasis role="op">*</emphasis> 2			<emphasis role="comment">;amplify</emphasis>
 	<emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
@@ -28,7 +28,7 @@ asig	<emphasis role="op">=</emphasis>	asig <emphasis role="op">*</emphasis> 3
 
 <emphasis role="stamnt">i</emphasis> 1 0 4 6.00 
 <emphasis role="stamnt">i</emphasis> 1 + 2 7.05
-<emphasis role="stamnt">i</emphasis> 1 + 4 5.05
+<emphasis role="stamnt">i</emphasis> 1 + 7 5.05
 <emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
diff --git a/examples-xml/STKStifKarp.csd.xml b/examples-xml/STKStifKarp.csd.xml
index fe303ea..f7f1dcb 100644
--- a/examples-xml/STKStifKarp.csd.xml
+++ b/examples-xml/STKStifKarp.csd.xml
@@ -2,7 +2,7 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
--odac     <emphasis role="comment">;;;RT audio out</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
 <emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o STKStifKarp.wav -W ;;; for file output any platform</emphasis>
@@ -12,15 +12,15 @@
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
 ifrq	<emphasis role="op">=</emphasis>	p4
-kpos	<emphasis role="opc">line</emphasis>	p6, p3, p7				<emphasis role="comment">;Pickup Position</emphasis>
-ksus	<emphasis role="op">=</emphasis>	p5					<emphasis role="comment">;String Sustain</emphasis>
+kv1	<emphasis role="opc">line</emphasis>	p6, p3, p7				<emphasis role="comment">;Pickup Position</emphasis>
+kv2	<emphasis role="op">=</emphasis>	p5					<emphasis role="comment">;String Sustain</emphasis>
 
-asig	STKStifKarp <emphasis role="opc">cpspch</emphasis>(p4), 1, 4, kpos, 11, ksus, 1, 10
+asig	<emphasis role="opc">STKStifKarp</emphasis> <emphasis role="opc">cpspch</emphasis>(p4), 1, 4, kv1, 11, kv2, 1, 10
 	<emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
diff --git a/examples-xml/STKTubeBell.csd.xml b/examples-xml/STKTubeBell.csd.xml
index c21f759..2ae374e 100644
--- a/examples-xml/STKTubeBell.csd.xml
+++ b/examples-xml/STKTubeBell.csd.xml
@@ -2,7 +2,7 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
--odac     <emphasis role="comment">;;;RT audio out</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
 <emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o STKTubeBell.wav -W ;;; for file output any platform</emphasis>
@@ -12,15 +12,15 @@
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
 ifrq	<emphasis role="op">=</emphasis>	p4
-kfad	<emphasis role="opc">line</emphasis>	p6, p3, p7				<emphasis role="comment">;Crossfade of Outputs</emphasis>
-kindx	<emphasis role="op">=</emphasis>	p5					<emphasis role="comment">;(FM) Modulator Index One</emphasis>
+kv2	<emphasis role="opc">line</emphasis>	p6, p3, p7				<emphasis role="comment">;Crossfade of Outputs</emphasis>
+kv1	<emphasis role="op">=</emphasis>	p5					<emphasis role="comment">;(FM) Modulator Index One</emphasis>
 
-asig	STKTubeBell <emphasis role="opc">cpspch</emphasis>(p4), 1, 2, kindx, 4, kfad, 11, 10, 1, 70, 128,50
+asig	<emphasis role="opc">STKTubeBell</emphasis> <emphasis role="opc">cpspch</emphasis>(p4), 1, 2, kv1, 4, kv2, 11, 10, 1, 70, 128,50
 	<emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
diff --git a/examples-xml/STKVoicForm.csd.xml b/examples-xml/STKVoicForm.csd.xml
index dd98754..2b9982e 100644
--- a/examples-xml/STKVoicForm.csd.xml
+++ b/examples-xml/STKVoicForm.csd.xml
@@ -2,7 +2,7 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
--odac     <emphasis role="comment">;;;RT audio out</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
 <emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o STKVoicForm.wav -W ;;; for file output any platform</emphasis>
@@ -12,14 +12,14 @@
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
 ifrq	<emphasis role="op">=</emphasis>	p4
-ksel	<emphasis role="opc">line</emphasis>	p5, p3, p6				<emphasis role="comment">;Vowel/Phoneme Selection</emphasis>
+kv2	<emphasis role="opc">line</emphasis>	p5, p3, p6				<emphasis role="comment">;Vowel/Phoneme Selection</emphasis>
 
-asig	STKVoicForm <emphasis role="opc">cpspch</emphasis>(p4), 1, 2, 1, 4, ksel, 128, 100, 1, 10, 11, 100
+asig	<emphasis role="opc">STKVoicForm</emphasis> <emphasis role="opc">cpspch</emphasis>(p4), 1, 2, 1, 4, kv2, 128, 100, 1, 10, 11, 100
 asig	<emphasis role="op">=</emphasis>	asig <emphasis role="op">*</emphasis> .5				<emphasis role="comment">;too loud</emphasis>
 	<emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
diff --git a/examples-xml/STKWhistle.csd.xml b/examples-xml/STKWhistle.csd.xml
index 85b25ce..3d6b866 100644
--- a/examples-xml/STKWhistle.csd.xml
+++ b/examples-xml/STKWhistle.csd.xml
@@ -2,7 +2,7 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
--odac     <emphasis role="comment">;;;RT audio out</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
 <emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o STKWhistle.wav -W ;;; for file output any platform</emphasis>
@@ -12,15 +12,15 @@
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
 ifrq	<emphasis role="op">=</emphasis>	p4
-kblw	<emphasis role="opc">line</emphasis>	p5, p3, p6				<emphasis role="comment">;Blowing Frequency Modulation</emphasis>
-kflp	<emphasis role="op">=</emphasis>	p7					<emphasis role="comment">;Fipple Modulation Frequency</emphasis>
+kv1	<emphasis role="opc">line</emphasis>	p5, p3, p6				<emphasis role="comment">;Blowing Frequency Modulation</emphasis>
+kv3	<emphasis role="op">=</emphasis>	p7					<emphasis role="comment">;Fipple Modulation Frequency</emphasis>
 
-asig	STKWhistle <emphasis role="opc">cpspch</emphasis>(p4), 1, 4, 20, 11, kflp, 1, 100, 2, kblw, 128, 127
+asig	<emphasis role="opc">STKWhistle</emphasis> <emphasis role="opc">cpspch</emphasis>(p4), 1, 4, 20, 11, kv3, 1, 100, 2, kv1, 128, 127
 asig	<emphasis role="op">=</emphasis>	asig<emphasis role="op">*</emphasis>.7				<emphasis role="comment">;too loud</emphasis>
 	<emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
diff --git a/examples-xml/STKWurley.csd.xml b/examples-xml/STKWurley.csd.xml
index e993c1d..8324c48 100644
--- a/examples-xml/STKWurley.csd.xml
+++ b/examples-xml/STKWurley.csd.xml
@@ -2,7 +2,7 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
--odac     <emphasis role="comment">;;;RT audio out</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
 <emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o STKWurley.wav -W ;;; for file output any platform</emphasis>
@@ -12,15 +12,15 @@
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
 ifrq	<emphasis role="op">=</emphasis>	p4
-kndx	<emphasis role="opc">line</emphasis>	p5, p3, p6				<emphasis role="comment">;(FM) Modulator Index One</emphasis>
-kspd	<emphasis role="op">=</emphasis>	p7
+kv1	<emphasis role="opc">line</emphasis>	p5, p3, p6				<emphasis role="comment">;(FM) Modulator Index One</emphasis>
+kv3	<emphasis role="op">=</emphasis>	p7
 
-asig	STKWurley <emphasis role="opc">cpspch</emphasis>(p4), 1, 2,kndx, 4, 10, 11, kspd, 1, 30, 128, 75
+asig	<emphasis role="opc">STKWurley</emphasis> <emphasis role="opc">cpspch</emphasis>(p4), 1, 2,kv1, 4, 10, 11, kv3, 1, 30, 128, 75
 	<emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
diff --git a/examples-xml/a.csd.xml b/examples-xml/a.csd.xml
new file mode 100644
index 0000000..61788a1
--- /dev/null
+++ b/examples-xml/a.csd.xml
@@ -0,0 +1,43 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o a.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+aenv <emphasis role="opc">expseg</emphasis> .01, p3<emphasis role="op">*</emphasis>0.25, 1, p3<emphasis role="op">*</emphasis>0.75, 0.01
+asig <emphasis role="opc">poscil3</emphasis> .8<emphasis role="op">*</emphasis>aenv, p4, 1
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 16384 10 1 <emphasis role="comment">;sine wave</emphasis>
+<emphasis role="comment">;two sections</emphasis>
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">a</emphasis> 0 0 6		<emphasis role="comment">;advance score 6 seconds</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 2 110	<emphasis role="comment">;these first 2 notes</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 3 2 220	<emphasis role="comment">;will not sound</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 6 2 440
+<emphasis role="stamnt">i</emphasis> 1 9 2 880
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">a</emphasis> 0 3 6		<emphasis role="comment">;advance score 6 seconds, but do this after 3 seconds</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 2 110	<emphasis role="comment">;this will sound, because action time (p2) from a statement = 3</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 3 2 220	<emphasis role="comment">;so these 2 notes</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 6 2 440	<emphasis role="comment">;will not sound</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 9 2 880	<emphasis role="comment">;and this one will</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/alpass.csd.xml b/examples-xml/alpass.csd.xml
index f060416..808d290 100644
--- a/examples-xml/alpass.csd.xml
+++ b/examples-xml/alpass.csd.xml
@@ -10,7 +10,7 @@
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 100
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 <emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
 
@@ -18,8 +18,8 @@ gamix <emphasis role="opc">init</emphasis> 0
 
 <emphasis role="oblock">instr</emphasis> 1 
 
-kcps    <emphasis role="opc">expon</emphasis> p4, p3, p5
-asig	<emphasis role="opc">vco2</emphasis>  0.6, kcps
+acps    <emphasis role="opc">expon</emphasis> p4, p3, p5
+asig	<emphasis role="opc">vco</emphasis>  0.6, acps, 1
 	<emphasis role="opc">outs</emphasis>  asig, asig 
 
 gamix <emphasis role="op">=</emphasis> gamix <emphasis role="op">+</emphasis> asig 
@@ -28,10 +28,11 @@ gamix <emphasis role="op">=</emphasis> gamix <emphasis role="op">+</emphasis> as
 
 <emphasis role="oblock">instr</emphasis> 99 
 
-krvt <emphasis role="op">=</emphasis>  3.5
+arvt1 <emphasis role="opc">line</emphasis> 3.5<emphasis role="op">*</emphasis>1.5, p3, 6
+arvt2 <emphasis role="opc">line</emphasis> 3.5, p3, 4
 ilpt <emphasis role="op">=</emphasis>  0.1
-aleft	<emphasis role="opc">alpass</emphasis> gamix, krvt<emphasis role="op">*</emphasis>1.5, ilpt
-aright	<emphasis role="opc">alpass</emphasis> gamix, krvt, ilpt<emphasis role="op">*</emphasis>2
+aleft	<emphasis role="opc">alpass</emphasis> gamix, arvt1, ilpt
+aright	<emphasis role="opc">alpass</emphasis> gamix, arvt2, ilpt<emphasis role="op">*</emphasis>2
 	<emphasis role="opc">outs</emphasis>   aleft, aright
 
 gamix <emphasis role="op">=</emphasis> 0	<emphasis role="comment">; clear mixer</emphasis>
@@ -40,7 +41,7 @@ gamix <emphasis role="op">=</emphasis> 0	<emphasis role="comment">; clear mixer<
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
+<emphasis role="stamnt">f</emphasis>1 0 4096 10 1
 <emphasis role="stamnt">i</emphasis> 1 0 3 20 2000
 
 <emphasis role="stamnt">i</emphasis> 99 0 8
diff --git a/examples-xml/array.csd.xml b/examples-xml/array.csd.xml
new file mode 100644
index 0000000..ea46d7c
--- /dev/null
+++ b/examples-xml/array.csd.xml
@@ -0,0 +1,28 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-n
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+  kS[] <emphasis role="op">=</emphasis> <emphasis role="opc">array</emphasis>(1,7,5)
+       <emphasis role="opc">printk2</emphasis> kS[0]
+       <emphasis role="opc">printk2</emphasis> kS[1]
+       <emphasis role="opc">printk2</emphasis> kS[2]
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 0
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/array_array_math.csd.xml b/examples-xml/array_array_math.csd.xml
new file mode 100644
index 0000000..16dd77c
--- /dev/null
+++ b/examples-xml/array_array_math.csd.xml
@@ -0,0 +1,82 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+-n -m128
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 1
+
+<emphasis role="comment">;create array and fill with numbers 1..10 resp .1..1</emphasis>
+kArr1[] <emphasis role="opc">fillarray</emphasis> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
+kArr2[] <emphasis role="opc">fillarray</emphasis> 1, 2, 3, 5, 8, 13, 21, 34, 55, 89
+
+<emphasis role="comment">;print contents</emphasis>
+        <emphasis role="opc">printf</emphasis>  "<emphasis role="op">%</emphasis>s", 1, "\nkArr1<emphasis role="op">:</emphasis>\n"
+kndx    <emphasis role="op">=</emphasis>       0
+  until kndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(kArr1) do
+        <emphasis role="opc">printf</emphasis>  "kArr1[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kndx<emphasis role="op">+</emphasis>1, kndx, kArr1[kndx]
+kndx    <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>      1
+  od
+        <emphasis role="opc">printf</emphasis>  "<emphasis role="op">%</emphasis>s", 1, "\nkArr2<emphasis role="op">:</emphasis>\n"
+kndx    <emphasis role="op">=</emphasis>       0
+  until kndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(kArr2) do
+        <emphasis role="opc">printf</emphasis>  "kArr2[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kndx<emphasis role="op">+</emphasis>1, kndx, kArr2[kndx]
+kndx    <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>      1
+  od
+
+<emphasis role="comment">;add arrays</emphasis>
+kArr3[] <emphasis role="op">=</emphasis>       kArr1 <emphasis role="op">+</emphasis> kArr2
+
+<emphasis role="comment">;print content</emphasis>
+        <emphasis role="opc">printf</emphasis>  "<emphasis role="op">%</emphasis>s", 1, "\nkArr1 <emphasis role="op">+</emphasis> kArr2<emphasis role="op">:</emphasis>\n"
+kndx    <emphasis role="op">=</emphasis>       0
+  until kndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(kArr3) do
+        <emphasis role="opc">printf</emphasis>  "kArr3[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kndx<emphasis role="op">+</emphasis>1, kndx, kArr3[kndx]
+kndx    <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>      1
+  od
+
+<emphasis role="comment">;subtract arrays</emphasis>
+kArr4[] <emphasis role="op">=</emphasis>       kArr1 <emphasis role="op">-</emphasis> kArr2
+
+<emphasis role="comment">;print content</emphasis>
+        <emphasis role="opc">printf</emphasis>  "<emphasis role="op">%</emphasis>s", 1, "\nkArr1 <emphasis role="op">-</emphasis> kArr2<emphasis role="op">:</emphasis>\n"
+kndx    <emphasis role="op">=</emphasis>       0
+  until kndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(kArr4) do
+        <emphasis role="opc">printf</emphasis>  "kArr4[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kndx<emphasis role="op">+</emphasis>1, kndx, kArr4[kndx]
+kndx    <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>      1
+  od
+
+<emphasis role="comment">;multiply arrays</emphasis>
+kArr5[] <emphasis role="op">=</emphasis>       kArr1 <emphasis role="op">*</emphasis> kArr2
+
+<emphasis role="comment">;print content</emphasis>
+        <emphasis role="opc">printf</emphasis>  "<emphasis role="op">%</emphasis>s", 1, "\nkArr1 <emphasis role="op">*</emphasis> kArr2<emphasis role="op">:</emphasis>\n"
+kndx    <emphasis role="op">=</emphasis>       0
+  until kndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(kArr5) do
+        <emphasis role="opc">printf</emphasis>  "kArr5[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kndx<emphasis role="op">+</emphasis>1, kndx, kArr5[kndx]
+kndx <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis> 1
+  od
+
+<emphasis role="comment">;divide arrays</emphasis>
+kArr6[] <emphasis role="op">=</emphasis>       kArr1 <emphasis role="op">/</emphasis> kArr2
+
+<emphasis role="comment">;print content</emphasis>
+        <emphasis role="opc">printf</emphasis>  "<emphasis role="op">%</emphasis>s", 1, "\nkArr1 <emphasis role="op">/</emphasis> kArr2<emphasis role="op">:</emphasis>\n"
+kndx    <emphasis role="op">=</emphasis>       0
+  until kndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(kArr6) do
+        <emphasis role="opc">printf</emphasis>  "kArr5[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kndx<emphasis role="op">+</emphasis>1, kndx, kArr6[kndx]
+kndx <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis> 1
+  od
+
+<emphasis role="comment">;turnoff</emphasis>
+        <emphasis role="opc">turnoff</emphasis>
+        
+  <emphasis role="oblock">endin</emphasis>
+  
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 .1
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/array_scalar_math.csd.xml b/examples-xml/array_scalar_math.csd.xml
new file mode 100644
index 0000000..085194e
--- /dev/null
+++ b/examples-xml/array_scalar_math.csd.xml
@@ -0,0 +1,76 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+-n -m128
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+
+  <emphasis role="oblock">instr</emphasis> 1
+
+<emphasis role="comment">;create array and fill with numbers 1..10</emphasis>
+kArr1[] <emphasis role="opc">fillarray</emphasis> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
+
+<emphasis role="comment">;print content</emphasis>
+        <emphasis role="opc">printf</emphasis>  "<emphasis role="op">%</emphasis>s", 1, "\nInitial content<emphasis role="op">:</emphasis>\n"
+kndx    <emphasis role="op">=</emphasis>       0
+  until kndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(kArr1) do
+        <emphasis role="opc">printf</emphasis>  "kArr[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kndx<emphasis role="op">+</emphasis>1, kndx, kArr1[kndx]
+kndx    <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>      1
+  od
+
+<emphasis role="comment">;add 10</emphasis>
+kArr2[] <emphasis role="op">=</emphasis>       kArr1 <emphasis role="op">+</emphasis> 10
+
+<emphasis role="comment">;print content</emphasis>
+        <emphasis role="opc">printf</emphasis>  "<emphasis role="op">%</emphasis>s", 1, "\nAfter adding 10<emphasis role="op">:</emphasis>\n"
+kndx    <emphasis role="op">=</emphasis>       0
+  until kndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(kArr2) do
+        <emphasis role="opc">printf</emphasis>  "kArr[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kndx<emphasis role="op">+</emphasis>1, kndx, kArr2[kndx]
+kndx    <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>      1
+  od
+
+<emphasis role="comment">;subtract 5</emphasis>
+kArr3[] <emphasis role="op">=</emphasis>       kArr2 <emphasis role="op">-</emphasis> 5
+
+<emphasis role="comment">;print content</emphasis>
+        <emphasis role="opc">printf</emphasis>  "<emphasis role="op">%</emphasis>s", 1, "\nAfter subtracting 5<emphasis role="op">:</emphasis>\n"
+kndx    <emphasis role="op">=</emphasis>       0
+  until kndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(kArr3) do
+        <emphasis role="opc">printf</emphasis>  "kArr[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kndx<emphasis role="op">+</emphasis>1, kndx, kArr3[kndx]
+kndx    <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>      1
+  od
+
+<emphasis role="comment">;multiply by -1.5</emphasis>
+kArr4[] <emphasis role="op">=</emphasis>       kArr3 <emphasis role="op">*</emphasis> <emphasis role="op">-</emphasis>1.5
+
+<emphasis role="comment">;print content</emphasis>
+        <emphasis role="opc">printf</emphasis>  "<emphasis role="op">%</emphasis>s", 1, "\nAfter multiplying by <emphasis role="op">-</emphasis>1.5<emphasis role="op">:</emphasis>\n"
+kndx    <emphasis role="op">=</emphasis>       0
+  until kndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(kArr4) do
+        <emphasis role="opc">printf</emphasis>  "kArr[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kndx<emphasis role="op">+</emphasis>1, kndx, kArr4[kndx]
+kndx    <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>      1
+  od
+
+<emphasis role="comment">;divide by -3/2</emphasis>
+kArr5[] <emphasis role="op">=</emphasis>       kArr4 <emphasis role="op">/</emphasis> <emphasis role="op">-</emphasis>(3<emphasis role="op">/</emphasis>2)
+
+<emphasis role="comment">;print content</emphasis>
+        <emphasis role="opc">printf</emphasis>  "<emphasis role="op">%</emphasis>s", 1, "\nAfter dividing by <emphasis role="op">-</emphasis>3<emphasis role="op">/</emphasis>2<emphasis role="op">:</emphasis>\n"
+kndx    <emphasis role="op">=</emphasis>       0
+  until kndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(kArr5) do
+        <emphasis role="opc">printf</emphasis>  "kArr[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kndx<emphasis role="op">+</emphasis>1, kndx, kArr5[kndx]
+kndx    <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>      1
+  od
+
+<emphasis role="comment">;turnoff</emphasis>
+        <emphasis role="opc">turnoff</emphasis>
+  <emphasis role="oblock">endin</emphasis>
+  
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 .1
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/array_udo.csd.xml b/examples-xml/array_udo.csd.xml
new file mode 100644
index 0000000..439b698
--- /dev/null
+++ b/examples-xml/array_udo.csd.xml
@@ -0,0 +1,26 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+-nm128
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+  <emphasis role="oblock">opcode</emphasis> FirstEl, k, k[]
+  <emphasis role="comment">;returns the first element of vector kArr</emphasis>
+kArr[] <emphasis role="opc">xin</emphasis>
+<emphasis role="opc">xout</emphasis> kArr[0]
+  <emphasis role="oblock">endop</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 1 
+kArr[] <emphasis role="opc">fillarray</emphasis> 6, 3, 9, 5, 1
+kFirst FirstEl kArr
+<emphasis role="opc">printf</emphasis> "kFirst <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>d\n", 1, kFirst
+<emphasis role="opc">turnoff</emphasis>
+  <emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 .1
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/b.csd.xml b/examples-xml/b.csd.xml
new file mode 100644
index 0000000..f4d374e
--- /dev/null
+++ b/examples-xml/b.csd.xml
@@ -0,0 +1,67 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o b.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+aenv <emphasis role="opc">expseg</emphasis> .01, p3<emphasis role="op">*</emphasis>0.25, 1, p3<emphasis role="op">*</emphasis>0.75, 0.01
+asig <emphasis role="opc">poscil3</emphasis> .4<emphasis role="op">*</emphasis>aenv, 220, 1
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+
+asig <emphasis role="opc">pluck</emphasis> 0.7, p4, 220, 0, 1
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 3
+
+asig <emphasis role="opc">loscil</emphasis> .8, 1, 2, 1
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 4
+asig  <emphasis role="opc">bamboo</emphasis> .8, 0.01
+      <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1		<emphasis role="comment">;sine wave</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 0 1 "<emphasis role="stamnt">f</emphasis>ox.wav" 0 0 0	<emphasis role="comment">;sample</emphasis>
+
+<emphasis role="stamnt">i</emphasis>1  0 2
+<emphasis role="stamnt">i</emphasis>1  10 2
+
+<emphasis role="stamnt">b</emphasis> 5			<emphasis role="comment">; set the clock "forward"</emphasis>
+<emphasis role="stamnt">i</emphasis>2 1 2 220		<emphasis role="comment">; start time = 6</emphasis>
+<emphasis role="stamnt">i</emphasis>2 2 2 110		<emphasis role="comment">; start time = 7</emphasis>
+
+<emphasis role="stamnt">b</emphasis> -1     
+<emphasis role="stamnt">i</emphasis>3  3  2		<emphasis role="comment">; start time = 2</emphasis>
+<emphasis role="stamnt">i</emphasis>3 5.5 1		<emphasis role="comment">; start time = 4.5</emphasis>
+
+
+<emphasis role="stamnt">b</emphasis> 0			<emphasis role="comment">; reset clock to normal</emphasis>
+<emphasis role="stamnt">i</emphasis>4 10 2			<emphasis role="comment">; start time = 10</emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/bformenc1.csd.xml b/examples-xml/bformenc1.csd.xml
index 96c212d..6f1d9d1 100644
--- a/examples-xml/bformenc1.csd.xml
+++ b/examples-xml/bformenc1.csd.xml
@@ -9,36 +9,65 @@
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 8
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
 
-<emphasis role="oblock">instr</emphasis> 1
-        <emphasis role="comment">; generate pink noise</emphasis>
-        anoise <emphasis role="opc">pinkish</emphasis> 1000
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">;without arrays</emphasis>
+<emphasis role="comment">; generate pink noise</emphasis>
+anoise <emphasis role="opc">pinkish</emphasis> 1
         
-        <emphasis role="comment">; two full turns</emphasis>
-        kalpha <emphasis role="opc">line</emphasis> 0, p3, 720
-        kbeta <emphasis role="op">=</emphasis> 0
+<emphasis role="comment">; two full turns</emphasis>
+kalpha <emphasis role="opc">line</emphasis> 0, p3, 720
+kbeta <emphasis role="op">=</emphasis> 0
         
-        <emphasis role="comment">; generate B format</emphasis>
-        aw, ax, ay, az, ar, as, at, au, av <emphasis role="opc">bformenc1</emphasis> anoise, kalpha, kbeta
+<emphasis role="comment">; generate B format</emphasis>
+aw, ax, ay, az, ar, as, at, au, av <emphasis role="opc">bformenc1</emphasis> anoise, kalpha, kbeta
         
-        <emphasis role="comment">; decode B format for 8 channel circle loudspeaker setup</emphasis>
-        a1, a2, a3, a4, a5, a6, a7, a8 <emphasis role="opc">bformdec1</emphasis> 4, aw, ax, ay, az, ar, as, at, au, av
+<emphasis role="comment">; decode B format for 8 channel circle loudspeaker setup</emphasis>
+a1, a2, a3, a4, a5, a6, a7, a8 <emphasis role="opc">bformdec1</emphasis> 4, aw, ax, ay, az, ar, as, at, au, av        
+
+<emphasis role="comment">; write audio out</emphasis>
+<emphasis role="opc">outo</emphasis> a1, a2, a3, a4, a5, a6, a7, a8
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2 <emphasis role="comment">;with arrays (csound6)</emphasis>
+<emphasis role="comment">;set file names for:</emphasis>
+S_bform <emphasis role="op">=</emphasis> "bform_out.wav" <emphasis role="comment">;b-format (2nd order) output</emphasis>
+S_sound <emphasis role="op">=</emphasis> "sound_out.wav" <emphasis role="comment">;sound output</emphasis>
+
+<emphasis role="comment">; generate pink noise</emphasis>
+anoise <emphasis role="opc">pinkish</emphasis> 1
+        
+<emphasis role="comment">; two full turns</emphasis>
+kalpha <emphasis role="opc">line</emphasis> 0, p3, 720
+kbeta <emphasis role="op">=</emphasis> 0
+        
+<emphasis role="comment">;create array for B-format 2nd order (9 chnls)</emphasis>
+aBform[] <emphasis role="opc">init</emphasis> 9
+
+<emphasis role="comment">; generate B-format</emphasis>
+aBform <emphasis role="opc">bformenc1</emphasis> anoise, kalpha, kbeta
+
+<emphasis role="comment">;write out b-format</emphasis>
+<emphasis role="opc">fout</emphasis> "fout.wav", 18, aBform
+
+<emphasis role="comment">;create array for audio output (8 channels)</emphasis>
+aAudio[] <emphasis role="opc">init</emphasis> 8
         
-        <emphasis role="comment">; write audio out</emphasis>
-        <emphasis role="opc">outo</emphasis> a1, a2, a3, a4, a5, a6, a7, a8
+<emphasis role="comment">;decode B format for 8 channel circle loudspeaker setup</emphasis>
+aAudio <emphasis role="opc">bformdec1</emphasis> 4, aBform
+
+<emphasis role="comment">; write audio out</emphasis>
+<emphasis role="opc">fout</emphasis> S_sound, 18, aAudio
 <emphasis role="oblock">endin</emphasis>
 
+
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Play Instrument #1 for 20 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 20
+<emphasis role="stamnt">i</emphasis> 1 0 8
+<emphasis role="stamnt">i</emphasis> 2 8 8
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/bitwise.csd.xml b/examples-xml/bitwise.csd.xml
index ab3cf23..250d5ce 100644
--- a/examples-xml/bitwise.csd.xml
+++ b/examples-xml/bitwise.csd.xml
@@ -45,7 +45,7 @@ Stext <emphasis role="opc">sprintf</emphasis> "<emphasis role="op">%</emphasis><
 <emphasis role="stamnt">i</emphasis> 1 +  .   2  4
 <emphasis role="stamnt">i</emphasis> 1 +  .   3  10
 
-<emphasis role="stamnt">i</emphasis> 2 2  .    12
+<emphasis role="stamnt">i</emphasis> 2 2 0.1   12
 <emphasis role="stamnt">i</emphasis> 2 +  .    9
 <emphasis role="stamnt">i</emphasis> 2 +  .    15
 <emphasis role="stamnt">i</emphasis> 2 +  .    49
diff --git a/examples-xml/butterbr.csd.xml b/examples-xml/butterbr.csd.xml
index 74bb911..3da6b6b 100644
--- a/examples-xml/butterbr.csd.xml
+++ b/examples-xml/butterbr.csd.xml
@@ -24,7 +24,7 @@ asig <emphasis role="opc">rand</emphasis> 0.5
 <emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">; filtered noise</emphasis>
 
 asig <emphasis role="opc">rand</emphasis> 0.7
-abr  <emphasis role="opc">butterbr</emphasis> asig, 3000, 2000	<emphasis role="comment">;cutting 2000 to 5000 Hz</emphasis>
+abr  <emphasis role="opc">butterbr</emphasis> asig, 3000, 2000	<emphasis role="comment">;center frequency = 3000, bandwidth =  +/- (2000)/2, so 2000-4000 </emphasis>
      <emphasis role="opc">outs</emphasis> abr, abr
 
 <emphasis role="oblock">endin</emphasis>
diff --git a/examples-xml/cauchyi.csd.xml b/examples-xml/cauchyi.csd.xml
new file mode 100644
index 0000000..1d6a3fa
--- /dev/null
+++ b/examples-xml/cauchyi.csd.xml
@@ -0,0 +1,34 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o exprand.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+klambda	<emphasis role="opc">cauchyi</emphasis>	100, 1, 3
+	<emphasis role="opc">printk2</emphasis> klambda		<emphasis role="comment">; look</emphasis>
+aout	<emphasis role="opc">oscili</emphasis>	0.8, 440<emphasis role="op">+</emphasis>klambda, 1	<emphasis role="comment">; & listen</emphasis>
+	<emphasis role="opc">outs</emphasis>	aout, aout
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">; sine wave</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
+
+<emphasis role="stamnt">i</emphasis> 1 0 4
+<emphasis role="stamnt">e</emphasis>
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/cell.csd.xml b/examples-xml/cell.csd.xml
new file mode 100644
index 0000000..2e171fe
--- /dev/null
+++ b/examples-xml/cell.csd.xml
@@ -0,0 +1,77 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+<emphasis role="comment">;-odac           -iadc     ;;;RT audio I/O</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o cell.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="comment">; cell.csd by Gleb Rogozinsky</emphasis>
+
+<emphasis role="ohdr">sr</emphasis>        <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">kr</emphasis>        <emphasis role="op">=</emphasis> 4410
+<emphasis role="ohdr">ksmps</emphasis>     <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">nchnls</emphasis>    <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>     <emphasis role="op">=</emphasis> 1
+
+<emphasis role="comment">; Cellular automaton-driven synthesis in spectral domain</emphasis>
+<emphasis role="oblock">instr</emphasis> 1
+
+  iatt      <emphasis role="op">=</emphasis> p4                                <emphasis role="comment">; envelope attack time</emphasis>
+  isus      <emphasis role="op">=</emphasis> p5                                <emphasis role="comment">; envelope sustain time</emphasis>
+  irel      <emphasis role="op">=</emphasis> p6                                <emphasis role="comment">; envelope release time</emphasis>
+  ivol      <emphasis role="op">=</emphasis> p7                                <emphasis role="comment">; overall volume</emphasis>
+  
+  <emphasis role="comment">; create some white noise</emphasis>
+  asig      <emphasis role="opc">rand</emphasis>      0.8                      
+  
+  <emphasis role="comment">; spectral analysis of asig</emphasis>
+  fsig      <emphasis role="opc">pvsanal</emphasis>   asig, 2048, 1024, 2048, 0  <emphasis role="comment">; get a vector of magnitudes</emphasis>
+           
+  <emphasis role="comment">; calculate cellular automaton state</emphasis>
+  kfreq     <emphasis role="opc">line</emphasis>      50, 5, 1                  <emphasis role="comment">; variable CA triggering frequency</emphasis>
+  ktrig     <emphasis role="opc">metro</emphasis>     kfreq                     <emphasis role="comment">; trigger the CA to update cells</emphasis>
+            <emphasis role="opc">cell</emphasis>      ktrig, 0, 3, 1, 2, 2048   <emphasis role="comment">; cells are written into ftable 3 </emphasis>
+                                                                        
+                                                                         
+  <emphasis role="comment">; use current row of cells in spectral domain</emphasis>
+  fmas      <emphasis role="opc">pvstencil</emphasis> fsig, 0, 1, 3             <emphasis role="comment">; apply spectral mask </emphasis>
+  aout      <emphasis role="opc">pvsynth</emphasis>   fmas                      <emphasis role="comment">; reconstruct time signal </emphasis>
+  
+  <emphasis role="comment">; apply envelope and out signal</emphasis>
+  kenv      <emphasis role="opc">expseg</emphasis>    .001, iatt, 1, isus, 1, irel, .001
+            <emphasis role="opc">out</emphasis>       aout<emphasis role="op">*</emphasis>kenv<emphasis role="op">*</emphasis>ivol
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="comment">; This example uses one-dimensional cellular automaton</emphasis>
+<emphasis role="comment">; to produce structures in spectral domain</emphasis>
+
+<emphasis role="comment">; We have to prepare initial row of cells.</emphasis>
+<emphasis role="comment">; One alive cell is enough to produce a simple fractal,</emphasis>
+<emphasis role="comment">; so two alivee cells will make structure more sophisticated</emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 2048 7 0 150 0 0 1 1 1 0 0 45 0 0 1 1 1 0 0
+
+<emphasis role="comment">; The CA rule is used as follows:</emphasis>
+<emphasis role="comment">; the states (values) of each cell are summed with their neighboring cells.</emphasis>
+<emphasis role="comment">; Each sum is used as an index to read a next state of cell</emphasis>
+<emphasis role="comment">; from the rule table.</emphasis>
+<emphasis role="comment">; Let us try rule # 129 (LSB binary 1 0 0 0 0 0 0 1).</emphasis>
+<emphasis role="comment">; This rule will produce a fractal structure for single active cell</emphasis>
+<emphasis role="comment">; For more rules see http://mathworld.wolfram.com/ElementaryCellularAutomaton.html</emphasis>
+<emphasis role="stamnt">f</emphasis>2 0 8 -2 1 0 0 0 0 0 0 1
+<emphasis role="comment">; Try some different rules i.E. 254 (0 1 1 1 1 1 1 1) or 169 (1 0 0 1 0 1 0 1)</emphasis>
+
+<emphasis role="comment">; Prepare the output table of ielements size</emphasis>
+<emphasis role="stamnt">f</emphasis>3 0 2048 10 0
+
+<emphasis role="comment">; Time to make it sound!</emphasis>
+<emphasis role="stamnt">i</emphasis>1 0  13  0.3  7  3  1 
+<emphasis role="stamnt">e</emphasis>
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/centroid.csd.xml b/examples-xml/centroid.csd.xml
new file mode 100644
index 0000000..6a17108
--- /dev/null
+++ b/examples-xml/centroid.csd.xml
@@ -0,0 +1,39 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o centroid.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giSine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 16384, 10, 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ktrig <emphasis role="opc">init</emphasis> 1				<emphasis role="comment">;calculate centroid</emphasis>
+a1   <emphasis role="opc">oscil3</emphasis> 0.5, p4, giSine		<emphasis role="comment">;of the sine wave</emphasis>
+k1   <emphasis role="opc">centroid</emphasis> a1, ktrig, 16384
+asig <emphasis role="opc">oscil3</emphasis> 0.5, k1, giSine
+     <emphasis role="opc">printk2</emphasis> k1				<emphasis role="comment">;print & compare:</emphasis>
+     <emphasis role="opc">outs</emphasis> a1, asig			<emphasis role="comment">;left = original, right = centroid signal</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis>1 0 2 20
+<emphasis role="stamnt">i</emphasis>1 + 2 200
+<emphasis role="stamnt">i</emphasis>1 + 2 2000
+<emphasis role="stamnt">e</emphasis>     
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/checkbox.csd.xml b/examples-xml/checkbox.csd.xml
index 30e190b..8c52cae 100644
--- a/examples-xml/checkbox.csd.xml
+++ b/examples-xml/checkbox.csd.xml
@@ -15,7 +15,7 @@
  
 <emphasis role="oblock">instr</emphasis> 1
   <emphasis role="comment">; Get the value from the checkbox.</emphasis>
-  k1 <emphasis role="opc">checkbox</emphasis> 1
+  k1 checkbox 1
 
   <emphasis role="comment">; If the checkbox is selected then k2=440, otherwise k2=880.</emphasis>
   k2 <emphasis role="op">=</emphasis> (k1 <emphasis role="op">==</emphasis> 0 <emphasis role="op">?</emphasis> 440 <emphasis role="op">:</emphasis> 880)
diff --git a/examples-xml/chnclear.csd.xml b/examples-xml/chnclear.csd.xml
new file mode 100644
index 0000000..2764a66
--- /dev/null
+++ b/examples-xml/chnclear.csd.xml
@@ -0,0 +1,85 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o chnclear.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="comment">;Example by Joachim Heintz</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+
+  <emphasis role="oblock">instr</emphasis> 1<emphasis role="comment">; send i-values</emphasis>
+          <emphasis role="opc">chnset</emphasis>    1, "sio"
+          <emphasis role="opc">chnset</emphasis>    <emphasis role="op">-</emphasis>1, "non"
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 2<emphasis role="comment">; send k-values</emphasis>
+kfreq     <emphasis role="opc">randomi</emphasis>   100, 300, 1
+          <emphasis role="opc">chnset</emphasis>    kfreq, "cntrfreq"
+kbw       <emphasis role="op">=</emphasis>         kfreq<emphasis role="op">/</emphasis>10
+          <emphasis role="opc">chnset</emphasis>    kbw, "bandw"
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 3<emphasis role="comment">; send a-values</emphasis>
+anois     <emphasis role="opc">rand</emphasis>      .1
+          <emphasis role="opc">chnset</emphasis>    anois, "noise"
+ loop<emphasis role="op">:</emphasis>
+idur      <emphasis role="opc">random</emphasis>    .3, 1.5
+          <emphasis role="octrl">timout</emphasis>    0, idur, do
+          <emphasis role="opc">reinit</emphasis>    loop
+ do<emphasis role="op">:</emphasis>
+ifreq     <emphasis role="opc">random</emphasis>    400, 1200
+iamp      <emphasis role="opc">random</emphasis>    .1, .3
+asig      <emphasis role="opc">oscils</emphasis>    iamp, ifreq, 0
+aenv      <emphasis role="opc">transeg</emphasis>   1, idur, <emphasis role="op">-</emphasis>10, 0
+asine     <emphasis role="op">=</emphasis>         asig <emphasis role="op">*</emphasis> aenv
+          <emphasis role="opc">chnset</emphasis>    asine, "sine"
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 11<emphasis role="comment">; receive some chn values and send again</emphasis>
+ival1     <emphasis role="opc">chnget</emphasis>    "sio"
+ival2     <emphasis role="opc">chnget</emphasis>    "non"
+          <emphasis role="opc">print</emphasis>     ival1, ival2
+kcntfreq  <emphasis role="opc">chnget</emphasis>    "cntrfreq"
+kbandw    <emphasis role="opc">chnget</emphasis>    "bandw"
+anoise    <emphasis role="opc">chnget</emphasis>    "noise"
+afilt     <emphasis role="opc">reson</emphasis>     anoise, kcntfreq, kbandw
+afilt     <emphasis role="opc">balance</emphasis>   afilt, anoise
+          <emphasis role="opc">chnset</emphasis>    afilt, "filtered"
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 12<emphasis role="comment">; mix the two audio signals</emphasis>
+amix1     <emphasis role="opc">chnget</emphasis>     "sine"
+amix2     <emphasis role="opc">chnget</emphasis>     "filtered"
+          <emphasis role="opc">chnmix</emphasis>     amix1, "mix"
+          <emphasis role="opc">chnmix</emphasis>     amix2, "mix"
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 20<emphasis role="comment">; receive and reverb</emphasis>
+amix      <emphasis role="opc">chnget</emphasis>     "mix"
+aL, aR    <emphasis role="opc">freeverb</emphasis>   amix, amix, .8, .5
+          <emphasis role="opc">outs</emphasis>       aL, aR
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 100<emphasis role="comment">; clear</emphasis>
+          <emphasis role="opc">chnclear</emphasis>   "mix"
+  <emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 20
+<emphasis role="stamnt">i</emphasis> 2 0 20
+<emphasis role="stamnt">i</emphasis> 3 0 20
+<emphasis role="stamnt">i</emphasis> 11 0 20
+<emphasis role="stamnt">i</emphasis> 12 0 20
+<emphasis role="stamnt">i</emphasis> 20 0 20
+<emphasis role="stamnt">i</emphasis> 100 0 20
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/chnget.csd.xml b/examples-xml/chnget.csd.xml
new file mode 100644
index 0000000..7184824
--- /dev/null
+++ b/examples-xml/chnget.csd.xml
@@ -0,0 +1,85 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o chnget.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="comment">;Example by Joachim Heintz</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+
+  <emphasis role="oblock">instr</emphasis> 1<emphasis role="comment">; send i-values</emphasis>
+          <emphasis role="opc">chnset</emphasis>    1, "sio"
+          <emphasis role="opc">chnset</emphasis>    <emphasis role="op">-</emphasis>1, "non"
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 2<emphasis role="comment">; send k-values</emphasis>
+kfreq     <emphasis role="opc">randomi</emphasis>   100, 300, 1
+          <emphasis role="opc">chnset</emphasis>    kfreq, "cntrfreq"
+kbw       <emphasis role="op">=</emphasis>         kfreq<emphasis role="op">/</emphasis>10
+          <emphasis role="opc">chnset</emphasis>    kbw, "bandw"
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 3<emphasis role="comment">; send a-values</emphasis>
+anois     <emphasis role="opc">rand</emphasis>      .1
+          <emphasis role="opc">chnset</emphasis>    anois, "noise"
+ loop<emphasis role="op">:</emphasis>
+idur      <emphasis role="opc">random</emphasis>    .3, 1.5
+          <emphasis role="octrl">timout</emphasis>    0, idur, do
+          <emphasis role="opc">reinit</emphasis>    loop
+ do<emphasis role="op">:</emphasis>
+ifreq     <emphasis role="opc">random</emphasis>    400, 1200
+iamp      <emphasis role="opc">random</emphasis>    .1, .3
+asig      <emphasis role="opc">oscils</emphasis>    iamp, ifreq, 0
+aenv      <emphasis role="opc">transeg</emphasis>   1, idur, <emphasis role="op">-</emphasis>10, 0
+asine     <emphasis role="op">=</emphasis>         asig <emphasis role="op">*</emphasis> aenv
+          <emphasis role="opc">chnset</emphasis>    asine, "sine"
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 11<emphasis role="comment">; receive some chn values and send again</emphasis>
+ival1     <emphasis role="opc">chnget</emphasis>    "sio"
+ival2     <emphasis role="opc">chnget</emphasis>    "non"
+          <emphasis role="opc">print</emphasis>     ival1, ival2
+kcntfreq  <emphasis role="opc">chnget</emphasis>    "cntrfreq"
+kbandw    <emphasis role="opc">chnget</emphasis>    "bandw"
+anoise    <emphasis role="opc">chnget</emphasis>    "noise"
+afilt     <emphasis role="opc">reson</emphasis>     anoise, kcntfreq, kbandw
+afilt     <emphasis role="opc">balance</emphasis>   afilt, anoise
+          <emphasis role="opc">chnset</emphasis>    afilt, "filtered"
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 12<emphasis role="comment">; mix the two audio signals</emphasis>
+amix1     <emphasis role="opc">chnget</emphasis>     "sine"
+amix2     <emphasis role="opc">chnget</emphasis>     "filtered"
+          <emphasis role="opc">chnmix</emphasis>     amix1, "mix"
+          <emphasis role="opc">chnmix</emphasis>     amix2, "mix"
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 20<emphasis role="comment">; receive and reverb</emphasis>
+amix      <emphasis role="opc">chnget</emphasis>     "mix"
+aL, aR    <emphasis role="opc">freeverb</emphasis>   amix, amix, .8, .5
+          <emphasis role="opc">outs</emphasis>       aL, aR
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 100<emphasis role="comment">; clear</emphasis>
+          <emphasis role="opc">chnclear</emphasis>   "mix"
+  <emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 20
+<emphasis role="stamnt">i</emphasis> 2 0 20
+<emphasis role="stamnt">i</emphasis> 3 0 20
+<emphasis role="stamnt">i</emphasis> 11 0 20
+<emphasis role="stamnt">i</emphasis> 12 0 20
+<emphasis role="stamnt">i</emphasis> 20 0 20
+<emphasis role="stamnt">i</emphasis> 100 0 20
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/chnmix.csd.xml b/examples-xml/chnmix.csd.xml
new file mode 100644
index 0000000..f98444f
--- /dev/null
+++ b/examples-xml/chnmix.csd.xml
@@ -0,0 +1,85 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o chnmix.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="comment">;Example by Joachim Heintz</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+
+  <emphasis role="oblock">instr</emphasis> 1<emphasis role="comment">; send i-values</emphasis>
+          <emphasis role="opc">chnset</emphasis>    1, "sio"
+          <emphasis role="opc">chnset</emphasis>    <emphasis role="op">-</emphasis>1, "non"
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 2<emphasis role="comment">; send k-values</emphasis>
+kfreq     <emphasis role="opc">randomi</emphasis>   100, 300, 1
+          <emphasis role="opc">chnset</emphasis>    kfreq, "cntrfreq"
+kbw       <emphasis role="op">=</emphasis>         kfreq<emphasis role="op">/</emphasis>10
+          <emphasis role="opc">chnset</emphasis>    kbw, "bandw"
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 3<emphasis role="comment">; send a-values</emphasis>
+anois     <emphasis role="opc">rand</emphasis>      .1
+          <emphasis role="opc">chnset</emphasis>    anois, "noise"
+ loop<emphasis role="op">:</emphasis>
+idur      <emphasis role="opc">random</emphasis>    .3, 1.5
+          <emphasis role="octrl">timout</emphasis>    0, idur, do
+          <emphasis role="opc">reinit</emphasis>    loop
+ do<emphasis role="op">:</emphasis>
+ifreq     <emphasis role="opc">random</emphasis>    400, 1200
+iamp      <emphasis role="opc">random</emphasis>    .1, .3
+asig      <emphasis role="opc">oscils</emphasis>    iamp, ifreq, 0
+aenv      <emphasis role="opc">transeg</emphasis>   1, idur, <emphasis role="op">-</emphasis>10, 0
+asine     <emphasis role="op">=</emphasis>         asig <emphasis role="op">*</emphasis> aenv
+          <emphasis role="opc">chnset</emphasis>    asine, "sine"
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 11<emphasis role="comment">; receive some chn values and send again</emphasis>
+ival1     <emphasis role="opc">chnget</emphasis>    "sio"
+ival2     <emphasis role="opc">chnget</emphasis>    "non"
+          <emphasis role="opc">print</emphasis>     ival1, ival2
+kcntfreq  <emphasis role="opc">chnget</emphasis>    "cntrfreq"
+kbandw    <emphasis role="opc">chnget</emphasis>    "bandw"
+anoise    <emphasis role="opc">chnget</emphasis>    "noise"
+afilt     <emphasis role="opc">reson</emphasis>     anoise, kcntfreq, kbandw
+afilt     <emphasis role="opc">balance</emphasis>   afilt, anoise
+          <emphasis role="opc">chnset</emphasis>    afilt, "filtered"
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 12<emphasis role="comment">; mix the two audio signals</emphasis>
+amix1     <emphasis role="opc">chnget</emphasis>     "sine"
+amix2     <emphasis role="opc">chnget</emphasis>     "filtered"
+          <emphasis role="opc">chnmix</emphasis>     amix1, "mix"
+          <emphasis role="opc">chnmix</emphasis>     amix2, "mix"
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 20<emphasis role="comment">; receive and reverb</emphasis>
+amix      <emphasis role="opc">chnget</emphasis>     "mix"
+aL, aR    <emphasis role="opc">freeverb</emphasis>   amix, amix, .8, .5
+          <emphasis role="opc">outs</emphasis>       aL, aR
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 100<emphasis role="comment">; clear</emphasis>
+          <emphasis role="opc">chnclear</emphasis>   "mix"
+  <emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 20
+<emphasis role="stamnt">i</emphasis> 2 0 20
+<emphasis role="stamnt">i</emphasis> 3 0 20
+<emphasis role="stamnt">i</emphasis> 11 0 20
+<emphasis role="stamnt">i</emphasis> 12 0 20
+<emphasis role="stamnt">i</emphasis> 20 0 20
+<emphasis role="stamnt">i</emphasis> 100 0 20
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/chnset.csd.xml b/examples-xml/chnset.csd.xml
new file mode 100644
index 0000000..91b18c6
--- /dev/null
+++ b/examples-xml/chnset.csd.xml
@@ -0,0 +1,85 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o chnset.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="comment">;Example by Joachim Heintz</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+
+  <emphasis role="oblock">instr</emphasis> 1<emphasis role="comment">; send i-values</emphasis>
+          <emphasis role="opc">chnset</emphasis>    1, "sio"
+          <emphasis role="opc">chnset</emphasis>    <emphasis role="op">-</emphasis>1, "non"
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 2<emphasis role="comment">; send k-values</emphasis>
+kfreq     <emphasis role="opc">randomi</emphasis>   100, 300, 1
+          <emphasis role="opc">chnset</emphasis>    kfreq, "cntrfreq"
+kbw       <emphasis role="op">=</emphasis>         kfreq<emphasis role="op">/</emphasis>10
+          <emphasis role="opc">chnset</emphasis>    kbw, "bandw"
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 3<emphasis role="comment">; send a-values</emphasis>
+anois     <emphasis role="opc">rand</emphasis>      .1
+          <emphasis role="opc">chnset</emphasis>    anois, "noise"
+ loop<emphasis role="op">:</emphasis>
+idur      <emphasis role="opc">random</emphasis>    .3, 1.5
+          <emphasis role="octrl">timout</emphasis>    0, idur, do
+          <emphasis role="opc">reinit</emphasis>    loop
+ do<emphasis role="op">:</emphasis>
+ifreq     <emphasis role="opc">random</emphasis>    400, 1200
+iamp      <emphasis role="opc">random</emphasis>    .1, .3
+asig      <emphasis role="opc">oscils</emphasis>    iamp, ifreq, 0
+aenv      <emphasis role="opc">transeg</emphasis>   1, idur, <emphasis role="op">-</emphasis>10, 0
+asine     <emphasis role="op">=</emphasis>         asig <emphasis role="op">*</emphasis> aenv
+          <emphasis role="opc">chnset</emphasis>    asine, "sine"
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 11<emphasis role="comment">; receive some chn values and send again</emphasis>
+ival1     <emphasis role="opc">chnget</emphasis>    "sio"
+ival2     <emphasis role="opc">chnget</emphasis>    "non"
+          <emphasis role="opc">print</emphasis>     ival1, ival2
+kcntfreq  <emphasis role="opc">chnget</emphasis>    "cntrfreq"
+kbandw    <emphasis role="opc">chnget</emphasis>    "bandw"
+anoise    <emphasis role="opc">chnget</emphasis>    "noise"
+afilt     <emphasis role="opc">reson</emphasis>     anoise, kcntfreq, kbandw
+afilt     <emphasis role="opc">balance</emphasis>   afilt, anoise
+          <emphasis role="opc">chnset</emphasis>    afilt, "filtered"
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 12<emphasis role="comment">; mix the two audio signals</emphasis>
+amix1     <emphasis role="opc">chnget</emphasis>     "sine"
+amix2     <emphasis role="opc">chnget</emphasis>     "filtered"
+          <emphasis role="opc">chnmix</emphasis>     amix1, "mix"
+          <emphasis role="opc">chnmix</emphasis>     amix2, "mix"
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 20<emphasis role="comment">; receive and reverb</emphasis>
+amix      <emphasis role="opc">chnget</emphasis>     "mix"
+aL, aR    <emphasis role="opc">freeverb</emphasis>   amix, amix, .8, .5
+          <emphasis role="opc">outs</emphasis>       aL, aR
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 100<emphasis role="comment">; clear</emphasis>
+          <emphasis role="opc">chnclear</emphasis>   "mix"
+  <emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 20
+<emphasis role="stamnt">i</emphasis> 2 0 20
+<emphasis role="stamnt">i</emphasis> 3 0 20
+<emphasis role="stamnt">i</emphasis> 11 0 20
+<emphasis role="stamnt">i</emphasis> 12 0 20
+<emphasis role="stamnt">i</emphasis> 20 0 20
+<emphasis role="stamnt">i</emphasis> 100 0 20
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/clear.csd.xml b/examples-xml/clear.csd.xml
index 58488a7..75a5b68 100644
--- a/examples-xml/clear.csd.xml
+++ b/examples-xml/clear.csd.xml
@@ -2,16 +2,17 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
--odac     <emphasis role="comment">;;;RT audio out</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
 <emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o clear.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis>  44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis>  32
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis>  2
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 gaReverb <emphasis role="opc">init</emphasis> 0
 
diff --git a/examples-xml/combinv.csd.xml b/examples-xml/combinv.csd.xml
new file mode 100644
index 0000000..a26df65
--- /dev/null
+++ b/examples-xml/combinv.csd.xml
@@ -0,0 +1,36 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;RT audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o comb.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1 
+
+kcps    <emphasis role="opc">expon</emphasis> p5, p3, p4
+asig	<emphasis role="opc">oscil3</emphasis> 0.3, kcps, 1
+krvt <emphasis role="op">=</emphasis>  3.5
+ilpt <emphasis role="op">=</emphasis>  0.1
+aleft	<emphasis role="opc">combinv</emphasis> asig, krvt, ilpt
+	<emphasis role="opc">outs</emphasis>   aleft, asig
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 4096 10 1
+<emphasis role="stamnt">i</emphasis> 1 0 3 20 2000
+<emphasis role="stamnt">e</emphasis>
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/compileorc.csd.xml b/examples-xml/compileorc.csd.xml
new file mode 100644
index 0000000..f2c2360
--- /dev/null
+++ b/examples-xml/compileorc.csd.xml
@@ -0,0 +1,25 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+-o dac -d
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+ires <emphasis role="opc">compileorc</emphasis> "does_not_exist.orc"
+<emphasis role="opc">print</emphasis> ires <emphasis role="comment">; -1 as could not compile</emphasis>
+ires <emphasis role="opc">compileorc</emphasis> "my.orc"
+<emphasis role="opc">print</emphasis> ires <emphasis role="comment">; 0 as compiled successfully</emphasis>
+<emphasis role="opc">event_i</emphasis> "i", 2, 0, 3, .2, 465 <emphasis role="comment">;send event </emphasis>
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 1
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/compilestr.csd.xml b/examples-xml/compilestr.csd.xml
new file mode 100644
index 0000000..f5a16a3
--- /dev/null
+++ b/examples-xml/compilestr.csd.xml
@@ -0,0 +1,43 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+-o dac -d
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ <emphasis role="comment">;will fail because of wrong code</emphasis>
+ires <emphasis role="opc">compilestr</emphasis> {{
+<emphasis role="oblock">instr</emphasis> 2 
+a1 oscilb p4, p5, 0
+<emphasis role="opc">out</emphasis> a1 
+<emphasis role="oblock">endin</emphasis> 
+}}
+<emphasis role="opc">print</emphasis> ires <emphasis role="comment">; returns -1 because not successfull</emphasis>
+
+ <emphasis role="comment">;will compile ...</emphasis>
+ires <emphasis role="opc">compilestr</emphasis> {{
+<emphasis role="oblock">instr</emphasis> 2 
+a1 <emphasis role="opc">oscils</emphasis> p4, p5, 0
+<emphasis role="opc">out</emphasis> a1 
+<emphasis role="oblock">endin</emphasis> 
+}}
+<emphasis role="opc">print</emphasis> ires <emphasis role="comment">; ... and returns 0</emphasis>
+
+ <emphasis role="comment">;call the new instrument</emphasis>
+ <emphasis role="comment">;(note that the overall performance is extended)</emphasis>
+<emphasis role="opc">scoreline_i</emphasis> "i 2 0 3 .2 415"
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 1
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/copya2ftab.csd.xml b/examples-xml/copya2ftab.csd.xml
new file mode 100644
index 0000000..a06aa2d
--- /dev/null
+++ b/examples-xml/copya2ftab.csd.xml
@@ -0,0 +1,64 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-n
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="comment">;an 'empty' function table with 10 points</emphasis>
+giTable <emphasis role="ohdr">ftgen</emphasis>   0, 0, <emphasis role="op">-</emphasis>10, 2, 0
+
+
+  <emphasis role="oblock">instr</emphasis> 1
+
+<emphasis role="comment">;print inital values of giTable</emphasis>
+        <emphasis role="opc">puts</emphasis>    "\nInitial <emphasis role="opc">table</emphasis> content<emphasis role="op">:</emphasis>", 1
+indx    <emphasis role="op">=</emphasis>       0
+  until indx <emphasis role="op">==</emphasis> <emphasis role="opc">ftlen</emphasis>(giTable) do
+iVal    <emphasis role="opc">table</emphasis>   indx, giTable
+        <emphasis role="opc">printf_i</emphasis> "Table index <emphasis role="op">%</emphasis>d <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", 1, indx, iVal
+indx <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis> 1
+  od
+
+<emphasis role="comment">;create array</emphasis>
+kArr[]  <emphasis role="opc">init</emphasis>    10
+
+<emphasis role="comment">;fill in values</emphasis>
+kArr    <emphasis role="opc">genarray</emphasis> 1, 10
+
+<emphasis role="comment">;print array values</emphasis>
+        <emphasis role="opc">printf</emphasis>  "<emphasis role="op">%</emphasis>s", 1, "\nArray content<emphasis role="op">:</emphasis>\n"
+kndx    <emphasis role="op">=</emphasis>       0
+  until kndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(kArr) do
+        <emphasis role="opc">printf</emphasis>  "kArr[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kndx<emphasis role="op">+</emphasis>1, kndx, kArr[kndx]
+kndx    <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>      1
+  od
+
+<emphasis role="comment">;copy array values to table</emphasis>
+        <emphasis role="opc">copya2ftab</emphasis> kArr, giTable
+
+<emphasis role="comment">;print modified values of giTable</emphasis>
+        <emphasis role="opc">printf</emphasis>  "<emphasis role="op">%</emphasis>s", 1, "\nModified <emphasis role="opc">table</emphasis> content after <emphasis role="opc">copya2ftab</emphasis><emphasis role="op">:</emphasis>\n"
+kndx    <emphasis role="op">=</emphasis>       0
+  until kndx <emphasis role="op">==</emphasis> <emphasis role="opc">ftlen</emphasis>(giTable) do
+kVal    <emphasis role="opc">table</emphasis>   kndx, giTable
+        <emphasis role="opc">printf</emphasis>  "Table index <emphasis role="op">%</emphasis>d <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kndx<emphasis role="op">+</emphasis>1, kndx, kVal
+kndx <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis> 1
+  od
+
+<emphasis role="comment">;turn instrument off</emphasis>
+        <emphasis role="opc">turnoff</emphasis>
+  <emphasis role="oblock">endin</emphasis>
+  
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 0.1
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/copyf2array.csd.xml b/examples-xml/copyf2array.csd.xml
new file mode 100644
index 0000000..3520e0a
--- /dev/null
+++ b/examples-xml/copyf2array.csd.xml
@@ -0,0 +1,41 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-n
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="comment">;8 points sine wave function table</emphasis>
+giSine  <emphasis role="ohdr">ftgen</emphasis>   0, 0, 8, 10, 1
+
+
+  <emphasis role="oblock">instr</emphasis> 1
+<emphasis role="comment">;create array</emphasis>
+kArr[]  <emphasis role="opc">init</emphasis>    8
+
+<emphasis role="comment">;copy table values in it</emphasis>
+        <emphasis role="opc">copyf2array</emphasis> kArr, giSine
+        
+<emphasis role="comment">;print values</emphasis>
+kndx    <emphasis role="op">=</emphasis>       0
+  until kndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(kArr) do
+        <emphasis role="opc">printf</emphasis>  "kArr[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kndx<emphasis role="op">+</emphasis>1, kndx, kArr[kndx]
+kndx    <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>      1
+  od
+
+<emphasis role="comment">;turn instrument off</emphasis>
+        <emphasis role="opc">turnoff</emphasis>
+  <emphasis role="oblock">endin</emphasis>
+  
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 0.1
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/cosseg.csd.xml b/examples-xml/cosseg.csd.xml
new file mode 100644
index 0000000..7c6cb44
--- /dev/null
+++ b/examples-xml/cosseg.csd.xml
@@ -0,0 +1,58 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">;-o linseg.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giSine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kcps <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p4)
+kenv <emphasis role="opc">cosseg</emphasis> 0, 0.25, 1, 0.75, 0	<emphasis role="comment">; together = 1 sec</emphasis>
+asig <emphasis role="opc">poscil</emphasis> kenv, kcps, giSine
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">; scaling to duration</emphasis>
+
+kcps <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p4)
+kenv <emphasis role="opc">cosseg</emphasis> 0, p3<emphasis role="op">*</emphasis>0.25, 1, p3<emphasis role="op">*</emphasis>0.75, 0
+asig <emphasis role="opc">poscil</emphasis> kenv, kcps, giSine
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 3	<emphasis role="comment">; with negative value</emphasis>
+
+kcps <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p4)
+aenv <emphasis role="opc">cosseg</emphasis> 0, 0.1, 1, 0.5, <emphasis role="op">-</emphasis>0.9, 0.4, 0
+asig <emphasis role="opc">poscil</emphasis> aenv, kcps, giSine
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 1   7.00	<emphasis role="comment">; = 1 sec, p3 fits exactly</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 2 2   7.00	<emphasis role="comment">; = 2 sec, p3 truncated at 1 sec</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 2 4 1   7.00	<emphasis role="comment">; scales to duration</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 6 2   7.00	<emphasis role="comment">; of p3</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 3 9 2   7.00
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/cossegb.csd.xml b/examples-xml/cossegb.csd.xml
new file mode 100644
index 0000000..caea25d
--- /dev/null
+++ b/examples-xml/cossegb.csd.xml
@@ -0,0 +1,49 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">;-o linseg.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giSine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kcps <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p4)
+kenv <emphasis role="opc">cossegb</emphasis> 0, 0.25, 1, 1, 0
+asig <emphasis role="opc">poscil</emphasis> kenv, kcps, giSine
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">; scaling to duration</emphasis>
+
+kcps <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p4)
+kenv <emphasis role="opc">cossegb</emphasis> 0, p3<emphasis role="op">*</emphasis>0.25, 1, p3, 0
+asig <emphasis role="opc">poscil</emphasis> kenv, kcps, giSine
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 1   7.00	<emphasis role="comment">; = 1 sec, p3 fits exactly</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 2 2   7.00	<emphasis role="comment">; = 2 sec, p3 truncated at 1 sec</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 2 4 1   7.00	<emphasis role="comment">; scales to duration</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 6 2   7.00	<emphasis role="comment">; of p3</emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/cossegr.csd.xml b/examples-xml/cossegr.csd.xml
new file mode 100644
index 0000000..1a75a49
--- /dev/null
+++ b/examples-xml/cossegr.csd.xml
@@ -0,0 +1,36 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  -+rtmidi=virtual -M0   <emphasis role="comment">;;;realtime audio out and realtime midi in</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o linsegr.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+	 	 
+icps	<emphasis role="opc">cpsmidi</emphasis>	 	 
+iamp	<emphasis role="opc">ampmidi</emphasis>	.3	 
+ 	 	 	 
+kenv	<emphasis role="opc">cossegr</emphasis>	1, .05, 0.5, 1, 0
+asig	<emphasis role="opc">pluck</emphasis>	kenv, icps, 200, 1, 1	 
+	<emphasis role="opc">outs</emphasis>	asig, asig
+	 
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 4096 10 1	<emphasis role="comment">;sine wave</emphasis>
+
+<emphasis role="stamnt">f</emphasis>0 30	<emphasis role="comment">;runs 30 seconds</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/cpumeter.csd.xml b/examples-xml/cpumeter.csd.xml
new file mode 100644
index 0000000..2e03f70
--- /dev/null
+++ b/examples-xml/cpumeter.csd.xml
@@ -0,0 +1,44 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o cpumeter.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">;cpu metering; stop when too large</emphasis>
+k0   cpumeter   0.1
+     <emphasis role="opc">printk2</emphasis> k0
+     <emphasis role="octrl">if</emphasis> k0<emphasis role="op">></emphasis>70 then
+       <emphasis role="opc">event</emphasis> "i", 3, 0.1, 1
+     <emphasis role="octrl">endif</emphasis>
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+     <emphasis role="opc">event_i</emphasis>    "i", 2, 1, 1000
+     asig <emphasis role="opc">oscil</emphasis> 0.2, 440, 1
+     <emphasis role="opc">out</emphasis> asig
+<emphasis role="oblock">endin</emphasis>
+ 
+<emphasis role="oblock">instr</emphasis> 3
+     <emphasis role="opc">exitnow</emphasis>
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 32768 10 1	<emphasis role="comment">; sine wave</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 1000
+<emphasis role="stamnt">i</emphasis> 2 0 1000
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/csbeats.csd.xml b/examples-xml/csbeats.csd.xml
new file mode 100644
index 0000000..adac098
--- /dev/null
+++ b/examples-xml/csbeats.csd.xml
@@ -0,0 +1,112 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="ohdr">sr</emphasis>      <emphasis role="op">=</emphasis>           44100
+<emphasis role="ohdr">nchnls</emphasis> 	<emphasis role="op">=</emphasis> 		2
+
+gi1 <emphasis role="ohdr">ftgen</emphasis> 1, 0, 4096, 10, 1
+gi2 <emphasis role="ohdr">ftgen</emphasis> 2, 0, 4096, 7, <emphasis role="op">-</emphasis>1, 4096, 1    <emphasis role="comment">; sawtooth</emphasis>
+gi3 <emphasis role="ohdr">ftgen</emphasis> 3, 0, 4096, 7,  0, 1024, 1, 2048, <emphasis role="op">-</emphasis>1, 1024, 0  <emphasis role="comment">;triangle</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 101,102,103
+  iamp <emphasis role="op">=</emphasis>      <emphasis role="opc">ampdbfs</emphasis>(p5)
+  a1   <emphasis role="opc">oscil</emphasis>  iamp, p4, p1<emphasis role="op">-</emphasis>100
+  kenv <emphasis role="opc">expseg</emphasis> 1, p3, .01
+  a1   <emphasis role="op">=</emphasis>      a1 <emphasis role="op">*</emphasis> kenv
+       <emphasis role="opc">outs</emphasis>   a1, a1
+<emphasis role="oblock">endin</emphasis>
+ 
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">; by Brian Baughn 3-14-05</emphasis>
+<emphasis role="comment">; bbaughn at berklee.net</emphasis>
+
+<emphasis role="stamnt">b</emphasis>eats = 100
+permeasure = 4
+
+<emphasis role="stamnt">i</emphasis>101    m1 b1   q    mp   D3
+<emphasis role="stamnt">i</emphasis>101                      F3
+<emphasis role="stamnt">i</emphasis>101                      D3
+
+<emphasis role="stamnt">i</emphasis>101    m2 b1             D3
+<emphasis role="stamnt">i</emphasis>101       b3             D3
+
+<emphasis role="stamnt">i</emphasis>101    m3 b1             D3
+<emphasis role="stamnt">i</emphasis>101                      F3
+<emphasis role="stamnt">i</emphasis>101                      D3
+
+<emphasis role="stamnt">i</emphasis>101    m4 b1             D3
+<emphasis role="stamnt">i</emphasis>101       b3             D3
+
+<emphasis role="stamnt">i</emphasis>101    m5 b1              D3
+<emphasis role="stamnt">i</emphasis>101       b4              G5
+
+<emphasis role="stamnt">i</emphasis>101    m6 b1              E5
+<emphasis role="stamnt">i</emphasis>101       b2              F5
+<emphasis role="stamnt">i</emphasis>101       b3     e      Eb5
+<emphasis role="stamnt">i</emphasis>101       b3.5   e          
+<emphasis role="stamnt">i</emphasis>101       b4     q          
+
+<emphasis role="stamnt">i</emphasis>101    m7 b1     e       D5
+<emphasis role="stamnt">i</emphasis>101                            
+<emphasis role="stamnt">i</emphasis>101                q          
+<emphasis role="stamnt">i</emphasis>101                e      Db5
+<emphasis role="stamnt">i</emphasis>101                            
+<emphasis role="stamnt">i</emphasis>101                q          
+
+<emphasis role="stamnt">i</emphasis>101    m8 b1     q       D5
+<emphasis role="stamnt">i</emphasis>101                         E5
+<emphasis role="stamnt">i</emphasis>101                         D5
+
+<emphasis role="stamnt">i</emphasis>102    m1 b2      q      D4
+<emphasis role="stamnt">i</emphasis>102       b4              E4
+<emphasis role="stamnt">i</emphasis>102       b4             Bb3
+
+<emphasis role="stamnt">i</emphasis>102    m2 b2              F4
+<emphasis role="stamnt">i</emphasis>102       b2              B3
+<emphasis role="stamnt">i</emphasis>102       b4             C#4
+<emphasis role="stamnt">i</emphasis>102       b4             Bb3
+
+<emphasis role="stamnt">i</emphasis>102    m3 b2      q      D4
+<emphasis role="stamnt">i</emphasis>102       b4              E4
+<emphasis role="stamnt">i</emphasis>102       b4             Bb3
+
+<emphasis role="stamnt">i</emphasis>102    m4 b2              F4
+<emphasis role="stamnt">i</emphasis>102       b2              B3
+<emphasis role="stamnt">i</emphasis>102       b4             C#4
+<emphasis role="stamnt">i</emphasis>102       b4             Bb3
+
+<emphasis role="stamnt">i</emphasis>103    m5 b2      e     F6
+<emphasis role="stamnt">i</emphasis>103       b2      e     A5
+<emphasis role="stamnt">i</emphasis>103       b2.5    e     D6
+<emphasis role="stamnt">i</emphasis>103       b3      e     F6
+<emphasis role="stamnt">i</emphasis>103       b3      e     A5
+<emphasis role="stamnt">i</emphasis>103       b4      e     E6
+
+<emphasis role="stamnt">i</emphasis>103    m6 b1      q     C#6
+<emphasis role="stamnt">i</emphasis>103               q     D6
+<emphasis role="stamnt">i</emphasis>103               e     C6
+<emphasis role="stamnt">i</emphasis>103                           
+<emphasis role="stamnt">i</emphasis>103               q        
+
+<emphasis role="stamnt">i</emphasis>103    m7 b1      e     B5
+<emphasis role="stamnt">i</emphasis>103                            
+<emphasis role="stamnt">i</emphasis>103                 q         
+<emphasis role="stamnt">i</emphasis>103                 e    Bb5
+<emphasis role="stamnt">i</emphasis>103                            
+<emphasis role="stamnt">i</emphasis>103                 q         
+
+<emphasis role="stamnt">i</emphasis>103     m8 b1     e     F5
+<emphasis role="stamnt">i</emphasis>103        b1     e     A5
+<emphasis role="stamnt">i</emphasis>103        b1.5   e     D6
+<emphasis role="stamnt">i</emphasis>103        b2     e    Bb5
+<emphasis role="stamnt">i</emphasis>103        b2.5   e     D6
+<emphasis role="stamnt">i</emphasis>103        b3     q     F5
+<emphasis role="stamnt">i</emphasis>103        b3           A5
+<emphasis role="stamnt">e</emphasis>nd
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/cuserrnd.csd.xml b/examples-xml/cuserrnd.csd.xml
new file mode 100644
index 0000000..0c005e5
--- /dev/null
+++ b/examples-xml/cuserrnd.csd.xml
@@ -0,0 +1,44 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o cuserrnd.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; every run time same values</emphasis>
+
+kuser <emphasis role="opc">cuserrnd</emphasis> 0, 100, 1
+      <emphasis role="opc">printk</emphasis> .2, kuser
+asig  <emphasis role="opc">poscil</emphasis> .5, 220<emphasis role="op">+</emphasis>kuser, 3
+      <emphasis role="opc">outs</emphasis> asig, asig
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">; every run time different values</emphasis>
+
+      <emphasis role="ohdr">seed</emphasis> 0
+kuser <emphasis role="opc">cuserrnd</emphasis> 0, 100, 1
+      <emphasis role="opc">printk</emphasis> .2, kuser
+asig  <emphasis role="opc">poscil</emphasis> .5, 220<emphasis role="op">+</emphasis>kuser, 3
+      <emphasis role="opc">outs</emphasis> asig, asig
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16 -7 1 4 0 8 0 4 1	<emphasis role="comment">;distrubution using GEN07</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 16384 40 1		<emphasis role="comment">;GEN40 is to be used with cuserrnd</emphasis>
+<emphasis role="stamnt">f</emphasis> 3 0 8192 10 1			<emphasis role="comment">;sine</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 2 3 2
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/deltapx.csd.xml b/examples-xml/deltapx.csd.xml
index efbd12c..c227657 100644
--- a/examples-xml/deltapx.csd.xml
+++ b/examples-xml/deltapx.csd.xml
@@ -20,10 +20,10 @@ a1      <emphasis role="opc">phasor</emphasis>   300
 a1      <emphasis role="op">=</emphasis>  a1 <emphasis role="op">-</emphasis> 0.5
 a_      <emphasis role="opc">delayr</emphasis>   1
 adel    <emphasis role="opc">phasor</emphasis>   4
-adel    <emphasis role="op">=</emphasis>  <emphasis role="opc">sin</emphasis> (2 <emphasis role="op">*</emphasis> 3.14159265 <emphasis role="op">*</emphasis> adel) <emphasis role="op">*</emphasis> 0.01 <emphasis role="op">+</emphasis> 0.2
+adel    <emphasis role="op">=</emphasis>  <emphasis role="opc">sin</emphasis>(2 <emphasis role="op">*</emphasis> 3.14159265 <emphasis role="op">*</emphasis> adel) <emphasis role="op">*</emphasis> 0.01 <emphasis role="op">+</emphasis> 0.2
         <emphasis role="opc">deltapxw</emphasis> a1, adel, 32
 adel    <emphasis role="opc">phasor</emphasis>   2
-adel    <emphasis role="op">=</emphasis>  <emphasis role="opc">sin</emphasis> (2 <emphasis role="op">*</emphasis> 3.14159265 <emphasis role="op">*</emphasis> adel) <emphasis role="op">*</emphasis> 0.01 <emphasis role="op">+</emphasis> 0.2
+adel    <emphasis role="op">=</emphasis>  <emphasis role="opc">sin</emphasis>(2 <emphasis role="op">*</emphasis> 3.14159265 <emphasis role="op">*</emphasis> adel) <emphasis role="op">*</emphasis> 0.01 <emphasis role="op">+</emphasis> 0.2
         <emphasis role="opc">deltapxw</emphasis> a1, adel, 32
 adel    <emphasis role="op">=</emphasis>  0.3
 a2      <emphasis role="opc">deltapx</emphasis>  adel, 32
diff --git a/examples-xml/deltapxw.csd.xml b/examples-xml/deltapxw.csd.xml
index 3a8bab0..0ebc120 100644
--- a/examples-xml/deltapxw.csd.xml
+++ b/examples-xml/deltapxw.csd.xml
@@ -20,10 +20,10 @@ a1      <emphasis role="opc">phasor</emphasis>   300
 a1      <emphasis role="op">=</emphasis>  a1 <emphasis role="op">-</emphasis> 0.5
 a_      <emphasis role="opc">delayr</emphasis>   1
 adel    <emphasis role="opc">phasor</emphasis>   4
-adel    <emphasis role="op">=</emphasis>  <emphasis role="opc">sin</emphasis> (2 <emphasis role="op">*</emphasis> 3.14159265 <emphasis role="op">*</emphasis> adel) <emphasis role="op">*</emphasis> 0.01 <emphasis role="op">+</emphasis> 0.2
+adel    <emphasis role="op">=</emphasis>  <emphasis role="opc">sin</emphasis>(2 <emphasis role="op">*</emphasis> 3.14159265 <emphasis role="op">*</emphasis> adel) <emphasis role="op">*</emphasis> 0.01 <emphasis role="op">+</emphasis> 0.2
         <emphasis role="opc">deltapxw</emphasis> a1, adel, 32
 adel    <emphasis role="opc">phasor</emphasis>   2
-adel    <emphasis role="op">=</emphasis>  <emphasis role="opc">sin</emphasis> (2 <emphasis role="op">*</emphasis> 3.14159265 <emphasis role="op">*</emphasis> adel) <emphasis role="op">*</emphasis> 0.01 <emphasis role="op">+</emphasis> 0.2
+adel    <emphasis role="op">=</emphasis>  <emphasis role="opc">sin</emphasis>(2 <emphasis role="op">*</emphasis> 3.14159265 <emphasis role="op">*</emphasis> adel) <emphasis role="op">*</emphasis> 0.01 <emphasis role="op">+</emphasis> 0.2
         <emphasis role="opc">deltapxw</emphasis> a1, adel, 32
 adel    <emphasis role="op">=</emphasis>  0.3
 a2      <emphasis role="opc">deltapx</emphasis>  adel, 32
diff --git a/examples-xml/divides.csd.xml b/examples-xml/divides.csd.xml
index 7cfeed9..bf84d2c 100644
--- a/examples-xml/divides.csd.xml
+++ b/examples-xml/divides.csd.xml
@@ -2,34 +2,37 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o divides.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">; -o /.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  i1 <emphasis role="op">=</emphasis> 24 <emphasis role="op">/</emphasis> 8
-  <emphasis role="opc">print</emphasis> i1
-<emphasis role="oblock">endin</emphasis>
 
+idiv  <emphasis role="op">=</emphasis> 1<emphasis role="op">/</emphasis>p3 <emphasis role="op">*</emphasis> p4
+ktrm  <emphasis role="opc">oscil</emphasis> 1, idiv, 1						<emphasis role="comment">;use oscil as an envelope</emphasis>
+<emphasis role="opc">printf</emphasis> "retrigger rate per note duration <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n",1, idiv
+kndx  <emphasis role="opc">line</emphasis> 5, p3, 1						<emphasis role="comment">;vary index of FM</emphasis>
+asig  <emphasis role="opc">foscil</emphasis> ktrm, 200, 1, 1.4, kndx, 1
+      <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1  0 4096 10   1    <emphasis role="comment">;sine wave</emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
-<emphasis role="stamnt">e</emphasis>
-
+<emphasis role="stamnt">i</emphasis> 1 0 3	10   
+<emphasis role="stamnt">i</emphasis> 1 4 3 15  	
+<emphasis role="stamnt">i</emphasis> 1 8 3 2 
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/dripwater.csd.xml b/examples-xml/dripwater.csd.xml
index dd544df..a16bcca 100644
--- a/examples-xml/dripwater.csd.xml
+++ b/examples-xml/dripwater.csd.xml
@@ -2,33 +2,41 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o dripwater.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="oblock">instr</emphasis> 01  <emphasis role="comment">;example of a water drip</emphasis>
-a1  <emphasis role="opc">line</emphasis> 5, p3, 5  <emphasis role="comment">;preset an amplitude boost</emphasis>
-a2  <emphasis role="opc">dripwater</emphasis> p4, 0.01, 0, .9  <emphasis role="comment">;dripwater needs a little amplitude help at these values</emphasis>
-a3  <emphasis role="opc">product</emphasis> a1, a2 <emphasis role="comment">;increase amplitude</emphasis>
-    <emphasis role="opc">out</emphasis> a3
-    <emphasis role="oblock">endin</emphasis>
+<emphasis role="oblock">instr</emphasis> 1
 
+imaxshake <emphasis role="op">=</emphasis> p4
+ifreq     <emphasis role="op">=</emphasis> p5
+ifreq1    <emphasis role="op">=</emphasis> p6
+ifreq2    <emphasis role="op">=</emphasis> p7
 
+<emphasis role="comment">;low amplitude</emphasis>
+adrp <emphasis role="opc">dripwater</emphasis> .1, 0.09, 10, .9, imaxshake, ifreq, ifreq1, ifreq2 
+asig <emphasis role="opc">clip</emphasis> adrp, 2, 0.9	<emphasis role="comment">; avoid drips that drip too loud</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="stamnt">i</emphasis>1 0 1 20000
-<emphasis role="stamnt">e</emphasis>
+{100 CNT 
 
+<emphasis role="stamnt">i</emphasis>1 [0.1 * $CNT] 0.5 0.5 430 1000 800 
 
+} 
+
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/dssi4cs.csd.xml b/examples-xml/dssi4cs.csd.xml
index 5b02c82..c462b98 100644
--- a/examples-xml/dssi4cs.csd.xml
+++ b/examples-xml/dssi4cs.csd.xml
@@ -7,27 +7,27 @@
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 256
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
-<emphasis role="opc">dssilist</emphasis>
+dssilist
 
-gihandle <emphasis role="opc">dssiinit</emphasis> "amp.so", 0, 1
+gihandle dssiinit "amp.so", 0, 1
 <emphasis role="comment">;gihandle dssiinit "cmt.so", 30 , 2</emphasis>
 <emphasis role="comment">;gihandle2 dssiinit "cmt.so", 8 , 1</emphasis>
 <emphasis role="comment">;gihandle dssiinit "delayorama_1402", 0</emphasis>
-gihandle2 <emphasis role="opc">dssiinit</emphasis> "cmt.so", 49 , 1
+gihandle2 dssiinit "cmt.so", 49 , 1
 <emphasis role="comment">;gihandle dssiinit "freq_tracker_1418.so", 0 , 1, 1  </emphasis>
 <emphasis role="comment">;gihandle dssiinit "g2reverb.so", 0, 1</emphasis>
 <emphasis role="comment">;gihandle2 dssiinit "declip_1195.so", 0, 1</emphasis>
 <emphasis role="comment">;gihandle2 dssiinit "revdelay_1605.so", 0, 1</emphasis>
 <emphasis role="comment">;gihandle2 dssiinit "tap_chorusflanger.so", 0, 1</emphasis>
 <emphasis role="comment">;gihandle2 dssiinit "plate_1423.so", 0, 1</emphasis>
-gihandle3 <emphasis role="opc">dssiinit</emphasis> "gate_1410.so", 0, 1
+gihandle3 dssiinit "gate_1410.so", 0, 1
 <emphasis role="comment">;gihandle3 dssiinit "hexter.so", 0, 1</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 1
 <emphasis role="opc">print</emphasis> p4
-<emphasis role="opc">dssiactivate</emphasis> gihandle, p4
-<emphasis role="opc">dssiactivate</emphasis> gihandle2, p4
-<emphasis role="opc">dssiactivate</emphasis> gihandle3, p4
+dssiactivate gihandle, p4
+dssiactivate gihandle2, p4
+dssiactivate gihandle3, p4
 <emphasis role="oblock">endin</emphasis>
 
 
@@ -35,18 +35,18 @@ gihandle3 <emphasis role="opc">dssiinit</emphasis> "gate_1410.so", 0, 1
 ain1 <emphasis role="opc">inch</emphasis> 1
 ain2 <emphasis role="opc">inch</emphasis> 2
 <emphasis role="comment">;aout1,aout2 dssiaudio gihandle, ain1, ain2</emphasis>
-aout1 <emphasis role="opc">dssiaudio</emphasis> gihandle, ain1
+aout1 dssiaudio gihandle, ain1
 <emphasis role="opc">outs</emphasis> aout1,aout1
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 3
 kval <emphasis role="opc">linen</emphasis> 1, p3 <emphasis role="op">/</emphasis>3, p3, p3<emphasis role="op">/</emphasis> 3
-<emphasis role="opc">dssictls</emphasis> gihandle, p4, kval, 1
+dssictls gihandle, p4, kval, 1
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 4
 ain1 <emphasis role="opc">inch</emphasis> 1
-aout1 <emphasis role="opc">dssiaudio</emphasis> gihandle2, ain1
+aout1 dssiaudio gihandle2, ain1
 <emphasis role="opc">outs</emphasis> aout1,aout1
 <emphasis role="oblock">endin</emphasis>
 
diff --git a/examples-xml/dssiactivate.csd.xml b/examples-xml/dssiactivate.csd.xml
index 4f8c4e8..bf68570 100644
--- a/examples-xml/dssiactivate.csd.xml
+++ b/examples-xml/dssiactivate.csd.xml
@@ -13,13 +13,13 @@
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
-gihandle <emphasis role="opc">dssiinit</emphasis> "caps.so", 19, 1	<emphasis role="comment">; = mono phaser and</emphasis>
+gihandle dssiinit "caps.so", 19, 1	<emphasis role="comment">; = mono phaser and</emphasis>
 gaout <emphasis role="opc">init</emphasis>  0				<emphasis role="comment">; verbose about all ports</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; activate DSSI</emphasis>
 
 ktoggle	<emphasis role="op">=</emphasis>  p4
-<emphasis role="opc">dssiactivate</emphasis> gihandle, ktoggle
+dssiactivate gihandle, ktoggle
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 2
@@ -32,17 +32,17 @@ gaout <emphasis role="op">=</emphasis> gaout<emphasis role="op">+</emphasis>ain1
 
 <emphasis role="oblock">instr</emphasis> 3
 
-<emphasis role="opc">dssictls</emphasis> gihandle, 0, 1, 1			<emphasis role="comment">; range -1 to 1</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 1, 2, 1			<emphasis role="comment">; rate 0 to 10</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 2, .8, 1			<emphasis role="comment">; depth 0 to 1</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 3, 3, 1			<emphasis role="comment">; spread 0 to 3.14</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 4, .9, 1			<emphasis role="comment">; feedback 0 to 0.999</emphasis>
+dssictls gihandle, 0, 1, 1			<emphasis role="comment">; range -1 to 1</emphasis>
+dssictls gihandle, 1, 2, 1			<emphasis role="comment">; rate 0 to 10</emphasis>
+dssictls gihandle, 2, .8, 1			<emphasis role="comment">; depth 0 to 1</emphasis>
+dssictls gihandle, 3, 3, 1			<emphasis role="comment">; spread 0 to 3.14</emphasis>
+dssictls gihandle, 4, .9, 1			<emphasis role="comment">; feedback 0 to 0.999</emphasis>
 
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 4
 
-aout1 <emphasis role="opc">dssiaudio</emphasis> gihandle, gaout	<emphasis role="comment">;get beats.wav, mono out</emphasis>
+aout1 dssiaudio gihandle, gaout	<emphasis role="comment">;get beats.wav, mono out</emphasis>
 	<emphasis role="opc">outs</emphasis> aout1,aout1
 
 gaout <emphasis role="op">=</emphasis> 0
diff --git a/examples-xml/dssiaudio.csd.xml b/examples-xml/dssiaudio.csd.xml
index 9118784..4dd55be 100644
--- a/examples-xml/dssiaudio.csd.xml
+++ b/examples-xml/dssiaudio.csd.xml
@@ -13,12 +13,12 @@
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
-gihandle <emphasis role="opc">dssiinit</emphasis> "caps.so", 19, 1	<emphasis role="comment">; = mono phaser and</emphasis>
+gihandle dssiinit "caps.so", 19, 1	<emphasis role="comment">; = mono phaser and</emphasis>
 gaout    <emphasis role="opc">init</emphasis>  0			<emphasis role="comment">; verbose about all ports</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; activate DSSI</emphasis>
 
-<emphasis role="opc">dssiactivate</emphasis> gihandle, 1
+dssiactivate gihandle, 1
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 2
@@ -29,17 +29,17 @@ gaout <emphasis role="op">=</emphasis> gaout<emphasis role="op">+</emphasis>(ain
 
 <emphasis role="oblock">instr</emphasis> 3
 
-<emphasis role="opc">dssictls</emphasis> gihandle, 0, .8, 1		<emphasis role="comment">; range -1 to 1</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 1, .05, 1		<emphasis role="comment">; rate 0 to 10</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 2, .8, 1		<emphasis role="comment">; depth 0 to 1</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 3, 2, 1		<emphasis role="comment">; spread 0 to 3.14</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 4, .7, 1		<emphasis role="comment">; feedback 0 to 0.999</emphasis>
+dssictls gihandle, 0, .8, 1		<emphasis role="comment">; range -1 to 1</emphasis>
+dssictls gihandle, 1, .05, 1		<emphasis role="comment">; rate 0 to 10</emphasis>
+dssictls gihandle, 2, .8, 1		<emphasis role="comment">; depth 0 to 1</emphasis>
+dssictls gihandle, 3, 2, 1		<emphasis role="comment">; spread 0 to 3.14</emphasis>
+dssictls gihandle, 4, .7, 1		<emphasis role="comment">; feedback 0 to 0.999</emphasis>
 
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 4
 
-aout1 <emphasis role="opc">dssiaudio</emphasis> gihandle, gaout	<emphasis role="comment">;get beats.wav, mono out</emphasis>
+aout1 dssiaudio gihandle, gaout	<emphasis role="comment">;get beats.wav, mono out</emphasis>
       <emphasis role="opc">outs</emphasis> aout1,aout1
 
 gaout <emphasis role="op">=</emphasis> 0
diff --git a/examples-xml/dssictls.csd.xml b/examples-xml/dssictls.csd.xml
index 721ddb1..546138b 100644
--- a/examples-xml/dssictls.csd.xml
+++ b/examples-xml/dssictls.csd.xml
@@ -13,13 +13,13 @@
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
-gihandle <emphasis role="opc">dssiinit</emphasis> "caps.so", 1, 1	<emphasis role="comment">; = equaliser and</emphasis>
+gihandle dssiinit "caps.so", 1, 1	<emphasis role="comment">; = equaliser and</emphasis>
 gaoutl <emphasis role="opc">init</emphasis>  0				<emphasis role="comment">; verbose about all ports</emphasis>
 gaoutr <emphasis role="opc">init</emphasis>  0
 
 <emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; activate DSSI</emphasis>
 
-<emphasis role="opc">dssiactivate</emphasis> gihandle, 1
+dssiactivate gihandle, 1
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 2
@@ -31,22 +31,22 @@ gaoutr <emphasis role="op">=</emphasis> gaoutr<emphasis role="op">+</emphasis>(a
 
 <emphasis role="oblock">instr</emphasis> 3
 
-<emphasis role="opc">dssictls</emphasis> gihandle, 2, <emphasis role="op">-</emphasis>48, 1	<emphasis role="comment">; 31 Hz range -48 to 24</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 3, <emphasis role="op">-</emphasis>48, 1	<emphasis role="comment">; 63 Hz range -48 to 24</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 4, <emphasis role="op">-</emphasis>48, 1	<emphasis role="comment">; 125 Hz range -48 to 24</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 5, 20, 1	<emphasis role="comment">; 250 Hz range -48 to 24</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 6, <emphasis role="op">-</emphasis>48, 1	<emphasis role="comment">; 500 Hz range -48 to 24</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 7, <emphasis role="op">-</emphasis>48, 1	<emphasis role="comment">; 1 kHz Hz range -48 to 24</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 8, <emphasis role="op">-</emphasis>48, 1	<emphasis role="comment">; 2 kHz range -48 to 24</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 9, 24, 1	<emphasis role="comment">; 4 kHz range -48 to 24</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 10, 24, 1	<emphasis role="comment">; 8 kHz range -48 to 24</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 11, 24, 1	<emphasis role="comment">; 16 kHz range -48 to 24</emphasis>
+dssictls gihandle, 2, <emphasis role="op">-</emphasis>48, 1	<emphasis role="comment">; 31 Hz range -48 to 24</emphasis>
+dssictls gihandle, 3, <emphasis role="op">-</emphasis>48, 1	<emphasis role="comment">; 63 Hz range -48 to 24</emphasis>
+dssictls gihandle, 4, <emphasis role="op">-</emphasis>48, 1	<emphasis role="comment">; 125 Hz range -48 to 24</emphasis>
+dssictls gihandle, 5, 20, 1	<emphasis role="comment">; 250 Hz range -48 to 24</emphasis>
+dssictls gihandle, 6, <emphasis role="op">-</emphasis>48, 1	<emphasis role="comment">; 500 Hz range -48 to 24</emphasis>
+dssictls gihandle, 7, <emphasis role="op">-</emphasis>48, 1	<emphasis role="comment">; 1 kHz Hz range -48 to 24</emphasis>
+dssictls gihandle, 8, <emphasis role="op">-</emphasis>48, 1	<emphasis role="comment">; 2 kHz range -48 to 24</emphasis>
+dssictls gihandle, 9, 24, 1	<emphasis role="comment">; 4 kHz range -48 to 24</emphasis>
+dssictls gihandle, 10, 24, 1	<emphasis role="comment">; 8 kHz range -48 to 24</emphasis>
+dssictls gihandle, 11, 24, 1	<emphasis role="comment">; 16 kHz range -48 to 24</emphasis>
 
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 4
 
-aout1, aout2	<emphasis role="opc">dssiaudio</emphasis> gihandle, gaoutl, gaoutr	<emphasis role="comment">;get beats.wav, mono out</emphasis>
+aout1, aout2	dssiaudio gihandle, gaoutl, gaoutr	<emphasis role="comment">;get beats.wav, mono out</emphasis>
 		<emphasis role="opc">outs</emphasis> aout1,aout2
 
 gaoutl <emphasis role="op">=</emphasis> 0
diff --git a/examples-xml/dssiinit.csd.xml b/examples-xml/dssiinit.csd.xml
index f17080f..e995776 100644
--- a/examples-xml/dssiinit.csd.xml
+++ b/examples-xml/dssiinit.csd.xml
@@ -13,12 +13,12 @@
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
-gihandle <emphasis role="opc">dssiinit</emphasis> "g2reverb.so", 0, 1
+gihandle dssiinit "g2reverb.so", 0, 1
 gaout    <emphasis role="opc">init</emphasis>  0
 
 <emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; activate DSSI</emphasis>
 
-<emphasis role="opc">dssiactivate</emphasis> gihandle, 1
+dssiactivate gihandle, 1
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 2
@@ -30,18 +30,18 @@ gaout <emphasis role="op">=</emphasis> gaout<emphasis role="op">+</emphasis>(ain
 
 <emphasis role="oblock">instr</emphasis> 3 
 	
-<emphasis role="opc">dssictls</emphasis> gihandle, 4, 100, 1	<emphasis role="comment">; room 10 to 150 </emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 5, 10, 1	<emphasis role="comment">; reverb time 1 to 20</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 6, .5, 1	<emphasis role="comment">; input bandwith 0 to 1</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 7, .25, 1	<emphasis role="comment">; damping 0 to 1</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 8, 0, 1	<emphasis role="comment">; dry -80 to 0</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 9, <emphasis role="op">-</emphasis>10, 1	<emphasis role="comment">; reflections -80 to 0</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 10, <emphasis role="op">-</emphasis>15, 1	<emphasis role="comment">; rev. tail -80 to 0</emphasis>
+dssictls gihandle, 4, 100, 1	<emphasis role="comment">; room 10 to 150 </emphasis>
+dssictls gihandle, 5, 10, 1	<emphasis role="comment">; reverb time 1 to 20</emphasis>
+dssictls gihandle, 6, .5, 1	<emphasis role="comment">; input bandwith 0 to 1</emphasis>
+dssictls gihandle, 7, .25, 1	<emphasis role="comment">; damping 0 to 1</emphasis>
+dssictls gihandle, 8, 0, 1	<emphasis role="comment">; dry -80 to 0</emphasis>
+dssictls gihandle, 9, <emphasis role="op">-</emphasis>10, 1	<emphasis role="comment">; reflections -80 to 0</emphasis>
+dssictls gihandle, 10, <emphasis role="op">-</emphasis>15, 1	<emphasis role="comment">; rev. tail -80 to 0</emphasis>
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 4
 
-aout1, aout2 <emphasis role="opc">dssiaudio</emphasis> gihandle, gaout, gaout	<emphasis role="comment">;get beats.wav and</emphasis>
+aout1, aout2 dssiaudio gihandle, gaout, gaout	<emphasis role="comment">;get beats.wav and</emphasis>
 	     <emphasis role="opc">outs</emphasis> aout1,aout2	 		<emphasis role="comment">; stereo DSSI plugin</emphasis>
 
 gaout <emphasis role="op">=</emphasis> 0
diff --git a/examples-xml/dssilist.csd.xml b/examples-xml/dssilist.csd.xml
index 2219a03..34b3f13 100644
--- a/examples-xml/dssilist.csd.xml
+++ b/examples-xml/dssilist.csd.xml
@@ -14,7 +14,7 @@
 
 <emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; list all DSSI and LADSPA plugins</emphasis>
 
-<emphasis role="opc">dssilist</emphasis>
+dssilist
 
 <emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
diff --git a/examples-xml/dssiplay_mono.csd.xml b/examples-xml/dssiplay_mono.csd.xml
index 40ed0aa..35e307e 100644
--- a/examples-xml/dssiplay_mono.csd.xml
+++ b/examples-xml/dssiplay_mono.csd.xml
@@ -13,12 +13,12 @@
   <emphasis role="ohdr">ksmps</emphasis>	<emphasis role="op">=</emphasis>	10
   <emphasis role="ohdr">nchnls</emphasis>	<emphasis role="op">=</emphasis>	2
 
-gihandle <emphasis role="opc">dssiinit</emphasis> "caps.so", 19, 1	<emphasis role="comment">; = mono phaser and</emphasis>
+gihandle dssiinit "caps.so", 19, 1	<emphasis role="comment">; = mono phaser and</emphasis>
 gaout <emphasis role="opc">init</emphasis>  0					<emphasis role="comment">; verbose about all ports</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 1
 <emphasis role="comment">; activate DSSI</emphasis>
-<emphasis role="opc">dssiactivate</emphasis> gihandle, 1
+dssiactivate gihandle, 1
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 2
@@ -29,17 +29,17 @@ gaout <emphasis role="op">=</emphasis> gaout<emphasis role="op">+</emphasis>(ain
 
 <emphasis role="oblock">instr</emphasis> 3
 
-<emphasis role="opc">dssictls</emphasis> gihandle, 0, .8, 1			<emphasis role="comment">; range -1 to 1</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 1, .05, 1		<emphasis role="comment">; rate 0 to 10</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 2, .8, 1			<emphasis role="comment">; depth 0 to 1</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 3, 2, 1			<emphasis role="comment">; spread 0 to 3.14</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 4, .7, 1			<emphasis role="comment">; feedback 0 to 0.999</emphasis>
+dssictls gihandle, 0, .8, 1			<emphasis role="comment">; range -1 to 1</emphasis>
+dssictls gihandle, 1, .05, 1		<emphasis role="comment">; rate 0 to 10</emphasis>
+dssictls gihandle, 2, .8, 1			<emphasis role="comment">; depth 0 to 1</emphasis>
+dssictls gihandle, 3, 2, 1			<emphasis role="comment">; spread 0 to 3.14</emphasis>
+dssictls gihandle, 4, .7, 1			<emphasis role="comment">; feedback 0 to 0.999</emphasis>
 
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 4
 
-aout1 <emphasis role="opc">dssiaudio</emphasis> gihandle, gaout	<emphasis role="comment">;get beats.wav, mono out</emphasis>
+aout1 dssiaudio gihandle, gaout	<emphasis role="comment">;get beats.wav, mono out</emphasis>
 	<emphasis role="opc">outs</emphasis> aout1,aout1
 
 gaout <emphasis role="op">=</emphasis> 0
diff --git a/examples-xml/dssiplay_stereo.csd.xml b/examples-xml/dssiplay_stereo.csd.xml
index 9331ec7..52d91e8 100644
--- a/examples-xml/dssiplay_stereo.csd.xml
+++ b/examples-xml/dssiplay_stereo.csd.xml
@@ -13,12 +13,12 @@
   <emphasis role="ohdr">ksmps</emphasis>	<emphasis role="op">=</emphasis>	10
   <emphasis role="ohdr">nchnls</emphasis>	<emphasis role="op">=</emphasis>	2
 
-gihandle <emphasis role="opc">dssiinit</emphasis> "g2reverb.so", 0, 1
+gihandle dssiinit "g2reverb.so", 0, 1
 gaout <emphasis role="opc">init</emphasis>  0
 
 <emphasis role="oblock">instr</emphasis> 1
 <emphasis role="comment">; activate DSSI</emphasis>
-<emphasis role="opc">dssiactivate</emphasis> gihandle, 1
+dssiactivate gihandle, 1
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 2
@@ -28,18 +28,18 @@ gaout <emphasis role="op">=</emphasis> gaout<emphasis role="op">+</emphasis>(ain
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 3 	
-<emphasis role="opc">dssictls</emphasis> gihandle, 4, 100, 1				<emphasis role="comment">; room 10 to 150 </emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 5, 10, 1				<emphasis role="comment">; reverb time 1 to 20</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 6, .5, 1					<emphasis role="comment">; input bandwith 0 to 1</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 7, .25, 1				<emphasis role="comment">; damping 0 to 1</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 8, 0, 1					<emphasis role="comment">; dry -80 to 0</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 9, <emphasis role="op">-</emphasis>10, 1				<emphasis role="comment">; reflections -80 to 0</emphasis>
-<emphasis role="opc">dssictls</emphasis> gihandle, 10, <emphasis role="op">-</emphasis>15, 1				<emphasis role="comment">; rev. tail -80 to 0</emphasis>
+dssictls gihandle, 4, 100, 1				<emphasis role="comment">; room 10 to 150 </emphasis>
+dssictls gihandle, 5, 10, 1				<emphasis role="comment">; reverb time 1 to 20</emphasis>
+dssictls gihandle, 6, .5, 1					<emphasis role="comment">; input bandwith 0 to 1</emphasis>
+dssictls gihandle, 7, .25, 1				<emphasis role="comment">; damping 0 to 1</emphasis>
+dssictls gihandle, 8, 0, 1					<emphasis role="comment">; dry -80 to 0</emphasis>
+dssictls gihandle, 9, <emphasis role="op">-</emphasis>10, 1				<emphasis role="comment">; reflections -80 to 0</emphasis>
+dssictls gihandle, 10, <emphasis role="op">-</emphasis>15, 1				<emphasis role="comment">; rev. tail -80 to 0</emphasis>
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 4
 
-aout1, aout2 <emphasis role="opc">dssiaudio</emphasis> gihandle, gaout, gaout	<emphasis role="comment">;get beats.wav and</emphasis>
+aout1, aout2 dssiaudio gihandle, gaout, gaout	<emphasis role="comment">;get beats.wav and</emphasis>
 		<emphasis role="opc">outs</emphasis> aout1,aout2				<emphasis role="comment">; stereo DSSI plugin</emphasis>
 
 gaout <emphasis role="op">=</emphasis> 0
diff --git a/examples-xml/dumpk-2.csd.xml b/examples-xml/dumpk-2.csd.xml
new file mode 100644
index 0000000..f10b136
--- /dev/null
+++ b/examples-xml/dumpk-2.csd.xml
@@ -0,0 +1,39 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o dumpk-2.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giSine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
+
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">;writes a control signal to a file</emphasis>
+kfreq <emphasis role="opc">randh</emphasis>  100, 1, 2, 1, 500 <emphasis role="comment">;generates one random number between 400 and 600 per second</emphasis>
+      <emphasis role="opc">dumpk</emphasis>  kfreq, "dumpk.txt", 8, 1 <emphasis role="comment">;writes the control signal</emphasis>
+      <emphasis role="opc">printk</emphasis> 1, kfreq 				 <emphasis role="comment">;prints it</emphasis>
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2 <emphasis role="comment">;reads the file written by instr 1</emphasis>
+kfreq <emphasis role="opc">readk</emphasis>  "dumpk.txt", 8, 1
+      <emphasis role="opc">printk</emphasis> 1, kfreq <emphasis role="comment">;prints it</emphasis>
+aout  <emphasis role="opc">poscil</emphasis> .2, kfreq, giSine
+      <emphasis role="opc">outs</emphasis>   aout, aout
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 5
+<emphasis role="stamnt">i</emphasis> 2 5 5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/dumpk2.csd.xml b/examples-xml/dumpk2.csd.xml
new file mode 100644
index 0000000..714474a
--- /dev/null
+++ b/examples-xml/dumpk2.csd.xml
@@ -0,0 +1,43 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o dumpk2.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giSine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
+
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">;writes two control signals to a file</emphasis>
+kfreq     <emphasis role="opc">randh</emphasis>     100, 1, 2, 1, 500 <emphasis role="comment">;generates one random number between 400 and 600 per second</emphasis>
+kdb       <emphasis role="opc">randh</emphasis>     12, 1, 2, 1, <emphasis role="op">-</emphasis>12 <emphasis role="comment">;amplitudes in dB between -24 and 0</emphasis>
+          <emphasis role="opc">dumpk2</emphasis>    kfreq, kdb, "dumpk2.txt", 8, 1 <emphasis role="comment">;writes the control signals</emphasis>
+          <emphasis role="opc">prints</emphasis>    "WRITING<emphasis role="op">:</emphasis>\n"
+          <emphasis role="opc">printks</emphasis>   "kfreq <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, kdb <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", 1, kfreq, kdb  <emphasis role="comment">;prints them</emphasis>
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2 <emphasis role="comment">;reads the file written by instr 1</emphasis>
+kf,kdb    <emphasis role="opc">readk2</emphasis>    "dumpk2.txt", 8, 1
+          <emphasis role="opc">prints</emphasis>    "READING<emphasis role="op">:</emphasis>\n"
+          <emphasis role="opc">printks</emphasis>   "kfreq <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, kdb <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", 1, kf, kdb  <emphasis role="comment">;prints again</emphasis>
+kdb       <emphasis role="opc">lineto</emphasis>    kdb, .1 <emphasis role="comment">;smoothing amp transition</emphasis>
+aout      <emphasis role="opc">poscil</emphasis>    <emphasis role="opc">ampdb</emphasis>(kdb), kf, giSine
+          <emphasis role="opc">outs</emphasis>      aout, aout
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 5
+<emphasis role="stamnt">i</emphasis> 2 5 5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/dumpk3.csd.xml b/examples-xml/dumpk3.csd.xml
new file mode 100644
index 0000000..3706ee7
--- /dev/null
+++ b/examples-xml/dumpk3.csd.xml
@@ -0,0 +1,46 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o dumpk3.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giSine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
+
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">;writes three control signals to a file</emphasis>
+kfreq     <emphasis role="opc">randh</emphasis>     100, 1, 2, 1, 500 <emphasis role="comment">;generates one random number between 400 and 600 per second</emphasis>
+kdb       <emphasis role="opc">randh</emphasis>     12, 1, 2, 1, <emphasis role="op">-</emphasis>12 <emphasis role="comment">;amplitudes in dB between -24 and 0</emphasis>
+kpan      <emphasis role="opc">randh</emphasis>     .5, 1, 2, 1, .5 <emphasis role="comment">;panning between 0 and 1</emphasis>
+          <emphasis role="opc">dumpk3</emphasis>    kfreq, kdb, kpan, "dumpk3.txt", 8, 1 <emphasis role="comment">;writes the control signals</emphasis>
+          <emphasis role="opc">prints</emphasis>    "WRITING<emphasis role="op">:</emphasis>\n"
+          <emphasis role="opc">printks</emphasis>   "kfreq <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, kdb <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, kpan <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", 1, kfreq, kdb, kpan  <emphasis role="comment">;prints them</emphasis>
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2 <emphasis role="comment">;reads the file written by instr 1</emphasis>
+kf,kdb,kp <emphasis role="opc">readk3</emphasis>    "dumpk3.txt", 8, 1
+          <emphasis role="opc">prints</emphasis>    "READING<emphasis role="op">:</emphasis>\n"
+          <emphasis role="opc">printks</emphasis>   "kfreq <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, kdb <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, kpan <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", 1, kf, kdb, kp  <emphasis role="comment">;prints again</emphasis>
+kdb       <emphasis role="opc">lineto</emphasis>    kdb, .1 <emphasis role="comment">;smoothing amp transition</emphasis>
+kp        <emphasis role="opc">lineto</emphasis>    kp, .1 <emphasis role="comment">;smoothing pan transition</emphasis>
+aout      <emphasis role="opc">poscil</emphasis>    <emphasis role="opc">ampdb</emphasis>(kdb), kf, giSine
+aL, aR    <emphasis role="opc">pan2</emphasis>      aout, kp
+          <emphasis role="opc">outs</emphasis>      aL, aR
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 5
+<emphasis role="stamnt">i</emphasis> 2 5 5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/dumpk4.csd.xml b/examples-xml/dumpk4.csd.xml
new file mode 100644
index 0000000..f81051e
--- /dev/null
+++ b/examples-xml/dumpk4.csd.xml
@@ -0,0 +1,50 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o dumpk4.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giSine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
+
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">;writes four control signals to a file</emphasis>
+kcf       <emphasis role="opc">randh</emphasis>     950, 1, 2, 1, 1050 <emphasis role="comment">;generates one random number between 100 and 2000 per second</emphasis>
+kq        <emphasis role="opc">randh</emphasis>     10, 1, 2, 1, 11 <emphasis role="comment">;generates another random number between 1 and 21 per second</emphasis>
+kdb       <emphasis role="opc">randh</emphasis>     9, 1, 2, 1, <emphasis role="op">-</emphasis>15 <emphasis role="comment">;amplitudes in dB between -24 and -6</emphasis>
+kpan      <emphasis role="opc">randh</emphasis>     .5, 1, 2, 1, .5 <emphasis role="comment">;panning between 0 and 1</emphasis>
+          <emphasis role="opc">dumpk4</emphasis>    kcf, kq, kdb, kpan, "dumpk4.txt", 8, 1 <emphasis role="comment">;writes the control signals</emphasis>
+          <emphasis role="opc">prints</emphasis>    "WRITING<emphasis role="op">:</emphasis>\n"
+          <emphasis role="opc">printks</emphasis>   "kcf <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, kq <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, kdb <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, kpan <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", 1, kcf, kq, kdb, kpan  <emphasis role="comment">;prints them</emphasis>
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2 <emphasis role="comment">;reads the file written by instr 1</emphasis>
+kcf,kq,kdb,kp <emphasis role="opc">readk4</emphasis> "dumpk4.txt", 8, 1
+          <emphasis role="opc">prints</emphasis>    "READING<emphasis role="op">:</emphasis>\n"
+          <emphasis role="opc">printks</emphasis>   "kcf <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, kq <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, kdb <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, kpan <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", 1, kcf, kq, kdb, kp  <emphasis role="comment">;prints values</emphasis>
+kdb       <emphasis role="opc">lineto</emphasis>    kdb, .1 <emphasis role="comment">;smoothing amp transition</emphasis>
+kp        <emphasis role="opc">lineto</emphasis>    kp, .1 <emphasis role="comment">;smoothing pan transition</emphasis>
+anoise    <emphasis role="opc">rand</emphasis>      <emphasis role="opc">ampdb</emphasis>(kdb), 2, 1
+kbw       <emphasis role="op">=</emphasis>         kcf<emphasis role="op">/</emphasis>kq <emphasis role="comment">;bandwidth of resonant filter</emphasis>
+abp       <emphasis role="opc">reson</emphasis>     anoise, kcf, kbw
+aout      <emphasis role="opc">balance</emphasis>   abp, anoise
+aL, aR    <emphasis role="opc">pan2</emphasis>      aout, kp
+          <emphasis role="opc">outs</emphasis>      aL, aR
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 5
+<emphasis role="stamnt">i</emphasis> 2 5 5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/duserrnd.csd.xml b/examples-xml/duserrnd.csd.xml
new file mode 100644
index 0000000..9226047
--- /dev/null
+++ b/examples-xml/duserrnd.csd.xml
@@ -0,0 +1,35 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o duserrnd.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+k1   <emphasis role="opc">duserrnd</emphasis> 1
+     <emphasis role="opc">printk</emphasis> 0, k1
+asig <emphasis role="opc">poscil</emphasis> .5, 220<emphasis role="op">*</emphasis>k1, 2	<emphasis role="comment">;multiply frequency with random value</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 -20 -41  2 .1 8 .9	<emphasis role="comment">;choose 2 at 10% probability, and 8 at 90%</emphasis>
+
+<emphasis role="stamnt">f</emphasis>2 0 8192 10 1
+
+<emphasis role="stamnt">i</emphasis>1 0 2
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/dust.csd.xml b/examples-xml/dust.csd.xml
new file mode 100644
index 0000000..42f5d5c
--- /dev/null
+++ b/examples-xml/dust.csd.xml
@@ -0,0 +1,30 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o oscil.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kdens <emphasis role="opc">expon</emphasis> 2, p3, 20000
+aout  <emphasis role="opc">dust</emphasis> 0.5, kdens
+<emphasis role="opc">outs</emphasis>  aout, aout
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 10
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/dust2.csd.xml b/examples-xml/dust2.csd.xml
new file mode 100644
index 0000000..0b92242
--- /dev/null
+++ b/examples-xml/dust2.csd.xml
@@ -0,0 +1,30 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o oscil.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kdens <emphasis role="opc">expon</emphasis> 2, p3, 20000
+aout  <emphasis role="opc">dust2</emphasis> 0.5, kdens
+<emphasis role="opc">outs</emphasis>  aout, aout
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 10
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/e.csd.xml b/examples-xml/e.csd.xml
new file mode 100644
index 0000000..84b5a26
--- /dev/null
+++ b/examples-xml/e.csd.xml
@@ -0,0 +1,48 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o e.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+ga1 <emphasis role="opc">init</emphasis> 0
+
+<emphasis role="oblock">instr</emphasis> 1
+
+aenv <emphasis role="opc">expseg</emphasis> .01, p3<emphasis role="op">*</emphasis>0.1, 1, p3<emphasis role="op">*</emphasis>0.9, 0.01
+ga1  <emphasis role="opc">poscil3</emphasis> .5<emphasis role="op">*</emphasis>aenv, <emphasis role="opc">cpspch</emphasis>(p4), 1
+     <emphasis role="opc">outs</emphasis> ga1,ga1
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 99
+ 
+aL, aR  <emphasis role="opc">reverbsc</emphasis> ga1, ga1, 0.85, 12000, sr, 0.5, 1
+<emphasis role="opc">outs</emphasis> aL,aR
+
+ga1 <emphasis role="op">=</emphasis> 0
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 128 10 1		<emphasis role="comment">;sine wave</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 1 0.1 8.00
+<emphasis role="stamnt">i</emphasis> 1 2 0.1 8.02
+<emphasis role="stamnt">i</emphasis> 1 3 0.1 8.04
+<emphasis role="stamnt">i</emphasis> 1 4 0.1 9.06
+
+<emphasis role="stamnt">i</emphasis> 99 0 6		<emphasis role="comment">;remains active for 6 seconds</emphasis>
+
+<emphasis role="stamnt">e</emphasis>10
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/equals.csd.xml b/examples-xml/equals.csd.xml
index 13fac3f..515df97 100644
--- a/examples-xml/equals.csd.xml
+++ b/examples-xml/equals.csd.xml
@@ -2,44 +2,44 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o equal.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">; -o equals.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 1
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
-
-<emphasis role="comment">; Instrument #1.</emphasis>
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+	
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Get the 4th p-field from the score.</emphasis>
-  k1 <emphasis role="op">=</emphasis>  p4
 
-  <emphasis role="comment">; Is it equal to 3? (1 = true, 0 = false)</emphasis>
-  k2 <emphasis role="op">=</emphasis> (p4 <emphasis role="op">==</emphasis> 3 <emphasis role="op">?</emphasis> 1 <emphasis role="op">:</emphasis> 0)
+ienv <emphasis role="op">=</emphasis> p4				<emphasis role="comment">;choose envelope in score</emphasis>
 
-  <emphasis role="comment">; Print the values of k1 and k2.</emphasis>
-  <emphasis role="opc">printks</emphasis> "k1 <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, k2 <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\\n", 1, k1, k2
-<emphasis role="oblock">endin</emphasis>
+<emphasis role="octrl">if</emphasis> (ienv <emphasis role="op">==</emphasis> 0) kthen 	
+  kenv <emphasis role="opc">adsr</emphasis> 0.05, 0.05, 0.95, 0.05	<emphasis role="comment">;sustained envelope</emphasis>
+<emphasis role="octrl">elseif</emphasis> (ienv <emphasis role="op">==</emphasis> 1) kthen 
+  kenv <emphasis role="opc">adsr</emphasis> 0.5, 1, 0.5, 0.5		<emphasis role="comment">;triangular envelope</emphasis>
+<emphasis role="octrl">elseif</emphasis> (ienv <emphasis role="op">==</emphasis> 2) kthen 
+  kenv <emphasis role="opc">adsr</emphasis> 1, 1, 1, 0			<emphasis role="comment">;ramp up</emphasis>
+<emphasis role="octrl">endif</emphasis>
 
+aout   <emphasis role="opc">vco2</emphasis> .1, 110, 10
+aout   <emphasis role="op">=</emphasis> aout <emphasis role="op">*</emphasis> kenv
+       <emphasis role="opc">outs</emphasis> aout, aout
+
+<emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Call Instrument #1 with a p4 = 2.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 0.5 2
-<emphasis role="comment">; Call Instrument #1 with a p4 = 3.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 1 0.5 3
-<emphasis role="comment">; Call Instrument #1 with a p4 = 4.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 2 0.5 4
-<emphasis role="stamnt">e</emphasis>
-
+<emphasis role="stamnt">i</emphasis>1 0 2  0
+<emphasis role="stamnt">i</emphasis>1 3 2  1
+<emphasis role="stamnt">i</emphasis>1 6 2  2
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/event_i.csd.xml b/examples-xml/event_i.csd.xml
new file mode 100644
index 0000000..129be6a
--- /dev/null
+++ b/examples-xml/event_i.csd.xml
@@ -0,0 +1,52 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;RT audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o event_i.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="ohdr">seed</emphasis> 0
+gisine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
+
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">;master instrument</emphasis>
+
+ininstr <emphasis role="op">=</emphasis> 10 <emphasis role="comment">;number of called instances</emphasis>
+indx <emphasis role="op">=</emphasis> 0
+<emphasis role="olabel">loop</emphasis><emphasis role="op">:</emphasis>
+ipan  <emphasis role="opc">random</emphasis> 0, 1
+ifreq <emphasis role="opc">random</emphasis> 100, 1000
+iamp  <emphasis role="op">=</emphasis> 1<emphasis role="op">/</emphasis>ininstr
+<emphasis role="opc">event_i</emphasis> "i", 10, 0, p3, iamp, ifreq, ipan
+<emphasis role="octrl">loop_lt</emphasis> indx, 1, ininstr, <emphasis role="olabel">loop</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 10
+
+      <emphasis role="opc">print</emphasis> p4, p5, p6
+ipeak <emphasis role="opc">random</emphasis> 0, 1 <emphasis role="comment">;where is the envelope peak</emphasis>
+asig  <emphasis role="opc">poscil3</emphasis> p4, p5, gisine
+aenv  <emphasis role="opc">transeg</emphasis> 0, p3<emphasis role="op">*</emphasis>ipeak, 6, 1, p3<emphasis role="op">-</emphasis>p3<emphasis role="op">*</emphasis>ipeak, <emphasis role="op">-</emphasis>6, 0
+aL,aR <emphasis role="opc">pan2</emphasis> asig<emphasis role="op">*</emphasis>aenv, p6
+      <emphasis role="opc">outs</emphasis> aL, aR
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 10
+<emphasis role="stamnt">i</emphasis>1 8 10
+<emphasis role="stamnt">i</emphasis>1 16 15
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/exitnow.csd.xml b/examples-xml/exitnow.csd.xml
new file mode 100644
index 0000000..bedac30
--- /dev/null
+++ b/examples-xml/exitnow.csd.xml
@@ -0,0 +1,55 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-n     <emphasis role="comment">;;;no sound</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o exitnow.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="comment">;after an example by Iain McCurdy</emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="opc">FLcolor</emphasis>	200, 200, 200, 0, 0, 0
+<emphasis role="comment">;	LABEL     | WIDTH | HEIGHT | X | Y</emphasis>
+<emphasis role="opc">FLpanel</emphasis>	"rtclock",   500,    130,    0,  0
+<emphasis role="comment">;                                  ON,OFF,TYPE,WIDTH, HEIGHT, X, Y, OPCODE, INS,START,IDUR</emphasis>
+gkOnOff,ihOnOff	<emphasis role="opc">FLbutton</emphasis> "On<emphasis role="op">/</emphasis>Off", 1,  0,  22,  150,   25,    5, 5,    0,   1,   0,   3600
+gkExit,ihExit	<emphasis role="opc">FLbutton</emphasis> "exitnow",1,  0,  21,  150,   25,  345, 5,    0,  999,  0,   0.001
+<emphasis role="opc">FLsetColor2</emphasis> 255, 0, 50, ihOnOff	<emphasis role="comment">;reddish color</emphasis>
+
+<emphasis role="comment">;VALUE DISPLAY BOXES	 WIDTH,HEIGHT,X, Y</emphasis>
+gidclock <emphasis role="opc">FLvalue</emphasis> "clock", 100, 25, 200, 60
+<emphasis role="opc">FLsetVal_i</emphasis> 1, ihOnOff	
+<emphasis role="opc">FLpanel_end</emphasis>
+<emphasis role="opc">FLrun</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1	
+
+<emphasis role="octrl">if</emphasis> gkOnOff <emphasis role="op">!=</emphasis>0 <emphasis role="octrl">kgoto</emphasis> <emphasis role="olabel">CONTINUE</emphasis> <emphasis role="comment">;sense if FLTK on/off switch is not off (in which case skip the next line)  </emphasis>
+<emphasis role="opc">turnoff</emphasis>			      <emphasis role="comment">;turn this instr. off now</emphasis>
+<emphasis role="olabel">CONTINUE</emphasis><emphasis role="op">:</emphasis>
+ktime <emphasis role="opc">rtclock</emphasis>                 <emphasis role="comment">;clock continues to run even </emphasis>
+<emphasis role="opc">FLprintk2</emphasis> ktime, gidclock     <emphasis role="comment">;after the on/off button was used to stop</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 999
+
+<emphasis role="opc">exitnow</emphasis>			      <emphasis role="comment">;exit Csound as fast as possible</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">f</emphasis> 0 60	<emphasis role="comment">;runs 60 seconds</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/exprandi.csd.xml b/examples-xml/exprandi.csd.xml
new file mode 100644
index 0000000..21c251f
--- /dev/null
+++ b/examples-xml/exprandi.csd.xml
@@ -0,0 +1,34 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o exprand.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+klambda	<emphasis role="opc">exprandi</emphasis>	20, 1, 3
+	<emphasis role="opc">printk2</emphasis> klambda		<emphasis role="comment">; look</emphasis>
+aout	<emphasis role="opc">oscili</emphasis>	0.8, 440<emphasis role="op">+</emphasis>klambda, 1	<emphasis role="comment">; & listen</emphasis>
+	<emphasis role="opc">outs</emphasis>	aout, aout
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">; sine wave</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
+
+<emphasis role="stamnt">i</emphasis> 1 0 4
+<emphasis role="stamnt">e</emphasis>
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/expsegb.csd.xml b/examples-xml/expsegb.csd.xml
new file mode 100644
index 0000000..c01b3d3
--- /dev/null
+++ b/examples-xml/expsegb.csd.xml
@@ -0,0 +1,51 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+<emphasis role="comment">; Audio out   Audio in</emphasis>
+-odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o expseg.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="comment">; Initialize the global variables.</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+
+<emphasis role="comment">; Instrument #1.</emphasis>
+<emphasis role="oblock">instr</emphasis> 1
+  <emphasis role="comment">; p4 = frequency in pitch-class notation.</emphasis>
+  kcps <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p4)
+
+  <emphasis role="comment">; Create an amplitude envelope.</emphasis>
+  kenv <emphasis role="opc">expsegb</emphasis> 0.01, p3<emphasis role="op">*</emphasis>0.25, 1, p3, 0.01
+  kamp <emphasis role="op">=</emphasis> kenv <emphasis role="op">*</emphasis> 30000
+
+  a1 <emphasis role="opc">oscil</emphasis> kamp, kcps, 1
+  <emphasis role="opc">out</emphasis> a1
+<emphasis role="oblock">endin</emphasis>
+
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="comment">; Table #1, a sine wave.</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
+
+<emphasis role="comment">; Play Instrument #1 for a half-second, p4=8.00</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 0.5 8.00
+<emphasis role="comment">; Play Instrument #1 for a half-second, p4=8.01</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 1 0.5 8.01
+<emphasis role="comment">; Play Instrument #1 for a half-second, p4=8.02</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 2 0.5 8.02
+<emphasis role="comment">; Play Instrument #1 for a half-second, p4=8.03</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 3 0.5 8.03
+<emphasis role="stamnt">e</emphasis>
+
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/expsegba.csd.xml b/examples-xml/expsegba.csd.xml
new file mode 100644
index 0000000..3f686d8
--- /dev/null
+++ b/examples-xml/expsegba.csd.xml
@@ -0,0 +1,48 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
+-odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o expsega.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="comment">; Initialize the global variables.</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+
+<emphasis role="comment">; Instrument #1.</emphasis>
+<emphasis role="oblock">instr</emphasis> 1
+  <emphasis role="comment">; Define a short percussive amplitude envelope that</emphasis>
+  <emphasis role="comment">; goes from 0.01 to 20,000 and back.</emphasis>
+  aenv <emphasis role="opc">expsegba</emphasis> 0.01, 0.1, 20000, 0.2, 0.01
+
+  a1 <emphasis role="opc">oscil</emphasis> aenv, 440, 1
+  <emphasis role="opc">out</emphasis> a1
+<emphasis role="oblock">endin</emphasis>
+
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="comment">; Table #1, a sine wave.</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
+
+<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 1 1
+<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 2 1
+<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 3 1
+<emphasis role="stamnt">e</emphasis>
+
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/fareyleni.csd.xml b/examples-xml/fareyleni.csd.xml
new file mode 100644
index 0000000..8b30618
--- /dev/null
+++ b/examples-xml/fareyleni.csd.xml
@@ -0,0 +1,90 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc for RT audio input as well </emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o fareyleni.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+      <emphasis role="comment">; initialise integer n for Farey Sequence F_8</emphasis>
+      gifarn <emphasis role="opc">init</emphasis> 8	
+
+      <emphasis role="comment">; calculate length of F_8, it should return 23 for |F_8|</emphasis>
+      gires <emphasis role="opc">fareyleni</emphasis> gifarn  
+
+      <emphasis role="comment">; convert to negative number for the GEN routine because</emphasis>
+      <emphasis role="comment">; the table length won't be a power of 2 </emphasis>
+      <emphasis role="comment">; (The length of a Farey Sequence of n > 1 is always an odd number)</emphasis>
+      gilen <emphasis role="opc">init</emphasis> gires <emphasis role="op">*</emphasis> <emphasis role="op">-</emphasis>1 
+      	   	       	               
+      <emphasis role="comment">; create F_8 with GENfarey, the negative table number prevents </emphasis>
+      <emphasis role="comment">; unnecessary normalisation (F_8 IS already normalised)</emphasis>
+      <emphasis role="comment">; 	         	    n  	   mode: </emphasis>
+      gifarey <emphasis role="ohdr">ftgen</emphasis> 100, 0, gilen, "farey", gifarn, 4
+      <emphasis role="comment">; if mode=4 then 1 is added to each element of F_n.</emphasis>
+      <emphasis role="comment">; Useful for creating just tuning tables that can be read by the cps2pch opcode.</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1
+      <emphasis role="comment">; the very last element of F_n is not needed in the case of tuning tables</emphasis>
+      ires <emphasis role="op">=</emphasis> gires <emphasis role="op">-</emphasis> 1 
+      <emphasis role="comment">; read out and print to file</emphasis>
+      kndx <emphasis role="opc">init</emphasis> 0 
+      <emphasis role="octrl">if</emphasis> (kndx <emphasis role="op"><</emphasis> ires) then    
+      	 kelem <emphasis role="opc">tab</emphasis> kndx, gifarey
+      	 <emphasis role="opc">fprintks</emphasis> "farey8_tuning.txt", "<emphasis role="op">%</emphasis>2.6f\\n", kelem
+      	 kndx <emphasis role="op">=</emphasis> kndx<emphasis role="op">+</emphasis>1
+      <emphasis role="octrl">endif</emphasis>
+      
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+
+ip   <emphasis role="opc">cps2pch</emphasis> p4, <emphasis role="op">-</emphasis>100
+asig <emphasis role="opc">poscil</emphasis> .5, ip, 1
+aenv <emphasis role="opc">linseg</emphasis> 0, 0.1, 1, p3<emphasis role="op">-</emphasis>0.2, 1, 0.1, 0
+     <emphasis role="opc">outs</emphasis> asig <emphasis role="op">*</emphasis> aenv, asig <emphasis role="op">*</emphasis> aenv
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 8192 10 1	<emphasis role="comment">;sine wave</emphasis>
+
+<emphasis role="stamnt">i</emphasis>1	0     .1
+
+<emphasis role="stamnt">i</emphasis>2	1	.5	8.00
+<emphasis role="stamnt">i</emphasis>2	+	.	>
+<emphasis role="stamnt">i</emphasis>2	+	.	>
+<emphasis role="stamnt">i</emphasis>2	+	.	>
+<emphasis role="stamnt">i</emphasis>2	+	.	>
+<emphasis role="stamnt">i</emphasis>2	+	.	>
+<emphasis role="stamnt">i</emphasis>2	+	.	>
+<emphasis role="stamnt">i</emphasis>2	+	.	>
+<emphasis role="stamnt">i</emphasis>2	+	.	>
+<emphasis role="stamnt">i</emphasis>2	+	.	>
+<emphasis role="stamnt">i</emphasis>2	+	.	>
+<emphasis role="stamnt">i</emphasis>2	+	.	>
+<emphasis role="stamnt">i</emphasis>2	+	.	>
+<emphasis role="stamnt">i</emphasis>2	+	.	>
+<emphasis role="stamnt">i</emphasis>2	+	.	>
+<emphasis role="stamnt">i</emphasis>2	+	.	>
+<emphasis role="stamnt">i</emphasis>2	+	.	>
+<emphasis role="stamnt">i</emphasis>2	+	.	>
+<emphasis role="stamnt">i</emphasis>2	+	.	>
+<emphasis role="stamnt">i</emphasis>2	+	.	>
+<emphasis role="stamnt">i</emphasis>2	+	.	>
+<emphasis role="stamnt">i</emphasis>2	+	.	>
+<emphasis role="stamnt">i</emphasis>2	+	1	8.22
+
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/ficlose.csd.xml b/examples-xml/ficlose.csd.xml
new file mode 100644
index 0000000..25570a6
--- /dev/null
+++ b/examples-xml/ficlose.csd.xml
@@ -0,0 +1,37 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+ 
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o ficlose.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+ 
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+
+gihand <emphasis role="opc">fiopen</emphasis> "test1.txt", 0 
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ires  <emphasis role="opc">random</emphasis>  0, 100
+      <emphasis role="opc">fouti</emphasis> gihand, 0, 1, ires 
+      <emphasis role="opc">ficlose</emphasis> gihand 
+
+<emphasis role="oblock">endin</emphasis> 
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+ 
+
+<emphasis role="stamnt">i</emphasis> 1 0 1 
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/filelen.csd.xml b/examples-xml/filelen.csd.xml
index ac66007..6dfd6e7 100644
--- a/examples-xml/filelen.csd.xml
+++ b/examples-xml/filelen.csd.xml
@@ -2,36 +2,45 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+<emphasis role="comment">;-odac     ;;;realtime audio out</emphasis>
+-iadc    <emphasis role="comment">;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o filelen.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">;-o filelen.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
-
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Print out the length of the audio file </emphasis>
-  <emphasis role="comment">; "mary.wav" in seconds. </emphasis>
-  ilen  <emphasis role="opc">filelen</emphasis> "mary.wav"
-  <emphasis role="opc">print</emphasis> ilen
-<emphasis role="oblock">endin</emphasis>
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">; choose between mono or stereo file</emphasis>
+
+ilen   <emphasis role="opc">filelen</emphasis> p4	<emphasis role="comment">;calculate length of soundfile</emphasis>
+<emphasis role="opc">print</emphasis>  ilen
+ichn <emphasis role="opc">filenchnls</emphasis>  p4	<emphasis role="comment">;check number of channels</emphasis>
+<emphasis role="comment">;print  ichn</emphasis>
+
+<emphasis role="octrl">if</emphasis> (ichn <emphasis role="op">==</emphasis> 1) then
+<emphasis role="comment">;mono signal</emphasis>
+asig <emphasis role="opc">diskin2</emphasis> p4, 1	
+     <emphasis role="opc">outs</emphasis>    asig, asig
+
+<emphasis role="octrl">else</emphasis>
+<emphasis role="comment">;stereo signal</emphasis>
+aL, aR <emphasis role="opc">diskin2</emphasis> p4, .5, 0, 1 
+       <emphasis role="opc">outs</emphasis>    aL, aR
 
+<emphasis role="octrl">endif</emphasis>
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for 1 second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
-<emphasis role="stamnt">e</emphasis>
-
+<emphasis role="stamnt">i</emphasis> 1 0 3 "fox.wav"	<emphasis role="comment">;mono signal</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 5 2 "k<emphasis role="stamnt">i</emphasis>ckroll.wav"	<emphasis role="comment">;stereo signal</emphasis>
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/filenchnls.csd.xml b/examples-xml/filenchnls.csd.xml
index 021b69a..2be6e27 100644
--- a/examples-xml/filenchnls.csd.xml
+++ b/examples-xml/filenchnls.csd.xml
@@ -2,36 +2,45 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+<emphasis role="comment">;-odac     ;;;realtime audio out</emphasis>
+-iadc    <emphasis role="comment">;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o filenchnls.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">;-o filechnls.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
-
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Print out the number of channels in the </emphasis>
-  <emphasis role="comment">; audio file "mary.wav".</emphasis>
-  ichnls <emphasis role="opc">filenchnls</emphasis> "mary.wav"
-  <emphasis role="opc">print</emphasis> ichnls
-<emphasis role="oblock">endin</emphasis>
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">; choose between mono or stereo file</emphasis>
+
+ilen   <emphasis role="opc">filelen</emphasis> p4	<emphasis role="comment">;calculate length of soundfile</emphasis>
+<emphasis role="comment">;print  ilen</emphasis>
+ichn <emphasis role="opc">filenchnls</emphasis>  p4	<emphasis role="comment">;check number of channels</emphasis>
+<emphasis role="opc">print</emphasis>  ichn
+
+<emphasis role="octrl">if</emphasis> (ichn <emphasis role="op">==</emphasis> 1) then
+<emphasis role="comment">;mono signal</emphasis>
+asig <emphasis role="opc">diskin2</emphasis> p4, 1	
+     <emphasis role="opc">outs</emphasis>    asig, asig
+
+<emphasis role="octrl">else</emphasis>
+<emphasis role="comment">;stereo signal</emphasis>
+aL, aR <emphasis role="opc">diskin2</emphasis> p4, .5, 0, 1 
+       <emphasis role="opc">outs</emphasis>    aL, aR
 
+<emphasis role="octrl">endif</emphasis>
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for 1 second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
-<emphasis role="stamnt">e</emphasis>
-
+<emphasis role="stamnt">i</emphasis> 1 0 3 "fox.wav"	<emphasis role="comment">;mono signal</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 5 2 "k<emphasis role="stamnt">i</emphasis>ckroll.wav"	<emphasis role="comment">;stereo signal</emphasis>
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/filepeak.csd.xml b/examples-xml/filepeak.csd.xml
index 1e5152d..30f3e75 100644
--- a/examples-xml/filepeak.csd.xml
+++ b/examples-xml/filepeak.csd.xml
@@ -2,36 +2,47 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o filepeak.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
-
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Print out the peak absolute value of the</emphasis>
-  <emphasis role="comment">; audio file "mary.wav".</emphasis>
-  ipeak <emphasis role="opc">filepeak</emphasis> "mary.wav"
-  <emphasis role="opc">print</emphasis> ipeak
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1 
+
+iscaldb <emphasis role="op">=</emphasis> p4 <emphasis role="comment">;set peak amplitude in dB</emphasis>
+ipeak   <emphasis role="opc">filepeak</emphasis> "Church.wav"
+iscal   <emphasis role="op">=</emphasis> <emphasis role="opc">ampdb</emphasis>(iscaldb)<emphasis role="op">/</emphasis>ipeak <emphasis role="comment">;calculate amp multiplier</emphasis>
+<emphasis role="opc">printf_i</emphasis> "\nPeak value <emphasis role="opc">in</emphasis> file '<emphasis role="op">%</emphasis>s' is <emphasis role="op">%</emphasis>f (<emphasis role="op">%</emphasis>.3f dB).\n\n", 1, "Church.wav", ipeak, <emphasis role="opc">dbamp</emphasis>(ipeak)
+
+asnd <emphasis role="opc">soundin</emphasis> "Church.wav"
+     <emphasis role="opc">outs</emphasis> asnd, asnd
+<emphasis role="comment">; scale & write file to disk</emphasis>
+asig <emphasis role="op">=</emphasis> asnd<emphasis role="op">*</emphasis>iscal <emphasis role="comment">;scale to p4</emphasis>
+<emphasis role="opc">fout</emphasis> "Church_norm.wav", 14, asig
+
 <emphasis role="oblock">endin</emphasis>
 
+<emphasis role="oblock">instr</emphasis> 2 <emphasis role="comment">; play scaled file</emphasis>
 
+aout   <emphasis role="opc">soundin</emphasis>  "Church_norm.wav"
+ipknew <emphasis role="opc">filepeak</emphasis> "Church_norm.wav"
+<emphasis role="opc">printf_i</emphasis> "\nPeak value <emphasis role="opc">in</emphasis> file '<emphasis role="op">%</emphasis>s' is <emphasis role="op">%</emphasis>f (<emphasis role="op">%</emphasis>.3f dB).\n\n", 1, "Church_norm.wav", ipknew, <emphasis role="opc">dbamp</emphasis>(ipknew)
+       <emphasis role="opc">outs</emphasis> aout, aout
+
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for 1 second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="stamnt">i</emphasis> 1 0 2 -6 <emphasis role="comment">; normalize audio to -6 dB</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 2 2
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/filesr.csd.xml b/examples-xml/filesr.csd.xml
index cd54c67..d729504 100644
--- a/examples-xml/filesr.csd.xml
+++ b/examples-xml/filesr.csd.xml
@@ -1,37 +1,43 @@
 <programlisting>
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
+ 
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o filesr.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Print out the sampling rate of the </emphasis>
-  <emphasis role="comment">; audio file "mary.wav".</emphasis>
-  isr <emphasis role="opc">filesr</emphasis> "mary.wav"
-  <emphasis role="opc">print</emphasis> isr
-<emphasis role="oblock">endin</emphasis>
+<emphasis role="comment">;after an example from Jonathan Murphy</emphasis>
 
+<emphasis role="oblock">instr</emphasis> 1 
+<emphasis role="comment">;load sound into an ftable</emphasis>
+  Sfile	    <emphasis role="opc">strcpy</emphasis>    "beats.wav" 
+  ilen	    <emphasis role="opc">filelen</emphasis>   Sfile 
+  isr	    <emphasis role="opc">filesr</emphasis>    Sfile 
+  isamps    <emphasis role="op">=</emphasis>  ilen <emphasis role="op">*</emphasis> isr 
+<emphasis role="comment">;adjust the length of the table to be a power of two closest</emphasis>
+<emphasis role="comment">;to the actual size of the sound </emphasis>
+  isize	    <emphasis role="opc">init</emphasis>      1 
+<emphasis role="olabel">loop</emphasis><emphasis role="op">:</emphasis> 
+  isize	    <emphasis role="op">=</emphasis>  isize <emphasis role="op">*</emphasis> 2 
+  <emphasis role="octrl">if</emphasis> (isize <emphasis role="op"><</emphasis> isamps) <emphasis role="octrl">igoto</emphasis> <emphasis role="olabel">loop</emphasis> 
+  itab	    <emphasis role="ohdr">ftgen</emphasis>     0, 0, isize, 1, Sfile, 0, 0, 0 
+<emphasis role="opc">prints</emphasis>  "sample rate <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, size <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", isr, isize <emphasis role="comment">;prints them</emphasis>
 
+<emphasis role="oblock">endin</emphasis> 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Play Instrument #1 for 1 second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
-<emphasis role="stamnt">e</emphasis>
-
-
+ 
+<emphasis role="stamnt">i</emphasis>1 0 2
+<emphasis role="stamnt">e</emphasis> 
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/filevalid.csd.xml b/examples-xml/filevalid.csd.xml
index 0e2a5af..42e897d 100644
--- a/examples-xml/filevalid.csd.xml
+++ b/examples-xml/filevalid.csd.xml
@@ -2,35 +2,37 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o filelen.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">;-o filevalid.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Check that the audio file "mary.wav" is avalable</emphasis>
-  ivld  <emphasis role="opc">filevalid</emphasis> "mary.wav"
-  <emphasis role="opc">print</emphasis> ivld
-<emphasis role="oblock">endin</emphasis>
+Sfile     <emphasis role="opc">strget</emphasis>    p4
+ivld      <emphasis role="opc">filevalid</emphasis> Sfile
 
+<emphasis role="octrl">if</emphasis> ivld<emphasis role="op">></emphasis>0 then
+asig      <emphasis role="opc">diskin2</emphasis>   Sfile, 1
+          <emphasis role="opc">outs</emphasis>      asig, asig
+<emphasis role="octrl">else</emphasis>
+          <emphasis role="opc">printf_i</emphasis>  "Audiofile '<emphasis role="op">%</emphasis>s' does not exist!\n", 1, Sfile
+<emphasis role="octrl">endif</emphasis>
+<emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for 0.1 second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 0.1
-<emphasis role="stamnt">e</emphasis>
-
+<emphasis role="stamnt">i</emphasis> 1 0 3 "frox.wav"<emphasis role="comment">;file does not exist!!!</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 3 "fox.wav" <emphasis role="comment">;but this one certainly does...</emphasis>
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/fill.csd.xml b/examples-xml/fill.csd.xml
new file mode 100644
index 0000000..f4dffbf
--- /dev/null
+++ b/examples-xml/fill.csd.xml
@@ -0,0 +1,28 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-n
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+  kS[] fill 1,7,5
+       <emphasis role="opc">printk2</emphasis> kS[0]
+       <emphasis role="opc">printk2</emphasis> kS[1]
+       <emphasis role="opc">printk2</emphasis> kS[2]
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 0
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/fillarray.csd.xml b/examples-xml/fillarray.csd.xml
new file mode 100644
index 0000000..59a6df7
--- /dev/null
+++ b/examples-xml/fillarray.csd.xml
@@ -0,0 +1,28 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-n
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+  kS[] <emphasis role="opc">fillarray</emphasis> 1,7,5
+       <emphasis role="opc">printk2</emphasis> kS[0]
+       <emphasis role="opc">printk2</emphasis> kS[1]
+       <emphasis role="opc">printk2</emphasis> kS[2]
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 0
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/filter2.csd.xml b/examples-xml/filter2.csd.xml
new file mode 100644
index 0000000..0cb47e7
--- /dev/null
+++ b/examples-xml/filter2.csd.xml
@@ -0,0 +1,39 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o filter2.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1	 <emphasis role="comment">; 2 saw waves of which one is slightly detuned</emphasis>
+ 
+ib1   <emphasis role="op">=</emphasis> p5  
+ivol  <emphasis role="op">=</emphasis> p6				<emphasis role="comment">;volume to compensate                                               </emphasis>
+kcps  <emphasis role="opc">init</emphasis> <emphasis role="opc">cpspch</emphasis>(p4)
+asig1 <emphasis role="opc">vco2</emphasis> .05, kcps			<emphasis role="comment">;saw 1</emphasis>
+asaw1 <emphasis role="opc">filter2</emphasis> asig1, 1, 1, 1, ib1	<emphasis role="comment">;filter 1 </emphasis>
+asig2 <emphasis role="opc">vco2</emphasis> .05, kcps<emphasis role="op">+</emphasis>1			<emphasis role="comment">;saw 2                      </emphasis>
+asaw2 <emphasis role="opc">filter2</emphasis> asig2, 1, 1, 1, ib1	<emphasis role="comment">;filter 2</emphasis>
+aout  <emphasis role="op">=</emphasis> (asaw1<emphasis role="op">+</emphasis>asaw2)<emphasis role="op">*</emphasis>ivol		<emphasis role="comment">;mix</emphasis>
+      <emphasis role="opc">outs</emphasis> aout, aout
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 4 6.00 -.001 5	<emphasis role="comment">;different filter values</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 4 6.00 -.6   2	<emphasis role="comment">;and different volumes</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 4 6.00 -.95 .3	<emphasis role="comment">;to compensate</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/fin.csd.xml b/examples-xml/fin.csd.xml
new file mode 100644
index 0000000..d08a84a
--- /dev/null
+++ b/examples-xml/fin.csd.xml
@@ -0,0 +1,35 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o fin.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1 
+
+asnd <emphasis role="opc">init</emphasis> 0 			<emphasis role="comment">;input of fin must be initialized</emphasis>
+     <emphasis role="opc">fin</emphasis>  "fox.wav", 0, 0, asnd	<emphasis role="comment">;read audiofile</emphasis>
+aenv <emphasis role="opc">follow</emphasis> asnd, 0.01		<emphasis role="comment">;envelope follower</emphasis>
+kenv <emphasis role="opc">downsamp</emphasis> aenv
+asig <emphasis role="opc">rand</emphasis> kenv			<emphasis role="comment">;gate the noise with audiofile</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig 
+<emphasis role="oblock">endin</emphasis> 
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 3
+<emphasis role="stamnt">e</emphasis>
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/fiopen.csd.xml b/examples-xml/fiopen.csd.xml
new file mode 100644
index 0000000..3944cd3
--- /dev/null
+++ b/examples-xml/fiopen.csd.xml
@@ -0,0 +1,37 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+ 
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o fiopen.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+ 
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+
+gihand <emphasis role="opc">fiopen</emphasis> "test1.txt", 0 
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ires  <emphasis role="opc">random</emphasis>  0, 100
+      <emphasis role="opc">fouti</emphasis> gihand, 0, 1, ires 
+      <emphasis role="opc">ficlose</emphasis> gihand 
+
+<emphasis role="oblock">endin</emphasis> 
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+ 
+
+<emphasis role="stamnt">i</emphasis> 1 0 1 
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/flanger.csd.xml b/examples-xml/flanger.csd.xml
index feca945..00a846b 100644
--- a/examples-xml/flanger.csd.xml
+++ b/examples-xml/flanger.csd.xml
@@ -2,45 +2,34 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o flanger.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">;-o flanger.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Use the "beat.wav" audio file.</emphasis>
-  asig <emphasis role="opc">soundin</emphasis> "beats.wav"
 
-  <emphasis role="comment">; Vary the delay amount from 0 to 0.01 seconds.</emphasis>
-  adel <emphasis role="opc">line</emphasis> 0, p3, 0.01
-  kfeedback <emphasis role="op">=</emphasis> 0.7
+kfeedback <emphasis role="op">=</emphasis> p4
+asnd <emphasis role="opc">vco2</emphasis> .2, 50
+adel <emphasis role="opc">linseg</emphasis> 0, p3<emphasis role="op">*</emphasis>.5, 0.02, p3<emphasis role="op">*</emphasis>.5, 0	<emphasis role="comment">;max delay time =20ms	</emphasis>
+aflg <emphasis role="opc">flanger</emphasis> asnd, adel, kfeedback
+asig <emphasis role="opc">clip</emphasis> aflg, 1, 1
+     <emphasis role="opc">outs</emphasis> asig<emphasis role="op">+</emphasis>asnd, asig<emphasis role="op">+</emphasis>asnd		<emphasis role="comment">;mix flanger with original</emphasis>
 
-  <emphasis role="comment">; Apply flange to the input signal.</emphasis>
-  aflang <emphasis role="opc">flanger</emphasis> asig, adel, kfeedback
-
-  <emphasis role="comment">; It can get loud, so clip its amplitude to 30,000.</emphasis>
-  a1 <emphasis role="opc">clip</emphasis> aflang, 1, 30000
-  <emphasis role="opc">out</emphasis> a1
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for two seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 1 0 10 .2
+<emphasis role="stamnt">i</emphasis> 1 11 10 .8	<emphasis role="comment">;lot of feedback</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/flashtxt.csd.xml b/examples-xml/flashtxt.csd.xml
index 4052562..a688b10 100644
--- a/examples-xml/flashtxt.csd.xml
+++ b/examples-xml/flashtxt.csd.xml
@@ -16,7 +16,7 @@
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="opc">flashtxt</emphasis> 1, "Instr 1 live"
+  flashtxt 1, "Instr 1 live"
   ao <emphasis role="opc">oscil</emphasis> 4000, 440, 1
   <emphasis role="opc">out</emphasis> ao
 <emphasis role="oblock">endin</emphasis>
diff --git a/examples-xml/flooper.csd.xml b/examples-xml/flooper.csd.xml
index 40126ee..e50213d 100644
--- a/examples-xml/flooper.csd.xml
+++ b/examples-xml/flooper.csd.xml
@@ -2,33 +2,33 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o flooper.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
-<emphasis role="ohdr">sr</emphasis>      <emphasis role="op">=</emphasis>  44100
-<emphasis role="ohdr">ksmps</emphasis>   <emphasis role="op">=</emphasis>  10
-<emphasis role="ohdr">nchnls</emphasis>  <emphasis role="op">=</emphasis>  1
 
-       <emphasis role="oblock">instr</emphasis> 1
-kpitch	<emphasis role="opc">line</emphasis>	1, p3, 4
-aout	<emphasis role="opc">flooper</emphasis>	26000, kpitch, 1, .53, 0.05, 1  <emphasis role="comment">; loop starts at 1 sec, for .53 secs, 0.05 crossfade</emphasis>
-	<emphasis role="opc">out</emphasis>	aout
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-       <emphasis role="oblock">endin</emphasis>
+<emphasis role="oblock">instr</emphasis> 1
 
+kpitch	<emphasis role="opc">line</emphasis>	1, p3, .9 <emphasis role="comment">;lower pitch a bit during the note</emphasis>
+aout	<emphasis role="opc">flooper</emphasis>	.9, kpitch, 1, .53, 0.05, 1  <emphasis role="comment">; loop starts at 1 sec, for .53 secs, 0.05 crossfade</emphasis>
+	<emphasis role="opc">outs</emphasis>	aout, aout
+
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="comment">; Table #1: an audio file.</emphasis>
-<emphasis role="comment">; Its table size is deferred,</emphasis>
-<emphasis role="comment">; and format taken from the soundfile header.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 0 1 "beats.wav" 0 0 0
+<emphasis role="comment">;table size is deferred,</emphasis>
+<emphasis role="comment">; and format taken from the soundfile header</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 0 1 "<emphasis role="stamnt">f</emphasis>ox.wav" 0 0 0
 
-<emphasis role="stamnt">i</emphasis> 1 0 4
+<emphasis role="stamnt">i</emphasis> 1 0 8.2
 <emphasis role="stamnt">e</emphasis>
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/flooper2.csd.xml b/examples-xml/flooper2.csd.xml
index 676f4d5..b9a72ae 100644
--- a/examples-xml/flooper2.csd.xml
+++ b/examples-xml/flooper2.csd.xml
@@ -2,33 +2,33 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o flooper2.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
-<emphasis role="ohdr">sr</emphasis>      <emphasis role="op">=</emphasis>  44100
-<emphasis role="ohdr">ksmps</emphasis>   <emphasis role="op">=</emphasis>  10
-<emphasis role="ohdr">nchnls</emphasis>  <emphasis role="op">=</emphasis>  1
 
-       <emphasis role="oblock">instr</emphasis> 1
-<emphasis role="comment">; looping back and forth,  0.05 crossfade</emphasis>
-aout	<emphasis role="opc">flooper2</emphasis>	16000, 1, 0, 1.6, 0.05, 1, 0, 2  
-	<emphasis role="opc">out</emphasis>	aout
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-       <emphasis role="oblock">endin</emphasis>
+<emphasis role="oblock">instr</emphasis> 1
+<emphasis role="comment">; looping back and forth,  0.05 crossfade </emphasis>
+kst  <emphasis role="opc">line</emphasis>     .2, p3, 2 <emphasis role="comment">;vary loopstartpoint</emphasis>
+aout <emphasis role="opc">flooper2</emphasis> .8, 1, 0, kst, 0.05, 1, 0, 2  
+     <emphasis role="opc">outs</emphasis>     aout, aout
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="comment">; Table #1: an audio file.</emphasis>
 <emphasis role="comment">; Its table size is deferred,</emphasis>
-<emphasis role="comment">; and format taken from the soundfile header.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 0 1 "beats.wav" 0 0 0
+<emphasis role="comment">; and format taken from the soundfile header</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 0 1 "<emphasis role="stamnt">f</emphasis>ox.wav" 0 0 0
 
-<emphasis role="stamnt">i</emphasis> 1 0 6.5
+<emphasis role="stamnt">i</emphasis> 1 0 12
 <emphasis role="stamnt">e</emphasis>
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/floor.csd.xml b/examples-xml/floor.csd.xml
index 41b9fbf..9045131 100644
--- a/examples-xml/floor.csd.xml
+++ b/examples-xml/floor.csd.xml
@@ -2,31 +2,35 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">;-o floor.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  i1 <emphasis role="op">=</emphasis> 6 <emphasis role="op">/</emphasis> 5
-  i2 <emphasis role="op">=</emphasis> <emphasis role="opc">floor</emphasis>(i1)
 
-  <emphasis role="opc">print</emphasis> i2
-<emphasis role="oblock">endin</emphasis>
+idiv <emphasis role="opc">init</emphasis> 1
 
+<emphasis role="olabel">loop</emphasis><emphasis role="op">:</emphasis>
+inumber <emphasis role="op">=</emphasis> 9
+i1  <emphasis role="op">=</emphasis> inumber <emphasis role="op">/</emphasis> idiv
+ifl <emphasis role="op">=</emphasis> <emphasis role="opc">floor</emphasis>(i1)
+<emphasis role="opc">print</emphasis> inumber, idiv, ifl <emphasis role="comment">;print number / idiv = result using floor</emphasis>
+idiv <emphasis role="op">=</emphasis> idiv <emphasis role="op">+</emphasis> 1
+<emphasis role="octrl">if</emphasis> (idiv <emphasis role="op"><=</emphasis> 10) <emphasis role="octrl">igoto</emphasis> <emphasis role="olabel">loop</emphasis>
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="stamnt">i</emphasis> 1 0 0
 <emphasis role="stamnt">e</emphasis>
 
 <emphasis role="csdtag"></CsScore></emphasis>
diff --git a/examples-xml/fluid-2.csd.xml b/examples-xml/fluid-2.csd.xml
index 8026bd7..224509e 100644
--- a/examples-xml/fluid-2.csd.xml
+++ b/examples-xml/fluid-2.csd.xml
@@ -2,33 +2,36 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages   Look for midifile in folder manual/examples</emphasis>
--odac           -iadc     -d   -F midichn_advanced.mid <emphasis role="comment">;;;RT audio I/O</emphasis>
+<emphasis role="comment">; Audio out No messages   Look for midifile in folder manual/examples</emphasis>
+-odac           -d        -F midichn_advanced.mid <emphasis role="comment">;;;reatime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o fluid2.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">; -o fluid-2.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10  
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32  
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 32767
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="comment">; LOAD SOUNDFONTS</emphasis>
 gienginenum1	<emphasis role="opc">fluidEngine</emphasis>
 gienginenum2	<emphasis role="opc">fluidEngine</emphasis>
-isfnum1	<emphasis role="opc">fluidLoad</emphasis>	"Piano Steinway Grand Model C (21,738KB).sf2", gienginenum1, 1	<emphasis role="comment">; Bright Steinway, program 1, channel 1</emphasis>
-		<emphasis role="opc">fluidProgramSelect</emphasis>	gienginenum1, 1, isfnum1, 0, 1 <emphasis role="comment">; Concert Steinway with reverb, program 2, channel 3</emphasis>
+isfnum1	<emphasis role="opc">fluidLoad</emphasis> "Piano Steinway Grand Model C (21,738KB).sf2", gienginenum1, 1
+<emphasis role="comment">; Bright Steinway, program 1, channel 1</emphasis>
+		<emphasis role="opc">fluidProgramSelect</emphasis>	gienginenum1, 1, isfnum1, 0, 1
+<emphasis role="comment">; Concert Steinway with reverb, program 2, channel 3</emphasis>
 		<emphasis role="opc">fluidProgramSelect</emphasis>	gienginenum1, 3, isfnum1, 0, 2
-isfnum2	<emphasis role="opc">fluidLoad</emphasis>	"63.3mg The Sound Site Album Bank V1.0.sf2", gienginenum2, 1	<emphasis role="comment">; General MIDI, program 50, channel 2</emphasis>
+isfnum2	<emphasis role="opc">fluidLoad</emphasis> "63.3mg The Sound Site Album Bank V1.0.SF2", gienginenum2, 1
+<emphasis role="comment">; General MIDI, program 50, channel 2</emphasis>
 		<emphasis role="opc">fluidProgramSelect</emphasis>	gienginenum2, 2, isfnum2, 0, 50
 
 <emphasis role="comment">; SEND NOTES TO STEINWAY SOUNDFONT</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">; FluidSynth Steinway Rev</emphasis>
   <emphasis role="comment">; INITIALIZATION</emphasis>
-	<emphasis role="opc">mididefault</emphasis>		60, p3 <emphasis role="comment">; Default duration of 60 -- overridden by score.</emphasis>
+	<emphasis role="opc">mididefault</emphasis>	60, p3 <emphasis role="comment">; Default duration of 60 -- overridden by score.</emphasis>
 	<emphasis role="opc">midinoteonkey</emphasis>	p4, p5 <emphasis role="comment">; Channels MIDI input to pfields.</emphasis>
   <emphasis role="comment">; Use channel assigned in fluidload.</emphasis>
   ichannel   <emphasis role="op">=</emphasis> 1
@@ -39,33 +42,32 @@ isfnum2	<emphasis role="opc">fluidLoad</emphasis>	"63.3mg The Sound Site Album B
 
 <emphasis role="oblock">instr</emphasis> 2 <emphasis role="comment">; GM soundfont</emphasis>
   <emphasis role="comment">; INITIALIZATION</emphasis>
-             <emphasis role="opc">mididefault</emphasis>   60, p3 <emphasis role="comment">; Default duration of 60 -- overridden by score.</emphasis>
-             <emphasis role="opc">midinoteonkey</emphasis> p4, p5 <emphasis role="comment">; Channels MIDI input to pfields.</emphasis>
+         <emphasis role="opc">mididefault</emphasis>   60, p3 <emphasis role="comment">; Default duration of 60 -- overridden by score.</emphasis>
+         <emphasis role="opc">midinoteonkey</emphasis> p4, p5 <emphasis role="comment">; Channels MIDI input to pfields.</emphasis>
   <emphasis role="comment">; Use channel assigned in fluidload.</emphasis>
   ichannel   <emphasis role="op">=</emphasis> 2
   ikey       <emphasis role="op">=</emphasis> p4
   ivelocity  <emphasis role="op">=</emphasis> p5
-             <emphasis role="opc">fluidNote</emphasis> gienginenum2, ichannel, ikey, ivelocity
+         <emphasis role="opc">fluidNote</emphasis> gienginenum2, ichannel, ikey, ivelocity
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 3 <emphasis role="comment">; FluidSynth Steinway Rev</emphasis>
   <emphasis role="comment">; INITIALIZATION</emphasis>
-             <emphasis role="opc">mididefault</emphasis>   60, p3 <emphasis role="comment">; Default duration of 60 -- overridden by score.</emphasis>
-             <emphasis role="opc">midinoteonkey</emphasis> p4, p5 <emphasis role="comment">; Channels MIDI input to pfields.</emphasis>
+         <emphasis role="opc">mididefault</emphasis>   60, p3 <emphasis role="comment">; Default duration of 60 -- overridden by score.</emphasis>
+         <emphasis role="opc">midinoteonkey</emphasis> p4, p5 <emphasis role="comment">; Channels MIDI input to pfields.</emphasis>
   <emphasis role="comment">; Use channel assigned in fluidload.</emphasis>
   ichannel   <emphasis role="op">=</emphasis> 3
   ikey       <emphasis role="op">=</emphasis> p4
   ivelocity  <emphasis role="op">=</emphasis> p5
-             <emphasis role="opc">fluidNote</emphasis> gienginenum1, ichannel, ikey, ivelocity
+         <emphasis role="opc">fluidNote</emphasis> gienginenum1, ichannel, ikey, ivelocity
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="comment">; COLLECT AUDIO FROM ALL SOUNDFONTS</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 100 <emphasis role="comment">; Fluidsynth output</emphasis>
-  <emphasis role="comment">; INITIALIZATION</emphasis>
-  <emphasis role="comment">; Normalize so iamplitude for p5 of 80 == ampdb(80).</emphasis>
-  iamplitude1 <emphasis role="op">=</emphasis> <emphasis role="opc">ampdb</emphasis>(p4) <emphasis role="op">*</emphasis> 100000
-  iamplitude2 <emphasis role="op">=</emphasis> <emphasis role="opc">ampdb</emphasis>(p5) <emphasis role="op">*</emphasis> 100000
+
+  iamplitude1 <emphasis role="op">=</emphasis> 7
+  iamplitude2 <emphasis role="op">=</emphasis> 7
 
 <emphasis role="comment">; AUDIO</emphasis>
 aleft1, aright1 <emphasis role="opc">fluidOut</emphasis>   gienginenum1
@@ -73,16 +75,14 @@ aleft2, aright2 <emphasis role="opc">fluidOut</emphasis>   gienginenum2
                 <emphasis role="opc">outs</emphasis>       (aleft1 <emphasis role="op">*</emphasis> iamplitude1) <emphasis role="op">+</emphasis> (aleft2 <emphasis role="op">*</emphasis> iamplitude2),  \
                            (aright1 <emphasis role="op">*</emphasis> iamplitude1) <emphasis role="op">+</emphasis> (aright2 <emphasis role="op">*</emphasis> iamplitude2)
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 36 60 100
-<emphasis role="stamnt">i</emphasis> 2 1 36 60 100
-<emphasis role="stamnt">i</emphasis> 3 3 36 63 100
-<emphasis role="stamnt">i</emphasis> 100 0 40 8 8
-<emphasis role="stamnt">e</emphasis>
 
+<emphasis role="stamnt">i</emphasis> 1 0 3  60  100
+<emphasis role="stamnt">i</emphasis> 2 1 3  60  100
+<emphasis role="stamnt">i</emphasis> 3 3 3  63  100
+<emphasis role="stamnt">i</emphasis> 100 0 10		<emphasis role="comment">;run for 10seconds </emphasis>
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/fluidAllOut.csd.xml b/examples-xml/fluidAllOut.csd.xml
new file mode 100644
index 0000000..67273d8
--- /dev/null
+++ b/examples-xml/fluidAllOut.csd.xml
@@ -0,0 +1,62 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  -+rtmidi=virtual -M0    <emphasis role="comment">;;;realtime audio out and realtime midi in</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">;-o fluidAllOut.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giengine1 <emphasis role="opc">fluidEngine</emphasis>
+isfnum1	  <emphasis role="opc">fluidLoad</emphasis> "sf_GMbank.sf2", giengine1, 1
+	  <emphasis role="opc">fluidProgramSelect</emphasis> giengine1, 1, isfnum1, 0, 0
+
+giengine2 <emphasis role="opc">fluidEngine</emphasis>
+<emphasis role="comment">; soundfont path to manual/examples</emphasis>
+isfnum2	  <emphasis role="opc">fluidLoad</emphasis> "22Bassoon.sf2", giengine2, 1
+	  <emphasis role="opc">fluidProgramSelect</emphasis> giengine2, 1, isfnum2, 0, 70
+
+<emphasis role="oblock">instr</emphasis> 1
+
+     <emphasis role="opc">mididefault</emphasis>   60, p3
+     <emphasis role="opc">midinoteonkey</emphasis> p4, p5
+ikey <emphasis role="opc">init</emphasis> p4
+ivel <emphasis role="opc">init</emphasis> p5
+     <emphasis role="opc">fluidNote</emphasis> giengine1, 1, ikey, ivel
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+
+     <emphasis role="opc">mididefault</emphasis>   60, p3
+     <emphasis role="opc">midinoteonkey</emphasis> p4, p5
+ikey <emphasis role="opc">init</emphasis> p4
+ivel <emphasis role="opc">init</emphasis> p5
+     <emphasis role="opc">fluidNote</emphasis> giengine2, 1, ikey, ivel
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 100
+
+imvol <emphasis role="opc">init</emphasis> 7 <emphasis role="comment">;amplify a bit</emphasis>
+asigl, asigr <emphasis role="opc">fluidAllOut</emphasis>
+      <emphasis role="opc">outs</emphasis> asigl<emphasis role="op">*</emphasis>imvol, asigr<emphasis role="op">*</emphasis>imvol
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 2 60 127 <emphasis role="comment">;play one note on instr 1</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 2 2 60 127 <emphasis role="comment">;play another note on instr 2 and...</emphasis>
+<emphasis role="stamnt">i</emphasis> 100 0 60     <emphasis role="comment">;play virtual midi keyboard</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/fluidCCi.csd.xml b/examples-xml/fluidCCi.csd.xml
new file mode 100644
index 0000000..1669263
--- /dev/null
+++ b/examples-xml/fluidCCi.csd.xml
@@ -0,0 +1,50 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  -+rtmidi=virtual  -M0    <emphasis role="comment">;;;realtime audio out and realtime midi in</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">;-o fluidCCi.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giengine <emphasis role="opc">fluidEngine</emphasis>
+<emphasis role="comment">; soundfont path to manual/examples</emphasis>
+isfnum	 <emphasis role="opc">fluidLoad</emphasis> "19Trumpet.sf2", giengine, 1
+	 <emphasis role="opc">fluidProgramSelect</emphasis> giengine, 1, isfnum, 0, 56
+
+<emphasis role="oblock">instr</emphasis> 1
+
+	<emphasis role="opc">mididefault</emphasis>   60, p3
+	<emphasis role="opc">midinoteonkey</emphasis> p4, p5
+ikey	<emphasis role="opc">init</emphasis> p4
+ivel	<emphasis role="opc">init</emphasis> p5
+	<emphasis role="opc">fluidCCi</emphasis> giengine, 1, 93, 127 	<emphasis role="comment">;full chorus &</emphasis>
+	<emphasis role="opc">fluidCCi</emphasis> giengine, 1, 91, 127 	<emphasis role="comment">;full reverb!</emphasis>
+	<emphasis role="opc">fluidNote</emphasis> giengine, 1, ikey, ivel
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 99
+
+imvol  <emphasis role="opc">init</emphasis> 7
+asigl, asigr <emphasis role="opc">fluidOut</emphasis> giengine
+       <emphasis role="opc">outs</emphasis> asigl<emphasis role="op">*</emphasis>imvol, asigr<emphasis role="op">*</emphasis>imvol
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 5 60 100 <emphasis role="comment">;play one note from score and...</emphasis>
+<emphasis role="stamnt">i</emphasis> 99 0 60      <emphasis role="comment">;play virtual keyboard for 60 sec.</emphasis>
+<emphasis role="stamnt">e</emphasis>
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/fluidCCk.csd.xml b/examples-xml/fluidCCk.csd.xml
new file mode 100644
index 0000000..ec0198c
--- /dev/null
+++ b/examples-xml/fluidCCk.csd.xml
@@ -0,0 +1,54 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">;-o fluidCCk.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+
+giengine <emphasis role="opc">fluidEngine</emphasis>
+<emphasis role="comment">; soundfont path to manual/examples</emphasis>
+isfnum	 <emphasis role="opc">fluidLoad</emphasis> "22Bassoon.sf2", giengine, 1
+	 <emphasis role="opc">fluidProgramSelect</emphasis> giengine, 1, isfnum, 0, 70
+
+<emphasis role="oblock">instr</emphasis> 1
+
+	<emphasis role="opc">mididefault</emphasis>   60, p3
+	<emphasis role="opc">midinoteonkey</emphasis> p4, p5
+ikey	<emphasis role="opc">init</emphasis> p4
+ivel	<emphasis role="opc">init</emphasis> p5
+kpan	<emphasis role="opc">line</emphasis> 0, p3, 127 <emphasis role="comment">;panning from left to right</emphasis>
+	<emphasis role="opc">fluidCCk</emphasis> giengine, 1, 10, kpan <emphasis role="comment">;CC 10 = pan</emphasis>
+	<emphasis role="opc">fluidNote</emphasis> giengine, 1, ikey, ivel
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 99
+
+imvol  <emphasis role="opc">init</emphasis> 7
+asigl, asigr <emphasis role="opc">fluidOut</emphasis> giengine
+       <emphasis role="opc">outs</emphasis> asigl<emphasis role="op">*</emphasis>imvol, asigr<emphasis role="op">*</emphasis>imvol
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 4 48 100
+<emphasis role="stamnt">i</emphasis> 1 4 2 50 120
+<emphasis role="stamnt">i</emphasis> 1 6 1 53 80
+<emphasis role="stamnt">i</emphasis> 1 7 1 45 70
+<emphasis role="stamnt">i</emphasis> 1 8 1.5 48 80
+
+<emphasis role="stamnt">i</emphasis> 99 0 10      <emphasis role="comment">;keep instr 99 active</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/fluidEngine.csd.xml b/examples-xml/fluidEngine.csd.xml
new file mode 100644
index 0000000..2238b49
--- /dev/null
+++ b/examples-xml/fluidEngine.csd.xml
@@ -0,0 +1,88 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  -F  midichn_advanced.mid <emphasis role="comment">;;;reatime audio out and midifile in</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o fluidEngine.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32  
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="comment">; LOAD SOUNDFONTS</emphasis>
+gienginenum1	<emphasis role="opc">fluidEngine</emphasis>
+gienginenum2	<emphasis role="opc">fluidEngine</emphasis>
+isfnum1	<emphasis role="opc">fluidLoad</emphasis> "sf_GMbank.sf2", gienginenum1, 1
+                <emphasis role="comment">; Piano 2, program 1, channel 1</emphasis>
+		<emphasis role="opc">fluidProgramSelect</emphasis>	gienginenum1, 1, isfnum1, 0, 1
+                <emphasis role="comment">; Piano 3, program 2, channel 2</emphasis>
+		<emphasis role="opc">fluidProgramSelect</emphasis>	gienginenum1, 2, isfnum1, 0, 2
+isfnum2	<emphasis role="opc">fluidLoad</emphasis> "19Trumpet.sf2", gienginenum2, 1
+                <emphasis role="comment">; Trumpet, program 56, channel 3</emphasis>
+		<emphasis role="opc">fluidProgramSelect</emphasis>	gienginenum2, 3, isfnum2, 0, 56
+
+<emphasis role="comment">;Look for midifile in folder manual/examples</emphasis>
+<emphasis role="comment">;"midichn_advanced.mid" sends notes to the soundfonts</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">; GM soundfont</emphasis>
+  <emphasis role="comment">; INITIALIZATION</emphasis>
+	<emphasis role="opc">mididefault</emphasis>	60, p3 <emphasis role="comment">; Default duration of 60 -- overridden by score.</emphasis>
+	<emphasis role="opc">midinoteonkey</emphasis>	p4, p5 <emphasis role="comment">; Channels MIDI input to pfields.</emphasis>
+  <emphasis role="comment">; Use channel assigned in fluidload.</emphasis>
+  ichannel   <emphasis role="op">=</emphasis> 1
+  ikey       <emphasis role="op">=</emphasis> p4
+  ivelocity  <emphasis role="op">=</emphasis> p5
+	<emphasis role="opc">fluidNote</emphasis> gienginenum1, ichannel, ikey, ivelocity
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2 <emphasis role="comment">; GM soundfont</emphasis>
+  <emphasis role="comment">; INITIALIZATION</emphasis>
+         <emphasis role="opc">mididefault</emphasis>   60, p3 <emphasis role="comment">; Default duration of 60 -- overridden by score.</emphasis>
+         <emphasis role="opc">midinoteonkey</emphasis> p4, p5 <emphasis role="comment">; Channels MIDI input to pfields.</emphasis>
+  <emphasis role="comment">; Use channel assigned in fluidload.</emphasis>
+  ichannel   <emphasis role="op">=</emphasis> 2
+  ikey       <emphasis role="op">=</emphasis> p4
+  ivelocity  <emphasis role="op">=</emphasis> p5
+         <emphasis role="opc">fluidNote</emphasis> gienginenum1, ichannel, ikey, ivelocity
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 3 <emphasis role="comment">; Trumpet</emphasis>
+  <emphasis role="comment">; INITIALIZATION</emphasis>
+         <emphasis role="opc">mididefault</emphasis>   60, p3 <emphasis role="comment">; Default duration of 60 -- overridden by score.</emphasis>
+         <emphasis role="opc">midinoteonkey</emphasis> p4, p5 <emphasis role="comment">; Channels MIDI input to pfields.</emphasis>
+  <emphasis role="comment">; Use channel assigned in fluidload.</emphasis>
+  ichannel   <emphasis role="op">=</emphasis> 3
+  ikey       <emphasis role="op">=</emphasis> p4
+  ivelocity  <emphasis role="op">=</emphasis> p5
+         <emphasis role="opc">fluidNote</emphasis> gienginenum2, ichannel, ikey, ivelocity
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="comment">; COLLECT AUDIO FROM ALL SOUNDFONTS</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 100 <emphasis role="comment">; Fluidsynth output</emphasis>
+
+  iamplitude1 <emphasis role="op">=</emphasis> 7
+  iamplitude2 <emphasis role="op">=</emphasis> 7
+
+<emphasis role="comment">; AUDIO</emphasis>
+aleft1, aright1 <emphasis role="opc">fluidOut</emphasis>   gienginenum1
+aleft2, aright2 <emphasis role="opc">fluidOut</emphasis>   gienginenum2
+                <emphasis role="opc">outs</emphasis>       (aleft1 <emphasis role="op">*</emphasis> iamplitude1) <emphasis role="op">+</emphasis> (aleft2 <emphasis role="op">*</emphasis> iamplitude2),  \
+                           (aright1 <emphasis role="op">*</emphasis> iamplitude1) <emphasis role="op">+</emphasis> (aright2 <emphasis role="op">*</emphasis> iamplitude2)
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 3  60  100
+<emphasis role="stamnt">i</emphasis> 2 1 3  60  100
+<emphasis role="stamnt">i</emphasis> 3 3 3  63  100
+<emphasis role="stamnt">i</emphasis> 100 0 10		<emphasis role="comment">;run for 10 seconds </emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/fluidLoad.csd.xml b/examples-xml/fluidLoad.csd.xml
new file mode 100644
index 0000000..ddb07fd
--- /dev/null
+++ b/examples-xml/fluidLoad.csd.xml
@@ -0,0 +1,48 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   -+rtmidi=virtual  -M0    <emphasis role="comment">;;;realtime audio out and realtime midi in</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">;-o fluidLoad.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+
+giengine <emphasis role="opc">fluidEngine</emphasis>
+<emphasis role="comment">; soundfont path to manual/examples</emphasis>
+isfnum	 <emphasis role="opc">fluidLoad</emphasis> "07AcousticGuitar.sf2", giengine, 1
+	 <emphasis role="opc">fluidProgramSelect</emphasis> giengine, 1, isfnum, 0, 0
+
+<emphasis role="oblock">instr</emphasis> 1
+
+	<emphasis role="opc">mididefault</emphasis>   60, p3
+	<emphasis role="opc">midinoteonkey</emphasis> p4, p5
+ikey	<emphasis role="opc">init</emphasis> p4
+ivel	<emphasis role="opc">init</emphasis> p5
+	<emphasis role="opc">fluidNote</emphasis> giengine, 1, ikey, ivel
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 99
+
+imvol  <emphasis role="opc">init</emphasis> 7
+asigl, asigr <emphasis role="opc">fluidOut</emphasis> giengine
+       <emphasis role="opc">outs</emphasis> asigl<emphasis role="op">*</emphasis>imvol, asigr<emphasis role="op">*</emphasis>imvol
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 2 60 100 <emphasis role="comment">;play one note from score and...</emphasis>
+<emphasis role="stamnt">i</emphasis> 99 0 60      <emphasis role="comment">;play virtual keyboard for 60 sec.</emphasis>
+<emphasis role="stamnt">e</emphasis>
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/fluidNote.csd.xml b/examples-xml/fluidNote.csd.xml
new file mode 100644
index 0000000..9e25752
--- /dev/null
+++ b/examples-xml/fluidNote.csd.xml
@@ -0,0 +1,48 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   -+rtmidi=virtual  -M0    <emphasis role="comment">;;;realtime audio out and realtime midi in</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">;-o fluidNote.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+
+giengine <emphasis role="opc">fluidEngine</emphasis>
+<emphasis role="comment">; soundfont path to manual/examples</emphasis>
+isfnum	 <emphasis role="opc">fluidLoad</emphasis> "19Trumpet.sf2", giengine, 1
+	 <emphasis role="opc">fluidProgramSelect</emphasis> giengine, 1, isfnum, 0, 56
+
+<emphasis role="oblock">instr</emphasis> 1
+
+	<emphasis role="opc">mididefault</emphasis>   60, p3
+	<emphasis role="opc">midinoteonkey</emphasis> p4, p5
+ikey	<emphasis role="opc">init</emphasis> p4
+ivel	<emphasis role="opc">init</emphasis> p5
+	<emphasis role="opc">fluidNote</emphasis> giengine, 1, ikey, ivel
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 99
+
+imvol  <emphasis role="opc">init</emphasis> 7
+asigl, asigr <emphasis role="opc">fluidOut</emphasis> giengine
+       <emphasis role="opc">outs</emphasis> asigl<emphasis role="op">*</emphasis>imvol, asigr<emphasis role="op">*</emphasis>imvol
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 2 60 100 <emphasis role="comment">;play one note from score and...</emphasis>
+<emphasis role="stamnt">i</emphasis> 99 0 60      <emphasis role="comment">;play virtual keyboard for 60 sec.</emphasis>
+<emphasis role="stamnt">e</emphasis>
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/fluidOut.csd.xml b/examples-xml/fluidOut.csd.xml
new file mode 100644
index 0000000..efc1e9c
--- /dev/null
+++ b/examples-xml/fluidOut.csd.xml
@@ -0,0 +1,74 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   -+rtmidi=virtual  -M0    <emphasis role="comment">;;;realtime audio out and realtime midi in</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">;-o fluidOut.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+
+giengine1 <emphasis role="opc">fluidEngine</emphasis>
+<emphasis role="comment">; soundfont path to manual/examples</emphasis>
+isfnum1	 <emphasis role="opc">fluidLoad</emphasis> "01hpschd.sf2", giengine1, 1
+	 <emphasis role="opc">fluidProgramSelect</emphasis> giengine1, 1, isfnum1, 0, 0
+
+giengine2 <emphasis role="opc">fluidEngine</emphasis>
+<emphasis role="comment">; soundfont path to manual/examples</emphasis>
+isfnum2	 <emphasis role="opc">fluidLoad</emphasis> "22Bassoon.sf2", giengine2, 1
+	 <emphasis role="opc">fluidProgramSelect</emphasis> giengine2, 1, isfnum2, 0, 70
+
+<emphasis role="oblock">instr</emphasis> 1
+
+	<emphasis role="opc">mididefault</emphasis>   60, p3
+	<emphasis role="opc">midinoteonkey</emphasis> p4, p5
+ikey	<emphasis role="opc">init</emphasis> p4
+ivel	<emphasis role="opc">init</emphasis> p5
+	<emphasis role="opc">fluidNote</emphasis> giengine1, 1, ikey, ivel
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+
+	<emphasis role="opc">mididefault</emphasis>   60, p3
+	<emphasis role="opc">midinoteonkey</emphasis> p4, p5
+ikey	<emphasis role="opc">init</emphasis> p4
+ivel	<emphasis role="opc">init</emphasis> p5
+	<emphasis role="opc">fluidNote</emphasis> giengine2, 1, ikey, ivel
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 98
+
+imvol  <emphasis role="opc">init</emphasis> 7
+asigl, asigr <emphasis role="opc">fluidOut</emphasis> giengine1
+       <emphasis role="opc">outs</emphasis> asigl<emphasis role="op">*</emphasis>imvol, asigr<emphasis role="op">*</emphasis>imvol
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 99
+
+imvol <emphasis role="opc">init</emphasis> 4
+asigl, asigr <emphasis role="opc">fluidOut</emphasis> giengine2		 <emphasis role="comment">;add a stereo flanger</emphasis>
+adelL <emphasis role="opc">linseg</emphasis> 0, p3<emphasis role="op">*</emphasis>.5, 0.02, p3<emphasis role="op">*</emphasis>.5, 0	 <emphasis role="comment">;max delay time =20ms</emphasis>
+adelR <emphasis role="opc">linseg</emphasis> 0.02, p3<emphasis role="op">*</emphasis>.5, 0, p3<emphasis role="op">*</emphasis>.5, 0.02 <emphasis role="comment">;max delay time =20ms		</emphasis>
+asigL <emphasis role="opc">flanger</emphasis> asigl, adelL, .6
+asigR <emphasis role="opc">flanger</emphasis> asigr, adelR, .6
+      <emphasis role="opc">outs</emphasis> asigL<emphasis role="op">*</emphasis>imvol, asigR<emphasis role="op">*</emphasis>imvol
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 2 60 100 <emphasis role="comment">;play one note of instr 1</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 2 2 60 100 <emphasis role="comment">;play another note of instr 2 and...</emphasis>
+<emphasis role="stamnt">i</emphasis> 98 0 60      <emphasis role="comment">;play virtual keyboard for 60 sec.</emphasis>
+<emphasis role="stamnt">i</emphasis> 99 0 60
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/fluidProgramSelect.csd.xml b/examples-xml/fluidProgramSelect.csd.xml
new file mode 100644
index 0000000..353cfec
--- /dev/null
+++ b/examples-xml/fluidProgramSelect.csd.xml
@@ -0,0 +1,48 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   -+rtmidi=virtual  -M0    <emphasis role="comment">;;;realtime audio out and realtime midi in</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">;-o fluidProgramSelect.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+
+giengine <emphasis role="opc">fluidEngine</emphasis>
+<emphasis role="comment">; soundfont path to manual/examples</emphasis>
+isfnum	 <emphasis role="opc">fluidLoad</emphasis> "19Trumpet.sf2", giengine, 1
+	 <emphasis role="opc">fluidProgramSelect</emphasis> giengine, 1, isfnum, 0, 56
+
+<emphasis role="oblock">instr</emphasis> 1
+
+	<emphasis role="opc">mididefault</emphasis>   60, p3
+	<emphasis role="opc">midinoteonkey</emphasis> p4, p5
+ikey	<emphasis role="opc">init</emphasis> p4
+ivel	<emphasis role="opc">init</emphasis> p5
+	<emphasis role="opc">fluidNote</emphasis> giengine, 1, ikey, ivel
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 99
+
+imvol  <emphasis role="opc">init</emphasis> 7
+asigl, asigr <emphasis role="opc">fluidOut</emphasis> giengine
+       <emphasis role="opc">outs</emphasis> asigl<emphasis role="op">*</emphasis>imvol, asigr<emphasis role="op">*</emphasis>imvol
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 2 60 100 <emphasis role="comment">;play one note from score and...</emphasis>
+<emphasis role="stamnt">i</emphasis> 99 0 60      <emphasis role="comment">;play virtual keyboard for 60 sec.</emphasis>
+<emphasis role="stamnt">e</emphasis>
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/fluidSetInterpMethod.csd.xml b/examples-xml/fluidSetInterpMethod.csd.xml
new file mode 100644
index 0000000..c0fbcb9
--- /dev/null
+++ b/examples-xml/fluidSetInterpMethod.csd.xml
@@ -0,0 +1,54 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out and realtime midi in</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">;-o fluidSetInterpMethod.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+
+giengine <emphasis role="opc">fluidEngine</emphasis>
+<emphasis role="comment">; soundfont path to manual/examples</emphasis>
+isfnum	 <emphasis role="opc">fluidLoad</emphasis> "07AcousticGuitar.sf2", giengine, 1
+	 <emphasis role="opc">fluidProgramSelect</emphasis> giengine, 1, isfnum, 0, 0
+
+<emphasis role="oblock">instr</emphasis> 1
+
+	<emphasis role="opc">mididefault</emphasis>   60, p3
+	<emphasis role="opc">midinoteonkey</emphasis> p4, p5
+ikey	<emphasis role="opc">init</emphasis> p4
+ivel	<emphasis role="opc">init</emphasis> p5
+iInterpMethod <emphasis role="op">=</emphasis> p6
+<emphasis role="opc">fluidSetInterpMethod</emphasis> giengine, 1, iInterpMethod
+	<emphasis role="opc">fluidNote</emphasis> giengine, 1, ikey, ivel
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 99
+
+imvol  <emphasis role="opc">init</emphasis> 7
+asigl, asigr <emphasis role="opc">fluidOut</emphasis> giengine
+       <emphasis role="opc">outs</emphasis> asigl<emphasis role="op">*</emphasis>imvol, asigr<emphasis role="op">*</emphasis>imvol
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">;hear the difference</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 2 60 120 0 <emphasis role="comment">;no interpolation</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 3 2 72 120 0
+<emphasis role="stamnt">i</emphasis> 1 6 2 60 120 7 <emphasis role="comment">;7th order interpolation</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 9 2 72 120 7
+
+<emphasis role="stamnt">i</emphasis> 99 0 12    
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/fluidcomplex.csd.xml b/examples-xml/fluidcomplex.csd.xml
index 4b1273b..120e5d8 100644
--- a/examples-xml/fluidcomplex.csd.xml
+++ b/examples-xml/fluidcomplex.csd.xml
@@ -2,15 +2,18 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages   Load external midi file</emphasis>
--d -m2 -o dac -T -F Anna.mid          <emphasis role="comment">;;;RT audio I/O</emphasis>
-
+<emphasis role="comment">;Load external midi file from manual/examples</emphasis>
+-odac -T -F  Anna.mid<emphasis role="comment">;;;realtime audio I/O and midifile in</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o fluidcomplex.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
+
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 128
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="comment">; Example by Istvan Varga</emphasis>
 
@@ -25,7 +28,7 @@ ichn <emphasis role="op">=</emphasis> 1
 <emphasis role="comment">; initialize FluidSynth</emphasis>
 
 gifld   <emphasis role="opc">fluidEngine</emphasis>
-gisf2   <emphasis role="opc">fluidLoad</emphasis> "07AcousticGuitar.sf2", gifld, 1
+gisf2   <emphasis role="opc">fluidLoad</emphasis> "sf_GMbank.sf2", gifld, 1
 
 <emphasis role="comment">; k-rate version of fluidProgramSelect</emphasis>
 
@@ -62,9 +65,10 @@ gisf2   <emphasis role="opc">fluidLoad</emphasis> "07AcousticGuitar.sf2", gifld,
       <emphasis role="octrl">kgoto</emphasis> <emphasis role="olabel">nxt</emphasis>
   <emphasis role="octrl">endif</emphasis>
 
-  <emphasis role="comment">; get audio output from FluidSynth</emphasis>
+<emphasis role="comment">; get audio output from FluidSynth</emphasis>
+  ivol   <emphasis role="opc">init</emphasis> 3 <emphasis role="comment">;a bit louder</emphasis>
   aL, aR <emphasis role="opc">fluidOut</emphasis> gifld
-        <emphasis role="opc">outs</emphasis>      aL, aR
+         <emphasis role="opc">outs</emphasis>     aL<emphasis role="op">*</emphasis>ivol, aR<emphasis role="op">*</emphasis>ivol
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
diff --git a/examples-xml/fmb3.csd.xml b/examples-xml/fmb3.csd.xml
index 7ed656d..b6484e7 100644
--- a/examples-xml/fmb3.csd.xml
+++ b/examples-xml/fmb3.csd.xml
@@ -2,50 +2,38 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o fmb3.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32  
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 15000
-  kfreq <emphasis role="op">=</emphasis> 440
-  kc1 <emphasis role="op">=</emphasis> 5
-  kc2 <emphasis role="op">=</emphasis> 5
-  kvdepth <emphasis role="op">=</emphasis> 0.005
-  kvrate <emphasis role="op">=</emphasis> 6
-  ifn1 <emphasis role="op">=</emphasis> 1
-  ifn2 <emphasis role="op">=</emphasis> 1
-  ifn3 <emphasis role="op">=</emphasis> 1
-  ifn4 <emphasis role="op">=</emphasis> 1
-  ivfn <emphasis role="op">=</emphasis> 1
 
-  a1 <emphasis role="opc">fmb3</emphasis> kamp, kfreq, kc1, kc2, kvdepth, kvrate,  \
-          ifn1, ifn2, ifn3, ifn4, ivfn
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
+kfreq <emphasis role="op">=</emphasis> 220
+kc1 <emphasis role="op">=</emphasis> p4
+kc2 <emphasis role="op">=</emphasis> p5
+kvrate <emphasis role="op">=</emphasis> 6
 
+kvdpth <emphasis role="opc">line</emphasis> 0, p3, p6
+asig   <emphasis role="opc">fmb3</emphasis> .4, kfreq, kc1, kc2, kvdpth, kvrate
+       <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
+<emphasis role="comment">;sine wave.</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 32768 10 1
 
-<emphasis role="comment">; Play Instrument #1 for two seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 1 0 2  5  5 0.1
+<emphasis role="stamnt">i</emphasis> 1 3 2 .5 .5 0.01
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/fmbell.csd.xml b/examples-xml/fmbell.csd.xml
index b898643..a5b655a 100644
--- a/examples-xml/fmbell.csd.xml
+++ b/examples-xml/fmbell.csd.xml
@@ -2,49 +2,57 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o fmbell.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32  
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 10000
-  kfreq <emphasis role="op">=</emphasis> 880
-  kc1 <emphasis role="op">=</emphasis> 5
-  kc2 <emphasis role="op">=</emphasis> 5
-  kvdepth <emphasis role="op">=</emphasis> 0.005
-  kvrate <emphasis role="op">=</emphasis> 6
-  ifn1 <emphasis role="op">=</emphasis> 1
-  ifn2 <emphasis role="op">=</emphasis> 1
-  ifn3 <emphasis role="op">=</emphasis> 1
-  ifn4 <emphasis role="op">=</emphasis> 1
-  ivfn <emphasis role="op">=</emphasis> 1
-
-  a1 <emphasis role="opc">fmbell</emphasis> kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, ifn4, ivfn
-  <emphasis role="opc">out</emphasis> a1
+
+kamp <emphasis role="op">=</emphasis> p4
+kfreq <emphasis role="op">=</emphasis> 880
+kc1 <emphasis role="op">=</emphasis> p5
+kc2 <emphasis role="op">=</emphasis> p6
+kvdepth <emphasis role="op">=</emphasis> 0.005
+kvrate <emphasis role="op">=</emphasis> 6
+
+asig <emphasis role="opc">fmbell</emphasis> kamp, kfreq, kc1, kc2, kvdepth, kvrate
+     <emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
+<emphasis role="oblock">instr</emphasis> 2
+
+kamp <emphasis role="op">=</emphasis> p4
+kfreq <emphasis role="op">=</emphasis> 880
+kc1 <emphasis role="op">=</emphasis> p5
+kc2 <emphasis role="op">=</emphasis> p6
+kvdepth <emphasis role="op">=</emphasis> 0.005
+kvrate <emphasis role="op">=</emphasis> 6
+
+asig <emphasis role="opc">fmbell</emphasis> kamp, kfreq, kc1, kc2, kvdepth, kvrate, 1, 1, 1, 1, 1, p7
+     <emphasis role="opc">outs</emphasis> asig, asig
+<emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
+<emphasis role="comment">; sine wave.</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 32768 10 1
 
-<emphasis role="comment">; Play Instrument #1 for three seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 3
-<emphasis role="stamnt">e</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 3 .2  5 5 
+<emphasis role="stamnt">i</emphasis> 1 + 4 .3 .5 1
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 0 12 .2  5 5 16
+<emphasis role="stamnt">i</emphasis> 2 + 12 .3 .5 1 12
 
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/fmmetal.csd.xml b/examples-xml/fmmetal.csd.xml
index aabfae2..d295c82 100644
--- a/examples-xml/fmmetal.csd.xml
+++ b/examples-xml/fmmetal.csd.xml
@@ -2,51 +2,46 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o fmmetal.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32  
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 10000
-  kfreq <emphasis role="op">=</emphasis> 440
-  kc1 <emphasis role="op">=</emphasis> 6
-  kc2 <emphasis role="op">=</emphasis> 5
-  kvdepth <emphasis role="op">=</emphasis> 0
-  kvrate <emphasis role="op">=</emphasis> 0
-  ifn1 <emphasis role="op">=</emphasis> 1
-  ifn2 <emphasis role="op">=</emphasis> 2
-  ifn3 <emphasis role="op">=</emphasis> 2
-  ifn4 <emphasis role="op">=</emphasis> 1
-  ivfn <emphasis role="op">=</emphasis> 1
 
-  a1 <emphasis role="opc">fmmetal</emphasis> kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, ifn4, ivfn
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
+kfreq <emphasis role="op">=</emphasis> 440
+kvdepth <emphasis role="op">=</emphasis> 0
+kvrate <emphasis role="op">=</emphasis> 0
+ifn1 <emphasis role="op">=</emphasis> 1
+ifn2 <emphasis role="op">=</emphasis> 2
+ifn3 <emphasis role="op">=</emphasis> 2
+ifn4 <emphasis role="op">=</emphasis> 1
+ivfn <emphasis role="op">=</emphasis> 1
+kc2  <emphasis role="op">=</emphasis> p5
 
+kc1  <emphasis role="opc">line</emphasis> p4, p3, 1
+asig <emphasis role="opc">fmmetal</emphasis> .5, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, ifn4, ivfn
+     <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1, a normal sine wave.</emphasis>
+<emphasis role="comment">; sine wave.</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 32768 10 1
-<emphasis role="comment">; Table #2, the "twopeaks.aiff" audio file.</emphasis>
+<emphasis role="comment">; the "twopeaks.aiff" audio file.</emphasis>
 <emphasis role="stamnt">f</emphasis> 2 0 256 1 "twopeaks.ai<emphasis role="stamnt">f</emphasis><emphasis role="stamnt">f</emphasis>" 0 0 0 
 
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
-<emphasis role="stamnt">e</emphasis>
-
 
+<emphasis role="stamnt">i</emphasis> 1 0 4 6 5 
+<emphasis role="stamnt">i</emphasis> 1 5 4 .2 10 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/fmpercfl.csd.xml b/examples-xml/fmpercfl.csd.xml
index 375468a..37870d8 100644
--- a/examples-xml/fmpercfl.csd.xml
+++ b/examples-xml/fmpercfl.csd.xml
@@ -2,49 +2,40 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o fmpercfl.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32  
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 30000
-  kfreq <emphasis role="op">=</emphasis> 220
-  kc1 <emphasis role="op">=</emphasis> 5
-  kc2 <emphasis role="op">=</emphasis> 5
-  kvdepth <emphasis role="op">=</emphasis> 0.005
-  kvrate <emphasis role="op">=</emphasis> 6
-  ifn1 <emphasis role="op">=</emphasis> 1
-  ifn2 <emphasis role="op">=</emphasis> 1
-  ifn3 <emphasis role="op">=</emphasis> 1
-  ifn4 <emphasis role="op">=</emphasis> 1
-  ivfn <emphasis role="op">=</emphasis> 1
-
-  a1 <emphasis role="opc">fmpercfl</emphasis> kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, ifn4, ivfn
-  <emphasis role="opc">out</emphasis> a1
+
+kfreq <emphasis role="op">=</emphasis> 220
+kc1 <emphasis role="op">=</emphasis> 5
+kvdepth <emphasis role="op">=</emphasis> .01
+kvrate <emphasis role="op">=</emphasis> 6
+
+kc2  <emphasis role="opc">line</emphasis> 5, p3, p4
+asig <emphasis role="opc">fmpercfl</emphasis> .5, kfreq, kc1, kc2, kvdepth, kvrate
+     <emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
+<emphasis role="comment">; sine wave.</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 32768 10 1
 
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
-<emphasis role="stamnt">e</emphasis>
-
+<emphasis role="stamnt">i</emphasis> 1 0 4 5
+<emphasis role="stamnt">i</emphasis> 1 5 8 .1
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/fmrhode.csd.xml b/examples-xml/fmrhode.csd.xml
index cf82938..c3d4221 100644
--- a/examples-xml/fmrhode.csd.xml
+++ b/examples-xml/fmrhode.csd.xml
@@ -2,51 +2,46 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o fmrhode.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32  
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 30000
-  kfreq <emphasis role="op">=</emphasis> 220
-  kc1 <emphasis role="op">=</emphasis> 6
-  kc2 <emphasis role="op">=</emphasis> 0
-  kvdepth <emphasis role="op">=</emphasis> 0.01
-  kvrate <emphasis role="op">=</emphasis> 3
-  ifn1 <emphasis role="op">=</emphasis> 1
-  ifn2 <emphasis role="op">=</emphasis> 1
-  ifn3 <emphasis role="op">=</emphasis> 1
-  ifn4 <emphasis role="op">=</emphasis> 2
-  ivfn <emphasis role="op">=</emphasis> 1
 
-  a1 <emphasis role="opc">fmrhode</emphasis> kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, ifn4, ivfn
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
+kfreq <emphasis role="op">=</emphasis> 220
+kc1 <emphasis role="op">=</emphasis> p4
+kc2 <emphasis role="op">=</emphasis> p5
+kvdepth <emphasis role="op">=</emphasis> 0.01
+kvrate <emphasis role="op">=</emphasis> 3
+ifn1 <emphasis role="op">=</emphasis> 1
+ifn2 <emphasis role="op">=</emphasis> 1
+ifn3 <emphasis role="op">=</emphasis> 1
+ifn4 <emphasis role="op">=</emphasis> 2
+ivfn <emphasis role="op">=</emphasis> 1
 
+asig <emphasis role="opc">fmrhode</emphasis> .5, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, ifn4, ivfn
+     <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
+<emphasis role="comment">;  sine wave.</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 32768 10 1
-<emphasis role="comment">; Table #2, the "fwavblnk.aiff" audio file.</emphasis>
+<emphasis role="comment">; audio file.</emphasis>
 <emphasis role="stamnt">f</emphasis> 2 0 256 1 "<emphasis role="stamnt">f</emphasis>wavblnk.ai<emphasis role="stamnt">f</emphasis><emphasis role="stamnt">f</emphasis>" 0 0 0
 
-<emphasis role="comment">; Play Instrument #1 for two seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 1 0 3 6 0
+<emphasis role="stamnt">i</emphasis> 1 + . 6 3
+<emphasis role="stamnt">i</emphasis> 1 + . 20 0
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/fmvoice.csd.xml b/examples-xml/fmvoice.csd.xml
index 6c1e1e9..84b9b41 100644
--- a/examples-xml/fmvoice.csd.xml
+++ b/examples-xml/fmvoice.csd.xml
@@ -2,59 +2,54 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o fmvoice.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32  
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 30000
-  kfreq <emphasis role="op">=</emphasis> 110
-  <emphasis role="comment">; Use the fourth p-field for the vowel.</emphasis>
-  kvowel <emphasis role="op">=</emphasis> p4
-  ktilt <emphasis role="op">=</emphasis> 0
-  kvibamt <emphasis role="op">=</emphasis> 0.005
-  kvibrate <emphasis role="op">=</emphasis> 6
-  ifn1 <emphasis role="op">=</emphasis> 1
-  ifn2 <emphasis role="op">=</emphasis> 1
-  ifn3 <emphasis role="op">=</emphasis> 1
-  ifn4 <emphasis role="op">=</emphasis> 1
-  ivibfn <emphasis role="op">=</emphasis> 1
-
-  a1 <emphasis role="opc">fmvoice</emphasis> kamp, kfreq, kvowel, ktilt, kvibamt, kvibrate, ifn1, ifn2, ifn3, ifn4, ivibfn
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
 
+kfreq <emphasis role="op">=</emphasis> 110
+kvowel <emphasis role="op">=</emphasis> p4	<emphasis role="comment">; p4 = vowel (0 - 64)</emphasis>
+ktilt  <emphasis role="op">=</emphasis> p5
+kvibamt <emphasis role="op">=</emphasis> 0.005
+kvibrate <emphasis role="op">=</emphasis> 6
+
+asig <emphasis role="opc">fmvoice</emphasis> .5, kfreq, kvowel, ktilt, kvibamt, kvibrate
+<emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
+<emphasis role="comment">;  sine wave.</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
 
-<emphasis role="comment">; p4 = vowel (a value from 0 to 64)</emphasis>
-<emphasis role="comment">; Play Instrument #1 for one second, vowel=1.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1 1
-<emphasis role="comment">; Play Instrument #1 for one second, vowel=2.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 1 1 2
-<emphasis role="comment">; Play Instrument #1 for one second, vowel=3.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 2 1 3
-<emphasis role="comment">; Play Instrument #1 for one second, vowel=4.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 3 1 4
-<emphasis role="comment">; Play Instrument #1 for one second, vowel=5.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 4 1 5
-<emphasis role="stamnt">e</emphasis>
-
+<emphasis role="stamnt">i</emphasis> 1 0 1 1  0	<emphasis role="comment">; tilt=0</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 1 1 >  .
+<emphasis role="stamnt">i</emphasis> 1 2 1 >  .
+<emphasis role="stamnt">i</emphasis> 1 3 1 >  .
+<emphasis role="stamnt">i</emphasis> 1 4 1 >  .
+<emphasis role="stamnt">i</emphasis> 1 5 1 >  .
+<emphasis role="stamnt">i</emphasis> 1 6 1 >  .
+<emphasis role="stamnt">i</emphasis> 1 7 1 12 .
+
+<emphasis role="stamnt">i</emphasis> 1 10 1 1  90	<emphasis role="comment">; tilt=90</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 11 1 >  .
+<emphasis role="stamnt">i</emphasis> 1 12 1 >  .
+<emphasis role="stamnt">i</emphasis> 1 13 1 >  .
+<emphasis role="stamnt">i</emphasis> 1 14 1 >  .
+<emphasis role="stamnt">i</emphasis> 1 15 1 >  .
+<emphasis role="stamnt">i</emphasis> 1 16 1 >  .
+<emphasis role="stamnt">i</emphasis> 1 17 1 12 .
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/fmwurlie.csd.xml b/examples-xml/fmwurlie.csd.xml
index fe183d5..71e1b56 100644
--- a/examples-xml/fmwurlie.csd.xml
+++ b/examples-xml/fmwurlie.csd.xml
@@ -2,51 +2,46 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o fmwurlie.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 22050
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 2205
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32  
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 30000
-  kfreq <emphasis role="op">=</emphasis> 440
-  kc1 <emphasis role="op">=</emphasis> 6
-  kc2 <emphasis role="op">=</emphasis> 1
-  kvdepth <emphasis role="op">=</emphasis> 0.005
-  kvrate <emphasis role="op">=</emphasis> 6
-  ifn1 <emphasis role="op">=</emphasis> 1
-  ifn2 <emphasis role="op">=</emphasis> 1
-  ifn3 <emphasis role="op">=</emphasis> 1
-  ifn4 <emphasis role="op">=</emphasis> 2
-  ivfn <emphasis role="op">=</emphasis> 1
 
-  a1 <emphasis role="opc">fmwurlie</emphasis> kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, ifn4, ivfn
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
+kfreq <emphasis role="op">=</emphasis> 440
+kc1 <emphasis role="op">=</emphasis> p4
+kc2 <emphasis role="op">=</emphasis> 1
+kvdepth <emphasis role="op">=</emphasis> 0.05
+kvrate <emphasis role="op">=</emphasis> 6
+ifn1 <emphasis role="op">=</emphasis> 1
+ifn2 <emphasis role="op">=</emphasis> 1
+ifn3 <emphasis role="op">=</emphasis> 1
+ifn4 <emphasis role="op">=</emphasis> 2
+ivfn <emphasis role="op">=</emphasis> 1
 
+asig <emphasis role="opc">fmwurlie</emphasis> .5, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, ifn4, ivfn
+     <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
+<emphasis role="comment">; sine wave</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 32768 10 1
-<emphasis role="comment">; Table #2, the "fwavblnk.aiff" audio file.</emphasis>
+<emphasis role="comment">; audio file</emphasis>
 <emphasis role="stamnt">f</emphasis> 2 0 256 1 "<emphasis role="stamnt">f</emphasis>wavblnk.ai<emphasis role="stamnt">f</emphasis><emphasis role="stamnt">f</emphasis>" 0 0 0
 
-<emphasis role="comment">; Play Instrument #1 for two seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 1 0 3 6
+<emphasis role="stamnt">i</emphasis> 1 + 3 30
+<emphasis role="stamnt">i</emphasis> 1 + 2 60
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/fof.csd.xml b/examples-xml/fof.csd.xml
index bb4cd9f..e5567ad 100644
--- a/examples-xml/fof.csd.xml
+++ b/examples-xml/fof.csd.xml
@@ -2,60 +2,56 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o fof.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32  
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
   <emphasis role="comment">; Combine five formants together to create </emphasis>
-  <emphasis role="comment">; an alto-"a" sound.</emphasis>
-
+  <emphasis role="comment">; a transformation from an alto-"a" sound</emphasis>
+  <emphasis role="comment">; to an alto-"i" sound.</emphasis>
   <emphasis role="comment">; Values common to all of the formants.</emphasis>
   kfund <emphasis role="opc">init</emphasis> 261.659
   koct <emphasis role="opc">init</emphasis> 0
   kris <emphasis role="opc">init</emphasis> 0.003
   kdur <emphasis role="opc">init</emphasis> 0.02
   kdec <emphasis role="opc">init</emphasis> 0.007
-  iolaps <emphasis role="op">=</emphasis> 14850
+  iolaps <emphasis role="op">=</emphasis> 100
   ifna <emphasis role="op">=</emphasis> 1
   ifnb <emphasis role="op">=</emphasis> 2
   itotdur <emphasis role="op">=</emphasis> p3
 
   <emphasis role="comment">; First formant.</emphasis>
   k1amp <emphasis role="op">=</emphasis> <emphasis role="opc">ampdb</emphasis>(0)
-  k1form <emphasis role="opc">init</emphasis> 800
-  k1band <emphasis role="opc">init</emphasis> 80
+  k1form <emphasis role="opc">line</emphasis> 800, p3, 350
+  k1band <emphasis role="opc">line</emphasis> 80, p3, 50
 
   <emphasis role="comment">; Second formant.</emphasis>
-  k2amp <emphasis role="op">=</emphasis> <emphasis role="opc">ampdb</emphasis>(<emphasis role="op">-</emphasis>4)
-  k2form <emphasis role="opc">init</emphasis> 1150
-  k2band <emphasis role="opc">init</emphasis> 90
+  k2amp <emphasis role="opc">line</emphasis> <emphasis role="opc">ampdb</emphasis>(<emphasis role="op">-</emphasis>4), p3, <emphasis role="opc">ampdb</emphasis>(<emphasis role="op">-</emphasis>20)
+  k2form <emphasis role="opc">line</emphasis> 1150, p3, 1700
+  k2band <emphasis role="opc">line</emphasis> 90, p3, 100
 
   <emphasis role="comment">; Third formant.</emphasis>
-  k3amp <emphasis role="op">=</emphasis> <emphasis role="opc">ampdb</emphasis>(<emphasis role="op">-</emphasis>20)
-  k3form <emphasis role="opc">init</emphasis> 2800
+  k3amp <emphasis role="opc">line</emphasis> <emphasis role="opc">ampdb</emphasis>(<emphasis role="op">-</emphasis>20), p3, <emphasis role="opc">ampdb</emphasis>(<emphasis role="op">-</emphasis>30)
+  k3form <emphasis role="opc">line</emphasis> 2800, p3, 2700
   k3band <emphasis role="opc">init</emphasis> 120
 
   <emphasis role="comment">; Fourth formant.</emphasis>
-  k4amp <emphasis role="op">=</emphasis> <emphasis role="opc">ampdb</emphasis>(<emphasis role="op">-</emphasis>36)
-  k4form <emphasis role="opc">init</emphasis> 3500
-  k4band <emphasis role="opc">init</emphasis> 130
+  k4amp <emphasis role="opc">init</emphasis> <emphasis role="opc">ampdb</emphasis>(<emphasis role="op">-</emphasis>36)
+  k4form <emphasis role="opc">line</emphasis> 3500, p3, 3700
+  k4band <emphasis role="opc">line</emphasis> 130, p3, 150
 
   <emphasis role="comment">; Fifth formant.</emphasis>
-  k5amp <emphasis role="op">=</emphasis> <emphasis role="opc">ampdb</emphasis>(<emphasis role="op">-</emphasis>60)
+  k5amp <emphasis role="opc">init</emphasis> <emphasis role="opc">ampdb</emphasis>(<emphasis role="op">-</emphasis>60)
   k5form <emphasis role="opc">init</emphasis> 4950
-  k5band <emphasis role="opc">init</emphasis> 140
+  k5band <emphasis role="opc">line</emphasis> 140, p3, 200
 
   a1 <emphasis role="opc">fof</emphasis> k1amp, kfund, k1form, koct, k1band, kris, \
          kdur, kdec, iolaps, ifna, ifnb, itotdur
@@ -68,25 +64,21 @@
   a5 <emphasis role="opc">fof</emphasis> k5amp, kfund, k5form, koct, k5band, kris, \
          kdur, kdec, iolaps, ifna, ifnb, itotdur
 
-  <emphasis role="comment">; Combine all of the formants together.</emphasis>
-  <emphasis role="opc">out</emphasis> (a1<emphasis role="op">+</emphasis>a2<emphasis role="op">+</emphasis>a3<emphasis role="op">+</emphasis>a4<emphasis role="op">+</emphasis>a5) <emphasis role="op">*</emphasis> 16384
-<emphasis role="oblock">endin</emphasis>
-
+  <emphasis role="comment">; Combine all of the formants together</emphasis>
+asig <emphasis role="opc">sum</emphasis> (a1<emphasis role="op">+</emphasis>a2<emphasis role="op">+</emphasis>a3<emphasis role="op">+</emphasis>a4<emphasis role="op">+</emphasis>a5) <emphasis role="op">*</emphasis> 13000
+     <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
+<emphasis role="comment">; sine wave</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 4096 10 1
-<emphasis role="comment">; Table #2.</emphasis>
+<emphasis role="comment">; sigmoid wave</emphasis>
 <emphasis role="stamnt">f</emphasis> 2 0 1024 19 0.5 0.5 270 0.5
 
-<emphasis role="comment">; Play Instrument #1 for three seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 3
+<emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="stamnt">i</emphasis> 1 2 5	<emphasis role="comment">; same but slower</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/fofilter.csd.xml b/examples-xml/fofilter.csd.xml
index 994a8d7..e720e92 100644
--- a/examples-xml/fofilter.csd.xml
+++ b/examples-xml/fofilter.csd.xml
@@ -2,29 +2,32 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o fofilter.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
-<emphasis role="ohdr">sr</emphasis>	<emphasis role="op">=</emphasis>  44100
-<emphasis role="ohdr">ksmps</emphasis>   <emphasis role="op">=</emphasis>  10
-<emphasis role="ohdr">nchnls</emphasis>  <emphasis role="op">=</emphasis>  1
 
-       <emphasis role="oblock">instr</emphasis> 1
-kfe	<emphasis role="opc">expseg</emphasis>	10, p3<emphasis role="op">*</emphasis>0.9, 180, p3<emphasis role="op">*</emphasis>0.1, 175
-kenv	<emphasis role="opc">linen</emphasis>		1000, 0.05, p3, 0.05
-asig	<emphasis role="opc">buzz</emphasis>		kenv, kfe, <emphasis role="ohdr">sr</emphasis><emphasis role="op">/</emphasis>(2<emphasis role="op">*</emphasis>kfe), 1
-afil	<emphasis role="opc">fofilter</emphasis>	asig, 900, 0.007, 0.04
-             
-	<emphasis role="opc">out</emphasis>	afil 
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32  
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-       <emphasis role="oblock">endin</emphasis>
+<emphasis role="oblock">instr</emphasis> 1
+
+kfe  <emphasis role="opc">expseg</emphasis> 10, p3<emphasis role="op">*</emphasis>0.9, 180, p3<emphasis role="op">*</emphasis>0.1, 175
+kenv <emphasis role="opc">linen</emphasis> .1, 0.05, p3, 0.05
+asig <emphasis role="opc">buzz</emphasis>  kenv, kfe, <emphasis role="ohdr">sr</emphasis><emphasis role="op">/</emphasis>(2<emphasis role="op">*</emphasis>kfe), 1
+afil <emphasis role="opc">fofilter</emphasis> asig, 900, 0.007, 0.04
+     <emphasis role="opc">outs</emphasis>  afil, afil 
+
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
+<emphasis role="comment">; sine wave</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
+
 <emphasis role="stamnt">i</emphasis> 1 0 10
 <emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
diff --git a/examples-xml/fog.csd.xml b/examples-xml/fog.csd.xml
index ca199d5..84622a6 100644
--- a/examples-xml/fog.csd.xml
+++ b/examples-xml/fog.csd.xml
@@ -2,36 +2,37 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o fog.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
-<emphasis role="comment">; Initialize the global variables.</emphasis>
+
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
 <emphasis role="comment">;p4 = transposition factor</emphasis>
 <emphasis role="comment">;p5 = speed factor</emphasis>
 <emphasis role="comment">;p6 = function table for grain data</emphasis>
-i1	<emphasis role="op">=</emphasis>	<emphasis role="ohdr">sr</emphasis><emphasis role="op">/</emphasis><emphasis role="opc">ftlen</emphasis>(p6) <emphasis role="comment">;scaling to reflect sample rate and table length</emphasis>
-a1	<emphasis role="opc">phasor</emphasis>	i1<emphasis role="op">*</emphasis>p5 <emphasis role="comment">;index for speed</emphasis>
-a2	<emphasis role="opc">fog</emphasis>	15000, 20, p4, a1, 1, 0, .01, .5, .01, 30, 1, 2, p3 
-
-	<emphasis role="opc">out</emphasis>	a2
+i1    <emphasis role="op">=</emphasis>	<emphasis role="ohdr">sr</emphasis><emphasis role="op">/</emphasis><emphasis role="opc">ftlen</emphasis>(1) <emphasis role="comment">;scaling to reflect sample rate and table length</emphasis>
+a1    <emphasis role="opc">phasor</emphasis> i1<emphasis role="op">*</emphasis>p5 <emphasis role="comment">;index for speed</emphasis>
+asigl <emphasis role="opc">fog</emphasis>    .5, 15, p4, a1, 1, 0, .01, .5, .01, 30, 1, 2, p3 		<emphasis role="comment">;left channel</emphasis>
+asigr <emphasis role="opc">fog</emphasis>    .4, 25, p4<emphasis role="op">+</emphasis>.2, a1, 1, 0, .01, .5, .01, 30, 1, 2, p3, .5	<emphasis role="comment">;right channel</emphasis>
+      <emphasis role="opc">outs</emphasis>   asigl, asigr
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 131072 1 "beats.wav" 0 0 0
+<emphasis role="stamnt">f</emphasis> 1 0 131072 1 "<emphasis role="stamnt">f</emphasis>ox.wav" 0 0 0
 <emphasis role="stamnt">f</emphasis> 2 0 1024 19 .5 .5 270 .5
 
-<emphasis role="stamnt">i</emphasis> 1 0 6 1 .01 1
+<emphasis role="stamnt">i</emphasis> 1 0 10 .7  .1
+<emphasis role="stamnt">i</emphasis> 1 + 4  1.2  2
 <emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
diff --git a/examples-xml/fold.csd.xml b/examples-xml/fold.csd.xml
index a8f0fbc..2680c5b 100644
--- a/examples-xml/fold.csd.xml
+++ b/examples-xml/fold.csd.xml
@@ -2,40 +2,37 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o fold.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Use an ordinary sine wave.</emphasis>
-  asig <emphasis role="opc">oscils</emphasis> 30000, 100, 1
 
-  <emphasis role="comment">; Vary the fold-over amount from 1 to 200.</emphasis>
-  kincr <emphasis role="opc">line</emphasis> 1, p3, 200
-  a1 <emphasis role="opc">fold</emphasis> asig, kincr
+asig  <emphasis role="opc">poscil3</emphasis> .8, 400, 1 <emphasis role="comment">;very clean sine</emphasis>
+kincr <emphasis role="opc">line</emphasis> p4, p3, p5
+asig  <emphasis role="opc">fold</emphasis> asig, kincr
+      <emphasis role="opc">outs</emphasis> asig, asig
 
-  <emphasis role="opc">out</emphasis> a1
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">;sine wave.</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
 
-<emphasis role="comment">; Play Instrument #1 for four seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 4
-<emphasis role="stamnt">e</emphasis>
-
+<emphasis role="stamnt">i</emphasis> 1 0  4 2  2 
+<emphasis role="stamnt">i</emphasis> 1 5  4 5  5 
+<emphasis role="stamnt">i</emphasis> 1 10 4 10 10 
+<emphasis role="stamnt">i</emphasis> 1 15 4 1 100	<emphasis role="comment">; Vary the fold-over amount from 1 to 100</emphasis>
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/follow.csd.xml b/examples-xml/follow.csd.xml
index 124b1fb..f7ba94b 100644
--- a/examples-xml/follow.csd.xml
+++ b/examples-xml/follow.csd.xml
@@ -2,53 +2,46 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o follow.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1 - play a WAV file.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  a1 <emphasis role="opc">soundin</emphasis> "beats.wav"
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
-
-<emphasis role="comment">; Instrument #2 - have another waveform follow the WAV file.</emphasis>
-<emphasis role="oblock">instr</emphasis> 2
-  <emphasis role="comment">; Follow the WAV file.</emphasis>
-  as <emphasis role="opc">soundin</emphasis> "beats.wav"
-  af <emphasis role="opc">follow</emphasis> as, 0.01
 
-  <emphasis role="comment">; Use a sine waveform.</emphasis>
-  as <emphasis role="opc">oscil</emphasis> 4000, 440, 1
-  <emphasis role="comment">; Have it use the amplitude of the followed WAV file.</emphasis>
-  a1 <emphasis role="opc">balance</emphasis> as, af
+asig <emphasis role="opc">soundin</emphasis> "beats.wav"
+     <emphasis role="opc">outs</emphasis> asig, asig
 
-  <emphasis role="opc">out</emphasis> a1
 <emphasis role="oblock">endin</emphasis>
 
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">;envelope follower</emphasis>
 
+as   <emphasis role="opc">soundin</emphasis> "beats.wav"
+as   <emphasis role="op">=</emphasis> as<emphasis role="op">*</emphasis>.7		<emphasis role="comment">;reduce volume a bit</emphasis>
+at   <emphasis role="opc">tone</emphasis>    as, 500	<emphasis role="comment">;smooth estimated envelope</emphasis>
+af   <emphasis role="opc">follow</emphasis>  at, p4
+asin <emphasis role="opc">poscil3</emphasis> .5, 440, 1
+<emphasis role="comment">; "beats.wav" provides amplitude for poscil</emphasis>
+asig <emphasis role="opc">balance</emphasis> asin, af
+     <emphasis role="opc">outs</emphasis>    asig, asig
+
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Just generate a nice, ordinary sine wave.</emphasis>
+<emphasis role="comment">;sine wave.</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 32768 10 1
 
-<emphasis role="comment">; Play Instrument #1 for two seconds.</emphasis>
 <emphasis role="stamnt">i</emphasis> 1 0 2
-<emphasis role="comment">; Play Instrument #2 for two seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 2 2 2
+<emphasis role="stamnt">i</emphasis> 2 2 2 0.001 <emphasis role="comment">;follow quickly</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 5 3 0.2   <emphasis role="comment">;follow slowly</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/follow2.csd.xml b/examples-xml/follow2.csd.xml
index 3f71a38..8713d7d 100644
--- a/examples-xml/follow2.csd.xml
+++ b/examples-xml/follow2.csd.xml
@@ -2,50 +2,42 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o follow2.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1 - play a WAV file.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  a1 <emphasis role="opc">soundin</emphasis> "beats.wav"
-  <emphasis role="opc">out</emphasis> a1
+
+asig <emphasis role="opc">soundin</emphasis> "beats.wav"
+     <emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
-<emphasis role="comment">; Instrument #2 - have another waveform follow the WAV file.</emphasis>
-<emphasis role="oblock">instr</emphasis> 2
-  <emphasis role="comment">; Follow the WAV file.</emphasis>
-  as <emphasis role="opc">soundin</emphasis> "beats.wav"
-  af <emphasis role="opc">follow2</emphasis> as, 0.01, 0.1
+<emphasis role="oblock">instr</emphasis> 2 <emphasis role="comment">;using follow2</emphasis>
 
-  <emphasis role="comment">; Use a noise waveform.</emphasis>
-  ar <emphasis role="opc">rand</emphasis> 44100
-  <emphasis role="comment">; Have it use the amplitude of the followed WAV file.</emphasis>
-  a1 <emphasis role="opc">balance</emphasis> ar, af
+as <emphasis role="opc">soundin</emphasis> "beats.wav"
+af <emphasis role="opc">follow2</emphasis> as, p4, p5
+ar <emphasis role="opc">rand</emphasis> 44100	<emphasis role="comment">;noise</emphasis>
+<emphasis role="comment">; "beats.wav" provides amplitude for noise</emphasis>
+asig <emphasis role="opc">balance</emphasis> ar, af
+     <emphasis role="opc">outs</emphasis> asig, asig
 
-  <emphasis role="opc">out</emphasis> a1
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for two seconds.</emphasis>
 <emphasis role="stamnt">i</emphasis> 1 0 2
-<emphasis role="comment">; Play Instrument #2 for two seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 2 2 2
-<emphasis role="stamnt">e</emphasis>
-
+<emphasis role="stamnt">i</emphasis> 2 2 2 0.001 0.01 <emphasis role="comment">;quick attack & deacy</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 5 2  0.1   0.5  <emphasis role="comment">;slow attack & deacy	</emphasis>
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/foscil.csd.xml b/examples-xml/foscil.csd.xml
index f8cdb32..061804e 100644
--- a/examples-xml/foscil.csd.xml
+++ b/examples-xml/foscil.csd.xml
@@ -2,44 +2,39 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o foscil.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1 - a basic FM waveform.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 10000
-  kcps <emphasis role="op">=</emphasis> 440
-  kcar <emphasis role="op">=</emphasis> 600
-  kmod <emphasis role="op">=</emphasis> 210
-  kndx <emphasis role="op">=</emphasis> 2
-  ifn <emphasis role="op">=</emphasis> 1
 
-  a1 <emphasis role="opc">foscil</emphasis> kamp, kcps, kcar, kmod, kndx, ifn
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
+kcps <emphasis role="op">=</emphasis> 440
+kcar <emphasis role="op">=</emphasis> 1
+kmod <emphasis role="op">=</emphasis> p4
+kndx <emphasis role="opc">line</emphasis> 0, p3, 20	<emphasis role="comment">;intensivy sidebands</emphasis>
 
+asig <emphasis role="opc">foscil</emphasis> .5, kcps, kcar, kmod, kndx, 1
+     <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
+<emphasis role="comment">; sine</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
 
-<emphasis role="comment">; Play Instrument #1 for 2 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 1 0  9 .01	<emphasis role="comment">;vibrato</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 10 .  1
+<emphasis role="stamnt">i</emphasis> 1 20 . 1.414	<emphasis role="comment">;gong-ish</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 30 5 2.05	<emphasis role="comment">;with "beat"</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/foscili.csd.xml b/examples-xml/foscili.csd.xml
index 0ce853a..d3ddb0f 100644
--- a/examples-xml/foscili.csd.xml
+++ b/examples-xml/foscili.csd.xml
@@ -2,62 +2,39 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o foscili.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1 - a basic FM waveform.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 10000
-  kcps <emphasis role="op">=</emphasis> 440
-  kcar <emphasis role="op">=</emphasis> 600
-  kmod <emphasis role="op">=</emphasis> 210
-  kndx <emphasis role="op">=</emphasis> 2
-  ifn <emphasis role="op">=</emphasis> 1
 
-  a1 <emphasis role="opc">foscil</emphasis> kamp, kcps, kcar, kmod, kndx, ifn
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
+kcps <emphasis role="op">=</emphasis> 440
+kcar <emphasis role="op">=</emphasis> 1
+kmod <emphasis role="op">=</emphasis> p4
+kndx <emphasis role="opc">line</emphasis> 0, p3, 20	<emphasis role="comment">;intensivy sidebands</emphasis>
 
-<emphasis role="comment">; Instrument #2 - the basic FM waveform with extra interpolation.</emphasis>
-<emphasis role="oblock">instr</emphasis> 2
-  kamp <emphasis role="op">=</emphasis> 10000
-  kcps <emphasis role="op">=</emphasis> 440
-  kcar <emphasis role="op">=</emphasis> 600
-  kmod <emphasis role="op">=</emphasis> 210
-  kndx <emphasis role="op">=</emphasis> 2
-  ifn <emphasis role="op">=</emphasis> 1
+asig <emphasis role="opc">foscili</emphasis> .5, kcps, kcar, kmod, kndx, 1
+     <emphasis role="opc">outs</emphasis> asig, asig
 
-  a1 <emphasis role="opc">foscili</emphasis> kamp, kcps, kcar, kmod, kndx, ifn
-  <emphasis role="opc">out</emphasis> a1
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">; sine</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
 
-<emphasis role="comment">; Table #1, a sine wave table with a small amount of data.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 4096 10 1
-
-<emphasis role="comment">; Play Instrument #1, the basic FM instrument, for </emphasis>
-<emphasis role="comment">; two seconds. This should sound relatively rough.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
-
-<emphasis role="comment">; Play Instrument #2, the interpolated FM instrument, for</emphasis>
-<emphasis role="comment">; two seconds. This should sound relatively smooth.</emphasis>
-<emphasis role="stamnt">i</emphasis> 2 2 2
+<emphasis role="stamnt">i</emphasis> 1 0  9 .01	<emphasis role="comment">;vibrato</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 10 .  1
+<emphasis role="stamnt">i</emphasis> 1 20 . 1.414	<emphasis role="comment">;gong-ish</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 30 5 2.05	<emphasis role="comment">;with "beat"</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/fout.csd.xml b/examples-xml/fout.csd.xml
index 540e5ed..29d7c19 100644
--- a/examples-xml/fout.csd.xml
+++ b/examples-xml/fout.csd.xml
@@ -2,42 +2,55 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o fout.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giSine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  iamp <emphasis role="op">=</emphasis> 10000
-  icps <emphasis role="op">=</emphasis> 440
-  iphs <emphasis role="op">=</emphasis> 0
 
-  <emphasis role="comment">; Create an audio signal.</emphasis>
-  asig <emphasis role="opc">oscils</emphasis> iamp, icps, iphs
+asig <emphasis role="opc">poscil3</emphasis> .5, 880, giSine
+<emphasis role="comment">;write a raw file: 32 bits with header</emphasis>
+     <emphasis role="opc">fout</emphasis> "fout_880.wav", 15, asig	
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+
+klfo <emphasis role="opc">lfo</emphasis> 1, 2, 0
+asig <emphasis role="opc">poscil3</emphasis> .5<emphasis role="op">*</emphasis>klfo, 220, giSine
+<emphasis role="comment">;write an aiff file: 32 bits with header</emphasis>
+     <emphasis role="opc">fout</emphasis> "fout_aif.aiff", 25, asig	
+<emphasis role="comment">;        fout "fout_all3.wav", 14, asig</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
 
-  <emphasis role="comment">; Write the audio signal to a headerless audio file </emphasis>
-  <emphasis role="comment">; called "fout.raw".</emphasis>
-  <emphasis role="opc">fout</emphasis> "fout.raw", 1, asig
 <emphasis role="oblock">endin</emphasis>
 
+<emphasis role="oblock">instr</emphasis> 99 <emphasis role="comment">;read the stereo csound output buffer</emphasis>
 
+allL, allR <emphasis role="opc">monitor</emphasis>
+<emphasis role="comment">;write the output of csound to an audio file</emphasis>
+<emphasis role="comment">;to a wav file: 16 bits with header</emphasis>
+           <emphasis role="opc">fout</emphasis> "fout_all.wav", 14, allL, allR
+
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for 2 seconds.</emphasis>
 <emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 2 0 3
+<emphasis role="stamnt">i</emphasis> 99 0 3
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/fouti.csd.xml b/examples-xml/fouti.csd.xml
new file mode 100644
index 0000000..68a0c8e
--- /dev/null
+++ b/examples-xml/fouti.csd.xml
@@ -0,0 +1,37 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+ 
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o fouti.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+ 
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+
+gihand <emphasis role="opc">fiopen</emphasis> "test.txt", 0 
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ires  <emphasis role="opc">random</emphasis>  0, 10 
+      <emphasis role="opc">fouti</emphasis> gihand, 0, 1, ires 
+      <emphasis role="opc">ficlose</emphasis> gihand
+
+<emphasis role="oblock">endin</emphasis> 
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+ 
+
+<emphasis role="stamnt">i</emphasis> 1 0 1 
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/foutir.csd.xml b/examples-xml/foutir.csd.xml
new file mode 100644
index 0000000..df7e441
--- /dev/null
+++ b/examples-xml/foutir.csd.xml
@@ -0,0 +1,44 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+ 
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  -+rtmidi=virtual -M0  <emphasis role="comment">;;;realtime audio out and midi in</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o foutir.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+ 
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+
+gihand <emphasis role="opc">fiopen</emphasis> "foutir.sco", 0 
+
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">; play virtual midi keyboard</emphasis>
+
+inot  <emphasis role="opc">notnum</emphasis>  <emphasis role="comment">;just for priting on screen</emphasis>
+icps  <emphasis role="opc">cpsmidi</emphasis>    
+iamp  <emphasis role="opc">ampmidi</emphasis> 1
+
+      <emphasis role="opc">foutir</emphasis>  gihand, 0, 1, icps, iamp 
+      <emphasis role="opc">prints</emphasis>  "WRITING<emphasis role="op">:</emphasis>\n"
+      <emphasis role="opc">prints</emphasis>  "note <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f,velocity <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", icps, iamp  <emphasis role="comment">;prints them</emphasis>
+      <emphasis role="opc">ficlose</emphasis> gihand
+asig  <emphasis role="opc">pluck</emphasis>   iamp, icps, 1000, 0, 1
+      <emphasis role="opc">outs</emphasis>    asig, asig
+
+<emphasis role="oblock">endin</emphasis> 
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+ 
+
+<emphasis role="stamnt">f</emphasis> 0 10
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/fractalnoise.csd.xml b/examples-xml/fractalnoise.csd.xml
new file mode 100644
index 0000000..2f208a8
--- /dev/null
+++ b/examples-xml/fractalnoise.csd.xml
@@ -0,0 +1,31 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o oscil.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kbeta <emphasis role="opc">linseg</emphasis> 0, p3<emphasis role="op">/</emphasis>4, 2, p3<emphasis role="op">/</emphasis>4, 0, p3<emphasis role="op">*</emphasis>0.1, 2, p3<emphasis role="op">*</emphasis>0.15, 0
+<emphasis role="ohdr">seed</emphasis>  20120124
+aout  <emphasis role="opc">fractalnoise</emphasis> 0.05, kbeta 
+<emphasis role="opc">outs</emphasis>  aout, aout
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 10
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/ftchnls.csd.xml b/examples-xml/ftchnls.csd.xml
index 777b624..ab98fa8 100644
--- a/examples-xml/ftchnls.csd.xml
+++ b/examples-xml/ftchnls.csd.xml
@@ -2,38 +2,44 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+<emphasis role="comment">;-odac     ;;;realtime audio out</emphasis>
+-iadc    <emphasis role="comment">;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o ftchnls.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Print out the number of channels in Table #1.</emphasis>
-  ichnls <emphasis role="op">=</emphasis> <emphasis role="opc">ftchnls</emphasis>(1)
-  <emphasis role="opc">print</emphasis> ichnls
-<emphasis role="oblock">endin</emphasis>
 
+ichnls <emphasis role="op">=</emphasis> <emphasis role="opc">ftchnls</emphasis>(p4)
+<emphasis role="opc">print</emphasis> ichnls
+
+<emphasis role="octrl">if</emphasis> (ichnls <emphasis role="op">==</emphasis> 1) then
+   asigL <emphasis role="opc">loscil3</emphasis> .8, 4, p4
+   asigR <emphasis role="op">=</emphasis> 	asigL
+<emphasis role="octrl">elseif</emphasis> (ichnls <emphasis role="op">==</emphasis> 2) then
+   asigL, asigR <emphasis role="opc">loscil3</emphasis> .8, 4, p4
+<emphasis role="comment">;safety precaution if not mono or stereo</emphasis>
+<emphasis role="octrl">else</emphasis>
+   asigL <emphasis role="op">=</emphasis> 0
+   asigR <emphasis role="op">=</emphasis> 0
+<emphasis role="octrl">endif</emphasis>
+        <emphasis role="opc">outs</emphasis> asigL, asigR
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1: Use an audio file, Csound will determine its size.</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 0 1 "mary.wav" 0 0 0
+<emphasis role="stamnt">f</emphasis> 2 0 0 1 "kickroll.wav" 0 0 0
 
-<emphasis role="comment">; Play Instrument #1 for 1 second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="stamnt">i</emphasis> 1 0 3 1 <emphasis role="comment">;mono file</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 2 2 <emphasis role="comment">;stereo file</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/ftfree.csd.xml b/examples-xml/ftfree.csd.xml
new file mode 100644
index 0000000..c8d6f24
--- /dev/null
+++ b/examples-xml/ftfree.csd.xml
@@ -0,0 +1,39 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o ftfree.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+gitempTable <emphasis role="ohdr">ftgen</emphasis> 0, 0, 65537, 10, 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+aout <emphasis role="opc">oscili</emphasis> .5, 440, gitempTable
+     <emphasis role="opc">outs</emphasis> aout, aout
+
+<emphasis role="comment">;free temp table at deinit time</emphasis>
+<emphasis role="opc">ftfree</emphasis> gitempTable, 1
+<emphasis role="opc">print</emphasis>  gitempTable
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 0 5
+
+<emphasis role="stamnt">i</emphasis> 1 0 .1
+<emphasis role="stamnt">i</emphasis> 1 3 1
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/ftgen.csd.xml b/examples-xml/ftgen.csd.xml
index 2bbe9e2..f3d5d76 100644
--- a/examples-xml/ftgen.csd.xml
+++ b/examples-xml/ftgen.csd.xml
@@ -2,42 +2,36 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o ftgen.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>   <emphasis role="op">=</emphasis>1
 
-<emphasis role="comment">; Table #1, a sine wave using the GEN10 routine.</emphasis>
-gitemp <emphasis role="ohdr">ftgen</emphasis> 1, 0, 16384, 10, 1
+gisine   <emphasis role="ohdr">ftgen</emphasis> 1, 0, 16384, 10, 1	<emphasis role="comment">;sine wave</emphasis>
+gisquare <emphasis role="ohdr">ftgen</emphasis> 2, 0, 16384, 10, 1, 0 , .33, 0, .2 , 0, .14, 0 , .11, 0, .09 <emphasis role="comment">;odd harmonics</emphasis>
+gisaw    <emphasis role="ohdr">ftgen</emphasis> 3, 0, 16384, 10, 0, .2, 0, .4, 0, .6, 0, .8, 0, 1, 0, .8, 0, .6, 0, .4, 0,.2 <emphasis role="comment">;even harmonics</emphasis>
 
-<emphasis role="comment">; Instrument #1 - a basic oscillator.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 10000
-  kcps <emphasis role="op">=</emphasis> 440
-  <emphasis role="comment">; Use Table #1.</emphasis>
-  ifn <emphasis role="op">=</emphasis> 1
-
-  a1 <emphasis role="opc">oscil</emphasis> kamp, kcps, ifn
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
 
+ifn <emphasis role="op">=</emphasis> p4
+asig <emphasis role="opc">poscil</emphasis> .6, 200, ifn
+     <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for 2 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 1 0 2 1 <emphasis role="comment">;sine wave</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 3 2 2 <emphasis role="comment">;odd harmonics</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 6 2 3 <emphasis role="comment">;even harmonics</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/ftgenonce.csd.xml b/examples-xml/ftgenonce.csd.xml
new file mode 100644
index 0000000..251bf18
--- /dev/null
+++ b/examples-xml/ftgenonce.csd.xml
@@ -0,0 +1,37 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o ftgenonce.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+ 
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1 
+<emphasis role="comment">; Use ftgenonce instead of ftgen, ftgentmp, or f statement</emphasis>
+iHz	<emphasis role="op">=</emphasis> p4
+isine	<emphasis role="opc">ftgenonce</emphasis> 0, 0, 1024, 10, 1 
+aoscili	<emphasis role="opc">pluck</emphasis> .7, iHz, 100, isine, 1 
+aadsr 	<emphasis role="opc">adsr</emphasis> 0.015, 0.07, 0.6, 0.3
+asig 	<emphasis role="op">=</emphasis> aoscili <emphasis role="op">*</emphasis> aadsr
+        <emphasis role="opc">outs</emphasis> asig, asig
+<emphasis role="oblock">endin</emphasis> 
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+ 
+
+<emphasis role="stamnt">i</emphasis> 1 0 1 220 
+<emphasis role="stamnt">i</emphasis> 1 2 1 261 
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/ftlen.csd.xml b/examples-xml/ftlen.csd.xml
index 50f1d93..8193ae0 100644
--- a/examples-xml/ftlen.csd.xml
+++ b/examples-xml/ftlen.csd.xml
@@ -2,39 +2,36 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o ftlen.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>   <emphasis role="op">=</emphasis>1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Print out the size of Table #1.</emphasis>
-  <emphasis role="comment">; The size will be the number of points excluding the guard point.</emphasis>
-  ilen <emphasis role="op">=</emphasis> <emphasis role="opc">ftlen</emphasis>(1)
-  <emphasis role="opc">print</emphasis> ilen
-<emphasis role="oblock">endin</emphasis>
 
+ift  <emphasis role="op">=</emphasis> <emphasis role="opc">ftlen</emphasis>(p4)
+     <emphasis role="opc">print</emphasis> ift
+aout <emphasis role="opc">loscil3</emphasis> .8, 4, p4
+     <emphasis role="opc">outs</emphasis> aout, aout
 
+<emphasis role="oblock">endin</emphasis> 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+ 
+<emphasis role="stamnt">f</emphasis> 1 0 0 1 "<emphasis role="stamnt">f</emphasis>ox.wav" 0 0 0 <emphasis role="comment">;Csound computes tablesize</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 0 1 "beats.wav" 0 0 0 <emphasis role="comment">;Csound computes tablesize</emphasis>
 
-<emphasis role="comment">; Table #1: Use an audio file, Csound will determine its size.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 0 1 "mary.wav" 0 0 0
+<emphasis role="stamnt">i</emphasis> 1 0 3 1 <emphasis role="comment">;"fox.wav"</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 3 3 2 <emphasis role="comment">;"beats.wav"</emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for 1 second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/ftlptim.csd.xml b/examples-xml/ftlptim.csd.xml
index 10e036a..e0e7909 100644
--- a/examples-xml/ftlptim.csd.xml
+++ b/examples-xml/ftlptim.csd.xml
@@ -2,38 +2,32 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o ftlptim.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>   <emphasis role="op">=</emphasis>1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Print out the loop-segment start time in Table #1.</emphasis>
-  itim <emphasis role="op">=</emphasis> <emphasis role="opc">ftlptim</emphasis>(1)
-  <emphasis role="opc">print</emphasis> itim
-<emphasis role="oblock">endin</emphasis>
 
+itim <emphasis role="op">=</emphasis> <emphasis role="opc">ftlptim</emphasis>(1)
+     <emphasis role="opc">print</emphasis> itim
+aout <emphasis role="opc">loscil3</emphasis> .8, 40, 1
+     <emphasis role="opc">outs</emphasis> aout, aout
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 0 1 "Church.wav" 0 0 0 <emphasis role="comment">;Csound computes tablesize</emphasis>
 
-<emphasis role="comment">; Table #1: Use an audio file, Csound will determine its size.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 0 1 "mary.wav" 0 0 0
-
-<emphasis role="comment">; Play Instrument #1 for 1 second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="stamnt">i</emphasis> 1 0 5
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/ftmorf.csd.xml b/examples-xml/ftmorf.csd.xml
index e1bd5a4..87f9e1c 100644
--- a/examples-xml/ftmorf.csd.xml
+++ b/examples-xml/ftmorf.csd.xml
@@ -2,26 +2,26 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o ftmorf.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>   <emphasis role="op">=</emphasis>1
 
 <emphasis role="oblock">instr</emphasis> 1
-kndx    <emphasis role="opc">line</emphasis>    0, p3, 7
-        <emphasis role="opc">ftmorf</emphasis>  kndx, 1, 2
-asig    <emphasis role="opc">oscili</emphasis>  30000, 440, 2
-        <emphasis role="opc">out</emphasis>     asig
-<emphasis role="oblock">endin</emphasis>
 
+kndx  <emphasis role="opc">line</emphasis>   0, p3, 7
+      <emphasis role="opc">ftmorf</emphasis> kndx, 1, 2
+asig  <emphasis role="opc">oscili</emphasis> .8, 440, 2
+      <emphasis role="opc">outs</emphasis>   asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
@@ -36,10 +36,8 @@ asig    <emphasis role="opc">oscili</emphasis>  30000, 440, 2
 <emphasis role="stamnt">f</emphasis>9 0 1024 10 0 0 0 0 0 0 1
 <emphasis role="stamnt">f</emphasis>10 0 1024 10 1 1 1 1 1 1 1
 
-<emphasis role="stamnt">i</emphasis>1 0 10
+<emphasis role="stamnt">i</emphasis>1 0 15
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/ftsr.csd.xml b/examples-xml/ftsr.csd.xml
index 003d4de..6a62271 100644
--- a/examples-xml/ftsr.csd.xml
+++ b/examples-xml/ftsr.csd.xml
@@ -1,39 +1,40 @@
 <programlisting>
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
-<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
-<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o ftsr.wav -W ;;; for file output any platform</emphasis>
+ 
+<emphasis role="comment">; Select audio/midi flags here according to platform </emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out </emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too </emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below: </emphasis>
+<emphasis role="comment">; -o ftsr.wav -W ;;; for file output any platform </emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
+ 
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Print out the sampling rate of Table #1.</emphasis>
-  isr <emphasis role="op">=</emphasis> <emphasis role="opc">ftsr</emphasis>(1)
-  <emphasis role="opc">print</emphasis> isr
-<emphasis role="oblock">endin</emphasis>
-
 
+itab <emphasis role="op">=</emphasis> p4
+isr <emphasis role="op">=</emphasis> <emphasis role="opc">ftsr</emphasis>(itab)
+<emphasis role="opc">prints</emphasis> "sampling<emphasis role="op">-</emphasis>rate of <emphasis role="opc">table</emphasis> number <emphasis role="op">%</emphasis>d <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>d\n", itab, isr
+    
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1: Use an audio file.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 262144 1 "mary.wav" 0 0 0
-
-<emphasis role="comment">; Play Instrument #1 for 1 second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="stamnt">f</emphasis> 1 0 0 1 "kickroll.wav" 0 0 0	<emphasis role="comment">;stereo file</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 0 1 "ahh.ai<emphasis role="stamnt">f</emphasis><emphasis role="stamnt">f</emphasis>" 0 0 0	<emphasis role="comment">;& different formats</emphasis>
+<emphasis role="stamnt">f</emphasis> 3 0 0 1 "beats.mp3" 0 0 0
+<emphasis role="stamnt">f</emphasis> 4 0 0 1 "beats.ogg" 0 0 0
+
+<emphasis role="stamnt">i</emphasis> 1 0 1 1
+<emphasis role="stamnt">i</emphasis> 1 + 1 2
+<emphasis role="stamnt">i</emphasis> 1 + 1 3
+<emphasis role="stamnt">i</emphasis> 1 + 1 4
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/gain.csd.xml b/examples-xml/gain.csd.xml
index 8607411..759c309 100644
--- a/examples-xml/gain.csd.xml
+++ b/examples-xml/gain.csd.xml
@@ -2,40 +2,36 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o gain.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  asrc <emphasis role="opc">buzz</emphasis>  30000, 440, <emphasis role="ohdr">sr</emphasis><emphasis role="op">/</emphasis>440, 1 <emphasis role="comment">; band-limited pulse train.</emphasis>
+
+  asrc <emphasis role="opc">buzz</emphasis>  .8, 440, <emphasis role="ohdr">sr</emphasis><emphasis role="op">/</emphasis>440, 1    <emphasis role="comment">; band-limited pulse train.</emphasis>
   a1   <emphasis role="opc">reson</emphasis> asrc, 1000, 100       <emphasis role="comment">; Sent through</emphasis>
   a2   <emphasis role="opc">reson</emphasis> a1, 3000, 500         <emphasis role="comment">; 2 filters</emphasis>
   krms <emphasis role="opc">rms</emphasis>   asrc                  <emphasis role="comment">; then balanced</emphasis>
   afin <emphasis role="opc">gain</emphasis>  a2, krms              <emphasis role="comment">; with source</emphasis>
-       <emphasis role="opc">out</emphasis>   afin
+       <emphasis role="opc">outs</emphasis>  afin, afin
 <emphasis role="oblock">endin</emphasis>
 
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
+<emphasis role="comment">;sine wave.</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
 
-<emphasis role="comment">; Play Instrument #1 for two seconds.</emphasis>
 <emphasis role="stamnt">i</emphasis> 1 0 2
 <emphasis role="stamnt">e</emphasis>
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/gaussi.csd.xml b/examples-xml/gaussi.csd.xml
new file mode 100644
index 0000000..5ad509b
--- /dev/null
+++ b/examples-xml/gaussi.csd.xml
@@ -0,0 +1,34 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o exprand.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+klambda	<emphasis role="opc">gaussi</emphasis>	100, 1, 3
+	<emphasis role="opc">printk2</emphasis> klambda		<emphasis role="comment">; look</emphasis>
+aout	<emphasis role="opc">oscili</emphasis>	0.8, 440<emphasis role="op">+</emphasis>klambda, 1	<emphasis role="comment">; & listen</emphasis>
+	<emphasis role="opc">outs</emphasis>	aout, aout
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">; sine wave</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
+
+<emphasis role="stamnt">i</emphasis> 1 0 4
+<emphasis role="stamnt">e</emphasis>
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gausstrig-2.csd.xml b/examples-xml/gausstrig-2.csd.xml
new file mode 100644
index 0000000..4ae8e69
--- /dev/null
+++ b/examples-xml/gausstrig-2.csd.xml
@@ -0,0 +1,38 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o oscil.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kfrq0 <emphasis role="opc">oscil</emphasis> 8, 0.25, 1
+ktrig <emphasis role="opc">metro</emphasis> 1
+kfrq  <emphasis role="opc">samphold</emphasis> kfrq0<emphasis role="op">+</emphasis>8, ktrig 
+<emphasis role="ohdr">seed</emphasis>  20120125
+aimp  <emphasis role="opc">gausstrig</emphasis> 0.5, kfrq, 0.5, 1
+aenv  <emphasis role="opc">filter2</emphasis> aimp, 1, 1, 0.993, 0.993
+anoi  <emphasis role="opc">fractalnoise</emphasis> 0.2, 1.7
+al    <emphasis role="op">=</emphasis> anoi<emphasis role="op">*</emphasis>aenv
+ar    <emphasis role="opc">delay</emphasis> al, 0.02
+<emphasis role="opc">outs</emphasis>  al, ar
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 8192 10 1
+<emphasis role="stamnt">i</emphasis>1 0 16
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gausstrig.csd.xml b/examples-xml/gausstrig.csd.xml
new file mode 100644
index 0000000..f70e117
--- /dev/null
+++ b/examples-xml/gausstrig.csd.xml
@@ -0,0 +1,35 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o oscil.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kdev <emphasis role="opc">line</emphasis> 0, p3, 0.9
+<emphasis role="ohdr">seed</emphasis> 20120125
+aimp <emphasis role="opc">gausstrig</emphasis> 0.5, 10, kdev
+aenv <emphasis role="opc">filter2</emphasis> aimp, 1, 1, 0.993, 0.993
+anoi <emphasis role="opc">fractalnoise</emphasis> 0.2, 1.7
+al   <emphasis role="op">=</emphasis> anoi<emphasis role="op">*</emphasis>aenv
+ar   <emphasis role="opc">delay</emphasis> al, 0.02
+<emphasis role="opc">outs</emphasis> al, ar
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 10
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gbuzz.csd.xml b/examples-xml/gbuzz.csd.xml
index 963cd38..b2771a6 100644
--- a/examples-xml/gbuzz.csd.xml
+++ b/examples-xml/gbuzz.csd.xml
@@ -2,44 +2,39 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o gbuzz.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>   <emphasis role="op">=</emphasis>1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 20000
-  kcps <emphasis role="op">=</emphasis> 440
-  knh <emphasis role="op">=</emphasis> 3
-  klh <emphasis role="op">=</emphasis> 2
-  kmul <emphasis role="op">=</emphasis> 0.7
-  ifn <emphasis role="op">=</emphasis> 1
-
-  a1 <emphasis role="opc">gbuzz</emphasis> kamp, kcps, knh, klh, kmul, ifn
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
 
+kcps <emphasis role="op">=</emphasis> 220
+knh  <emphasis role="op">=</emphasis> p4		<emphasis role="comment">;total no. of harmonics</emphasis>
+klh  <emphasis role="op">=</emphasis> p5		<emphasis role="comment">;lowest harmonic</emphasis>
+kmul <emphasis role="opc">line</emphasis> 0, p3, 1	<emphasis role="comment">;increase amplitude of</emphasis>
+			<emphasis role="comment">;higer partials</emphasis>
+asig <emphasis role="opc">gbuzz</emphasis> .6, kcps, knh, klh, kmul, 1
+     <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1, a simple cosine waveform.</emphasis>
+<emphasis role="comment">; a cosine wave</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 16384 11 1
 
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="stamnt">i</emphasis> 1 0 3 3  1 <emphasis role="comment">;3 harmonics, lowest harmonic=1</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 3 30 1 <emphasis role="comment">;30 harmonics, lowest harmonic=1</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 3 3  2 <emphasis role="comment">;3 harmonics, lowest harmonic=3</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 3 30 2 <emphasis role="comment">;30 harmonics, lowest harmonic=3</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen01.csd.xml b/examples-xml/gen01.csd.xml
index 392d928..0a6b8d0 100644
--- a/examples-xml/gen01.csd.xml
+++ b/examples-xml/gen01.csd.xml
@@ -1,44 +1,51 @@
 <programlisting>
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
-<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
-<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o gen01.wav -W ;;; for file output any platform</emphasis>
+ 
+<emphasis role="comment">; Select audio/midi flags here according to platform </emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out </emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too </emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below: </emphasis>
+<emphasis role="comment">; -o gen01.wav -W ;;; for file output any platform </emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
+ 
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
-
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-   kamp <emphasis role="op">=</emphasis> 30000
-   kcps <emphasis role="op">=</emphasis> 1
-   ifn <emphasis role="op">=</emphasis> 1
-   ibas <emphasis role="op">=</emphasis> 1
-
-   <emphasis role="comment">; Play the audio sample stored in Table #1.</emphasis>
-   a1 <emphasis role="opc">loscil</emphasis> kamp, kcps, ifn, ibas
-   <emphasis role="opc">out</emphasis> a1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;plays deferred and non-deferred sounds with loscil</emphasis>
+
+ifn <emphasis role="op">=</emphasis> p4
+ibas <emphasis role="op">=</emphasis> 1
+
+asig <emphasis role="opc">loscil</emphasis> 1, 1, ifn, ibas
+     <emphasis role="opc">outs</emphasis> asig, asig
+    
 <emphasis role="oblock">endin</emphasis>
 
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">;plays only non-deffered sound            </emphasis>
 
+isnd  <emphasis role="op">=</emphasis> p4
+aread <emphasis role="opc">line</emphasis>   <emphasis role="ohdr">sr</emphasis><emphasis role="op">*</emphasis>p3, p3, 0				<emphasis role="comment">;play this backward</emphasis>
+asig  <emphasis role="opc">tablei</emphasis> aread, isnd				<emphasis role="comment">;use table 1</emphasis>
+      <emphasis role="opc">outs</emphasis>   asig, asig
+        
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 131072 1 "beats.wav" 0 0 0			<emphasis role="comment">;non-deferred sound</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0    0   1 "<emphasis role="stamnt">f</emphasis>lute.ai<emphasis role="stamnt">f</emphasis><emphasis role="stamnt">f</emphasis>" 0 0 0			<emphasis role="comment">;& deferred sounds in </emphasis>
+<emphasis role="stamnt">f</emphasis> 3 0    0   1 "beats.ogg" 0 0 0			<emphasis role="comment">;different formats					</emphasis>
 
-<emphasis role="comment">; Table #1: read an audio file (using GEN01).</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 131072 1 "beats.wav" 0 4 0
+<emphasis role="stamnt">i</emphasis> 1 0 1 1
+<emphasis role="stamnt">i</emphasis> 1 + 1 2
+<emphasis role="stamnt">i</emphasis> 1 + 1 3
 
-<emphasis role="comment">; Play Instrument #1 for 2 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 2 4 2 1	<emphasis role="comment">;non-deffered sound for instr. 2</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen02.csd.xml b/examples-xml/gen02.csd.xml
index 5b72cda..1dc3650 100644
--- a/examples-xml/gen02.csd.xml
+++ b/examples-xml/gen02.csd.xml
@@ -2,50 +2,40 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o gen02.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Create an index over the length of our entire note.</emphasis>
-  kcps <emphasis role="opc">init</emphasis> 1<emphasis role="op">/</emphasis>p3
-  kndx <emphasis role="opc">phasor</emphasis> kcps
 
-  <emphasis role="comment">; Read Table #1 with our index.</emphasis>
-  ifn <emphasis role="op">=</emphasis> 1
-  ixmode <emphasis role="op">=</emphasis> 1
-  kamp <emphasis role="opc">tablei</emphasis> kndx, ifn, ixmode
+ifn  <emphasis role="op">=</emphasis> p4				<emphasis role="comment">;choose different tables of GEN02</emphasis>
+kcps <emphasis role="opc">init</emphasis> 1<emphasis role="op">/</emphasis>p3				<emphasis role="comment">;index over the length of entire note</emphasis>
+kndx <emphasis role="opc">phasor</emphasis> kcps
+ixmode <emphasis role="op">=</emphasis> 1				<emphasis role="comment">;normalize index data</emphasis>
+kamp <emphasis role="opc">tablei</emphasis> kndx, ifn, ixmode
+asig <emphasis role="opc">poscil</emphasis> kamp, 440, 1		<emphasis role="comment">;use GEN02 as envelope for amplitude</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
 
-  <emphasis role="comment">; Create a sine wave, use the Table #1 values to control</emphasis>
-  <emphasis role="comment">; the amplitude. This creates a sound with a long attack.</emphasis>
-  a1 <emphasis role="opc">oscil</emphasis> kamp<emphasis role="op">*</emphasis>30000, 440, 2
-  <emphasis role="opc">out</emphasis> a1
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1: an envelope with a long attack (using GEN02).</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16 2 0 1 2 3 4 5 6 7 8 9 10 11 0
-<emphasis role="comment">; Table #2, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 2 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for 2 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">f</emphasis> 1 0 8192 10 1	<emphasis role="comment">;sine wave</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 5 2 0 2 0
+<emphasis role="stamnt">f</emphasis> 3 0 5 2 0 2 10 0
+<emphasis role="stamnt">f</emphasis> 4 0 9 2 0 2 10 100 0
+
+<emphasis role="stamnt">i</emphasis> 1 0 2 2
+<emphasis role="stamnt">i</emphasis> 1 3 2 3
+<emphasis role="stamnt">i</emphasis> 1 6 2 4
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen03.csd.xml b/examples-xml/gen03.csd.xml
index de270af..2d4ac38 100644
--- a/examples-xml/gen03.csd.xml
+++ b/examples-xml/gen03.csd.xml
@@ -2,50 +2,65 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o gen03.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
-
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Create an index over the length of our entire note.</emphasis>
-  kcps <emphasis role="opc">init</emphasis> 1<emphasis role="op">/</emphasis>p3
-  kndx <emphasis role="opc">phasor</emphasis> kcps
-
-  <emphasis role="comment">; Read Table #1 with our index.</emphasis>
-  ifn <emphasis role="op">=</emphasis> 1
-  ixmode <emphasis role="op">=</emphasis> 1
-  kamp <emphasis role="opc">table</emphasis> kndx, ifn, ixmode
-
-  <emphasis role="comment">; Create a sine wave, use the Table #1 values to control</emphasis>
-  <emphasis role="comment">; the amplitude.</emphasis>
-  a1 <emphasis role="opc">oscil</emphasis> kamp<emphasis role="op">*</emphasis>30000, 440, 2
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+<emphasis role="comment">;example by Russell Pinkston - Univ. of Texas  (but slightly modified)</emphasis>
+
+gisine   <emphasis role="ohdr">ftgen</emphasis> 1, 0, 16384, 10, 1						<emphasis role="comment">;sine wave</emphasis>
 
+<emphasis role="oblock">instr</emphasis>   1
 
+ihertz <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p4)
+ipkamp <emphasis role="op">=</emphasis> p5
+iwsfn  <emphasis role="op">=</emphasis> p6									<emphasis role="comment">;waveshaping function</emphasis>
+inmfn  <emphasis role="op">=</emphasis> p7									<emphasis role="comment">;normalization function</emphasis>
+aenv    <emphasis role="opc">linen</emphasis>  1, .01, p3, .1        						<emphasis role="comment">;overall amp envelope</emphasis>
+actrl   <emphasis role="opc">linen</emphasis>  1, 2, p3, 2							<emphasis role="comment">;waveshaping index control</emphasis>
+aindex  <emphasis role="opc">poscil</emphasis> actrl<emphasis role="op">/</emphasis>2, ihertz, gisine						<emphasis role="comment">;sine wave to be distorted</emphasis>
+asignal <emphasis role="opc">tablei</emphasis> .5<emphasis role="op">+</emphasis>aindex, iwsfn, 1						<emphasis role="comment">;waveshaping</emphasis>
+anormal <emphasis role="opc">tablei</emphasis> actrl, inmfn,1							<emphasis role="comment">;amplitude normalization</emphasis>
+asig    <emphasis role="op">=</emphasis>      asignal<emphasis role="op">*</emphasis>anormal<emphasis role="op">*</emphasis>ipkamp<emphasis role="op">*</emphasis>aenv	
+asig    <emphasis role="opc">dcblock2</emphasis>  asig								<emphasis role="comment">;get rid of possible DC						</emphasis>
+        <emphasis role="opc">outs</emphasis>   asig, asig
+           
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">; first four notes are specific Chebyshev polynomials using gen03. The values were obtained from Dodge page 147</emphasis>
 
-<emphasis role="comment">; Table #1: a polynomial function (using GEN03).</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 1025 3 -1 1 5 4 3 2 2 1
-<emphasis role="comment">; Table #2, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 2 0 16384 10 1
+<emphasis role="stamnt">f</emphasis>4 0 513 3 -1 1 0 1			<emphasis role="comment">; First-order Chebyshev: x</emphasis>
+<emphasis role="stamnt">f</emphasis>5 0 257 4 4 1				<emphasis role="comment">; Normalizing function for fn4</emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for 2 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
-<emphasis role="stamnt">e</emphasis>
+<emphasis role="stamnt">f</emphasis>6 0 513 3 -1 1 -1 0 2			<emphasis role="comment">; Second-order Chebyshev: 2x2 - 1</emphasis>
+<emphasis role="stamnt">f</emphasis>7 0 257 4 6 1				<emphasis role="comment">; Normalizing function for fn6</emphasis>
 
+<emphasis role="stamnt">f</emphasis>8 0 513 3 -1 1 0 -3 0 4		<emphasis role="comment">; Third-order Chebyshev: 4x3 - 3x</emphasis>
+<emphasis role="stamnt">f</emphasis>9 0 257 4 8 1				<emphasis role="comment">; Normalizing function for fn8</emphasis>
 
+<emphasis role="stamnt">f</emphasis>10 0 513 3 -1 10 0 -7 0 56 0 -112 0 64	<emphasis role="comment">; Seventh-order Chebyshev: 64x7 - 112x5 + 56x3 - 7x</emphasis>
+<emphasis role="stamnt">f</emphasis>11 0 257 4 10 1			<emphasis role="comment">; Normalizing function for fn10</emphasis>
+
+<emphasis role="stamnt">f</emphasis>12 0 513 3 -1 1 5 4 3 2 2 1		<emphasis role="comment">; a 4th order polynomial function over the x-interval -1 to 1</emphasis>
+<emphasis role="stamnt">f</emphasis>13 0 257 4 12 1			<emphasis role="comment">; Normalizing function for fn12</emphasis>
+
+<emphasis role="comment">; five notes with same fundamental, different waveshape & normalizing functions</emphasis>
+<emphasis role="comment">;        pch	 amp	wsfn	nmfn</emphasis>
+<emphasis role="stamnt">i</emphasis>1 0  3 8.00     .7      4	 5
+<emphasis role="stamnt">i</emphasis>1 +  .  .	 .	 6	 7    
+<emphasis role="stamnt">i</emphasis>1 +  .  .	 .	 8	 9     
+<emphasis role="stamnt">i</emphasis>1 +  .  .       .	 10	 11   
+<emphasis role="stamnt">i</emphasis>1 +  .  .       .	 12	 13 
+
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen04.csd.xml b/examples-xml/gen04.csd.xml
new file mode 100644
index 0000000..8112fa3
--- /dev/null
+++ b/examples-xml/gen04.csd.xml
@@ -0,0 +1,54 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o gen04.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+
+gisine   <emphasis role="ohdr">ftgen</emphasis> 0, 0, 16384, 10, 1						<emphasis role="comment">;sine wave</emphasis>
+
+<emphasis role="oblock">instr</emphasis>   1
+
+ihertz <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p4)
+ipkamp <emphasis role="op">=</emphasis> p5
+iwsfn  <emphasis role="op">=</emphasis> p6									<emphasis role="comment">;waveshaping function	</emphasis>
+inmfn  <emphasis role="op">=</emphasis> p7									<emphasis role="comment">;normalization function 								</emphasis>
+agate   <emphasis role="opc">linen</emphasis>   1, .01, p3, .1            					<emphasis role="comment">;overall amp envelope</emphasis>
+kctrl   <emphasis role="opc">linen</emphasis>  	.9, 2, p3, 2							<emphasis role="comment">;waveshaping index control</emphasis>
+aindex  <emphasis role="opc">poscil</emphasis>  kctrl<emphasis role="op">/</emphasis>2, ihertz, gisine						<emphasis role="comment">;sine wave to be distorted</emphasis>
+asignal <emphasis role="opc">tablei</emphasis>  .5<emphasis role="op">+</emphasis>aindex, iwsfn, 1						<emphasis role="comment">;waveshaping</emphasis>
+knormal <emphasis role="opc">tablei</emphasis>  1<emphasis role="op">/</emphasis>kctrl, inmfn , 1						<emphasis role="comment">;amplitude normalization</emphasis>
+        <emphasis role="opc">outs</emphasis>    asignal<emphasis role="op">*</emphasis>knormal<emphasis role="op">*</emphasis>ipkamp<emphasis role="op">*</emphasis>agate, asignal<emphasis role="op">*</emphasis>knormal<emphasis role="op">*</emphasis>ipkamp<emphasis role="op">*</emphasis>agate
+           
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 64 21 6	<emphasis role="comment">;Gaussian (random) distribution</emphasis>
+<emphasis role="stamnt">f</emphasis>2 0 33 4 1 1	<emphasis role="comment">;normalizing function with midpoint bipolar offset</emphasis>
+
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="comment">;	st	dur	pch	amp   wsfn inmfn</emphasis>
+<emphasis role="stamnt">i</emphasis>1      0       4      6.00    .7      1     2
+<emphasis role="stamnt">i</emphasis>1      4       .      7.00    .
+<emphasis role="stamnt">i</emphasis>1      8       .      8.00    .
+<emphasis role="comment">;-------------------------------------------------------------------------------------</emphasis>
+<emphasis role="stamnt">f</emphasis>3 0 1025 13 1 1 0 5 0 5 0 10	<emphasis role="comment">;Chebyshev algorithm</emphasis>
+<emphasis role="stamnt">f</emphasis>4 0 513 4 3 1			<emphasis role="comment">;normalizing function with midpoint bipolar offset</emphasis>
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="comment">;	st	dur	pch	amp   wsfn inmfn</emphasis>
+<emphasis role="stamnt">i</emphasis>1      0       4      6.00    .9      3     4
+<emphasis role="stamnt">i</emphasis>1      4       .      7.00    .
+<emphasis role="stamnt">i</emphasis>1      8       .      8.00    .
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen05.csd.xml b/examples-xml/gen05.csd.xml
index fcc94ef..ac3d928 100644
--- a/examples-xml/gen05.csd.xml
+++ b/examples-xml/gen05.csd.xml
@@ -2,50 +2,40 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o gen05.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Create an index over the length of our entire note.</emphasis>
-  kcps <emphasis role="opc">init</emphasis> 1<emphasis role="op">/</emphasis>p3
-  kndx <emphasis role="opc">phasor</emphasis> kcps
 
-  <emphasis role="comment">; Read Table #1 with our index.</emphasis>
-  ifn <emphasis role="op">=</emphasis> 1
-  ixmode <emphasis role="op">=</emphasis> 1
-  kamp <emphasis role="opc">table</emphasis> kndx, ifn, ixmode
+ifn <emphasis role="op">=</emphasis> p4					<emphasis role="comment">;choose different tables for GEN05</emphasis>
+kcps <emphasis role="opc">init</emphasis> 1<emphasis role="op">/</emphasis>p3					<emphasis role="comment">;index over the length of  entire note</emphasis>
+kndx <emphasis role="opc">phasor</emphasis> kcps
+ixmode <emphasis role="op">=</emphasis> 1					<emphasis role="comment">;normalize index data</emphasis>
+kamp <emphasis role="opc">tablei</emphasis> kndx, ifn, ixmode
+asig <emphasis role="opc">poscil</emphasis> kamp, 440, 1
+     <emphasis role="opc">outs</emphasis> asig, asig
 
-  <emphasis role="comment">; Create a sine wave, use the Table #1 values to control</emphasis>
-  <emphasis role="comment">; the amplitude. This creates a nice percussive sound.</emphasis>
-  a1 <emphasis role="opc">oscil</emphasis> kamp<emphasis role="op">*</emphasis>30000, 440, 2
-  <emphasis role="opc">out</emphasis> a1
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 8192 10 1	<emphasis role="comment">;sine wave</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 129 5    1   100 0.0001 29 		<emphasis role="comment">;short attack</emphasis>
+<emphasis role="stamnt">f</emphasis> 3 0 129 5 0.00001 87    1   22 .5 20 0.0001 	<emphasis role="comment">;long attack</emphasis>
 
-<emphasis role="comment">; Table #1: a percussive envelope (using GEN05).</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 64 5 1 2 120 60 1 1 0.001 1
-<emphasis role="comment">; Table #2, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 2 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for 2 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
-<emphasis role="stamnt">e</emphasis>
 
+<emphasis role="stamnt">i</emphasis> 1 0 2 2
+<emphasis role="stamnt">i</emphasis> 1 3 2 3
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen06.csd.xml b/examples-xml/gen06.csd.xml
index 88e0870..4a41248 100644
--- a/examples-xml/gen06.csd.xml
+++ b/examples-xml/gen06.csd.xml
@@ -2,52 +2,40 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o gen06.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Create an index over the length of our entire note.</emphasis>
-  kcps <emphasis role="opc">init</emphasis> 1<emphasis role="op">/</emphasis>p3
-  kndx <emphasis role="opc">phasor</emphasis> kcps
 
-  <emphasis role="comment">; Read Table #1 with our index.</emphasis>
-  ifn <emphasis role="op">=</emphasis> 1
-  ixmode <emphasis role="op">=</emphasis> 1
-  kval <emphasis role="opc">table</emphasis> kndx, ifn, ixmode
+ifn  <emphasis role="op">=</emphasis> p4				<emphasis role="comment">;choose between tables</emphasis>
+kcps <emphasis role="opc">init</emphasis> 1<emphasis role="op">/</emphasis>p3				<emphasis role="comment">;create index over duration of note.</emphasis>
+kndx <emphasis role="opc">phasor</emphasis> kcps
+ixmode <emphasis role="op">=</emphasis> 1
+kval <emphasis role="opc">table</emphasis> kndx, ifn, ixmode		<emphasis role="comment">;normalize mode</emphasis>
 
-  <emphasis role="comment">; Generate a sine waveform, use our Table #1 value to </emphasis>
-  <emphasis role="comment">; vary its frequency by 100 Hz from its base frequency.</emphasis>
-  ibasefreq <emphasis role="op">=</emphasis> 440
-  kfreq <emphasis role="op">=</emphasis> kval <emphasis role="op">*</emphasis> 100
-  a1 <emphasis role="opc">oscil</emphasis> 20000, ibasefreq <emphasis role="op">+</emphasis> kfreq, 2
-  <emphasis role="opc">out</emphasis> a1
+kfreq <emphasis role="op">=</emphasis> kval <emphasis role="op">*</emphasis> 30			<emphasis role="comment">;scale frequency to emphasixe effect</emphasis>
+asig  <emphasis role="opc">poscil</emphasis> .7, 220 <emphasis role="op">+</emphasis> kfreq, 1		<emphasis role="comment">;add to frequency</emphasis>
+      <emphasis role="opc">outs</emphasis> asig, asig
+  
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1 <emphasis role="comment">;sine wave.</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 513 6 1 128 -1 128 1 64 -.5 64 .5 16 -.5 8 1 16 -.5 8 1 16 -.5 84 1 16 -.5 8 .1 16 -.1 17 0
+<emphasis role="stamnt">f</emphasis> 3 0 513 6 0 128 0.5 128 1 128 0 129 -1
 
-<emphasis role="comment">; Table #1: a curve (using GEN06).</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 65 6 0 16 0.5 16 1 16 0 16 -1
-<emphasis role="comment">; Table #2, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 2 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for 2 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 1 0 3 2
+<emphasis role="stamnt">i</emphasis> 1 4 3 3
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen07.csd.xml b/examples-xml/gen07.csd.xml
index 06673d3..19336b1 100644
--- a/examples-xml/gen07.csd.xml
+++ b/examples-xml/gen07.csd.xml
@@ -2,42 +2,41 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o gen07.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
-
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 30000
-  kcps <emphasis role="op">=</emphasis> 440
-  ifn <emphasis role="op">=</emphasis> 1
-
-  <emphasis role="comment">; Play the sine wave stored in Table #1.</emphasis>
-  a1 <emphasis role="opc">oscil</emphasis> kamp, kcps, ifn
-  <emphasis role="opc">out</emphasis> a1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;use GEN07 to alter frequency</emphasis>
+
+ifn  <emphasis role="op">=</emphasis> p4						<emphasis role="comment">;use different GEN07 tables</emphasis>
+kcps <emphasis role="opc">init</emphasis> 10<emphasis role="op">/</emphasis>p3						<emphasis role="comment">;index ftable 10 times over the duration of entire note</emphasis>
+kndx <emphasis role="opc">phasor</emphasis> kcps
+ixmode <emphasis role="op">=</emphasis> 1						<emphasis role="comment">;normalize index data</emphasis>
+kfrq <emphasis role="opc">tablei</emphasis> kndx, ifn, ixmode
+kfrq <emphasis role="op">=</emphasis> kfrq<emphasis role="op">*</emphasis>1000					<emphasis role="comment">;scale</emphasis>
+asig <emphasis role="opc">poscil</emphasis> .8, 1220<emphasis role="op">+</emphasis>kfrq, 1				<emphasis role="comment">;add to frequency</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
+  
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1: a sawtooth wave (using GEN07).</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 256 7 0 128 1 0 -1 128 0
-
-<emphasis role="comment">; Play Instrument #1 for 2 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">f</emphasis> 1 0 8192 10 1				<emphasis role="comment">;sine wave</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 1024 7 0 512 1 0 -1 512 0		<emphasis role="comment">;sawtooth up and down</emphasis>
+<emphasis role="stamnt">f</emphasis> 3 0 1024 7 1 512 1 0 -1 512 -1	<emphasis role="comment">;square</emphasis>
+<emphasis role="stamnt">f</emphasis> 4 0 1024 7 1 1024 -1 			<emphasis role="comment">;saw down</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 2 2
+<emphasis role="stamnt">i</emphasis> 1 + 2 3
+<emphasis role="stamnt">i</emphasis> 1 + 1 4
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen08.csd.xml b/examples-xml/gen08.csd.xml
index 2a9b8d7..4f46816 100644
--- a/examples-xml/gen08.csd.xml
+++ b/examples-xml/gen08.csd.xml
@@ -2,52 +2,41 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o gen08.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Create an index over the length of our entire note.</emphasis>
-  kcps <emphasis role="opc">init</emphasis> 1<emphasis role="op">/</emphasis>p3
-  kndx <emphasis role="opc">phasor</emphasis> kcps
 
-  <emphasis role="comment">; Read Table #1 with our index.</emphasis>
-  ifn <emphasis role="op">=</emphasis> 1
-  ixmode <emphasis role="op">=</emphasis> 1
-  kval <emphasis role="opc">table</emphasis> kndx, ifn, ixmode
-
-  <emphasis role="comment">; Generate a sine waveform, use our Table #1 value to </emphasis>
-  <emphasis role="comment">; vary its frequency by 100 Hz from its base frequency.</emphasis>
-  ibasefreq <emphasis role="op">=</emphasis> 440
-  kfreq <emphasis role="op">=</emphasis> kval <emphasis role="op">*</emphasis> 100
-  a1 <emphasis role="opc">oscil</emphasis> 20000, ibasefreq <emphasis role="op">+</emphasis> kfreq, 2
-  <emphasis role="opc">out</emphasis> a1
+ifn  <emphasis role="op">=</emphasis> p4				<emphasis role="comment">;choose between tables</emphasis>
+kcps <emphasis role="opc">init</emphasis> 1<emphasis role="op">/</emphasis>p3				<emphasis role="comment">;create index over duration of note.</emphasis>
+kndx <emphasis role="opc">phasor</emphasis> kcps
+ixmode <emphasis role="op">=</emphasis> 1
+kval <emphasis role="opc">table</emphasis> kndx, 2, ixmode		<emphasis role="comment">;normalize index data</emphasis>
+
+ibasefreq <emphasis role="op">=</emphasis> 440
+kfreq <emphasis role="op">=</emphasis> kval <emphasis role="op">*</emphasis> 100			<emphasis role="comment">;scale</emphasis>
+asig  <emphasis role="opc">poscil</emphasis> .7, ibasefreq <emphasis role="op">+</emphasis> kfreq, 1	<emphasis role="comment">;and add to frequency</emphasis>
+      <emphasis role="opc">outs</emphasis> asig, asig
+  
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1	<emphasis role="comment">;sine wave.</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 65 8 0 16 1 16 1 16 0 17 0
+<emphasis role="stamnt">f</emphasis> 3 0 65 8 -1 32 1 2 0 14 0 17 0
 
-<emphasis role="comment">; Table #1: a curve with a smooth hump (using GEN08).</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 65 8 0 16 0 16 1 16 0 16 0
-<emphasis role="comment">; Table #2, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 2 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for two seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 1 0 2 1
+<emphasis role="stamnt">i</emphasis> 1 3 2 2
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen09.csd.xml b/examples-xml/gen09.csd.xml
index a5f48b9..400788b 100644
--- a/examples-xml/gen09.csd.xml
+++ b/examples-xml/gen09.csd.xml
@@ -2,43 +2,43 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o gen09.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+gi1 <emphasis role="ohdr">ftgen</emphasis> 1,0,2^10,9,  1,3,0,   3,1,0, 9,0.333,180		<emphasis role="comment">;an approximation of a square wave</emphasis>
+gi2 <emphasis role="ohdr">ftgen</emphasis> 2,0,2^10,9,  1,3,180, 3,1,0, 9,0.333,0		<emphasis role="comment">;same values as gi1, except some phase values</emphasis>
+gi3 <emphasis role="ohdr">ftgen</emphasis> 3,0,2^10,9,  1, .4, 0,   2.2, .5, 0,   3.8, 1, 0	<emphasis role="comment">;inharmonic, but does not sound well --> wave does not end at same point as where it begins --> artefacts</emphasis>
+gi4 <emphasis role="ohdr">ftgen</emphasis> 4,0,2^10,9,  10, .4, 0,   22, .5, 0,   38, 1, 0	<emphasis role="comment">;the same proportions, but value of partial number is multiplied 10 times -->the sound is much clearer,</emphasis>
+								<emphasis role="comment">;because the sudden "jump" like the one in gi3 will pop up only once in 10 repetitions</emphasis>
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 30000
-  kcps <emphasis role="op">=</emphasis> 440
-  ifn <emphasis role="op">=</emphasis> 1
 
-  <emphasis role="comment">; Play the waveform stored in Table #1.</emphasis>
-  a1 <emphasis role="opc">oscil</emphasis> kamp, kcps, ifn
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
+kamp <emphasis role="op">=</emphasis> .6
+kcps <emphasis role="op">=</emphasis> 220
+ifn  <emphasis role="op">=</emphasis> p4
 
+asig <emphasis role="opc">poscil</emphasis> kamp, kcps<emphasis role="op">*</emphasis>p5, ifn
+     <emphasis role="opc">outs</emphasis>   asig,asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Table #1: a cosine wave (using GEN09).</emphasis>
-<emphasis role="comment">; This is a sine wave with an initial phase of 90 degrees.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 9 1 1 90
+<emphasis role="stamnt">i</emphasis> 1 0 2 1 1	<emphasis role="comment">;subtle difference between table 1 and 2</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 3 2 2 1
+<emphasis role="stamnt">i</emphasis> 1 7 2 3 1	<emphasis role="comment">;big difference between table 3 and 4</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 10 2 4 .1	<emphasis role="comment">;p5 has to compensate for the 10 repetitions of gi4 as opposed to gi3 to get the same pitch</emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for 2 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen10.csd.xml b/examples-xml/gen10.csd.xml
index afd5861..eadbd61 100644
--- a/examples-xml/gen10.csd.xml
+++ b/examples-xml/gen10.csd.xml
@@ -2,42 +2,41 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o gen10.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 30000
-  kcps <emphasis role="op">=</emphasis> 440
-  ifn <emphasis role="op">=</emphasis> 1
 
-  <emphasis role="comment">; Play the sine wave stored in Table #1.</emphasis>
-  a1 <emphasis role="opc">oscil</emphasis> kamp, kcps, ifn
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
+kamp <emphasis role="op">=</emphasis> .6
+kcps <emphasis role="op">=</emphasis> 440
+ifn  <emphasis role="op">=</emphasis> p4
 
+asig <emphasis role="opc">oscil</emphasis> kamp, kcps, ifn
+     <emphasis role="opc">outs</emphasis> asig,asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 16384 10 1                                          <emphasis role="comment">; Sine</emphasis>
+<emphasis role="stamnt">f</emphasis>2 0 16384 10 1 0.5 0.3 0.25 0.2 0.167 0.14 0.125 .111   <emphasis role="comment">; Sawtooth</emphasis>
+<emphasis role="stamnt">f</emphasis>3 0 16384 10 1 0   0.3 0    0.2 0     0.14 0     .111   <emphasis role="comment">; Square</emphasis>
+<emphasis role="stamnt">f</emphasis>4 0 16384 10 1 1   1   1    0.7 0.5   0.3  0.1          <emphasis role="comment">; Pulse</emphasis>
 
-<emphasis role="comment">; Table #1: a simple sine wave (using GEN10).</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
+<emphasis role="stamnt">i</emphasis> 1 0 2 1
+<emphasis role="stamnt">i</emphasis> 1 3 2 2
+<emphasis role="stamnt">i</emphasis> 1 6 2 3
+<emphasis role="stamnt">i</emphasis> 1 9 2 4
 
-<emphasis role="comment">; Play Instrument #1 for 2 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen11.csd.xml b/examples-xml/gen11.csd.xml
index 85051d7..1ad5b00 100644
--- a/examples-xml/gen11.csd.xml
+++ b/examples-xml/gen11.csd.xml
@@ -2,42 +2,36 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o gen11.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 30000
-  kcps <emphasis role="op">=</emphasis> 440
-  ifn <emphasis role="op">=</emphasis> 1
 
-  <emphasis role="comment">; Play the cosine wave stored in Table #1.</emphasis>
-  a1 <emphasis role="opc">oscil</emphasis> kamp, kcps, ifn
-  <emphasis role="opc">out</emphasis> a1
+ifn  <emphasis role="op">=</emphasis> p4
+asig <emphasis role="opc">oscil</emphasis> .8, 220, ifn
+     <emphasis role="opc">outs</emphasis> asig,asig
+    
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 11 1 1	<emphasis role="comment">;number of harmonics = 1</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 16384 11 10 1 .7	<emphasis role="comment">;number of harmonics = 10</emphasis>
+<emphasis role="stamnt">f</emphasis> 3 0 16384 11 10 5 2	<emphasis role="comment">;number of harmonics = 10, 5th harmonic is amplified 2 times</emphasis>
 
-<emphasis role="comment">; Table #1: a simple cosine wave (using GEN11).</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 11 1 1
 
-<emphasis role="comment">; Play Instrument #1 for 2 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 1 0 2 1
+<emphasis role="stamnt">i</emphasis> 1 + 2 2
+<emphasis role="stamnt">i</emphasis> 1 + 2 3
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen12.csd.xml b/examples-xml/gen12.csd.xml
index 68bcf13..03a5590 100644
--- a/examples-xml/gen12.csd.xml
+++ b/examples-xml/gen12.csd.xml
@@ -2,50 +2,70 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o gen12.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
-
-<emphasis role="comment">; Initialize the global variables.</emphasis>
+<emphasis role="comment">;example from the Csound Book, page 87</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Create an index over the length of our entire note.</emphasis>
-  kcps <emphasis role="opc">init</emphasis> 1<emphasis role="op">/</emphasis>p3
-  kndx <emphasis role="opc">phasor</emphasis> kcps
-
-  <emphasis role="comment">; Read Table #1 with our index.</emphasis>
-  ifn <emphasis role="op">=</emphasis> 1
-  ixmode <emphasis role="op">=</emphasis> 1
-  kamp <emphasis role="opc">tablei</emphasis> kndx, ifn, ixmode
 
-  <emphasis role="comment">; Create a sine wave, use the Table #1 values to control</emphasis>
-  <emphasis role="comment">; the amplitude. This creates a sound with a long attack.</emphasis>
-  a1 <emphasis role="opc">oscil</emphasis> kamp<emphasis role="op">*</emphasis>30000, 440, 2
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
+idur    <emphasis role="op">=</emphasis>       p3
+iamp    <emphasis role="op">=</emphasis>       p4
+icarfrq <emphasis role="op">=</emphasis>       p5
+imodfrq <emphasis role="op">=</emphasis>       p6          
+aenv    <emphasis role="opc">expseg</emphasis>  .01, idur<emphasis role="op">*</emphasis>.1, iamp, idur<emphasis role="op">*</emphasis>.8, iamp<emphasis role="op">*</emphasis>.75, idur<emphasis role="op">*</emphasis>.1, .01
+i1      <emphasis role="op">=</emphasis>       p7<emphasis role="op">*</emphasis>imodfrq			<emphasis role="comment">;p7=modulation index start</emphasis>
+i2      <emphasis role="op">=</emphasis>       p8<emphasis role="op">*</emphasis>imodfrq			<emphasis role="comment">;p8=modulation index end</emphasis>
+adev    <emphasis role="opc">line</emphasis>    i1, idur, i2			<emphasis role="comment">;modulation frequency</emphasis>
+aindex  <emphasis role="opc">line</emphasis>    p7, idur, p8			<emphasis role="comment">;modulation index</emphasis>
 
+ar      <emphasis role="opc">linseg</emphasis>  1, .1, p9, p3<emphasis role="op">-</emphasis>.2, p10, .1, 1	<emphasis role="comment">; r value envelope: p9-p10 =exp. partial strength parameter start and end</emphasis>
+amp1    <emphasis role="op">=</emphasis>       (aindex<emphasis role="op">*</emphasis>(ar<emphasis role="op">+</emphasis>(1<emphasis role="op">/</emphasis>ar)))<emphasis role="op">/</emphasis>2
+afmod   <emphasis role="opc">oscili</emphasis>  amp1, imodfrq, 1		<emphasis role="comment">;FM modulator (sine)</emphasis>
+atab    <emphasis role="op">=</emphasis>       (aindex<emphasis role="op">*</emphasis>(ar<emphasis role="op">-</emphasis>(1<emphasis role="op">/</emphasis>ar)))<emphasis role="op">/</emphasis>2		<emphasis role="comment">;index to table</emphasis>
+alook   <emphasis role="opc">tablei</emphasis>  atab, 37			<emphasis role="comment">;table lookup to GEN12</emphasis>
+aamod   <emphasis role="opc">oscili</emphasis>  atab, adev, 2			<emphasis role="comment">;am modulator (cosine)</emphasis>
+aamod   <emphasis role="op">=</emphasis>       (<emphasis role="opc">exp</emphasis>(alook<emphasis role="op">+</emphasis>aamod))<emphasis role="op">*</emphasis>aenv
+acar    <emphasis role="opc">oscili</emphasis>  aamod, afmod<emphasis role="op">+</emphasis>icarfrq, 1		<emphasis role="comment">;AFM (carrier)</emphasis>
+asig    <emphasis role="opc">balance</emphasis> acar, aenv
+        <emphasis role="opc">outs</emphasis>    asig, asig
+        
+<emphasis role="oblock">endin</emphasis>       
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1     0   8192    10  1               
+<emphasis role="stamnt">f</emphasis> 2     0   8192    9   1 1 90          
+<emphasis role="stamnt">f</emphasis>37 0   1024    -12 40		<emphasis role="comment">;Bessel function-defined from 0 to 40</emphasis>
 
-<emphasis role="comment">; Table #1: a modified Bessel function (using GEN12).</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 2049 12 20
-<emphasis role="comment">; Table #2, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 2 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for 2 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 1  0  2  .2  800  800    1    6   .1   2
+<emphasis role="stamnt">i</emphasis> 1  +  .  .   1900 147    8    1    4   .2
+<emphasis role="stamnt">i</emphasis> 1  .  .  .   1100 380    2    9   .5   2
+<emphasis role="stamnt">i</emphasis> 1  .  10 .   100  100    11   3   .2   5
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis> 1  0  1 .1   200 100     1    6   .1   2
+<emphasis role="stamnt">i</emphasis> 1  +  .  <   <    <      <    <   <    <
+<emphasis role="stamnt">i</emphasis> 1  +  .  .   <    <      <    <   <    <
+<emphasis role="stamnt">i</emphasis> 1  +  .  .   <    <      <    <   <    <
+<emphasis role="stamnt">i</emphasis> 1  +  .  .   <    <      <    <   <    <
+<emphasis role="stamnt">i</emphasis> 1  +  .  .   <    <      <    <   <    <
+<emphasis role="stamnt">i</emphasis> 1  +  .  .   <    <      <    <   <    <
+<emphasis role="stamnt">i</emphasis> 1  +  10 .2  800  800    9    1   .9   6
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis> 1  0  11 .25 50   51     1    6   .1   2
+<emphasis role="stamnt">i</emphasis> 1  1  9  .05 700  401    1    6   .1   2
+<emphasis role="stamnt">i</emphasis> 1  2  8  .   900  147    8    1    4   .2
+<emphasis role="stamnt">i</emphasis> 1  3  7  .   1100 381    2    9   .5   2
+<emphasis role="stamnt">i</emphasis> 1  4  6  .   200  102    11   3   .2   5
+<emphasis role="stamnt">i</emphasis> 1  5  6  .   800  803    9    1   .9   6
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen13.csd.xml b/examples-xml/gen13.csd.xml
index 83ec341..a3f08b6 100644
--- a/examples-xml/gen13.csd.xml
+++ b/examples-xml/gen13.csd.xml
@@ -2,52 +2,114 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o gen13.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
-
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Create an index over the length of our entire note.</emphasis>
-  kcps <emphasis role="opc">init</emphasis> 1<emphasis role="op">/</emphasis>p3
-  kndx <emphasis role="opc">phasor</emphasis> kcps
-
-  <emphasis role="comment">; Read Table #1 with our index.</emphasis>
-  ifn <emphasis role="op">=</emphasis> 1
-  ixmode <emphasis role="op">=</emphasis> 1
-  kval <emphasis role="opc">table</emphasis> kndx, ifn, ixmode
-
-  <emphasis role="comment">; Generate a sine waveform, use our Table #1 value to</emphasis>
-  <emphasis role="comment">; vary its frequency by 100 Hz from its base frequency.</emphasis>
-  ibasefreq <emphasis role="op">=</emphasis> 440
-  kfreq <emphasis role="op">=</emphasis> kval <emphasis role="op">*</emphasis> 100
-  a1 <emphasis role="opc">oscil</emphasis> 20000, ibasefreq <emphasis role="op">+</emphasis> kfreq, 2
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="comment">;example by Russell Pinkston - Univ. of Texas  (but slightly modified)</emphasis>
+
+gisine   <emphasis role="ohdr">ftgen</emphasis> 0, 0, 16384, 10, 1							<emphasis role="comment">;sine wave</emphasis>
 
+<emphasis role="oblock">instr</emphasis>   1
 
+ihertz <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p4)
+ipkamp <emphasis role="op">=</emphasis> p5
+iwsfn  <emphasis role="op">=</emphasis> p6										<emphasis role="comment">;waveshaping function</emphasis>
+inmfn  <emphasis role="op">=</emphasis> p7										<emphasis role="comment">;normalization function</emphasis>
+agate   <emphasis role="opc">linen</emphasis>  1, .01, p3, .1            					 	<emphasis role="comment">;overall amp envelope</emphasis>
+kctrl   <emphasis role="opc">linen</emphasis>  .99, 2, p3, 2								<emphasis role="comment">;waveshaping index control</emphasis>
+aindex  <emphasis role="opc">poscil</emphasis> kctrl<emphasis role="op">/</emphasis>2, ihertz, gisine							<emphasis role="comment">;sine wave to be distorted</emphasis>
+asignal <emphasis role="opc">tablei</emphasis> .5<emphasis role="op">+</emphasis>aindex, iwsfn, 1							<emphasis role="comment">;waveshaping</emphasis>
+knormal <emphasis role="opc">tablei</emphasis> kctrl, inmfn, 1								<emphasis role="comment">;amplitude normalization</emphasis>
+asig    <emphasis role="op">=</emphasis>      asignal<emphasis role="op">*</emphasis>knormal<emphasis role="op">*</emphasis>ipkamp<emphasis role="op">*</emphasis>agate
+        <emphasis role="opc">outs</emphasis>   asig, asig
+           
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">; This proves the statement in Dodge (p. 147) that Chebyshev polynomials</emphasis>
+<emphasis role="comment">; of order K have "only the kth harmonic." This is only true when the </emphasis>
+<emphasis role="comment">; waveshaping index is at the maximum - i.e., when the entire transfer</emphasis>
+<emphasis role="comment">; function is being accessed. RP.</emphasis>
+<emphasis role="comment">;--------------------------------------------------------------------------------------------------------------------------------------------</emphasis>
+<emphasis role="comment">; quasi sawtooth transfer function: </emphasis>
+<emphasis role="comment">;		 h0   h1   h2   h3   h4   h5   h6    h7   h8   h9   h10   h11 	h12   h13    h14    h15    h16    h17    h18    h19    h20</emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 513 13 1 1  0   100  -50  -33   25   20 -16.7 -14.2 12.5 11.1 -10  -9.09  8.333  7.69  -7.14  -6.67  6.25	  5.88	-5.55  -5.26    5		
+<emphasis role="stamnt">f</emphasis>2 0 257 4 1 1	 <emphasis role="comment">; normalizing function with midpoint bipolar offset</emphasis>
 
-<emphasis role="comment">; Table #1: a polynomial function (using GEN13).</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 1025 13 1 1 0 5 0 3 0 1
-<emphasis role="comment">; Table #2, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 2 0 16384 10 1
+<emphasis role="comment">;	st	dur	pch	amp	wsfn	nmfn</emphasis>
+<emphasis role="stamnt">i</emphasis>1      0       4      6.00    .7 	 1	 2
+<emphasis role="stamnt">i</emphasis>1      4       .      7.00    .
+<emphasis role="stamnt">i</emphasis>1      8       .      8.00    .
+<emphasis role="comment">;--------------------------------------------------------------------------------------------------------------------------------------------	</emphasis>
+<emphasis role="comment">; quasi square wave transfer function: </emphasis>
+<emphasis role="comment">;		 h0   h1   h2   h3   h4   h5   h6    h7   h8   h9   h10   h11 	h12   h13    h14    h15    h16    h17    h18    h19</emphasis>
+<emphasis role="stamnt">f</emphasis>3 0 513 13 1 1  0   100   0   -33   0    20   0   -14.2  0   11.1   0  -9.09	 0   7.69     0    -6.67    0    5.88     0    -5.26
+<emphasis role="stamnt">f</emphasis>4 0 257 4 3 1	 <emphasis role="comment">; normalizing function with midpoint bipolar offset</emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for 2 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
-<emphasis role="stamnt">e</emphasis>
+<emphasis role="comment">;	st	dur	pch	amp	wsfn	nmfn</emphasis>
+<emphasis role="stamnt">i</emphasis>1      16       4     6.00     .7	 3	 4
+<emphasis role="stamnt">i</emphasis>1      20       .     7.00     .
+<emphasis role="stamnt">i</emphasis>1      24       .     8.00     .
+<emphasis role="comment">;--------------------------------------------------------------------------------------------------------------------------------------------	</emphasis>
+<emphasis role="comment">; quasi triangle wave transfer function: </emphasis>
+<emphasis role="comment">;		 h0   h1   h2   h3   h4   h5   h6    h7   h8   h9   h10   h11 	h12   h13    h14    h15    h16    h17    h18    h19</emphasis>
+<emphasis role="stamnt">f</emphasis>5 0 513 13 1 1  0   100   0  -11.11 0    4    0   -2.04  0   1.23  0   -.826	0    .59      0    -.444    0    .346     0   -.277	
+<emphasis role="stamnt">f</emphasis>6 0 257 4 5 1	 <emphasis role="comment">; normalizing function with midpoint bipolar offset</emphasis>
+<emphasis role="comment">;	st	dur	pch	amp	wsfn	nmfn</emphasis>
+<emphasis role="stamnt">i</emphasis>1      32       4     6.00     .7	 5	 6
+<emphasis role="stamnt">i</emphasis>1      36       .     7.00     .
+<emphasis role="stamnt">i</emphasis>1      40       .     8.00     .
+<emphasis role="comment">;--------------------------------------------------------------------------------------------------------------------------------------------</emphasis>
+<emphasis role="comment">; transfer function1:  h0 h1 h2 h3 h4 h5 h6 h7 h8 h9 h10 h11 h12 h13 h14 h15 h16</emphasis>
+<emphasis role="stamnt">f</emphasis>7 0 513 13 1 1        0  1 -.8 0 .6  0  0  0 .4  0  0   0   0   .1 -.2 -.3  .5
+<emphasis role="stamnt">f</emphasis>8 0 257 4 7 1	       <emphasis role="comment">; normalizing function with midpoint bipolar offset</emphasis>
+<emphasis role="comment">;	st	dur	pch	amp	wsfn	nmfn</emphasis>
+<emphasis role="stamnt">i</emphasis>1      48       4     5.00     .7	 7	 8
+<emphasis role="stamnt">i</emphasis>1      52       .     6.00     .
+<emphasis role="stamnt">i</emphasis>1      56       .     7.00     .
+<emphasis role="comment">;--------------------------------------------------------------------------------------------------------------------------------------------</emphasis>
+<emphasis role="comment">;=========================================================================;</emphasis>
+<emphasis role="comment">; This demonstrates the use of high partials, sometimes without a         ;</emphasis>
+<emphasis role="comment">; fundamental, to get quasi-inharmonic spectra from waveshaping.          ;</emphasis>
+<emphasis role="comment">;=========================================================================;</emphasis>
+<emphasis role="comment">; transfer function2:  h0 h1 h2 h3 h4 h5 h6 h7 h8 h9 h10 h11 h12 h13 h14 h15 h16</emphasis>
+<emphasis role="stamnt">f</emphasis>9 0 513 13 1 1        0  0  0 -.1  0 .3  0 -.5 0 .7  0 -.9  0   1   0  -1   0
+<emphasis role="stamnt">f</emphasis>10 0 257 4 9 1	       <emphasis role="comment">; normalizing function with midpoint bipolar offset</emphasis>
+<emphasis role="comment">;	st	dur	pch	amp	wsfn	nmfn</emphasis>
+<emphasis role="stamnt">i</emphasis>1      64       4       5.00   .7	 9	10
+<emphasis role="stamnt">i</emphasis>1      68       .       6.00    .
+<emphasis role="stamnt">i</emphasis>1      72       .       7.00    .
+<emphasis role="comment">;--------------------------------------------------------------------------------------------------------------------------------------------</emphasis>
+<emphasis role="comment">; transfer function3: h0   h1   h2   h3   h4   h5   h6    h7   h8   h9   h10   h11 	h12   h13    h14    h15    h16    h17    h18    h19    h17   h18   h19   h20</emphasis>
+<emphasis role="stamnt">f</emphasis>11 0 513 13 1 1      0    0    0    0    0    0    0     -1   0    1     0     0       -.1    0     .1      0     -.2    .3      0     -.7     0    .2     0    -.1                        
+<emphasis role="stamnt">f</emphasis>12 0 257 4 11 1      <emphasis role="comment">; normalizing function with midpoint bipolar offset</emphasis>
 
+<emphasis role="comment">;	st	dur	pch	amp	wsfn	nmfn</emphasis>
+<emphasis role="stamnt">i</emphasis>1      80       4     5.00     .7	 11	12
+<emphasis role="stamnt">i</emphasis>1      84       .     5.06     .
+<emphasis role="stamnt">i</emphasis>1      88       .     6.00     .
+<emphasis role="comment">;--------------------------------------------------------------------------------------------------------------------------------------------</emphasis>
+<emphasis role="comment">;=========================================================================;</emphasis>
+<emphasis role="comment">; split a sinusoid into 3 odd-harmonic partials of relative strength 5:3:1</emphasis>
+<emphasis role="comment">;=========================================================================;</emphasis>
+<emphasis role="comment">;--------------------------------------------------------------------------------------------------------------------------------------------</emphasis>
+<emphasis role="comment">; transfer function4: h0   h1   h2   h3   h4   h5</emphasis>
+<emphasis role="stamnt">f</emphasis>13 0 513 13 1 1      0    5    0    3    0    1	
+<emphasis role="stamnt">f</emphasis>14 0 257 4 13 1      <emphasis role="comment">; normalizing function with midpoint bipolar offset</emphasis>
 
+<emphasis role="comment">;	st	dur	pch	amp	wsfn	nmfn</emphasis>
+<emphasis role="stamnt">i</emphasis>1      96      4     5.00     .7	 13	14
+<emphasis role="stamnt">i</emphasis>1      100     .     5.06     .
+<emphasis role="stamnt">i</emphasis>1      104     .     6.00     .
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen14.csd.xml b/examples-xml/gen14.csd.xml
index bf8e757..2e2cbaa 100644
--- a/examples-xml/gen14.csd.xml
+++ b/examples-xml/gen14.csd.xml
@@ -2,52 +2,55 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o gen14.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
-
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Create an index over the length of our entire note.</emphasis>
-  kcps <emphasis role="opc">init</emphasis> 1<emphasis role="op">/</emphasis>p3
-  kndx <emphasis role="opc">phasor</emphasis> kcps
-
-  <emphasis role="comment">; Read Table #1 with our index.</emphasis>
-  ifn <emphasis role="op">=</emphasis> 1
-  ixmode <emphasis role="op">=</emphasis> 1
-  kval <emphasis role="opc">table</emphasis> kndx, ifn, ixmode
-
-  <emphasis role="comment">; Generate a sine waveform, use our Table #1 value to</emphasis>
-  <emphasis role="comment">; vary its frequency by 100 Hz from its base frequency.</emphasis>
-  ibasefreq <emphasis role="op">=</emphasis> 440
-  kfreq <emphasis role="op">=</emphasis> kval <emphasis role="op">*</emphasis> 100
-  a1 <emphasis role="opc">oscil</emphasis> 20000, ibasefreq <emphasis role="op">+</emphasis> kfreq, 2
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
-
-
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="comment">;after the example from The Csound Book, page 83</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;compare results from GEN13 & GEN14</emphasis>
+		
+iwshpfn	<emphasis role="op">=</emphasis> p6	
+inrmfn	<emphasis role="op">=</emphasis> p7	
+aswp	<emphasis role="opc">linseg</emphasis>	0.01, p3<emphasis role="op">*</emphasis>.5, .49, p3<emphasis role="op">*</emphasis>.5, 0.01		<emphasis role="comment">;index sweep function</emphasis>
+aindex	<emphasis role="opc">poscil</emphasis>	aswp, p5, 2				<emphasis role="comment">;sound to waveshape</emphasis>
+atable	<emphasis role="opc">tablei</emphasis>	aindex, iwshpfn, 1, .5			<emphasis role="comment">;waveshape index</emphasis>
+anrm	<emphasis role="opc">tablei</emphasis>	aswp<emphasis role="op">*</emphasis>2, inrmfn, 1			<emphasis role="comment">;normalization </emphasis>
+aenv	<emphasis role="opc">linen</emphasis>	p4, .01, p3, .02			<emphasis role="comment">;amplitude envelope</emphasis>
+asig	<emphasis role="op">=</emphasis> (atable<emphasis role="op">*</emphasis>anrm)<emphasis role="op">*</emphasis>aenv				<emphasis role="comment">;normalize and impose envelope</emphasis>
+asig    <emphasis role="opc">dcblock2</emphasis> asig					<emphasis role="comment">;get rid of DC</emphasis>
+	<emphasis role="opc">outs</emphasis>    asig, asig
+
+<emphasis role="oblock">endin</emphasis>		
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Table #1: a polynomial function (using GEN14).</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 1025 14 1 1 0 5 0 3 0 1
-<emphasis role="comment">; Table #2, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 2 0 16384 10 1
+<emphasis role="stamnt">f</emphasis> 2 0 8192 10 1			<emphasis role="comment">;sine wave</emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for 2 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
-<emphasis role="stamnt">e</emphasis>
+<emphasis role="stamnt">f</emphasis> 28  0   4097 13  1 1 1 0 .8 0 .5 0 .2		<emphasis role="comment">;waveshaping function: GEN13 - odd harmonics</emphasis>
+<emphasis role="stamnt">f</emphasis> 280 0   2049 4   28 1				<emphasis role="comment">;normalization function for f28</emphasis>
+<emphasis role="stamnt">f</emphasis> 29  0   4097 14  1 1 1 0 .8 0 .5 0 .2		<emphasis role="comment">;waveshaping function: GEN14 - same harmonics</emphasis>
+<emphasis role="stamnt">f</emphasis> 290 0   2049 4   29 1				<emphasis role="comment">;normalization function for f29</emphasis>
 
 
+<emphasis role="stamnt">f</emphasis> 30  0   4097 13  1 1 0 1 0 .6 0 .4 0 .1	<emphasis role="comment">;waveshaping function: GEN13 - even harmonics</emphasis>
+<emphasis role="stamnt">f</emphasis> 301 0   2049 4   30 1				<emphasis role="comment">;normalization function for f30</emphasis>
+<emphasis role="stamnt">f</emphasis> 31  0   4097 14  1 1 0 1 0 .6 0 .4 0 .1	<emphasis role="comment">;waveshaping function: GEN13 - even harmonics</emphasis>
+<emphasis role="stamnt">f</emphasis> 310 0   2049 4   31 1				<emphasis role="comment">;normalization function for 31</emphasis>
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis>1 0   3   .7   440 28  280 
+<emphasis role="stamnt">i</emphasis>1 4   .   .7    .  29  290
+<emphasis role="stamnt">i</emphasis>1 8   .   .7    .  30  301
+<emphasis role="stamnt">i</emphasis>1 12  3   .7    .  31  310
+
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen15.csd.xml b/examples-xml/gen15.csd.xml
new file mode 100644
index 0000000..c4584bd
--- /dev/null
+++ b/examples-xml/gen15.csd.xml
@@ -0,0 +1,89 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o gen15.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="comment">;example from the Csound Book, page 85</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+idur  <emphasis role="op">=</emphasis> p3
+iamp  <emphasis role="op">=</emphasis> p4
+ifrq  <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p5)        <emphasis role="comment">;pitch</emphasis>
+iswp1 <emphasis role="op">=</emphasis> p6
+iswp2 <emphasis role="op">=</emphasis> p7
+kswp  <emphasis role="opc">line</emphasis>   iswp1, p3, iswp2      <emphasis role="comment">;amplitude sweep values</emphasis>
+acosi <emphasis role="opc">oscili</emphasis> kswp<emphasis role="op">*</emphasis>.5, ifrq, 2      <emphasis role="comment">;f2=cosine wave</emphasis>
+asine <emphasis role="opc">oscili</emphasis> kswp, ifrq, 1         <emphasis role="comment">;f1=sine wave</emphasis>
+atab1 <emphasis role="opc">tablei</emphasis> acosi, 33, 1, .5      <emphasis role="comment">;tables a1 to GEN13</emphasis>
+atab2 <emphasis role="opc">tablei</emphasis> acosi, 34, 1, .5      <emphasis role="comment">;tables a1 to GEN14</emphasis>
+knrm1 <emphasis role="opc">tablei</emphasis> kswp, 35, 1           <emphasis role="comment">;normalizing f35</emphasis>
+knrm2 <emphasis role="opc">tablei</emphasis> kswp, 36, 1           <emphasis role="comment">;normalizing f36</emphasis>
+anrm1 <emphasis role="op">=</emphasis> atab1<emphasis role="op">*</emphasis>knrm1                <emphasis role="comment">;normalize GEN13 signal</emphasis>
+anrm2 <emphasis role="op">=</emphasis> atab2<emphasis role="op">*</emphasis>knrm2<emphasis role="op">*</emphasis>asine          <emphasis role="comment">;normalize GEN14 signal</emphasis>
+amix  <emphasis role="op">=</emphasis> anrm1<emphasis role="op">+</emphasis>anrm2                <emphasis role="comment">;mix GEN13 and GEN14</emphasis>
+kenv  <emphasis role="opc">expseg</emphasis> .001, idur<emphasis role="op">*</emphasis>.1, iamp, idur<emphasis role="op">*</emphasis>.1, iamp<emphasis role="op">*</emphasis>.8, idur<emphasis role="op">*</emphasis>.8, .001  
+asig  <emphasis role="op">=</emphasis> amix<emphasis role="op">*</emphasis>kenv  
+      <emphasis role="opc">outs</emphasis>   asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 8193 10  1        <emphasis role="comment">;sine wave</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 8193  9  1 1 90   <emphasis role="comment">;cosine wave</emphasis>
+
+<emphasis role="comment">; Note that all the f33 tables in the following sections are defined with p4=-15,</emphasis>
+<emphasis role="comment">; which means that tables 33 and 34 will not be normalized. Thus if we display</emphasis>
+<emphasis role="comment">; tables when running this example, we'll get correct diagrams even if one table</emphasis>
+<emphasis role="comment">; has very small values instead of 0 values, due to cpu approximations in processing</emphasis>
+<emphasis role="comment">; sin(180), as in sections 2, 4, and 5. This has no consequence on the audio result,</emphasis>
+<emphasis role="comment">; because of the use of amp normalization (tables 35 and 36).</emphasis>
+
+<emphasis role="stamnt">f</emphasis> 33 0 8193 -15 1 1 1 0 1 180 .8 45 .6 270 .5 90 .4 225 .2 135 .1 315  <emphasis role="comment">;makes function tables 33 and 34</emphasis>
+<emphasis role="stamnt">f</emphasis> 35 0 4097  4  33 1    <emphasis role="comment">;amp normalization for f33</emphasis>
+<emphasis role="stamnt">f</emphasis> 36 0 4097  4  34 1    <emphasis role="comment">;amp normalization for f34</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 5  .6  8.00 0   1
+<emphasis role="stamnt">i</emphasis> 1 + .  .6  8.00 1   0
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="comment">;even harmonics with no phase shift, odd harmonics with phase shift</emphasis>
+<emphasis role="stamnt">f</emphasis> 33 0 8193 -15 1 1 1 0 1 0 1 180 1 180 1 0 1 0 1 180 1 180 1 0 1 0 1 180 1 180
+<emphasis role="stamnt">f</emphasis> 35 0 4097  4  33 1    <emphasis role="comment">;amp normalization for f33</emphasis>
+<emphasis role="stamnt">f</emphasis> 36 0 4097  4  34 1    <emphasis role="comment">;amp normalization for f34</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0  5 .6  8.00 0   1
+<emphasis role="stamnt">i</emphasis> 1 +  . .6  8.00 1   0
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="comment">;different harmonic strenghts and phases</emphasis>
+<emphasis role="stamnt">f</emphasis> 33 0 8193 -15 1 1 1 0 1 0 .9 180 .5 270 .75 90 .4 45 .2 225 .1 0
+<emphasis role="stamnt">f</emphasis> 35 0 4097  4  33 1    <emphasis role="comment">;amp normalization for f33</emphasis>
+<emphasis role="stamnt">f</emphasis> 36 0 4097  4  34 1    <emphasis role="comment">;amp normalization for f34</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 5 .6  8.00 0  1
+<emphasis role="stamnt">i</emphasis> 1 + . .6  8.00 1  0
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="comment">;lower harmonics no phase shift, upper harmonics with phase shift</emphasis>
+<emphasis role="stamnt">f</emphasis> 33 0 8193 -15 1  1  1 0 1 0 .5 0 .9 0 .3 0 .75 0 .2 180 .6 180 .15 180 .5 180 .1 180  
+<emphasis role="stamnt">f</emphasis> 35 0 4097  4  33 1    <emphasis role="comment">;amp normalization for f33</emphasis>
+<emphasis role="stamnt">f</emphasis> 36 0 4097  4  34 1    <emphasis role="comment">;amp normalization for f34</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 5 .6  8.00 0   1
+<emphasis role="stamnt">i</emphasis> 1 + . .6  8.00 1   0
+
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="comment">;lower harmonics with phase shift, upper harmonics no phase shift</emphasis>
+<emphasis role="stamnt">f</emphasis> 33 0 8193 -15 1 1 1 180 1 180 .5 180 .9 180 .3 180 .75 180 .2 0 .6 0 .15 0 .5 0 .1 0  
+<emphasis role="stamnt">f</emphasis> 35 0 4097 4 33 1    <emphasis role="comment">;amp normalization for f33</emphasis>
+<emphasis role="stamnt">f</emphasis> 36 0 4097 4 34 1    <emphasis role="comment">;amp normalization for f34</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 5 .6  8.00 0  1
+<emphasis role="stamnt">i</emphasis> 1 + . .6  8.00 1  0
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen17.csd.xml b/examples-xml/gen17.csd.xml
new file mode 100644
index 0000000..c535b17
--- /dev/null
+++ b/examples-xml/gen17.csd.xml
@@ -0,0 +1,41 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  -M0 -+rtmidi=virtual    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o gen17.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+
+ <emphasis role="oblock">instr</emphasis> 1
+ 
+inote  <emphasis role="opc">cpsmidi</emphasis>	 
+iveloc <emphasis role="opc">ampmidi</emphasis> .5
+ictl   <emphasis role="opc">midictrl</emphasis> 5				<emphasis role="comment">;move slider of controller 5 to change ftable</emphasis>
+itab   <emphasis role="opc">table</emphasis> ictl, 2
+aout   <emphasis role="opc">poscil</emphasis> iveloc, inote, itab
+       <emphasis role="opc">outs</emphasis> aout, aout
+
+<emphasis role="oblock">endin</emphasis>	 
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 8193 10 1
+<emphasis role="stamnt">f</emphasis> 2 0 128 -17 0 10 32 20 64 30 96 40			<emphasis role="comment">;inhibit rescaling</emphasis>
+
+<emphasis role="stamnt">f</emphasis> 10 0 16384 10 1                                       <emphasis role="comment">; Sine</emphasis>
+<emphasis role="stamnt">f</emphasis> 20 0 16384 10 1 0.5 0.3 0.25 0.2 0.167 0.14 0.125 .111<emphasis role="comment">; Sawtooth</emphasis>
+<emphasis role="stamnt">f</emphasis> 30 0 16384 10 1 0   0.3 0    0.2 0     0.14 0     .111<emphasis role="comment">; Square</emphasis>
+<emphasis role="stamnt">f</emphasis> 40 0 16384 10 1 1   1   1    0.7 0.5   0.3  0.1       <emphasis role="comment">; Pulse</emphasis>
+
+<emphasis role="stamnt">f</emphasis> 0 30	<emphasis role="comment">;run for 30 seconds</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen18.csd.xml b/examples-xml/gen18.csd.xml
new file mode 100644
index 0000000..799a095
--- /dev/null
+++ b/examples-xml/gen18.csd.xml
@@ -0,0 +1,46 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o gen18.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ifn   <emphasis role="op">=</emphasis> p4  
+ilen  <emphasis role="op">=</emphasis> <emphasis role="opc">ftlen</emphasis>(ifn)
+aphase  <emphasis role="opc">phasor</emphasis> 220 
+asig    <emphasis role="opc">tablei</emphasis> aphase<emphasis role="op">*</emphasis>ilen, ifn
+        <emphasis role="opc">outs</emphasis>   asig, asig
+      
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">f</emphasis> 1 0 4096 10 1                                         <emphasis role="comment">;sine</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 4096 10 1 0.5 0.3 0.25 0.2 0.167 0.14 0.125 .111  <emphasis role="comment">;sawtooth</emphasis>
+<emphasis role="stamnt">f</emphasis> 3 0 4096 11 10 5 2                                    <emphasis role="comment">;cosine partials</emphasis>
+
+<emphasis role="stamnt">f</emphasis> 11 0 8192  18 1 1 0 4095 2 1 4096 8191    <emphasis role="comment">;sine+sawtooth</emphasis>
+<emphasis role="stamnt">f</emphasis> 12 0 8192  18 1 1 0 4095 3 1 4096 8191    <emphasis role="comment">;sine+cosine partials</emphasis>
+<emphasis role="stamnt">f</emphasis> 13 0 1024  18 1 0.7 0 767 3 0.7 512 1023  <emphasis role="comment">;sine+cosine partials overlapped, shorter table</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 2 2    <emphasis role="comment">;play sawtooth </emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 2 3    <emphasis role="comment">;then cosine partials</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 5 2 11   <emphasis role="comment">;now sine+sawtooth</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 2 12   <emphasis role="comment">;and sine+cosine partials</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 2 13   <emphasis role="comment">;and sine+cosine partials overlapped, shorter table</emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen19.csd.xml b/examples-xml/gen19.csd.xml
index d6229e2..13ef7cd 100644
--- a/examples-xml/gen19.csd.xml
+++ b/examples-xml/gen19.csd.xml
@@ -2,52 +2,38 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o gen19.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Create an index over the length of our entire note.</emphasis>
-  kcps <emphasis role="opc">init</emphasis> 1<emphasis role="op">/</emphasis>p3
-  kndx <emphasis role="opc">phasor</emphasis> kcps
 
-  <emphasis role="comment">; Read Table #1 with our index.</emphasis>
-  ifn <emphasis role="op">=</emphasis> 1
-  ixmode <emphasis role="op">=</emphasis> 1
-  kval <emphasis role="opc">table</emphasis> kndx, ifn, ixmode
-
-  <emphasis role="comment">; Generate a sine waveform, use our Table #1 value to </emphasis>
-  <emphasis role="comment">; vary its frequency by 100 Hz from its base frequency.</emphasis>
-  ibasefreq <emphasis role="op">=</emphasis> 440
-  kfreq <emphasis role="op">=</emphasis> kval <emphasis role="op">*</emphasis> 100
-  a1 <emphasis role="opc">oscil</emphasis> 20000, ibasefreq <emphasis role="op">+</emphasis> kfreq, 2
-  <emphasis role="opc">out</emphasis> a1
+<emphasis role="comment">;p4 = transposition factor</emphasis>
+<emphasis role="comment">;p5 = speed factor</emphasis>
+<emphasis role="comment">;p6 = function table for grain data</emphasis>
+i1    <emphasis role="op">=</emphasis>	<emphasis role="ohdr">sr</emphasis><emphasis role="op">/</emphasis><emphasis role="opc">ftlen</emphasis>(1)							<emphasis role="comment">;scaling to reflect sample rate and table length</emphasis>
+a1    <emphasis role="opc">phasor</emphasis> i1<emphasis role="op">*</emphasis>p5							<emphasis role="comment">;index for speed</emphasis>
+asigl <emphasis role="opc">fog</emphasis>    .5, 15, p4, a1, 1, 0, .01, .5, .01, 30, 1, 2, p3 		<emphasis role="comment">;left channel</emphasis>
+asigr <emphasis role="opc">fog</emphasis>    .4, 25, p4<emphasis role="op">+</emphasis>.2, a1, 1, 0, .01, .5, .01, 30, 1, 2, p3, .5	<emphasis role="comment">;right channel</emphasis>
+      <emphasis role="opc">outs</emphasis>   asigl, asigr
 <emphasis role="oblock">endin</emphasis>
 
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 131072 1 "<emphasis role="stamnt">f</emphasis>ox.wav" 0 0 0
+<emphasis role="stamnt">f</emphasis> 2 0 1024 19 .5 .5 270 .5
 
-<emphasis role="comment">; Table #1: a bell curve (using GEN19).</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 -19 1 1 260 1
-<emphasis role="comment">; Table #2, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 2 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for 3 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 3
+<emphasis role="stamnt">i</emphasis> 1 0 10 .7  .1
+<emphasis role="stamnt">i</emphasis> 1 + 4  1.2  2
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen20.csd.xml b/examples-xml/gen20.csd.xml
new file mode 100644
index 0000000..8a3217c
--- /dev/null
+++ b/examples-xml/gen20.csd.xml
@@ -0,0 +1,49 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+ 
+<emphasis role="comment">; Select audio/midi flags here according to platform </emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out </emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too </emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below: </emphasis>
+<emphasis role="comment">; -o gen20.wav -W ;;; for file output any platform </emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+ 
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+
+<emphasis role="oblock">instr</emphasis> 1 
+
+insnd   <emphasis role="op">=</emphasis> 10 				<emphasis role="comment">;"fox.wav"</emphasis>
+ibasfrq <emphasis role="op">=</emphasis> 44100 <emphasis role="op">/</emphasis> <emphasis role="opc">ftlen</emphasis>(insnd)		<emphasis role="comment">;use original sample rate of insnd file </emphasis>
+
+kamp   <emphasis role="opc">expseg</emphasis> .001, p3<emphasis role="op">/</emphasis>2, .7, p3<emphasis role="op">/</emphasis>2, .8	<emphasis role="comment">;envelope</emphasis>
+kpitch <emphasis role="opc">line</emphasis> ibasfrq, p3, ibasfrq <emphasis role="op">*</emphasis> .8 
+kdens  <emphasis role="opc">line</emphasis> 600, p3, 10 
+kaoff  <emphasis role="opc">line</emphasis> 0, p3, .1
+kpoff  <emphasis role="opc">line</emphasis> 0, p3, ibasfrq <emphasis role="op">*</emphasis> .5 
+kgdur  <emphasis role="opc">line</emphasis> .04, p3, .001		<emphasis role="comment">;shorten duration of grain during note</emphasis>
+imaxgdur <emphasis role="op">=</emphasis>  .5 
+igfn <emphasis role="op">=</emphasis> p4 				<emphasis role="comment">;different windows</emphasis>
+asigL  <emphasis role="opc">grain</emphasis> kamp, kpitch, kdens, kaoff, kpoff, kgdur, insnd, igfn, imaxgdur, 0.0 
+asigR  <emphasis role="opc">grain</emphasis> kamp, kpitch, kdens, kaoff, kpoff, kgdur, insnd, igfn, imaxgdur, 0.0 
+       <emphasis role="opc">outs</emphasis> asigL, asigR
+
+<emphasis role="oblock">endin</emphasis> 
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+ 
+<emphasis role="stamnt">f</emphasis>1  0 512  20 2		<emphasis role="comment">;Hanning window </emphasis>
+<emphasis role="stamnt">f</emphasis>2  0 512  20 6 1	<emphasis role="comment">;Gaussian window </emphasis>
+<emphasis role="stamnt">f</emphasis>10 0 16384 1 "<emphasis role="stamnt">f</emphasis>ox.wav" 0 0 0 
+
+<emphasis role="stamnt">i</emphasis>1 0 5 1		<emphasis role="comment">;use Hanning window </emphasis>
+<emphasis role="stamnt">i</emphasis>1 + 5 2		<emphasis role="comment">;use Gaussian window</emphasis>
+<emphasis role="stamnt">e</emphasis> 
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen21.csd.xml b/examples-xml/gen21.csd.xml
new file mode 100644
index 0000000..df76347
--- /dev/null
+++ b/examples-xml/gen21.csd.xml
@@ -0,0 +1,56 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o gen21.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ifn    <emphasis role="op">=</emphasis> p4
+isize  <emphasis role="op">=</emphasis> <emphasis role="opc">ftlen</emphasis>(ifn) 
+<emphasis role="opc">prints</emphasis> "TABLE NUMBER<emphasis role="op">:</emphasis> <emphasis role="op">%</emphasis>d\n", ifn   
+<emphasis role="opc">prints</emphasis> "Index\tValue\n"
+    
+iindex <emphasis role="op">=</emphasis> 0				<emphasis role="comment">;start loop</emphasis>
+<emphasis role="olabel">begin_loop</emphasis><emphasis role="op">:</emphasis>
+     ivalue <emphasis role="opc">tab_i</emphasis> iindex, ifn
+     <emphasis role="opc">prints</emphasis> "<emphasis role="op">%</emphasis>d<emphasis role="op">:</emphasis>\t<emphasis role="op">%</emphasis>f\n", iindex, ivalue
+     iindex <emphasis role="op">=</emphasis> iindex <emphasis role="op">+</emphasis> 1
+  <emphasis role="octrl">if</emphasis> (iindex <emphasis role="op"><</emphasis> isize) <emphasis role="octrl">igoto</emphasis> <emphasis role="olabel">begin_loop</emphasis>
+  
+<emphasis role="comment">;produce sound - and repeat it 10 times so you can hear the patterns:   </emphasis>
+aphase <emphasis role="opc">phasor</emphasis> 10<emphasis role="op">/</emphasis>10			<emphasis role="comment">;play all 32 values 10x over 10 seconds</emphasis>
+aphase <emphasis role="op">=</emphasis> aphase<emphasis role="op">*</emphasis>isize			<emphasis role="comment">;step through table</emphasis>
+afrq   <emphasis role="opc">table</emphasis> aphase, p4			<emphasis role="comment">;read table number</emphasis>
+asig   <emphasis role="opc">poscil</emphasis> .5, (afrq<emphasis role="op">*</emphasis>500)<emphasis role="op">+</emphasis>1000,10	<emphasis role="comment">;scale values of table 500 times, add 1000 Hz</emphasis>
+       <emphasis role="opc">outs</emphasis> asig , asig			<emphasis role="comment">;so we can distinguish the different tables </emphasis>
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 32 21 1		<emphasis role="comment">;Uniform (white noise)</emphasis>
+<emphasis role="stamnt">f</emphasis>2 0 32 21 6		<emphasis role="comment">;Gaussian (mu=0.0, sigma=1/3.83=0.261)</emphasis>
+<emphasis role="stamnt">f</emphasis>3 0 32 21 6 5.745	<emphasis role="comment">;Gaussian (mu=0.0, sigma=5.745/3.83=1.5)</emphasis>
+<emphasis role="stamnt">f</emphasis>4 0 32 21 9 1 1 2	<emphasis role="comment">;Beta (note that level precedes arguments)</emphasis>
+<emphasis role="stamnt">f</emphasis>5 0 32 21 10 1 2	<emphasis role="comment">;Weibull</emphasis>
+<emphasis role="stamnt">f</emphasis>10 0 8192 10 1		<emphasis role="comment">;Sine wave</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1  0 10 1
+<emphasis role="stamnt">i</emphasis> 1 11 10 2
+<emphasis role="stamnt">i</emphasis> 1 22 10 3
+<emphasis role="stamnt">i</emphasis> 1 33 10 4
+<emphasis role="stamnt">i</emphasis> 1 44 10 5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen23.csd.xml b/examples-xml/gen23.csd.xml
new file mode 100644
index 0000000..d67b83e
--- /dev/null
+++ b/examples-xml/gen23.csd.xml
@@ -0,0 +1,48 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o gen23.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+<emphasis role="comment">;"spectrum.txt" is created by the spectrum plotter of Audacity (set at size 128), using "fox.wav".</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;performs additive synthesis based on spectrum.txt</emphasis>
+
+indx <emphasis role="op">=</emphasis>0						<emphasis role="comment">;start reading at first value</emphasis>
+<emphasis role="olabel">loop</emphasis><emphasis role="op">:</emphasis>
+ifreq <emphasis role="opc">tab_i</emphasis> indx, 2				<emphasis role="comment">;take odd values of list (= frequency)</emphasis>
+iamp <emphasis role="opc">tab_i</emphasis> indx<emphasis role="op">+</emphasis>1, 2				<emphasis role="comment">;take even values of list (= amplitude)</emphasis>
+<emphasis role="opc">event_i</emphasis> "i", 10, 0, p3, iamp, ifreq   		<emphasis role="comment">;use "event_i" to trigger instr. 10 </emphasis>
+    <emphasis role="octrl">loop_lt</emphasis> indx, 2, 128, <emphasis role="olabel">loop</emphasis>			<emphasis role="comment">;use all 128 frequency and amplitude values</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 10 <emphasis role="comment">;generate sound</emphasis>
+
+iamp  <emphasis role="op">=</emphasis> p4
+ifreq <emphasis role="op">=</emphasis> p5
+asig  <emphasis role="opc">poscil</emphasis> <emphasis role="opc">ampdb</emphasis>(iamp), ifreq, 1
+asig  <emphasis role="opc">linen</emphasis> asig, .01, p3, p2
+      <emphasis role="opc">outs</emphasis>  asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1		<emphasis role="comment">;sine wave</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 128 -23 "spectrum.txt"	<emphasis role="comment">;"spectrum.txt" can be found in /manual/examples</emphasis>
+
+<emphasis role="stamnt">i</emphasis>1 0 2
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen24.csd.xml b/examples-xml/gen24.csd.xml
new file mode 100644
index 0000000..fcad873
--- /dev/null
+++ b/examples-xml/gen24.csd.xml
@@ -0,0 +1,39 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o gen24.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ifn  <emphasis role="op">=</emphasis> p4				<emphasis role="comment">;choose between tables</emphasis>
+kcps <emphasis role="opc">init</emphasis> 1<emphasis role="op">/</emphasis>p3				<emphasis role="comment">;create index over duration of note.</emphasis>
+kndx <emphasis role="opc">phasor</emphasis> kcps
+ixmode <emphasis role="op">=</emphasis> 1				<emphasis role="comment">;normalize to 0-1</emphasis>
+kval <emphasis role="opc">table</emphasis> kndx, ifn, ixmode
+asig <emphasis role="opc">poscil</emphasis> .7, 440 <emphasis role="op">+</emphasis> kval, 1		<emphasis role="comment">;add to frequency</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
+  
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1	<emphasis role="comment">;sine wave</emphasis>
+<emphasis role="stamnt">f</emphasis> 10 0 16384 -24 1 0 400<emphasis role="comment">;scale sine wave from table 1 from 0 to 400</emphasis>
+<emphasis role="stamnt">f</emphasis> 11 0 16384 -24 1 0 50	<emphasis role="comment">;and from 0 to 50</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 3 10
+<emphasis role="stamnt">i</emphasis> 1 4 3 11
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen25.csd.xml b/examples-xml/gen25.csd.xml
new file mode 100644
index 0000000..93385ad
--- /dev/null
+++ b/examples-xml/gen25.csd.xml
@@ -0,0 +1,40 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o gen25.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+gisin <emphasis role="ohdr">ftgen</emphasis> 1, 0, 32768, 10, 1
+gienv <emphasis role="ohdr">ftgen</emphasis> 2, 0, 1025, 25, 0, 0.01, 200, 1, 400, 1, 513, 0.01	<emphasis role="comment">; y value must be >= 0</emphasis>
+   
+  
+<emphasis role="oblock">instr</emphasis> 1
+
+kcps <emphasis role="opc">init</emphasis> 3<emphasis role="op">/</emphasis>p3			<emphasis role="comment">;play 3x over duration of note</emphasis>
+kndx <emphasis role="opc">phasor</emphasis> kcps
+ixmode <emphasis role="op">=</emphasis> 1			<emphasis role="comment">;normalize to 0-1</emphasis>
+kval <emphasis role="opc">table</emphasis> kndx, gienv, ixmode
+kval <emphasis role="op">=</emphasis>kval<emphasis role="op">*</emphasis>100			<emphasis role="comment">;scale up to 0-100</emphasis>
+asig <emphasis role="opc">poscil</emphasis> 1, 220<emphasis role="op">+</emphasis>kval, gisin	<emphasis role="comment">;use table for amplitude</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
+  
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 4
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen27.csd.xml b/examples-xml/gen27.csd.xml
new file mode 100644
index 0000000..3943e82
--- /dev/null
+++ b/examples-xml/gen27.csd.xml
@@ -0,0 +1,39 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o gen27.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+gisin <emphasis role="ohdr">ftgen</emphasis> 1, 0, 32768, 10, 1
+gienv <emphasis role="ohdr">ftgen</emphasis> 2, 0, 1025, 27, 0, 0,200, 1, 400, <emphasis role="op">-</emphasis>1, 513, 0
+  
+<emphasis role="oblock">instr</emphasis> 1
+
+kcps <emphasis role="opc">init</emphasis> 3<emphasis role="op">/</emphasis>p3			<emphasis role="comment">;play 3x over duration of note</emphasis>
+kndx <emphasis role="opc">phasor</emphasis> kcps
+ixmode <emphasis role="op">=</emphasis> 1			<emphasis role="comment">;normalize to 0-1</emphasis>
+kval <emphasis role="opc">table</emphasis> kndx, gienv, ixmode
+kval <emphasis role="op">=</emphasis> kval<emphasis role="op">*</emphasis>100			<emphasis role="comment">;scale 0-100</emphasis>
+asig <emphasis role="opc">poscil</emphasis> 1, 220<emphasis role="op">+</emphasis>kval, 1	<emphasis role="comment">;add to 220 Hz</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
+  
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 4
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen28.csd.xml b/examples-xml/gen28.csd.xml
new file mode 100644
index 0000000..51f76e6
--- /dev/null
+++ b/examples-xml/gen28.csd.xml
@@ -0,0 +1,62 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o gen28.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 4
+  
+ga1	<emphasis role="opc">init</emphasis>	0
+ga2	<emphasis role="opc">init</emphasis>	0
+ga3	<emphasis role="opc">init</emphasis>	0
+ga4	<emphasis role="opc">init</emphasis>	0
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;uses GEN28 file "move", as found in /manual/examples</emphasis>
+
+kx    <emphasis role="opc">init</emphasis> 0
+ky    <emphasis role="opc">init</emphasis> 0
+ktime <emphasis role="opc">line</emphasis>  0, 5, 5				<emphasis role="comment">;same time as in table 1 (="move")</emphasis>
+asig  <emphasis role="opc">diskin2</emphasis> "beats.wav", 1, 0, 1		<emphasis role="comment">;sound source is looped</emphasis>
+a1, a2, a3, a4 <emphasis role="opc">space</emphasis> asig, 1, ktime, .1, kx, ky	<emphasis role="comment">;use table 1 = GEN28</emphasis>
+ar1, ar2, ar3, ar4 <emphasis role="opc">spsend</emphasis>			<emphasis role="comment">;send to reverb</emphasis>
+
+ga1  <emphasis role="op">=</emphasis> ga1<emphasis role="op">+</emphasis>ar1
+ga2  <emphasis role="op">=</emphasis> ga2<emphasis role="op">+</emphasis>ar2
+ga3  <emphasis role="op">=</emphasis> ga3<emphasis role="op">+</emphasis>ar3
+ga4  <emphasis role="op">=</emphasis> ga4<emphasis role="op">+</emphasis>ar4
+     <emphasis role="opc">outq</emphasis> a1, a2, a3, a4
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 99 <emphasis role="comment">; reverb instrument</emphasis>
+
+a1 <emphasis role="opc">reverb2</emphasis> ga1, 2.5, .5
+a2 <emphasis role="opc">reverb2</emphasis> ga2, 2.5, .5
+a3 <emphasis role="opc">reverb2</emphasis> ga3, 2.5, .5
+a4 <emphasis role="opc">reverb2</emphasis> ga4, 2.5, .5
+   <emphasis role="opc">outq</emphasis>	a1, a2, a3, a4
+
+ga1<emphasis role="op">=</emphasis>0	
+ga2<emphasis role="op">=</emphasis>0
+ga3<emphasis role="op">=</emphasis>0
+ga4<emphasis role="op">=</emphasis>0
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 0 28 "move"
+
+<emphasis role="stamnt">i</emphasis>1 0 5		<emphasis role="comment">;same time as ktime</emphasis>
+<emphasis role="stamnt">i</emphasis> 99 0 10	<emphasis role="comment">;keep reverb active</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen30.csd.xml b/examples-xml/gen30.csd.xml
new file mode 100644
index 0000000..78bafd8
--- /dev/null
+++ b/examples-xml/gen30.csd.xml
@@ -0,0 +1,68 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o gen30.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="comment">;a simplified example of Istvan Varga</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis>  44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis>  32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis>  2
+<emphasis role="ohdr">0dbfs</emphasis>   <emphasis role="op">=</emphasis> 1
+
+isaw	<emphasis role="ohdr">ftgen</emphasis> 1, 0, 16384, 7, 1, 16384, <emphasis role="op">-</emphasis>1						<emphasis role="comment">;sawtooth wave </emphasis>
+iFM	<emphasis role="ohdr">ftgen</emphasis> 3, 0, 4096, 7, 0, 512, 0.25, 512, 1, 512, 0.25, 512,	\
+			     0, 512, <emphasis role="op">-</emphasis>0.25, 512, <emphasis role="op">-</emphasis>1, 512, <emphasis role="op">-</emphasis>0.25, 512, 0			<emphasis role="comment">;FM waveform</emphasis>
+iAM	<emphasis role="ohdr">ftgen</emphasis> 4, 0, 4096, 5, 1, 4096, 0.01						<emphasis role="comment">;AM waveform</emphasis>
+iEQ	<emphasis role="ohdr">ftgen</emphasis> 5, 0, 1024, 5, 1, 512, 32, 512, 1						<emphasis role="comment">;FM to EQ</emphasis>
+isine	<emphasis role="ohdr">ftgen</emphasis> 6, 0, 1024, 10, 1								<emphasis role="comment">;sine wave</emphasis>
+
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> generate bandlimited sawtooth waves <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+i0	<emphasis role="op">=</emphasis>  0
+<emphasis role="olabel">loop1</emphasis><emphasis role="op">:</emphasis>
+imaxh	<emphasis role="op">=</emphasis>  <emphasis role="ohdr">sr</emphasis> <emphasis role="op">/</emphasis> (2 <emphasis role="op">*</emphasis> 440.0 <emphasis role="op">*</emphasis> <emphasis role="opc">exp</emphasis>(<emphasis role="opc">log</emphasis>(2.0) <emphasis role="op">*</emphasis> (i0 <emphasis role="op">-</emphasis> 69) <emphasis role="op">/</emphasis> 12))
+i_	<emphasis role="ohdr">ftgen</emphasis> i0 <emphasis role="op">+</emphasis> 10, 0, 4096, <emphasis role="op">-</emphasis>30, 1, 1, imaxh					<emphasis role="comment">;use gen 30</emphasis>
+i0	<emphasis role="op">=</emphasis>  i0 <emphasis role="op">+</emphasis> 1
+	<emphasis role="octrl">if</emphasis> (i0 <emphasis role="op"><</emphasis> 127.5) <emphasis role="octrl">igoto</emphasis> <emphasis role="olabel">loop1</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kcps	<emphasis role="op">=</emphasis>  440.0 <emphasis role="op">*</emphasis> <emphasis role="opc">exp</emphasis>(<emphasis role="opc">log</emphasis>(2.0) <emphasis role="op">*</emphasis> (p4 <emphasis role="op">-</emphasis> 69) <emphasis role="op">/</emphasis> 12)					<emphasis role="comment">;note frequency</emphasis>
+klpmaxf	<emphasis role="opc">limit</emphasis> p5 <emphasis role="op">*</emphasis> kcps, 1000.0, 12000.0						<emphasis role="comment">;lowpass max. frequency</emphasis>
+
+kfmd1	<emphasis role="op">=</emphasis>  0.03 <emphasis role="op">*</emphasis> kcps									<emphasis role="comment">;FM depth in Hz</emphasis>
+kamfr	<emphasis role="op">=</emphasis>  kcps <emphasis role="op">*</emphasis> 0.02									<emphasis role="comment">;AM frequency</emphasis>
+kamfr2	<emphasis role="op">=</emphasis>  kcps <emphasis role="op">*</emphasis> 0.1
+
+kfnum	<emphasis role="op">=</emphasis>  (10 <emphasis role="op">+</emphasis> 69 <emphasis role="op">+</emphasis> 0.5 <emphasis role="op">+</emphasis> 12 <emphasis role="op">*</emphasis> <emphasis role="opc">log</emphasis>(kcps <emphasis role="op">/</emphasis> 440.0) <emphasis role="op">/</emphasis> <emphasis role="opc">log</emphasis>(2.0))				<emphasis role="comment">;table number</emphasis>
+aenv	<emphasis role="opc">linseg</emphasis> 0, p3<emphasis role="op">*</emphasis>0.25, 1, p3<emphasis role="op">*</emphasis>0.75, 0						<emphasis role="comment">;amp. envelope</emphasis>
+
+asig	<emphasis role="opc">oscbnk</emphasis> kcps, 0.0, kfmd1, 0.0, 40, 200, 0.1, 0.2, 0, 0, 144,	      \
+		0.0, klpmaxf, 0.0, 0.0, 1.5, 1.5, 2, kfnum, 3, 0, 5, 5, 5
+asig	<emphasis role="op">=</emphasis> asig <emphasis role="op">*</emphasis> aenv<emphasis role="op">*</emphasis>.03
+<emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 6 41 10
+<emphasis role="stamnt">i</emphasis> 1 0 6 60
+<emphasis role="stamnt">i</emphasis> 1 0 6 65
+<emphasis role="stamnt">i</emphasis> 1 0 6 69
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 6 41 64
+<emphasis role="stamnt">i</emphasis> 1 0 6 60
+<emphasis role="stamnt">i</emphasis> 1 0 6 65
+<emphasis role="stamnt">i</emphasis> 1 0 6 69
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen32.csd.xml b/examples-xml/gen32.csd.xml
new file mode 100644
index 0000000..d08b6e8
--- /dev/null
+++ b/examples-xml/gen32.csd.xml
@@ -0,0 +1,60 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o gen32.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+itmp    <emphasis role="ohdr">ftgen</emphasis> 1, 0, 16384, 7, 1, 16384, <emphasis role="op">-</emphasis>1		<emphasis role="comment">; sawtooth</emphasis>
+itmp    <emphasis role="ohdr">ftgen</emphasis> 2, 0, 8192, 10, 1				<emphasis role="comment">; sine</emphasis>
+itmp    <emphasis role="ohdr">ftgen</emphasis> 5, 0, 4096, <emphasis role="op">-</emphasis>32, <emphasis role="op">-</emphasis>2, 1.5, 1.0, 0.25, 1, 2, 0.5, 0, 1, 3, <emphasis role="op">-</emphasis>0.25, 0.5	<emphasis role="comment">; mix tables</emphasis>
+itmp    <emphasis role="ohdr">ftgen</emphasis> 6, 0, 16384, 20, 3, 1			<emphasis role="comment">; window</emphasis>
+<emphasis role="comment">; generate band-limited waveforms</emphasis>
+inote   <emphasis role="op">=</emphasis>  0
+<emphasis role="olabel">loop0</emphasis><emphasis role="op">:</emphasis>
+icps    <emphasis role="op">=</emphasis>  440 <emphasis role="op">*</emphasis> <emphasis role="opc">exp</emphasis>(<emphasis role="opc">log</emphasis>(2) <emphasis role="op">*</emphasis> (inote <emphasis role="op">-</emphasis> 69) <emphasis role="op">/</emphasis> 12)        <emphasis role="comment">; one table for</emphasis>
+inumh   <emphasis role="op">=</emphasis>  <emphasis role="ohdr">sr</emphasis> <emphasis role="op">/</emphasis> (2 <emphasis role="op">*</emphasis> icps)                              <emphasis role="comment">; each MIDI note number</emphasis>
+ift     <emphasis role="op">=</emphasis>  <emphasis role="opc">int</emphasis>(inote <emphasis role="op">+</emphasis> 256.5)
+itmp    <emphasis role="ohdr">ftgen</emphasis> ift, 0, 4096, <emphasis role="op">-</emphasis>30, 5, 1, inumh
+inote   <emphasis role="op">=</emphasis>  inote <emphasis role="op">+</emphasis> 1
+        <emphasis role="octrl">if</emphasis> (inote <emphasis role="op"><</emphasis> 127.5) <emphasis role="octrl">igoto</emphasis> <emphasis role="olabel">loop0</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kcps    <emphasis role="opc">expon</emphasis> 20, p3, 16000
+kft     <emphasis role="op">=</emphasis>  <emphasis role="opc">int</emphasis>(256.5 <emphasis role="op">+</emphasis> 69 <emphasis role="op">+</emphasis> 12 <emphasis role="op">*</emphasis> <emphasis role="opc">log</emphasis>(kcps <emphasis role="op">/</emphasis> 440) <emphasis role="op">/</emphasis> <emphasis role="opc">log</emphasis>(2))
+kft     <emphasis role="op">=</emphasis>  (kft <emphasis role="op">></emphasis> 383 <emphasis role="op">?</emphasis> 383 <emphasis role="op">:</emphasis> kft)
+a1      <emphasis role="opc">phasor</emphasis> kcps
+a1      <emphasis role="opc">tableikt</emphasis> a1, kft, 1, 0, 1
+        <emphasis role="opc">outs</emphasis> a1<emphasis role="op">*</emphasis>.5, a1<emphasis role="op">*</emphasis>.5
+<emphasis role="oblock">endin</emphasis>
+        
+<emphasis role="oblock">instr</emphasis> 2
+
+kcps    <emphasis role="opc">expon</emphasis> 20, p3, 16000
+kft     <emphasis role="op">=</emphasis>  <emphasis role="opc">int</emphasis>(256.5 <emphasis role="op">+</emphasis> 69 <emphasis role="op">+</emphasis> 12 <emphasis role="op">*</emphasis> <emphasis role="opc">log</emphasis>(kcps <emphasis role="op">/</emphasis> 440) <emphasis role="op">/</emphasis> <emphasis role="opc">log</emphasis>(2))
+kft     <emphasis role="op">=</emphasis>  (kft <emphasis role="op">></emphasis> 383 <emphasis role="op">?</emphasis> 383 <emphasis role="op">:</emphasis> kft)
+kgdur   <emphasis role="opc">limit</emphasis> 10 <emphasis role="op">/</emphasis> kcps, 0.1, 1
+a1      <emphasis role="opc">grain2</emphasis> kcps, 0.02, kgdur, 30, kft, 6, <emphasis role="op">-</emphasis>0.5
+        <emphasis role="opc">outs</emphasis> a1<emphasis role="op">*</emphasis>.08, a1<emphasis role="op">*</emphasis>.08
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">t</emphasis> 0 60
+
+<emphasis role="stamnt">i</emphasis> 1 0 10
+<emphasis role="stamnt">i</emphasis> 2 12 10
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen33.csd.xml b/examples-xml/gen33.csd.xml
new file mode 100644
index 0000000..8b1711c
--- /dev/null
+++ b/examples-xml/gen33.csd.xml
@@ -0,0 +1,48 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o gen33.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; partials 1, 4, 7, 10, 13, 16, etc. with base frequency of 400 Hz</emphasis>
+
+ibsfrq  <emphasis role="op">=</emphasis>  400										
+inumh   <emphasis role="op">=</emphasis>  <emphasis role="opc">int</emphasis>(1.5 <emphasis role="op">+</emphasis> <emphasis role="ohdr">sr</emphasis> <emphasis role="op">*</emphasis> 0.5 <emphasis role="op">/</emphasis> (3 <emphasis role="op">*</emphasis> ibsfrq))					<emphasis role="comment">; estimate number of partials			</emphasis>
+isrcln  <emphasis role="op">=</emphasis>  <emphasis role="opc">int</emphasis>(0.5 <emphasis role="op">+</emphasis> <emphasis role="opc">exp</emphasis>(<emphasis role="opc">log</emphasis>(2) <emphasis role="op">*</emphasis> <emphasis role="opc">int</emphasis>(1.01 <emphasis role="op">+</emphasis> <emphasis role="opc">log</emphasis>(inumh <emphasis role="op">*</emphasis> 3) <emphasis role="op">/</emphasis> <emphasis role="opc">log</emphasis>(2))))		<emphasis role="comment">; source table length</emphasis>
+itmp    <emphasis role="ohdr">ftgen</emphasis> 1, 0, isrcln, <emphasis role="op">-</emphasis>2, 0						<emphasis role="comment">; create empty source table</emphasis>
+ifpos   <emphasis role="op">=</emphasis>  0
+ifrq    <emphasis role="op">=</emphasis>  ibsfrq
+inumh   <emphasis role="op">=</emphasis>  0
+<emphasis role="olabel">l1</emphasis><emphasis role="op">:</emphasis>
+        <emphasis role="opc">tableiw</emphasis> ibsfrq <emphasis role="op">/</emphasis> ifrq, ifpos, 1						<emphasis role="comment">; amplitude</emphasis>
+        <emphasis role="opc">tableiw</emphasis> ifrq, ifpos <emphasis role="op">+</emphasis> 1, 1						<emphasis role="comment">; frequency</emphasis>
+        <emphasis role="opc">tableiw</emphasis> 0, ifpos <emphasis role="op">+</emphasis> 2, 1							<emphasis role="comment">; phase</emphasis>
+ifpos   <emphasis role="op">=</emphasis>  ifpos <emphasis role="op">+</emphasis> 3
+ifrq    <emphasis role="op">=</emphasis>  ifrq <emphasis role="op">+</emphasis> ibsfrq <emphasis role="op">*</emphasis> 3
+inumh   <emphasis role="op">=</emphasis>  inumh <emphasis role="op">+</emphasis> 1
+        <emphasis role="octrl">if</emphasis> (ifrq <emphasis role="op"><</emphasis> (<emphasis role="ohdr">sr</emphasis> <emphasis role="op">*</emphasis> 0.5)) <emphasis role="octrl">igoto</emphasis> <emphasis role="olabel">l1</emphasis>
+
+itemp   <emphasis role="ohdr">ftgen</emphasis> 2, 0, 262144, <emphasis role="op">-</emphasis>33, 1, inumh, 1, <emphasis role="op">-</emphasis>1				<emphasis role="comment">; store output in ftable 2 (size = 262144)</emphasis>
+asig    <emphasis role="opc">poscil</emphasis> .5, ibsfrq, itemp
+        <emphasis role="opc">outs</emphasis> asig, asig 
+   
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 2 
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen34.csd.xml b/examples-xml/gen34.csd.xml
new file mode 100644
index 0000000..4c37432
--- /dev/null
+++ b/examples-xml/gen34.csd.xml
@@ -0,0 +1,48 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o gen34.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; partials 1, 4, 7, 10, 13, 16, etc. with base frequency of 400 Hz</emphasis>
+
+ibsfrq  <emphasis role="op">=</emphasis>  400										
+inumh   <emphasis role="op">=</emphasis>  <emphasis role="opc">int</emphasis>(1.5 <emphasis role="op">+</emphasis> <emphasis role="ohdr">sr</emphasis> <emphasis role="op">*</emphasis> 0.5 <emphasis role="op">/</emphasis> (3 <emphasis role="op">*</emphasis> ibsfrq))					<emphasis role="comment">; estimate number of partials			</emphasis>
+isrcln  <emphasis role="op">=</emphasis>  <emphasis role="opc">int</emphasis>(0.5 <emphasis role="op">+</emphasis> <emphasis role="opc">exp</emphasis>(<emphasis role="opc">log</emphasis>(2) <emphasis role="op">*</emphasis> <emphasis role="opc">int</emphasis>(1.01 <emphasis role="op">+</emphasis> <emphasis role="opc">log</emphasis>(inumh <emphasis role="op">*</emphasis> 3) <emphasis role="op">/</emphasis> <emphasis role="opc">log</emphasis>(2))))		<emphasis role="comment">; source table length</emphasis>
+itmp    <emphasis role="ohdr">ftgen</emphasis> 1, 0, isrcln, <emphasis role="op">-</emphasis>2, 0						<emphasis role="comment">; create empty source table</emphasis>
+ifpos   <emphasis role="op">=</emphasis>  0
+ifrq    <emphasis role="op">=</emphasis>  ibsfrq
+inumh   <emphasis role="op">=</emphasis>  0
+<emphasis role="olabel">l1</emphasis><emphasis role="op">:</emphasis>
+        <emphasis role="opc">tableiw</emphasis> ibsfrq <emphasis role="op">/</emphasis> ifrq, ifpos, 1						<emphasis role="comment">; amplitude</emphasis>
+        <emphasis role="opc">tableiw</emphasis> ifrq, ifpos <emphasis role="op">+</emphasis> 1, 1						<emphasis role="comment">; frequency</emphasis>
+        <emphasis role="opc">tableiw</emphasis> 0, ifpos <emphasis role="op">+</emphasis> 2, 1							<emphasis role="comment">; phase</emphasis>
+ifpos   <emphasis role="op">=</emphasis>  ifpos <emphasis role="op">+</emphasis> 3
+ifrq    <emphasis role="op">=</emphasis>  ifrq <emphasis role="op">+</emphasis> ibsfrq <emphasis role="op">*</emphasis> 3
+inumh   <emphasis role="op">=</emphasis>  inumh <emphasis role="op">+</emphasis> 1
+        <emphasis role="octrl">if</emphasis> (ifrq <emphasis role="op"><</emphasis> (<emphasis role="ohdr">sr</emphasis> <emphasis role="op">*</emphasis> 0.5)) <emphasis role="octrl">igoto</emphasis> <emphasis role="olabel">l1</emphasis>
+
+itmp    <emphasis role="ohdr">ftgen</emphasis> 2, 0, 262144, <emphasis role="op">-</emphasis>34, 1, inumh, 1, <emphasis role="op">-</emphasis>1				<emphasis role="comment">; store output in ftable 2 (size = 262144)</emphasis>
+asig    <emphasis role="opc">poscil</emphasis> .5, ibsfrq, itmp
+        <emphasis role="opc">outs</emphasis> asig, asig 
+   
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 2 
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen40.csd.xml b/examples-xml/gen40.csd.xml
new file mode 100644
index 0000000..becf7db
--- /dev/null
+++ b/examples-xml/gen40.csd.xml
@@ -0,0 +1,44 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o GEN40.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; every run time same values</emphasis>
+
+kuser <emphasis role="opc">cuserrnd</emphasis> 0, 100, 1
+      <emphasis role="opc">printk</emphasis> .2, kuser
+asig  <emphasis role="opc">poscil</emphasis> .5, 220<emphasis role="op">+</emphasis>kuser, 3
+      <emphasis role="opc">outs</emphasis> asig, asig
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">; every run time different values</emphasis>
+
+      <emphasis role="ohdr">seed</emphasis> 0
+kuser <emphasis role="opc">cuserrnd</emphasis> 0, 100, 1
+      <emphasis role="opc">printk</emphasis> .2, kuser
+asig  <emphasis role="opc">poscil</emphasis> .5, 220<emphasis role="op">+</emphasis>kuser, 3
+      <emphasis role="opc">outs</emphasis> asig, asig
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16 -7 1 4 0 8 0 4 1	<emphasis role="comment">;distrubution using GEN07</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 16384 40 1		<emphasis role="comment">;GEN40 is to be used with cuserrnd</emphasis>
+<emphasis role="stamnt">f</emphasis> 3 0 8192 10 1			<emphasis role="comment">;sine</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 2 3 2
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen41.csd.xml b/examples-xml/gen41.csd.xml
new file mode 100644
index 0000000..e755b56
--- /dev/null
+++ b/examples-xml/gen41.csd.xml
@@ -0,0 +1,35 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o GEN41.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+k1   <emphasis role="opc">duserrnd</emphasis> 1
+     <emphasis role="opc">printk</emphasis> 0, k1
+asig <emphasis role="opc">poscil</emphasis> .5, 220<emphasis role="op">*</emphasis>k1, 2
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 -20 -41  2 .1 8 .9	<emphasis role="comment">;choose 2 at 10% probability, 8 at 90%</emphasis>
+
+<emphasis role="stamnt">f</emphasis>2 0 8192 10 1
+
+<emphasis role="stamnt">i</emphasis>1 0 2
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen42.csd.xml b/examples-xml/gen42.csd.xml
new file mode 100644
index 0000000..3922db6
--- /dev/null
+++ b/examples-xml/gen42.csd.xml
@@ -0,0 +1,51 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o GEN42.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1 
+
+ktab  <emphasis role="op">=</emphasis> 1			<emphasis role="comment">;ftable 1</emphasis>
+kurd  <emphasis role="op">=</emphasis> <emphasis role="opc">urd</emphasis>(ktab) 
+ktrig <emphasis role="opc">metro</emphasis> 5			<emphasis role="comment">;triggers 5 times per second</emphasis>
+kres  <emphasis role="opc">samphold</emphasis> kurd, ktrig	<emphasis role="comment">;sample and hold value of kurd</emphasis>
+      <emphasis role="opc">printk2</emphasis> kres		<emphasis role="comment">;print it</emphasis>
+asig  <emphasis role="opc">poscil</emphasis> .5, 220<emphasis role="op">+</emphasis>kres, 2
+      <emphasis role="opc">outs</emphasis> asig, asig
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+
+<emphasis role="ohdr">seed</emphasis> 0	<emphasis role="comment">;every run new values</emphasis>
+
+ktab  <emphasis role="op">=</emphasis> 1 			<emphasis role="comment">;ftable 1</emphasis>
+kurd  <emphasis role="op">=</emphasis> <emphasis role="opc">urd</emphasis>(ktab) 
+ktrig <emphasis role="opc">metro</emphasis> 5			<emphasis role="comment">;triggers 5 times per second</emphasis>
+kres  <emphasis role="opc">samphold</emphasis> kurd, ktrig	<emphasis role="comment">;sample and hold value of kurd</emphasis>
+      <emphasis role="opc">printk2</emphasis> kres		<emphasis role="comment">;print it</emphasis>
+asig  <emphasis role="opc">poscil</emphasis> .5, 220<emphasis role="op">+</emphasis>kres, 2
+      <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 -20 -42  10 20 .3 100 200 .7 <emphasis role="comment">;30% choose between 10 and 20 and 70% between 100 and 200</emphasis>
+<emphasis role="stamnt">f</emphasis>2 0 8192 10 1			  <emphasis role="comment">;sine wave</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 5
+<emphasis role="stamnt">i</emphasis> 2 6 5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen49.csd.xml b/examples-xml/gen49.csd.xml
index b0f1a7c..fc10524 100644
--- a/examples-xml/gen49.csd.xml
+++ b/examples-xml/gen49.csd.xml
@@ -2,42 +2,31 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o gen01.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">; -o gen49.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-   kamp <emphasis role="op">=</emphasis> 30000
-   kcps <emphasis role="op">=</emphasis> 1
-   ifn <emphasis role="op">=</emphasis> 1
 
-   <emphasis role="comment">; Play the audio sample stored in Table #1.</emphasis>
-   a1 <emphasis role="opc">oscil</emphasis> kamp, kcps, ifn
-   <emphasis role="opc">out</emphasis> a1
+kcps <emphasis role="op">=</emphasis> <emphasis role="ohdr">sr</emphasis><emphasis role="op">/</emphasis><emphasis role="opc">ftlen</emphasis>(1)
+asig <emphasis role="opc">oscil</emphasis> .8, kcps, 1
+   <emphasis role="opc">outs</emphasis> asig, asig
+   
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 131072 49 "beats.mp3" 0 1	<emphasis role="comment">;read an audio file (using GEN49).</emphasis>
 
-<emphasis role="comment">; Table #1: read an audio file (using GEN49).</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 131072 49 "beats.mp3" 0 1
-
-<emphasis role="comment">; Play Instrument #1 for 2 seconds.</emphasis>
 <emphasis role="stamnt">i</emphasis> 1 0 2
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen51.csd.xml b/examples-xml/gen51.csd.xml
new file mode 100644
index 0000000..7db155e
--- /dev/null
+++ b/examples-xml/gen51.csd.xml
@@ -0,0 +1,60 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+ 
+<emphasis role="comment">; Select audio/midi flags here according to platform </emphasis>
+-odac   -M0    <emphasis role="comment">;;;realtime audio out and midi input</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too </emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below: </emphasis>
+<emphasis role="comment">; -o gen51.wav -W ;;; for file output any platform </emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+ 
+<emphasis role="comment">;example by Iain McCurdy</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+
+giEqTmp12	<emphasis role="ohdr">ftgen</emphasis>	1,0,128,<emphasis role="op">-</emphasis>51,12,2,cpsoct(8),60,1,2^(1<emphasis role="op">/</emphasis>12),2^(2<emphasis role="op">/</emphasis>12),2^(3<emphasis role="op">/</emphasis>12),2^(4<emphasis role="op">/</emphasis>12),2^(5<emphasis role="op">/</emphasis>12),2^(6<emphasis role="op">/</emphasis>12),2^(7<emphasis role="op">/</emphasis>12),2^(8<emphasis role="op">/</emphasis>12),2^(9<emphasis role="op">/</emphasis>12),2^(10<emphasis role="op">/</emphasis>12),2^(11<emphasis role="op">/</emphasis>12),2^(12<emphasis role="op">/</emphasis>12)
+giEqTmp10	<emphasis role="ohdr">ftgen</emphasis>	2,0,128,<emphasis role="op">-</emphasis>51,10,2,cpsoct(8),60,1,2^(1<emphasis role="op">/</emphasis>10),2^(2<emphasis role="op">/</emphasis>10),2^(3<emphasis role="op">/</emphasis>10),2^(4<emphasis role="op">/</emphasis>10),2^(5<emphasis role="op">/</emphasis>10),2^(6<emphasis role="op">/</emphasis>10),2^(7<emphasis role="op">/</emphasis>10),2^(8<emphasis role="op">/</emphasis>10),2^(9<emphasis role="op">/</emphasis>10),2^(10<emphasis role="op">/</emphasis>10)
+giEqTmp24	<emphasis role="ohdr">ftgen</emphasis>	3,0,128,<emphasis role="op">-</emphasis>51,24,2,cpsoct(8),60,1,2^(1<emphasis role="op">/</emphasis>24),2^(2<emphasis role="op">/</emphasis>24),2^(3<emphasis role="op">/</emphasis>24),2^(4<emphasis role="op">/</emphasis>24),2^(5<emphasis role="op">/</emphasis>24),2^(6<emphasis role="op">/</emphasis>24),2^(7<emphasis role="op">/</emphasis>24),2^(8<emphasis role="op">/</emphasis>24),2^(9<emphasis role="op">/</emphasis>24),2^(10<emphasis role="op">/</emphasis>24),2^(11<emphasis role="op">/</emphasis>24), \ 2^(12<emphasis role="op">/</emphasis>24),2^(13<emphasis role="op">/</emphasis>24),2^(14<emphasis role="op">/</emphasis>24),2^(15<emphasis role="op">/</emphasis>24),2^(16<emphasis role="op">/</emphasis>24),2^(17<emphasis role="op">/</emphasis>24),2^(18<emphasis role="op">/</emphasis>24),2^(19<emphasis role="op">/</emphasis>24),2^(20<emphasis role="op">/</emphasis>24),2^(21<emphasis role="op">/</emphasis>24),2^(22<emphasis role="op">/</emphasis>24),2^(23<emphasis role="op">/</emphasis>24),2^(24<emphasis role="op">/</emphasis>24)
+
+<emphasis role="oblock">instr</emphasis>	1	<emphasis role="comment">;midi input instrument</emphasis>
+	<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis>USE PITCH BEND TO MODULATE NOTE NUMBER UP OR DOWN ONE STEP <emphasis role="op">-</emphasis> ACTUAL INTERVAL IT WILL MODULATE BY WILL BE DEPENDENT UPON THE GEN51 SCALE USED<emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+	<emphasis role="comment">;kbend	pchbend	0,2</emphasis>
+	
+	<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis>ALTERNATIVELY IF USING VIRTUAL MIDI DEVICE OR A KEYBOARD WITH NO PITCH BEND WHEEL, USE CONTROLLERS 1 AND 2 TO MODULATE PITCH UP OR DOWN 1 STEP<emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+kup	<emphasis role="opc">ctrl7</emphasis>	1, 1, 0, 1
+kdown	<emphasis role="opc">ctrl7</emphasis>	1, 2, 0, <emphasis role="op">-</emphasis>1
+kbend	<emphasis role="op">=</emphasis>	kup<emphasis role="op">+</emphasis>kdown
+	
+inum	<emphasis role="opc">notnum</emphasis>
+kcps	<emphasis role="opc">tablei</emphasis>	inum<emphasis role="op">+</emphasis>kbend, giEqTmp24	<emphasis role="comment">;read cps values from GEN51, scale table using a combination of note played and pitch bend/controllers 1 and 2</emphasis>
+a1	<emphasis role="opc">vco2</emphasis>	0.2, kcps, 4, 0.5
+	<emphasis role="opc">outs</emphasis>	a1, a1
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis>	2	<emphasis role="comment">;score input instrument</emphasis>
+
+knum	<emphasis role="opc">line</emphasis>	p4, p3, p5		<emphasis role="comment">;gliss using a straight line bewteen p4 and p5 for the entire note duration</emphasis>
+kcps	<emphasis role="opc">tablei</emphasis>	knum, giEqTmp24		<emphasis role="comment">;read cps values from GEN51 scale table</emphasis>
+a1	<emphasis role="opc">vco2</emphasis>	0.2, kcps, 4, 0.5	
+	<emphasis role="opc">outs</emphasis>	a1, a1
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 0 3600
+
+<emphasis role="comment">;instr 2. Score input. Gliss from step number p4 to step number p5</emphasis>
+<emphasis role="comment">;p4 - starting note number</emphasis>
+<emphasis role="comment">;p5 - ending note number</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 0 2 60    61
+<emphasis role="stamnt">i</emphasis> 2 + 2 70    58
+<emphasis role="stamnt">i</emphasis> 2 + 2 66    66.5
+<emphasis role="stamnt">i</emphasis> 2 + 2 71.25 71
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gen52.csd.xml b/examples-xml/gen52.csd.xml
new file mode 100644
index 0000000..016f8df
--- /dev/null
+++ b/examples-xml/gen52.csd.xml
@@ -0,0 +1,93 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o gen52.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+garvb   <emphasis role="opc">init</emphasis> 0
+gaW     <emphasis role="opc">init</emphasis> 0
+gaX     <emphasis role="opc">init</emphasis> 0
+gaY     <emphasis role="opc">init</emphasis> 0
+
+itmp    <emphasis role="ohdr">ftgen</emphasis>  1, 0, 64, <emphasis role="op">-</emphasis>2, 2, 40, <emphasis role="op">-</emphasis>1, <emphasis role="op">-</emphasis>1, <emphasis role="op">-</emphasis>1, 123,           \
+               1, 13.000, 0.05, 0.85, 20000.0, 0.0, 0.50, 2,   \
+               1,  2.000, 0.05, 0.85, 20000.0, 0.0, 0.25, 2,   \
+               1, 16.000, 0.05, 0.85, 20000.0, 0.0, 0.35, 2,   \
+               1,  9.000, 0.05, 0.85, 20000.0, 0.0, 0.35, 2,   \
+               1, 12.000, 0.05, 0.85, 20000.0, 0.0, 0.35, 2,   \
+               1,  8.000, 0.05, 0.85, 20000.0, 0.0, 0.35, 2
+
+itmp    <emphasis role="ohdr">ftgen</emphasis> 2, 0, 262144, <emphasis role="op">-</emphasis>2, 0
+        <emphasis role="opc">spat3dt</emphasis> 2, <emphasis role="op">-</emphasis>0.2, 1, 0, 1, 1, 2, 0.005
+
+itmp    <emphasis role="ohdr">ftgen</emphasis> 3, 0, 262144, <emphasis role="op">-</emphasis>52, 3, 2, 0, 4, 2, 1, 4, 2, 2, 4
+
+<emphasis role="oblock">instr</emphasis> 1
+
+a1      <emphasis role="opc">vco2</emphasis> 1, 440, 10
+kfrq    <emphasis role="opc">port</emphasis> 100, 0.008, 20000
+a1      <emphasis role="opc">butterlp</emphasis> a1, kfrq
+a2      <emphasis role="opc">linseg</emphasis> 0, 0.003, 1, 0.01, 0.7, 0.005, 0, 1, 0
+a1      <emphasis role="op">=</emphasis>  a1 <emphasis role="op">*</emphasis> a2 <emphasis role="op">*</emphasis> 2
+        <emphasis role="opc">denorm</emphasis> a1
+        <emphasis role="opc">vincr</emphasis> garvb, a1
+aw, ax, ay, az  <emphasis role="opc">spat3di</emphasis> a1, p4, p5, p6, 1, 1, 2
+        <emphasis role="opc">vincr</emphasis> gaW, aw
+        <emphasis role="opc">vincr</emphasis> gaX, ax
+        <emphasis role="opc">vincr</emphasis> gaY, ay
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+
+       <emphasis role="opc">denorm</emphasis> garvb
+<emphasis role="comment">; skip as many samples as possible without truncating the IR</emphasis>
+arW, arX, arY   <emphasis role="opc">ftconv</emphasis> garvb, 3, 2048, 2048, (65536 <emphasis role="op">-</emphasis> 2048)
+aW      <emphasis role="op">=</emphasis>  gaW <emphasis role="op">+</emphasis> arW
+aX      <emphasis role="op">=</emphasis>  gaX <emphasis role="op">+</emphasis> arX
+aY      <emphasis role="op">=</emphasis>  gaY <emphasis role="op">+</emphasis> arY
+garvb   <emphasis role="op">=</emphasis>  0
+gaW     <emphasis role="op">=</emphasis>  0
+gaX     <emphasis role="op">=</emphasis>  0
+gaY     <emphasis role="op">=</emphasis>  0
+
+aWre, aWim      <emphasis role="opc">hilbert</emphasis> aW
+aXre, aXim      <emphasis role="opc">hilbert</emphasis> aX
+aYre, aYim      <emphasis role="opc">hilbert</emphasis> aY
+aWXr    <emphasis role="op">=</emphasis>  0.0928<emphasis role="op">*</emphasis>aXre <emphasis role="op">+</emphasis> 0.4699<emphasis role="op">*</emphasis>aWre
+aWXiYr  <emphasis role="op">=</emphasis>  0.2550<emphasis role="op">*</emphasis>aXim <emphasis role="op">-</emphasis> 0.1710<emphasis role="op">*</emphasis>aWim <emphasis role="op">+</emphasis> 0.3277<emphasis role="op">*</emphasis>aYre
+aL      <emphasis role="op">=</emphasis>  aWXr <emphasis role="op">+</emphasis> aWXiYr
+aR      <emphasis role="op">=</emphasis>  aWXr <emphasis role="op">-</emphasis> aWXiYr
+
+       <emphasis role="opc">outs</emphasis> aL, aR
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 0.5  0.0  2.0 -0.8
+<emphasis role="stamnt">i</emphasis> 1 1 0.5  1.4  1.4 -0.6
+<emphasis role="stamnt">i</emphasis> 1 2 0.5  2.0  0.0 -0.4
+<emphasis role="stamnt">i</emphasis> 1 3 0.5  1.4 -1.4 -0.2
+<emphasis role="stamnt">i</emphasis> 1 4 0.5  0.0 -2.0  0.0
+<emphasis role="stamnt">i</emphasis> 1 5 0.5 -1.4 -1.4  0.2
+<emphasis role="stamnt">i</emphasis> 1 6 0.5 -2.0  0.0  0.4
+<emphasis role="stamnt">i</emphasis> 1 7 0.5 -1.4  1.4  0.6
+<emphasis role="stamnt">i</emphasis> 1 8 0.5  0.0  2.0  0.8
+<emphasis role="stamnt">i</emphasis> 2 0 10
+<emphasis role="stamnt">e</emphasis>
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/genarray.csd.xml b/examples-xml/genarray.csd.xml
new file mode 100644
index 0000000..2b9b316
--- /dev/null
+++ b/examples-xml/genarray.csd.xml
@@ -0,0 +1,44 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-n
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+<emphasis role="comment">;create and fill two arrays</emphasis>
+iArr1[] <emphasis role="opc">genarray</emphasis> 1, 6
+iArr2[] <emphasis role="opc">genarray</emphasis> 1, 6, 2<emphasis role="op">/</emphasis>3
+
+<emphasis role="comment">;print the content of iArr1</emphasis>
+        <emphasis role="opc">printf</emphasis>  "<emphasis role="op">%</emphasis>s", 1, "iArr1<emphasis role="op">:</emphasis> start<emphasis role="op">=</emphasis>1, end<emphasis role="op">=</emphasis>6, step<emphasis role="op">=</emphasis>default\n"
+kndx    <emphasis role="op">=</emphasis>       0
+  until kndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(iArr1) do
+        <emphasis role="opc">printf</emphasis>  "iArr[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kndx<emphasis role="op">+</emphasis>1, kndx, iArr1[kndx]
+kndx    <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>      1
+  od
+
+<emphasis role="comment">;print the content of iArr2</emphasis>
+        <emphasis role="opc">printf</emphasis>  "<emphasis role="op">%</emphasis>s", 1, "iArr2<emphasis role="op">:</emphasis> start<emphasis role="op">=</emphasis>1, end<emphasis role="op">=</emphasis>6, step<emphasis role="op">=</emphasis>2<emphasis role="op">/</emphasis>3\n"
+kndx    <emphasis role="op">=</emphasis>       0
+  until kndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(iArr2) do
+        <emphasis role="opc">printf</emphasis>  "iArr[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kndx<emphasis role="op">+</emphasis>1, kndx, iArr2[kndx]
+kndx    <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>      1
+  od
+
+        <emphasis role="opc">turnoff</emphasis>
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/genarray_i.csd.xml b/examples-xml/genarray_i.csd.xml
new file mode 100644
index 0000000..44ec651
--- /dev/null
+++ b/examples-xml/genarray_i.csd.xml
@@ -0,0 +1,44 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-n
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+<emphasis role="comment">;create and fill two arrays</emphasis>
+kArr1[] <emphasis role="opc">genarray_i</emphasis> 1, 6
+kArr2[] <emphasis role="opc">genarray_i</emphasis> 1, 6, 2<emphasis role="op">/</emphasis>3
+
+<emphasis role="comment">;print the content of kArr1</emphasis>
+        <emphasis role="opc">printf</emphasis>  "<emphasis role="op">%</emphasis>s", 1, "kArr1<emphasis role="op">:</emphasis> start<emphasis role="op">=</emphasis>1, end<emphasis role="op">=</emphasis>6, step<emphasis role="op">=</emphasis>default\n"
+kndx    <emphasis role="op">=</emphasis>       0
+  until kndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(kArr1) do
+        <emphasis role="opc">printf</emphasis>  "kArr[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kndx<emphasis role="op">+</emphasis>1, kndx, kArr1[kndx]
+kndx    <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>      1
+  od
+
+<emphasis role="comment">;print the content of kArr2</emphasis>
+        <emphasis role="opc">printf</emphasis>  "<emphasis role="op">%</emphasis>s", 1, "kArr2<emphasis role="op">:</emphasis> start<emphasis role="op">=</emphasis>1, end<emphasis role="op">=</emphasis>6, step<emphasis role="op">=</emphasis>2<emphasis role="op">/</emphasis>3\n"
+kndx    <emphasis role="op">=</emphasis>       0
+  until kndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(kArr2) do
+        <emphasis role="opc">printf</emphasis>  "kArr[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kndx<emphasis role="op">+</emphasis>1, kndx, kArr2[kndx]
+kndx    <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>      1
+  od
+
+        <emphasis role="opc">turnoff</emphasis>
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gendy-2.csd.xml b/examples-xml/gendy-2.csd.xml
new file mode 100644
index 0000000..d13c954
--- /dev/null
+++ b/examples-xml/gendy-2.csd.xml
@@ -0,0 +1,38 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o oscil.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kenv <emphasis role="opc">expseg</emphasis> 0.01, p3<emphasis role="op">*</emphasis>0.1, 1, p3<emphasis role="op">*</emphasis>0.8, 1, p3<emphasis role="op">*</emphasis>0.1, 0.001
+kosc <emphasis role="opc">oscil</emphasis> 0.1, 3<emphasis role="op">/</emphasis>p3, 1
+<emphasis role="ohdr">seed</emphasis> 20120123
+kdis <emphasis role="opc">bexprnd</emphasis> kosc
+knum <emphasis role="opc">linseg</emphasis> 3, p3<emphasis role="op">*</emphasis>0.75, 10, p3<emphasis role="op">*</emphasis>0.20, 12, p3<emphasis role="op">*</emphasis>0.05, 5
+asig <emphasis role="opc">gendy</emphasis> 0.2, kosc<emphasis role="op">*</emphasis>60, 6, 0.7, kdis, 500<emphasis role="op">*</emphasis>kenv, 4800, 0.23, 0.3, 12, knum
+aflt <emphasis role="opc">resonz</emphasis> asig, 1400, 400
+aout <emphasis role="opc">comb</emphasis> kenv<emphasis role="op">*</emphasis>aflt<emphasis role="op">*</emphasis>0.1, 0.9, 0.1
+<emphasis role="opc">outs</emphasis> aout, aout
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 8192 10 1 0 .8 0 0 .3 0 0 0 .1
+
+<emphasis role="stamnt">i</emphasis>1 0 20
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gendy.csd.xml b/examples-xml/gendy.csd.xml
new file mode 100644
index 0000000..eb21cd5
--- /dev/null
+++ b/examples-xml/gendy.csd.xml
@@ -0,0 +1,29 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o oscil.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+aout <emphasis role="opc">gendy</emphasis> 0.7, 1, 1, 1, 1, 20, 1000, 0.5, 0.5
+<emphasis role="opc">outs</emphasis> aout, aout
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 10
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gendyc.csd.xml b/examples-xml/gendyc.csd.xml
new file mode 100644
index 0000000..2c67d89
--- /dev/null
+++ b/examples-xml/gendyc.csd.xml
@@ -0,0 +1,29 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o oscil.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+aout <emphasis role="opc">gendyc</emphasis> 0.5, 1, 1, 1, 1, 220, 440, 0.5, 0.5
+<emphasis role="opc">outs</emphasis> aout, aout
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 10
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gendyx-2.csd.xml b/examples-xml/gendyx-2.csd.xml
new file mode 100644
index 0000000..1b12bcf
--- /dev/null
+++ b/examples-xml/gendyx-2.csd.xml
@@ -0,0 +1,32 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o oscil.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+kenv <emphasis role="opc">expseg</emphasis> 0.001, p3<emphasis role="op">*</emphasis>0.05, 0.5, p3<emphasis role="op">*</emphasis>0.9, 0.5, p3<emphasis role="op">*</emphasis>0.05, 0.001
+kc1  <emphasis role="opc">linseg</emphasis> 1, p3<emphasis role="op">/</emphasis>2, 12, p3<emphasis role="op">/</emphasis>2, 3
+kc2  <emphasis role="opc">random</emphasis> 0, 4
+<emphasis role="ohdr">seed</emphasis> 20120124
+asig <emphasis role="opc">gendyx</emphasis> kenv, 1, 3, 0.7, 0.8, 120, 4300, 0.2, 0.7, kc1, kc2, 12, kc1
+aout <emphasis role="opc">dcblock</emphasis> asig
+<emphasis role="opc">outs</emphasis> aout, aout
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 20
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gendyx.csd.xml b/examples-xml/gendyx.csd.xml
new file mode 100644
index 0000000..d04c1b5
--- /dev/null
+++ b/examples-xml/gendyx.csd.xml
@@ -0,0 +1,29 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o oscil.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+aout <emphasis role="opc">gendyx</emphasis> 0.7, 1, 1, 1, 1, 20, 1000, 0.5, 0.5, 4, 0.13
+<emphasis role="opc">outs</emphasis> aout, aout
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 10
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/genexp.csd.xml b/examples-xml/genexp.csd.xml
index 5bdcca0..859a3a2 100644
--- a/examples-xml/genexp.csd.xml
+++ b/examples-xml/genexp.csd.xml
@@ -2,44 +2,39 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o gen01.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">; -o genexp.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-   kamp <emphasis role="op">=</emphasis> 30000
-   ifn <emphasis role="op">=</emphasis> 2
-   ibas <emphasis role="op">=</emphasis> 1
-
-   <emphasis role="comment">; Play the audio sample stored in Table #1.</emphasis>
-   k1 <emphasis role="opc">oscil</emphasis> 1, 10, 1
-   a1 <emphasis role="opc">oscil</emphasis> kamp<emphasis role="op">*</emphasis>k1, 440, ifn
-   <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
 
+aswp	<emphasis role="opc">linseg</emphasis>	0.01, p3<emphasis role="op">*</emphasis>.5, .49, p3<emphasis role="op">*</emphasis>.5, 0.01		<emphasis role="comment">;index sweep function</emphasis>
+aindex	<emphasis role="opc">poscil</emphasis>	aswp, 110, 1				<emphasis role="comment">;sound to waveshape</emphasis>
+atable	<emphasis role="opc">tablei</emphasis>	aindex, p4, 1, .5			<emphasis role="comment">;waveshape index</emphasis>
+aenv	<emphasis role="opc">linen</emphasis>	0.8, .01, p3, .02			<emphasis role="comment">;amplitude envelope</emphasis>
+asig	<emphasis role="op">=</emphasis> (atable<emphasis role="op">*</emphasis>aenv)<emphasis role="op">*</emphasis>p5				<emphasis role="comment">;impose envelope and scale</emphasis>
+asig    <emphasis role="opc">dcblock2</emphasis> asig					<emphasis role="comment">;get rid of DC</emphasis>
+	<emphasis role="opc">outs</emphasis>    asig, asig
 
+<emphasis role="oblock">endin</emphasis>		
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 8192 10 1	<emphasis role="comment">;sine wave</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 8192 "exp" 0 15 0
+<emphasis role="stamnt">f</emphasis> 3 0 8192 "exp" 0 3 0
 
-<emphasis role="comment">; Table #1: read an audio file (using GEN01).</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 131072 "exp" 0 10 0
-<emphasis role="stamnt">f</emphasis> 2 0 8192 10 1
+<emphasis role="stamnt">i</emphasis>1 0 3 2 2
+<emphasis role="stamnt">i</emphasis>1 + 3 3 3
 
-<emphasis role="comment">; Play Instrument #1 for 2 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/genfarey-2.csd.xml b/examples-xml/genfarey-2.csd.xml
new file mode 100644
index 0000000..f4ebf8f
--- /dev/null
+++ b/examples-xml/genfarey-2.csd.xml
@@ -0,0 +1,99 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc for RT audio input as well </emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o genfarey.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="comment">; GENfarey creates table gidelta. </emphasis>
+<emphasis role="comment">; The table contains the delta values of Farey Sequence 7 (p5=7).</emphasis>
+<emphasis role="comment">; They are used as Inter Onset Intervals (IOIs) or event durations.</emphasis>
+<emphasis role="comment">; If p6 is set to 1 for IOI output then the length of the table (p3=-18) is -(|F_7| - 1)</emphasis>
+<emphasis role="comment">; Remember that a negative sign is for non-power-of-2 table lengths.</emphasis>
+<emphasis role="comment">; The negative sign in front of the GEN number prevents post-normalisation of its values.</emphasis>
+
+gidelta <emphasis role="ohdr">ftgen</emphasis> 0,0,<emphasis role="op">-</emphasis>18,"farey",7,1
+
+<emphasis role="comment">; Use GENfarey with p6 set to 2 to generate the denominators of fractions of F_7 </emphasis>
+<emphasis role="comment">; this is used in this example as factors to create a series of pitches:</emphasis>
+gimult <emphasis role="ohdr">ftgen</emphasis> 0,0,<emphasis role="op">-</emphasis>18,"farey",7,2
+
+<emphasis role="comment">;-------- loop and trigger instrument 901 using a Farey Sequence polyrhythm</emphasis>
+	  <emphasis role="oblock">instr</emphasis> 1
+kindx <emphasis role="opc">init</emphasis> 0
+kindx2 <emphasis role="opc">init</emphasis> 0
+ktrigger <emphasis role="opc">init</emphasis> 0
+ktime_unit <emphasis role="opc">init</emphasis> p6
+kstart <emphasis role="opc">init</emphasis> p4
+kloop <emphasis role="opc">init</emphasis> p5
+kinitndx <emphasis role="opc">init</emphasis> 0
+kfn_times <emphasis role="opc">init</emphasis> gidelta
+knote <emphasis role="opc">init</emphasis> 60
+kbasenote <emphasis role="opc">init</emphasis> p8
+ifundam <emphasis role="opc">init</emphasis> p7
+ktrigger <emphasis role="opc">seqtime</emphasis> ktime_unit, kstart, kloop, kinitndx, kfn_times
+  <emphasis role="octrl">if</emphasis> (ktrigger <emphasis role="op">></emphasis> 0 ) then
+     kpitch <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(ifundam)
+     kmult <emphasis role="opc">tab</emphasis> kindx2, gimult
+     kpitch <emphasis role="op">=</emphasis> kpitch <emphasis role="op">*</emphasis> kmult
+     knote <emphasis role="op">=</emphasis> kbasenote <emphasis role="op">+</emphasis> kmult
+     <emphasis role="opc">event</emphasis> "i", 901,   0,   .4, .10, kpitch, kpitch <emphasis role="op">*</emphasis> .9, 0.4,  5,   .75, .8,  1.0, .15, .0,  .125, .125, .25, .5,  1.0, .0, .0,  .0,  .0,  .125, .25, .25, .25, knote
+     kindx <emphasis role="op">=</emphasis> kindx <emphasis role="op">+</emphasis> 1
+     kindx <emphasis role="op">=</emphasis> kindx <emphasis role="op">%</emphasis> kloop
+     kindx2 <emphasis role="op">=</emphasis> kindx2 <emphasis role="op">+</emphasis> 1
+     kindx2 <emphasis role="op">=</emphasis> kindx2 <emphasis role="op">%</emphasis> kloop
+  <emphasis role="octrl">endif</emphasis>
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="comment">;------ basic 2 Operators FM algorithm ----------------</emphasis>
+	<emphasis role="oblock">instr</emphasis> 901
+inotedur	<emphasis role="op">=</emphasis>		p3
+imaxamp		<emphasis role="op">=</emphasis>		p4 <emphasis role="comment">;ampdb(p4)</emphasis>
+icarrfreq	<emphasis role="op">=</emphasis>		p5
+imodfreq	<emphasis role="op">=</emphasis>		p6
+ilowndx		<emphasis role="op">=</emphasis>		p7
+indxdiff	<emphasis role="op">=</emphasis>		p8<emphasis role="op">-</emphasis>p7
+knote	        <emphasis role="op">=</emphasis>		p27
+aampenv		<emphasis role="opc">linseg</emphasis>	p9, p14<emphasis role="op">*</emphasis>p3, p10, p15<emphasis role="op">*</emphasis>p3, p11, p16<emphasis role="op">*</emphasis>p3, p12, p17<emphasis role="op">*</emphasis>p3, p13 
+adevenv		<emphasis role="opc">linseg</emphasis>	p18, p23<emphasis role="op">*</emphasis>p3, p19, p24<emphasis role="op">*</emphasis>p3, p20, p25<emphasis role="op">*</emphasis>p3, p21, p26<emphasis role="op">*</emphasis>p3, p22
+amodosc		<emphasis role="opc">oscili</emphasis>	(ilowndx<emphasis role="op">+</emphasis>indxdiff<emphasis role="op">*</emphasis>adevenv)<emphasis role="op">*</emphasis>imodfreq, imodfreq, 10 
+acarosc		<emphasis role="opc">oscili</emphasis>	imaxamp<emphasis role="op">*</emphasis>aampenv, icarrfreq<emphasis role="op">+</emphasis>amodosc, 10 
+		<emphasis role="opc">outs</emphasis>		acarosc, acarosc  
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>10 0 4096 10 1	<emphasis role="comment">;sine wave			</emphasis>
+<emphasis role="comment">; p4 kstart  := index offset into the Farey Sequence</emphasis>
+<emphasis role="comment">; p5 kloop   := end index into Farey Seq.</emphasis>
+<emphasis role="comment">; p6 timefac := time in seconds for one loop to complete</emphasis>
+<emphasis role="comment">; p7 fundam  := fundamental of the FM instrument</emphasis>
+<emphasis role="comment">; p8 basenote:= root pitch of the midi voice output</emphasis>
+<emphasis role="comment">; note that pitch structures of the midi file output are not equivalent to the</emphasis>
+<emphasis role="comment">; ones used for the FM real-time synthesis.</emphasis>
+
+<emphasis role="comment">;	start		dur		kstart	kloop   timefac	fundam. basenote</emphasis>
+<emphasis role="stamnt">i</emphasis>1	0.0		44		0 	18	2	6.05	60
+<emphasis role="stamnt">i</emphasis>1	4		30		0 	18	3	7.05	72
+<emphasis role="stamnt">i</emphasis>1	34		12		9 	18	3	7.05	72
+<emphasis role="stamnt">i</emphasis>1	10		12		0 	18	1.5	8	84
+<emphasis role="stamnt">i</emphasis>1	22		12		0 	9	1.5	8	84
+<emphasis role="stamnt">i</emphasis>1	15		16		0	18	1	5	48
+<emphasis role="stamnt">i</emphasis>1	22		20		5	17	1.7	4	36
+
+<emphasis role="stamnt">i</emphasis>1	46		20		3 	11	2.5	7.04	71
+<emphasis role="stamnt">i</emphasis>1	51		20		5 	13	2.5	7.06	72
+
+<emphasis role="stamnt">i</emphasis>1	73.5		1.5		11	18	1.5	5.05	48
+<emphasis role="stamnt">i</emphasis>1	75		1		12	18	1	6.03	58	
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gensone.csd.xml b/examples-xml/gensone.csd.xml
index 89bf956..89b1280 100644
--- a/examples-xml/gensone.csd.xml
+++ b/examples-xml/gensone.csd.xml
@@ -2,51 +2,56 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   </emphasis>
--odac           -iadc         <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o linseg.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">; -o gensone.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1 Simple oscillator with loudness correction.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; p4 = frequency in pitch-class notation.</emphasis>
-  kcps <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p4)
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; simple oscillator with loudness correction. </emphasis>
 
-  <emphasis role="comment">; Create an amplitude envelope.</emphasis>
-  kenv <emphasis role="opc">linseg</emphasis> 0, p3<emphasis role="op">*</emphasis>0.25, 1, p3<emphasis role="op">*</emphasis>0.75, 0
-  kamp <emphasis role="opc">tablei</emphasis> 16384<emphasis role="op">*</emphasis>kenv, 2
+kcps <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p4) 
+kenv <emphasis role="opc">linseg</emphasis> 0, p3<emphasis role="op">*</emphasis>0.25, 1, p3<emphasis role="op">*</emphasis>0.75, 0	<emphasis role="comment">;amplitude envelope</emphasis>
+kamp <emphasis role="opc">tablei</emphasis> 16384 <emphasis role="op">*</emphasis>kenv, 2 
+asig <emphasis role="opc">oscil</emphasis> kamp, kcps, 1
+     <emphasis role="opc">outs</emphasis> asig, asig
+  
+<emphasis role="oblock">endin</emphasis> 
 
-  a1 <emphasis role="opc">oscil</emphasis> 30000<emphasis role="op">*</emphasis>kamp, kcps, 1
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">;neutral oscillator to compare with</emphasis>
 
+kcps <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p4)  
+kenv <emphasis role="opc">linseg</emphasis> 0, p3<emphasis role="op">*</emphasis>0.25, 1, p3<emphasis role="op">*</emphasis>0.75, 0	<emphasis role="comment">;amplitude envelope</emphasis>
+asig <emphasis role="opc">oscil</emphasis> kenv, kcps, 1
+     <emphasis role="opc">outs</emphasis> asig, asig
+  
+<emphasis role="oblock">endin</emphasis> 
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-<emphasis role="stamnt">f</emphasis> 2 0 16384 "sone" 1 32000 32000 0
-
-<emphasis role="comment">; Play Instrument #1 for a half-second, p4=8.00</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 0.5 8.00
-<emphasis role="comment">; Play Instrument #1 for a half-second, p4=8.01</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 1 0.5 8.01
-<emphasis role="comment">; Play Instrument #1 for a half-second, p4=8.02</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 2 0.5 8.02
-<emphasis role="comment">; Play Instrument #1 for a half-second, p4=8.03</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 3 0.5 8.03
-<emphasis role="stamnt">e</emphasis>
-
-
+ 
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1 	<emphasis role="comment">;sine wave</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 16385 "sone" 0 32000 32000 0 
+
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">f</emphasis> 0 1	<emphasis role="comment">;1 second of silence before we start...</emphasis>
+<emphasis role="stamnt">s</emphasis> 
+<emphasis role="stamnt">i</emphasis> 1 0 2 7.00 
+<emphasis role="stamnt">i</emphasis> 1 + . 7.01 
+<emphasis role="stamnt">i</emphasis> 1 + . 8.02 
+<emphasis role="stamnt">i</emphasis> 1 + . 8.03 
+<emphasis role="stamnt">s</emphasis> 
+<emphasis role="stamnt">i</emphasis> 2 0 2 7.00 
+<emphasis role="stamnt">i</emphasis> 2 + . 7.01 
+<emphasis role="stamnt">i</emphasis> 2 + . 8.02 
+<emphasis role="stamnt">i</emphasis> 2 + . 8.03 
+<emphasis role="stamnt">e</emphasis> 
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/gentanh.csd.xml b/examples-xml/gentanh.csd.xml
index 4739a25..1c6d7ad 100644
--- a/examples-xml/gentanh.csd.xml
+++ b/examples-xml/gentanh.csd.xml
@@ -2,44 +2,41 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o gen01.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">; -o gentanh.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-   kamp <emphasis role="op">=</emphasis> 30000
-   ifn <emphasis role="op">=</emphasis> 2
-   ibas <emphasis role="op">=</emphasis> 1
-
-   <emphasis role="comment">; Play the audio sample stored in Table #1.</emphasis>
-   k1 <emphasis role="opc">oscil</emphasis> 1, 10, 1
-   a1 <emphasis role="opc">oscil</emphasis> kamp<emphasis role="op">*</emphasis>k1, 440, ifn
-   <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
 
+aswp	<emphasis role="opc">linseg</emphasis>	0.01, p3<emphasis role="op">*</emphasis>.5, .49, p3<emphasis role="op">*</emphasis>.5, 0.01		<emphasis role="comment">;index sweep function</emphasis>
+aindex	<emphasis role="opc">poscil</emphasis>	aswp, 110, 1				<emphasis role="comment">;sound to waveshape</emphasis>
+atable	<emphasis role="opc">tablei</emphasis>	aindex, p4, 1, .5			<emphasis role="comment">;waveshape index</emphasis>
+aenv	<emphasis role="opc">linen</emphasis>	0.8, .01, p3, .02			<emphasis role="comment">;amplitude envelope</emphasis>
+asig	<emphasis role="op">=</emphasis> (atable<emphasis role="op">*</emphasis>aenv)<emphasis role="op">*</emphasis>p5				<emphasis role="comment">;impose envelope and scale</emphasis>
+asig    <emphasis role="opc">dcblock2</emphasis> asig					<emphasis role="comment">;get rid of DC</emphasis>
+	<emphasis role="opc">outs</emphasis>    asig, asig
 
+<emphasis role="oblock">endin</emphasis>		
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 8192 10 1	<emphasis role="comment">;sine wave</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 8192 "tanh" -100 100 0	<emphasis role="comment">;symmetrical transfer fuction</emphasis>
+<emphasis role="stamnt">f</emphasis> 3 0 8192 "tanh" -10  10  0	<emphasis role="comment">;symmetrical</emphasis>
+<emphasis role="stamnt">f</emphasis> 4 0 8192 "tanh"   0  10  0	<emphasis role="comment">;not symmetrical</emphasis>
 
-<emphasis role="comment">; Table #1: read an audio file (using GEN01).</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 131072 "tanh" 0.1 10 0
-<emphasis role="stamnt">f</emphasis> 2 0 8192 10 1
+<emphasis role="stamnt">i</emphasis>1 0 3 2 1
+<emphasis role="stamnt">i</emphasis>1 + 3 3 1
+<emphasis role="stamnt">i</emphasis>1 + 3 4 2
 
-<emphasis role="comment">; Play Instrument #1 for 2 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/genwave.csd.xml b/examples-xml/genwave.csd.xml
new file mode 100644
index 0000000..2e28e77
--- /dev/null
+++ b/examples-xml/genwave.csd.xml
@@ -0,0 +1,110 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
+-odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o 0dbfs.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+
+<emphasis role="opc">zakinit</emphasis> 3,1
+
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">; wavelet synth instrument</emphasis>
+iamp  <emphasis role="op">=</emphasis>	 p4<emphasis role="comment">; scaling factor of wavelets</emphasis>
+ifreq <emphasis role="op">=</emphasis>	 p5<emphasis role="comment">; frequency of wavelets</emphasis>
+itab  <emphasis role="op">=</emphasis>	 p6<emphasis role="comment">; selected wavelet function</emphasis>
+inum  <emphasis role="op">=</emphasis>  p7<emphasis role="comment">; number of wavelets to be created</emphasis>
+a1 <emphasis role="opc">osciln</emphasis> p4, p5, p6, p7 
+<emphasis role="opc">out</emphasis> a1
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2 <emphasis role="comment">; wavelet analysis intrument </emphasis>
+a1 <emphasis role="opc">soundin</emphasis> "fox.wav"
+<emphasis role="comment">; Decomposition Structure:</emphasis>
+<emphasis role="comment">;     1 LEVEL  2 LEVEL</emphasis>
+<emphasis role="comment">;     HP->ah1  </emphasis>
+<emphasis role="comment">; a1->|	       HP(up2)->ah2</emphasis>
+<emphasis role="comment">;     LP->al1->|</emphasis>
+<emphasis role="comment">;	       LP(up2)->al2</emphasis>
+<emphasis role="comment">;</emphasis>
+ain <emphasis role="op">=</emphasis> a1<emphasis role="op">*</emphasis>.5<emphasis role="comment">; attenuate input signal</emphasis>
+	   <emphasis role="comment">; since wavelet coefficients</emphasis>
+	   <emphasis role="comment">; could reach big values  </emphasis>
+ah1 <emphasis role="opc">dconv</emphasis> ain,ftlen(8),8
+al1 <emphasis role="opc">dconv</emphasis> ain,ftlen(7),7
+ah2 <emphasis role="opc">dconv</emphasis> al1,ftlen(10),10
+al2 <emphasis role="opc">dconv</emphasis> al1,ftlen(9),9
+
+<emphasis role="opc">zaw</emphasis> ah1,0
+<emphasis role="opc">zaw</emphasis> al1,1
+<emphasis role="opc">zaw</emphasis> ah2,2
+<emphasis role="opc">zaw</emphasis> al2,3
+
+aout <emphasis role="opc">zar</emphasis> p4
+<emphasis role="opc">out</emphasis> aout
+<emphasis role="opc">zacl</emphasis> 0,3
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="comment">; First of all, we need several FIR filters which are capable </emphasis>
+<emphasis role="comment">; to produce wavelet families.</emphasis>
+<emphasis role="comment">; One can input filter coefficients manualy using GEN02 </emphasis>
+<emphasis role="comment">; or read them from text file.</emphasis>
+<emphasis role="comment">; Most of compact-supported wavelet coefficients can be obtained from</emphasis>
+<emphasis role="comment">; Wavelet Browser by PyWavelets wavelets.pybytes.com</emphasis>
+<emphasis role="comment">; You can select family and order of filter</emphasis>
+<emphasis role="comment">; then copy desired coefficients into txt file.</emphasis>
+<emphasis role="comment">; Notice that for correct interpretation of results you should use</emphasis>
+<emphasis role="comment">; coeffs of Decomposition low-pass filter.</emphasis>
+
+<emphasis role="comment">; Daubechies 2 </emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 4 -2 -0.1294095226 0.2241438680 0.8365163037 0.4829629131
+<emphasis role="comment">; Symlet 10</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 0 -23 "sym10.txt"
+
+<emphasis role="comment">; Now we want to produce some wavelet granules.</emphasis>
+<emphasis role="comment">; They can be used in wavelet synthesis etc.</emphasis>
+<emphasis role="comment">; Tables of large sizes should produce smoother wavelets.</emphasis>
+<emphasis role="comment">; We take array of filter coefficients from ftable 1</emphasis>
+<emphasis role="comment">; and deconvolve it until output length of 16384.</emphasis>
+<emphasis role="comment">; The order of filters through the deconvolution process</emphasis>
+<emphasis role="comment">; is given by 14 which is 1110 in binary.</emphasis>
+<emphasis role="comment">; So the first filter is LP ('0') and others are HP ('1').</emphasis>
+<emphasis role="stamnt">f</emphasis> 3 0 16384 "wave" 1 14 0
+<emphasis role="stamnt">f</emphasis> 4 0 16384 "wave" 2 1  0
+<emphasis role="stamnt">f</emphasis> 5 0 16384 "wave" 2 7  0
+<emphasis role="stamnt">f</emphasis> 6 0 16384 "wave" 2 6  0
+<emphasis role="comment">; The main purpose of using wavelets is wavelet transform.</emphasis>
+<emphasis role="comment">; It is not that easy to perform a classic DWT in Csound since downsampling</emphasis>
+<emphasis role="comment">; of audio signal is needed at each step of wavelet decomposition.</emphasis>
+<emphasis role="comment">; Anyway, using GENwave it is possible to create a number of upsampled</emphasis>
+<emphasis role="comment">; wavelets and perform a so-called undecimated wavelet transform </emphasis>
+<emphasis role="comment">; aka stationary wavelet transform (and it is even better).</emphasis>
+<emphasis role="comment">; So we need some upsampled childs of mother wavelet. </emphasis>
+<emphasis role="stamnt">f</emphasis> 7 0 16 "wave" 1 0 -1 <emphasis role="comment">;db2 scaling function for 1st iteration</emphasis>
+<emphasis role="stamnt">f</emphasis> 8 0 16 "wave" 1 1 -1 <emphasis role="comment">;db2 wavelet function for 1st iteration</emphasis>
+<emphasis role="stamnt">f</emphasis> 9 0 32 "wave" 1 0 -1 <emphasis role="comment">;db2 scaling function for 2nd iteration</emphasis>
+<emphasis role="stamnt">f</emphasis> 10 0 32 "wave" 1 1 -1 <emphasis role="comment">;db2 wavelet function for 2nd iteration</emphasis>
+
+<emphasis role="comment">; Let's hear how some wavelets could sound..</emphasis>
+<emphasis role="comment">;		 amp frq wave	 times</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0	 1	 0.6 15	 3	 8
+<emphasis role="stamnt">i</emphasis> 1 0.5	 .	 0.9 20  4	 5
+<emphasis role="stamnt">i</emphasis> 1 0.9  .	 0.7 8	 5	 .
+<emphasis role="stamnt">i</emphasis> 1 1.1	 .	 0.4 30  6	 9
+
+<emphasis role="comment">; Now try to decompose input file using wavelets</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 2 4  1<emphasis role="comment">; approximation 1st level</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 5 .  2<emphasis role="comment">; details 2nd level</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/getcfg.csd.xml b/examples-xml/getcfg.csd.xml
new file mode 100644
index 0000000..fb3b76a
--- /dev/null
+++ b/examples-xml/getcfg.csd.xml
@@ -0,0 +1,54 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+ 
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+-iadc    <emphasis role="comment">;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+ 
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+S1 <emphasis role="opc">getcfg</emphasis> 1	<emphasis role="comment">; -+max_str_len </emphasis>
+S2 <emphasis role="opc">getcfg</emphasis> 2	<emphasis role="comment">; -i </emphasis>
+S3 <emphasis role="opc">getcfg</emphasis> 3	<emphasis role="comment">; -o </emphasis>
+S4 <emphasis role="opc">getcfg</emphasis> 4	<emphasis role="comment">; RTaudio </emphasis>
+S5 <emphasis role="opc">getcfg</emphasis> 5	<emphasis role="comment">; -t </emphasis>
+S6 <emphasis role="opc">getcfg</emphasis> 6	<emphasis role="comment">; os system host </emphasis>
+S7 <emphasis role="opc">getcfg</emphasis> 7	<emphasis role="comment">; callback </emphasis>
+
+<emphasis role="opc">prints</emphasis> "<emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis>" 
+<emphasis role="opc">prints</emphasis> "\nMax string len <emphasis role="op">:</emphasis> " 
+<emphasis role="opc">prints</emphasis>	S1 
+<emphasis role="opc">prints</emphasis> "\nInput file name (<emphasis role="op">-</emphasis>i) <emphasis role="op">:</emphasis> " 
+<emphasis role="opc">prints</emphasis>	S2 
+<emphasis role="opc">prints</emphasis> "\nOutput file name (<emphasis role="op">-</emphasis>o) <emphasis role="op">:</emphasis> " 
+<emphasis role="opc">prints</emphasis>	S3 
+<emphasis role="opc">prints</emphasis> "\nRTaudio (<emphasis role="op">-</emphasis>odac) <emphasis role="op">:</emphasis> " 
+<emphasis role="opc">prints</emphasis>	S4 
+<emphasis role="opc">prints</emphasis> "\nBeat <emphasis role="opc">mode</emphasis> (<emphasis role="op">-</emphasis>t)<emphasis role="op">?</emphasis> <emphasis role="op">:</emphasis> " 
+<emphasis role="opc">prints</emphasis>	S5 
+<emphasis role="opc">prints</emphasis> "\nHost Op. Sys. <emphasis role="op">:</emphasis> " 
+<emphasis role="opc">prints</emphasis>	S6 
+<emphasis role="opc">prints</emphasis> "\nCallback <emphasis role="op">?</emphasis> <emphasis role="op">:</emphasis> " 
+<emphasis role="opc">prints</emphasis>	S7 
+<emphasis role="opc">prints</emphasis> "\n" 
+<emphasis role="opc">prints</emphasis> "<emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">-</emphasis>\n" 
+
+<emphasis role="oblock">endin</emphasis> 
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+ 
+<emphasis role="stamnt">i</emphasis> 1 0 0 
+<emphasis role="stamnt">e</emphasis> 
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/gogobel.csd.xml b/examples-xml/gogobel.csd.xml
index ec21b32..74af9a5 100644
--- a/examples-xml/gogobel.csd.xml
+++ b/examples-xml/gogobel.csd.xml
@@ -2,48 +2,40 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o gogobel.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; kamp = 31129.60</emphasis>
-  <emphasis role="comment">; kfreq = 440</emphasis>
-  <emphasis role="comment">; ihrd = 0.5</emphasis>
-  <emphasis role="comment">; ipos = 0.561</emphasis>
-  <emphasis role="comment">; imp = 1</emphasis>
-  <emphasis role="comment">; kvibf = 6.0</emphasis>
-  <emphasis role="comment">; kvamp = 0.3</emphasis>
-  <emphasis role="comment">; ivfn = 2</emphasis>
-
-  a1 <emphasis role="opc">gogobel</emphasis> 31129.60, 440, 0.5, 0.561, 1, 6.0, 0.3, 2
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
 
+   kfreq <emphasis role="op">=</emphasis> 200
+   ihrd <emphasis role="op">=</emphasis> 0.5
+   ipos <emphasis role="op">=</emphasis> p4
+   kvibf <emphasis role="op">=</emphasis> 6.0
+   kvamp <emphasis role="op">=</emphasis> 0.3
 
+asig <emphasis role="opc">gogobel</emphasis> .9, kfreq, ihrd, ipos, 1, 6.0, 0.3, 2
+     <emphasis role="opc">outs</emphasis> asig, asig
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1, the "marmstk1.wav" audio file.</emphasis>
+<emphasis role="comment">;audio file</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 256 1 "marmstk1.wav" 0 0 0
-<emphasis role="comment">; Table #2, a sine wave for the vibrato.</emphasis>
+<emphasis role="comment">;sine wave for the vibrato</emphasis>
 <emphasis role="stamnt">f</emphasis> 2 0 128 10 1
 
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0.5 1
+<emphasis role="stamnt">i</emphasis> 1 0.5 0.5 0.01
+<emphasis role="stamnt">i</emphasis> 1 + 0.5 0.561
+<emphasis role="stamnt">i</emphasis> 1 + 0.5 0.9
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/grain.csd.xml b/examples-xml/grain.csd.xml
index 8b4b6da..56f8fda 100644
--- a/examples-xml/grain.csd.xml
+++ b/examples-xml/grain.csd.xml
@@ -1,46 +1,47 @@
 <programlisting>
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
-<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
-<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o grain.wav -W ;;; for file output any platform</emphasis>
+ 
+<emphasis role="comment">; Select audio/midi flags here according to platform </emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out </emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too </emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below: </emphasis>
+<emphasis role="comment">; -o grain.wav -W ;;; for file output any platform </emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
+ 
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 1
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
 
-<emphasis role="oblock">instr</emphasis> 1
-    insnd <emphasis role="op">=</emphasis> 10
-    ibasfrq <emphasis role="op">=</emphasis> 44100 <emphasis role="op">/</emphasis> <emphasis role="opc">ftlen</emphasis>(insnd)   <emphasis role="comment">; Use original sample rate of insnd file</emphasis>
+<emphasis role="oblock">instr</emphasis> 1 
 
-    kamp   <emphasis role="opc">expseg</emphasis> 220, p3<emphasis role="op">/</emphasis>2, 600, p3<emphasis role="op">/</emphasis>2, 220
-    kpitch <emphasis role="opc">line</emphasis> ibasfrq, p3, ibasfrq <emphasis role="op">*</emphasis> .8
-    kdens  <emphasis role="opc">line</emphasis> 600, p3, 200
-    kaoff  <emphasis role="opc">line</emphasis> 0, p3, 5000
-    kpoff  <emphasis role="opc">line</emphasis> 0, p3, ibasfrq <emphasis role="op">*</emphasis> .5
-    kgdur  <emphasis role="opc">line</emphasis> .4, p3, .1
-    imaxgdur <emphasis role="op">=</emphasis>  .5
+insnd   <emphasis role="op">=</emphasis> 10 
+ibasfrq <emphasis role="op">=</emphasis> 44100 <emphasis role="op">/</emphasis> <emphasis role="opc">ftlen</emphasis>(insnd) <emphasis role="comment">; Use original sample rate of insnd file </emphasis>
 
-    ar  <emphasis role="opc">grain</emphasis> kamp, kpitch, kdens, kaoff, kpoff, kgdur, insnd, 5, imaxgdur, 0.0
-    <emphasis role="opc">out</emphasis> ar
-<emphasis role="oblock">endin</emphasis>
+kamp   <emphasis role="opc">expseg</emphasis> .001, p3<emphasis role="op">/</emphasis>2, .1, p3<emphasis role="op">/</emphasis>2, .01 <emphasis role="comment">;a swell in amplitude</emphasis>
+kpitch <emphasis role="opc">line</emphasis> ibasfrq, p3, ibasfrq <emphasis role="op">*</emphasis> .8 
+kdens  <emphasis role="opc">line</emphasis> 600, p3, 100 
+kaoff  <emphasis role="opc">line</emphasis> 0, p3, .1
+kpoff  <emphasis role="opc">line</emphasis> 0, p3, ibasfrq <emphasis role="op">*</emphasis> .5 
+kgdur  <emphasis role="opc">line</emphasis> .4, p3, .01
+imaxgdur <emphasis role="op">=</emphasis>  .5 
 
+asigL  <emphasis role="opc">grain</emphasis> kamp, kpitch, kdens, kaoff, kpoff, kgdur, insnd, 5, imaxgdur, 0.0 
+asigR  <emphasis role="opc">grain</emphasis> kamp, kpitch, kdens, kaoff, kpoff, kgdur, insnd, 5, imaxgdur, 0.0 
+       <emphasis role="opc">outs</emphasis> asigL, asigR
 
+<emphasis role="oblock">endin</emphasis> 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+ 
+<emphasis role="stamnt">f</emphasis>5  0 512  20 2 <emphasis role="comment">; Hanning window </emphasis>
+<emphasis role="stamnt">f</emphasis>10 0 16384 1  "beats.wav" 0 0 0 
 
-<emphasis role="stamnt">f</emphasis>5  0 512  20 2                  <emphasis role="comment">; Hanning window</emphasis>
-<emphasis role="stamnt">f</emphasis>10 0 262144 1  "mary.wav" 0 0 0
-<emphasis role="stamnt">i</emphasis>1 0 6
-<emphasis role="stamnt">e</emphasis>
-
-
+<emphasis role="stamnt">i</emphasis>1 0 15 
+<emphasis role="stamnt">e</emphasis> 
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/grain2.csd.xml b/examples-xml/grain2.csd.xml
index 5dab555..9aa4f34 100644
--- a/examples-xml/grain2.csd.xml
+++ b/examples-xml/grain2.csd.xml
@@ -35,7 +35,7 @@ ga01	<emphasis role="opc">init</emphasis> 0
 
 i0	<emphasis role="op">=</emphasis>  0
 <emphasis role="olabel">loop1</emphasis><emphasis role="op">:</emphasis>
-imaxh	<emphasis role="op">=</emphasis>  <emphasis role="ohdr">sr</emphasis> <emphasis role="op">/</emphasis> (2 <emphasis role="op">*</emphasis> 440.0 <emphasis role="op">*</emphasis> <emphasis role="opc">exp</emphasis> (<emphasis role="opc">log</emphasis>(2.0) <emphasis role="op">*</emphasis> (i0 <emphasis role="op">-</emphasis> 69) <emphasis role="op">/</emphasis> 12))
+imaxh	<emphasis role="op">=</emphasis>  <emphasis role="ohdr">sr</emphasis> <emphasis role="op">/</emphasis> (2 <emphasis role="op">*</emphasis> 440.0 <emphasis role="op">*</emphasis> <emphasis role="opc">exp</emphasis>(<emphasis role="opc">log</emphasis>(2.0) <emphasis role="op">*</emphasis> (i0 <emphasis role="op">-</emphasis> 69) <emphasis role="op">/</emphasis> 12))
 i_	<emphasis role="ohdr">ftgen</emphasis> i0 <emphasis role="op">+</emphasis> 256, 0, 4096, <emphasis role="op">-</emphasis>30, 1, 1, imaxh
 i0	<emphasis role="op">=</emphasis>  i0 <emphasis role="op">+</emphasis> 1
 	<emphasis role="octrl">if</emphasis> (i0 <emphasis role="op"><</emphasis> 127.5) <emphasis role="octrl">igoto</emphasis> <emphasis role="olabel">loop1</emphasis>
diff --git a/examples-xml/guiro.csd.xml b/examples-xml/guiro.csd.xml
index bf28577..f041948 100644
--- a/examples-xml/guiro.csd.xml
+++ b/examples-xml/guiro.csd.xml
@@ -2,31 +2,30 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o guiro.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-    <emphasis role="oblock">instr</emphasis> 01  <emphasis role="comment">;example of a guiro</emphasis>
-a1  <emphasis role="opc">guiro</emphasis> p4, 0.01
-    <emphasis role="opc">out</emphasis> a1
-    <emphasis role="oblock">endin</emphasis>
+<emphasis role="oblock">instr</emphasis> 1
 
+a1  <emphasis role="opc">guiro</emphasis> .8, p4
+    <emphasis role="opc">outs</emphasis> a1, a1
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="stamnt">i</emphasis>1 0 1 20000
+<emphasis role="stamnt">i</emphasis>1 0 1  1
+<emphasis role="stamnt">i</emphasis>1 + 1 .01
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/harmon.csd.xml b/examples-xml/harmon.csd.xml
index 9c8699c..7a4fba8 100644
--- a/examples-xml/harmon.csd.xml
+++ b/examples-xml/harmon.csd.xml
@@ -2,58 +2,40 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o harmon.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; The frequency of the base note.</emphasis>
-  inote <emphasis role="op">=</emphasis> 440
-
-  <emphasis role="comment">; Generate the base note.</emphasis>
-  avco <emphasis role="opc">vco</emphasis> 20000, inote, 1
-
-  kestfrq <emphasis role="op">=</emphasis> inote
-  kmaxvar <emphasis role="op">=</emphasis> 0.4
+ 
+aout <emphasis role="opc">diskin2</emphasis> "fox.wav", 1
+
+kestfrq <emphasis role="op">=</emphasis> p4	<emphasis role="comment">;different estimated frequency</emphasis>
+kmaxvar <emphasis role="op">=</emphasis> 0.1
+imode   <emphasis role="op">=</emphasis> 1
+iminfrq <emphasis role="op">=</emphasis> 100
+iprd    <emphasis role="op">=</emphasis> 0.02
   
-  <emphasis role="comment">; Calculate frequencies 3 semitones above and</emphasis>
-  <emphasis role="comment">; below the base note.</emphasis>
-  kgenfreq1 <emphasis role="op">=</emphasis> inote <emphasis role="op">*</emphasis> <emphasis role="opc">semitone</emphasis>(3)
-  kgenfreq2 <emphasis role="op">=</emphasis> inote <emphasis role="op">*</emphasis> <emphasis role="opc">semitone</emphasis>(<emphasis role="op">-</emphasis>3)
-
-  imode <emphasis role="op">=</emphasis> 1
-  iminfrq <emphasis role="op">=</emphasis> inote <emphasis role="op">-</emphasis> 200
-  iprd <emphasis role="op">=</emphasis> 0.1
-  
-  <emphasis role="comment">; Generate the harmony notes.</emphasis>
-  a1 <emphasis role="opc">harmon</emphasis> avco, kestfrq, kmaxvar, kgenfreq1, kgenfreq2, \
+asig <emphasis role="opc">harmon</emphasis> aout, kestfrq, kmaxvar, kestfrq<emphasis role="op">*</emphasis>.5, kestfrq<emphasis role="op">*</emphasis>4, \
             imode, iminfrq, iprd
+     <emphasis role="opc">outs</emphasis> (asig <emphasis role="op">+</emphasis> aout)<emphasis role="op">*</emphasis>.6, (asig <emphasis role="op">+</emphasis> aout)<emphasis role="op">*</emphasis>.6	<emphasis role="comment">;mix dry&wet signal</emphasis>
 
-  <emphasis role="opc">out</emphasis> a1
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for two seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 1 0 2.7 100
+<emphasis role="stamnt">i</emphasis> 1 + .   200
+<emphasis role="stamnt">i</emphasis> 1 + .   500
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/harmon3.csd.xml b/examples-xml/harmon3.csd.xml
new file mode 100644
index 0000000..6721af2
--- /dev/null
+++ b/examples-xml/harmon3.csd.xml
@@ -0,0 +1,36 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o harmon3.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ilow <emphasis role="op">=</emphasis> p4					<emphasis role="comment">;lowest value to harmonize			</emphasis>
+aout <emphasis role="opc">diskin2</emphasis> "fox.wav", 1, 0, 1
+koct, kamp <emphasis role="opc">pitch</emphasis> aout, .01, 6, 10, 10		<emphasis role="comment">;track pitch</emphasis>
+asig <emphasis role="opc">harmon3</emphasis> aout, koct, .9, 1.5, 0.7, 0, ilow
+     <emphasis role="opc">outs</emphasis> (asig <emphasis role="op">+</emphasis> aout)<emphasis role="op">*</emphasis>.4, (asig <emphasis role="op">+</emphasis> aout)<emphasis role="op">*</emphasis>.4	<emphasis role="comment">;mix dry&wet signal</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis>1 0 2.7 8.8
+<emphasis role="stamnt">i</emphasis>1 3 2.7 8.2
+<emphasis role="stamnt">i</emphasis>1 6 2.7 7.0
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/hilbert.csd.xml b/examples-xml/hilbert.csd.xml
index 1fafa86..1c2c400 100644
--- a/examples-xml/hilbert.csd.xml
+++ b/examples-xml/hilbert.csd.xml
@@ -2,17 +2,17 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o hilbert.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
   
 <emphasis role="oblock">instr</emphasis> 1
   idur <emphasis role="op">=</emphasis> p3
@@ -28,7 +28,7 @@
   kfreq <emphasis role="opc">linseg</emphasis> ibegshift, idur, iendshift
  
   <emphasis role="comment">; Use the sound of your choice.</emphasis>
-  ain <emphasis role="opc">soundin</emphasis> "mary.wav"
+  ain <emphasis role="opc">diskin2</emphasis> "beats.wav", 1, 0, 1
  
   <emphasis role="comment">; Phase quadrature output derived from input signal.</emphasis>
   areal, aimag <emphasis role="opc">hilbert</emphasis> ain
@@ -52,7 +52,7 @@
   <emphasis role="comment">; Notice that the adding of the two together is</emphasis>
   <emphasis role="comment">; identical to the output of ring modulation.</emphasis>
 
-  <emphasis role="opc">out</emphasis> aupshift
+  <emphasis role="opc">outs</emphasis> aupshift, aupshift
 <emphasis role="oblock">endin</emphasis>
 
 
@@ -63,12 +63,12 @@
 <emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
 
 <emphasis role="comment">; Starting with no shift, ending with all</emphasis>
-<emphasis role="comment">; frequencies shifted up by 200 Hz.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2 0 200
+<emphasis role="comment">; frequencies shifted up by 2000 Hz.</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 6 0 2000
 
 <emphasis role="comment">; Starting with no shift, ending with all</emphasis>
-<emphasis role="comment">; frequencies shifted down by 200 Hz.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 2 2 0 -200
+<emphasis role="comment">; frequencies shifted down by 250 Hz.</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 7 6 0 -250
 <emphasis role="stamnt">e</emphasis>
 
 
diff --git a/examples-xml/hrtfearly.csd.xml b/examples-xml/hrtfearly.csd.xml
new file mode 100644
index 0000000..bffa699
--- /dev/null
+++ b/examples-xml/hrtfearly.csd.xml
@@ -0,0 +1,74 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+
+<emphasis role="comment">; Select flags here</emphasis>
+<emphasis role="comment">; realtime audio out</emphasis>
+ -o dac
+<emphasis role="comment">; file ouput </emphasis>
+<emphasis role="comment">; -o hrtf.wav</emphasis>
+  
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+
+gasrc <emphasis role="opc">init</emphasis> 0	<emphasis role="comment">;global</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1		<emphasis role="comment">;a plucked string, distorted and filtered</emphasis>
+
+  iamp <emphasis role="op">=</emphasis> 15000
+  icps <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p4)
+
+  a1 <emphasis role="opc">pluck</emphasis> iamp, icps, icps, 0, 1
+  adist <emphasis role="opc">distort1</emphasis> a1, 10, .5, 0, 0
+  afilt <emphasis role="opc">moogvcf2</emphasis> adist, 8000, .5 
+  aout <emphasis role="opc">linen</emphasis> afilt, 0, p3, .01
+  
+  gasrc <emphasis role="op">=</emphasis> gasrc <emphasis role="op">+</emphasis> aout
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 10	<emphasis role="comment">;uses output from instr1 as source</emphasis>
+  
+  <emphasis role="comment">;simple path for source</emphasis>
+  kx <emphasis role="opc">line</emphasis> 2, p3, 9
+
+  <emphasis role="comment">;early reflections, room default 1</emphasis>
+  aearlyl,aearlyr, irt60low, irt60high, imfp <emphasis role="opc">hrtfearly</emphasis> gasrc, kx, 5, 1, 5, 1, 1, "hrtf<emphasis role="op">-</emphasis>44100<emphasis role="op">-</emphasis>left.dat", "hrtf<emphasis role="op">-</emphasis>44100<emphasis role="op">-</emphasis>right.dat", 1
+
+  <emphasis role="comment">;later reverb, uses outputs from above</emphasis>
+  arevl, arevr, idel <emphasis role="opc">hrtfreverb</emphasis> gasrc, irt60low, irt60high, "hrtf<emphasis role="op">-</emphasis>44100<emphasis role="op">-</emphasis>left.dat", "hrtf<emphasis role="op">-</emphasis>44100<emphasis role="op">-</emphasis>right.dat", 44100, imfp
+
+  <emphasis role="comment">;delayed and scaled</emphasis>
+  alatel <emphasis role="opc">delay</emphasis> arevl <emphasis role="op">*</emphasis> .1, idel
+  alater <emphasis role="opc">delay</emphasis> arevr <emphasis role="op">*</emphasis> .1, idel
+
+  <emphasis role="opc">outs</emphasis>	aearlyl <emphasis role="op">+</emphasis> alatel, aearlyr <emphasis role="op">+</emphasis> alater
+  
+  gasrc <emphasis role="op">=</emphasis> 0
+
+<emphasis role="oblock">endin</emphasis>
+  
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="comment">; Play Instrument 1: a simple arpeggio</emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 .2 8.00 
+<emphasis role="stamnt">i</emphasis>1 + .2 8.04
+<emphasis role="stamnt">i</emphasis>1 + .2 8.07
+<emphasis role="stamnt">i</emphasis>1 + .2 8.11
+<emphasis role="stamnt">i</emphasis>1 + .2 9.02
+<emphasis role="stamnt">i</emphasis>1 + 1.5 8.11
+<emphasis role="stamnt">i</emphasis>1 + 1.5 8.07
+<emphasis role="stamnt">i</emphasis>1 + 1.5 8.04
+<emphasis role="stamnt">i</emphasis>1 + 1.5 8.00
+<emphasis role="stamnt">i</emphasis>1 + 1.5 7.09
+<emphasis role="stamnt">i</emphasis>1 + 4 8.00
+
+<emphasis role="comment">; Play Instrument 10 for 13 seconds.</emphasis>
+<emphasis role="stamnt">i</emphasis>10 0 13
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/hrtfstat-2.csd.xml b/examples-xml/hrtfstat-2.csd.xml
new file mode 100644
index 0000000..573eb61
--- /dev/null
+++ b/examples-xml/hrtfstat-2.csd.xml
@@ -0,0 +1,41 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o hrtfstat-2.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+iAz   <emphasis role="op">=</emphasis> p4
+iElev <emphasis role="op">=</emphasis> p5
+
+itim <emphasis role="op">=</emphasis> <emphasis role="opc">ftlptim</emphasis>(1)
+<emphasis role="comment">;    transeg a   dur   ty  b  dur    ty  c    dur   ty  d</emphasis>
+kamp <emphasis role="opc">transeg</emphasis> 0, p3<emphasis role="op">*</emphasis>.1, 0, .9, p3<emphasis role="op">*</emphasis>.3, <emphasis role="op">-</emphasis>3, .5,  p3<emphasis role="op">*</emphasis>.3, <emphasis role="op">-</emphasis>2, 0
+ain  <emphasis role="opc">loscil3</emphasis> kamp, 50, 1
+aleft,aright <emphasis role="opc">hrtfstat</emphasis> ain, iAz, iElev, "hrtf<emphasis role="op">-</emphasis>44100<emphasis role="op">-</emphasis>left.dat","hrtf<emphasis role="op">-</emphasis>44100<emphasis role="op">-</emphasis>right.dat"
+     <emphasis role="opc">outs</emphasis> aleft, aright
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 0 1 "Church.wav" 0 0 0 <emphasis role="comment">;Csound computes tablesize</emphasis>
+
+<emphasis role="comment">;      Azim Elev</emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 7  90   0  <emphasis role="comment">;to the right</emphasis>
+<emphasis role="stamnt">i</emphasis>1 3 7 -90  -40 <emphasis role="comment">;to the left and below</emphasis>
+<emphasis role="stamnt">i</emphasis>1 6 7 180   90 <emphasis role="comment">;behind and up</emphasis>
+<emphasis role="stamnt">e</emphasis> 
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/hrtfstat.csd.xml b/examples-xml/hrtfstat.csd.xml
index 0828699..c9beddd 100644
--- a/examples-xml/hrtfstat.csd.xml
+++ b/examples-xml/hrtfstat.csd.xml
@@ -1,53 +1,50 @@
 <programlisting>
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
-    <emphasis role="comment">; Select flags here</emphasis>
-    <emphasis role="comment">; realtime audio out</emphasis>
- -o dac
-    <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-   <emphasis role="comment">; -o hrtf.wav</emphasis>
-  
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o hrtfstat.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-    <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-    <emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-    <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-    <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+    
+gasrc <emphasis role="opc">init</emphasis> 0
 
-    gasrc <emphasis role="opc">init</emphasis> 0
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;a plucked string</emphasis>
 
-    <emphasis role="oblock">instr</emphasis> 1		<emphasis role="comment">;a plucked string</emphasis>
+kamp <emphasis role="op">=</emphasis> p4
+kcps <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p5)
+icps <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p5)
+a1 <emphasis role="opc">pluck</emphasis> kamp, kcps, icps, 0, 1
 
-    kamp <emphasis role="op">=</emphasis> p4
-    kcps <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p5)
-    icps <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p5)
+gasrc <emphasis role="op">=</emphasis> a1
 
-    a1 <emphasis role="opc">pluck</emphasis> kamp, kcps, icps, 0, 1
+<emphasis role="oblock">endin</emphasis>
 
-    gasrc <emphasis role="op">=</emphasis> a1
+<emphasis role="oblock">instr</emphasis> 10<emphasis role="comment">;uses output from instr1 as source</emphasis>
 
-    <emphasis role="oblock">endin</emphasis>
+aleft,aright <emphasis role="opc">hrtfstat</emphasis> gasrc, 90,0, "hrtf<emphasis role="op">-</emphasis>44100<emphasis role="op">-</emphasis>left.dat","hrtf<emphasis role="op">-</emphasis>44100<emphasis role="op">-</emphasis>right.dat"
+             <emphasis role="opc">outs</emphasis>     aleft, aright
 
-    <emphasis role="oblock">instr</emphasis> 10	<emphasis role="comment">;uses output from instr1 as source</emphasis>
+<emphasis role="opc">clear</emphasis> gasrc
+<emphasis role="oblock">endin</emphasis>
 
-    aleft,aright <emphasis role="opc">hrtfstat</emphasis> gasrc, 90,0, "hrtf<emphasis role="op">-</emphasis>44100<emphasis role="op">-</emphasis>left.dat","hrtf<emphasis role="op">-</emphasis>44100<emphasis role="op">-</emphasis>right.dat"
-
-    <emphasis role="opc">outs</emphasis>	aleft, aright
-
-    <emphasis role="oblock">endin</emphasis>
-
-  
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-    <emphasis role="comment">; Play Instrument 1: a plucked string</emphasis>
-    <emphasis role="stamnt">i</emphasis>1 0 2 20000 8.00
+<emphasis role="stamnt">i</emphasis>1 0 2 .7 8.00	<emphasis role="comment">; Play Instrument 1: a plucked string</emphasis>
+<emphasis role="stamnt">i</emphasis>1 .5 2 .7 8.00
+<emphasis role="stamnt">i</emphasis>1 1 2 .7 8.00
+<emphasis role="stamnt">i</emphasis>1 2 2 .7 7.00
 
-    <emphasis role="comment">; Play Instrument 10 for 2 seconds.</emphasis>
-    <emphasis role="stamnt">i</emphasis>10 0 2
+<emphasis role="stamnt">i</emphasis>10 0 12	<emphasis role="comment">; Play Instrument 10 for 2 seconds.</emphasis>
 
-  
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/hsboscil.csd.xml b/examples-xml/hsboscil.csd.xml
index 502e587..b30aa01 100644
--- a/examples-xml/hsboscil.csd.xml
+++ b/examples-xml/hsboscil.csd.xml
@@ -2,28 +2,27 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o hsboscil.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="comment">; synth waveform</emphasis>
-giwave <emphasis role="ohdr">ftgen</emphasis> 1, 0, 1024, 10, 1, 1, 1, 1
+giwave  <emphasis role="ohdr">ftgen</emphasis> 1, 0, 1024, 10, 1, 1, 1, 1
 <emphasis role="comment">; blending window</emphasis>
 giblend <emphasis role="ohdr">ftgen</emphasis> 2, 0, 1024, <emphasis role="op">-</emphasis>19, 1, 0.5, 270, 0.5
 
-<emphasis role="comment">; Instrument #1 - produces Risset's glissando.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 10000
-  kbrite <emphasis role="op">=</emphasis> 0.5
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">; produces Risset's glissando.</emphasis>
+
+  kamp <emphasis role="op">=</emphasis> .4
+  kbrite <emphasis role="op">=</emphasis> 0.3
   ibasfreq <emphasis role="op">=</emphasis> 200
   ioctcnt <emphasis role="op">=</emphasis> 5
 
@@ -31,19 +30,15 @@ giblend <emphasis role="ohdr">ftgen</emphasis> 2, 0, 1024, <emphasis role="op">-
   <emphasis role="comment">; over the period defined by p3.</emphasis>
   ktone <emphasis role="opc">line</emphasis> 0, p3, 1
 
-  a1 <emphasis role="opc">hsboscil</emphasis> kamp, ktone, kbrite, ibasfreq, giwave, giblend, ioctcnt
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
-
+asig <emphasis role="opc">hsboscil</emphasis> kamp, ktone, kbrite, ibasfreq, giwave, giblend, ioctcnt
+     <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for ten seconds.</emphasis>
 <emphasis role="stamnt">i</emphasis> 1 0 10
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/hsboscil_midi.csd.xml b/examples-xml/hsboscil_midi.csd.xml
index 033ee75..019edb1 100644
--- a/examples-xml/hsboscil_midi.csd.xml
+++ b/examples-xml/hsboscil_midi.csd.xml
@@ -2,50 +2,44 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages  MIDI in</emphasis>
--odac           -iadc     -d          -M0    <emphasis role="comment">;;;RT audio I/O with MIDI in</emphasis>
-<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; Audio out  </emphasis>
+-odac   -M0 <emphasis role="comment">;;;realtime audio out and realtime MIDI in</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; -o hsboscil_midi.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="comment">; synth waveform</emphasis>
-giwave <emphasis role="ohdr">ftgen</emphasis> 1, 0, 1024, 10, 1, 1, 1, 1
+giwave  <emphasis role="ohdr">ftgen</emphasis> 1, 0, 1024, 10, 1, 1, 1, 1
 <emphasis role="comment">; blending window</emphasis>
 giblend <emphasis role="ohdr">ftgen</emphasis> 2, 0, 1024, <emphasis role="op">-</emphasis>19, 1, 0.5, 270, 0.5
 
-<emphasis role="comment">; Instrument #1 - use hsboscil in a MIDI instrument.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  ibase <emphasis role="op">=</emphasis> <emphasis role="opc">cpsoct</emphasis>(6)
-  ioctcnt <emphasis role="op">=</emphasis> 5
 
-  <emphasis role="comment">; all octaves sound alike.</emphasis>
+ibase <emphasis role="op">=</emphasis> <emphasis role="opc">cpsoct</emphasis>(6)
+ioctcnt <emphasis role="op">=</emphasis> 5
+
+<emphasis role="comment">; all octaves sound alike.</emphasis>
   itona <emphasis role="opc">octmidi</emphasis>
   <emphasis role="comment">; velocity is mapped to brightness</emphasis>
-  ibrite <emphasis role="opc">ampmidi</emphasis> 3
+  ibrite <emphasis role="opc">ampmidi</emphasis> 4
 
-  <emphasis role="comment">; Map an exponential envelope for the amplitude.</emphasis>
-  kenv <emphasis role="opc">expon</emphasis> 20000, 1, 100
+<emphasis role="comment">; Map an exponential envelope for the amplitude.</emphasis>
+kenv <emphasis role="opc">expon</emphasis> .8, 1, .01
+asig <emphasis role="opc">hsboscil</emphasis> kenv, itona, ibrite, ibase, giwave, giblend, ioctcnt
+     <emphasis role="opc">outs</emphasis> asig, asig
 
-  asig <emphasis role="opc">hsboscil</emphasis> kenv, itona, ibrite, ibase, giwave, giblend, ioctcnt
-  <emphasis role="opc">out</emphasis> asig
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for ten minutes</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 600
+<emphasis role="stamnt">i</emphasis> 1 0 30 <emphasis role="comment">; play for 30 seconds</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/hvs2.csd.xml b/examples-xml/hvs2.csd.xml
index bf488c4..fe2cbe5 100644
--- a/examples-xml/hvs2.csd.xml
+++ b/examples-xml/hvs2.csd.xml
@@ -6,77 +6,55 @@
 -odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
-
 <emphasis role="ohdr">sr</emphasis><emphasis role="op">=</emphasis>44100
 <emphasis role="ohdr">ksmps</emphasis><emphasis role="op">=</emphasis>100
 <emphasis role="ohdr">nchnls</emphasis><emphasis role="op">=</emphasis>2
-
 <emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
-
 ginumLinesX <emphasis role="opc">init</emphasis>	4
 ginumLinesY <emphasis role="opc">init</emphasis>	4
 ginumParms	<emphasis role="opc">init</emphasis>	3
-
 giOutTab	<emphasis role="ohdr">ftgen</emphasis>	5,0,8, <emphasis role="op">-</emphasis>2,      0
 giPosTab	<emphasis role="ohdr">ftgen</emphasis>	6,0,32, <emphasis role="op">-</emphasis>2,     3,2,1,0,4,5,6,7,8,9,10, 11, 15, 14, 13, 12
 giSnapTab	<emphasis role="ohdr">ftgen</emphasis>	8,0,64, <emphasis role="op">-</emphasis>2,     1,1,1,   2,0,0,  3,2,0,  2,2,2,  5,2,1,  2,3,4,  6,1,7,    0,0,0, \
                               1,3,5,   3,4,4,  1,5,8,  1,1,5,  4,3,2,  3,4,5,  7,6,5,    7,8,9
-
 <emphasis role="opc">tb0_init</emphasis>	giOutTab
-
         <emphasis role="opc">FLpanel</emphasis>	"Prova HVS2",600,400,10,100,0
-
 gk1,    gk2,   ih1, ih2  <emphasis role="opc">FLjoy</emphasis>   "HVS controller XY", 0,    1,     1,     0,     0,     0,     <emphasis role="op">-</emphasis>1,     <emphasis role="op">-</emphasis>1,     300,    300,     0, 50 
-
 <emphasis role="comment">; *ihandle,                      *numlinesX,   *numlinesY, *iwidth, *iheight, *ix, *iy,*image;</emphasis>
 gihandle	<emphasis role="opc">FLhvsBox</emphasis>	ginumLinesX,   ginumLinesY,  300,   300,      300,  50, 1
-
         <emphasis role="opc">FLpanel_end</emphasis>
         <emphasis role="opc">FLrun</emphasis>
 
-
 	<emphasis role="oblock">instr</emphasis>	1
-
 <emphasis role="comment">; Smooth control signals to avoid clicks</emphasis>
 kx <emphasis role="opc">portk</emphasis> gk1, 0.02
 ky <emphasis role="opc">portk</emphasis> gk2, 0.02
-
 <emphasis role="comment">;              kx,  ky,  inumParms,  inumlinesX,  inumlinesY,  iOutTab,  iPosTab,  iSnapTab [, iConfigTab]</emphasis>
         <emphasis role="opc">hvs2</emphasis>  kx, ky, ginumParms, ginumLinesX, ginumLinesY, giOutTab, giPosTab, giSnapTab  <emphasis role="comment">;, iConfigTab</emphasis>
-
 <emphasis role="comment">;                       *kx, *ky, *ihandle;</emphasis>
         <emphasis role="opc">FLhvsBoxSetValue</emphasis> gk1, gk2, gihandle
-
 k0	<emphasis role="opc">init</emphasis>	0
 k1	<emphasis role="opc">init</emphasis>	1
 k2	<emphasis role="opc">init</emphasis>	2
-
 <emphasis role="opc">printk2</emphasis>	<emphasis role="opc">tb0</emphasis>(k0)
 <emphasis role="opc">printk2</emphasis>	<emphasis role="opc">tb0</emphasis>(k1), 10
 <emphasis role="opc">printk2</emphasis>	<emphasis role="opc">tb0</emphasis>(k2), 20
-
   kris <emphasis role="opc">init</emphasis> 0.003
   kdur <emphasis role="opc">init</emphasis> 0.02
   kdec <emphasis role="opc">init</emphasis> 0.007
-
 <emphasis role="comment">; Make parameters of synthesis depend on the table values produced by hvs</emphasis>
 ares1 <emphasis role="opc">fof</emphasis> 0.2, <emphasis role="opc">tb0</emphasis>(k0)<emphasis role="op">*</emphasis>100 <emphasis role="op">+</emphasis> 50, <emphasis role="opc">tb0</emphasis>(k1)<emphasis role="op">*</emphasis>100 <emphasis role="op">+</emphasis> 200, 0, <emphasis role="opc">tb0</emphasis>(k2) <emphasis role="op">*</emphasis> 10 <emphasis role="op">+</emphasis> 50, 0.003, 0.02, 0.007, 20, \
       1, 2, p3
 ares2 <emphasis role="opc">fof</emphasis> 0.2, <emphasis role="opc">tb0</emphasis>(k1)<emphasis role="op">*</emphasis>100 <emphasis role="op">+</emphasis> 50, <emphasis role="opc">tb0</emphasis>(k2)<emphasis role="op">*</emphasis>100 <emphasis role="op">+</emphasis> 200, 0, <emphasis role="opc">tb0</emphasis>(k0) <emphasis role="op">*</emphasis> 10 <emphasis role="op">+</emphasis> 50, 0.003, 0.02, 0.007, 20, \
       1, 2, p3
-
 <emphasis role="opc">outs</emphasis> ares1, ares2
 	<emphasis role="oblock">endin</emphasis>
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 1024 10 1  <emphasis role="comment">;Sine wave</emphasis>
 <emphasis role="stamnt">f</emphasis> 2 0 1024 19 0.5 0.5 270 0.5  <emphasis role="comment">;Grain envelope table</emphasis>
-
 <emphasis role="stamnt">f</emphasis>0 3600
-
 <emphasis role="stamnt">i</emphasis>1 0 3600
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/i_statement.csd.xml b/examples-xml/i_statement.csd.xml
new file mode 100644
index 0000000..af44903
--- /dev/null
+++ b/examples-xml/i_statement.csd.xml
@@ -0,0 +1,71 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o i_statement.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 10
+        
+  icps     <emphasis role="opc">init</emphasis>      <emphasis role="opc">cpspch</emphasis>(p4)                  <emphasis role="comment">; Get target pitch from score event</emphasis>
+  iportime <emphasis role="opc">init</emphasis>      <emphasis role="opc">abs</emphasis>(p3)<emphasis role="op">/</emphasis>7                   <emphasis role="comment">; Portamento time dep on note length</emphasis>
+  iamp0    <emphasis role="opc">init</emphasis>      p5                          <emphasis role="comment">; Set default amps</emphasis>
+  iamp1    <emphasis role="opc">init</emphasis>      p5
+  iamp2    <emphasis role="opc">init</emphasis>      p5
+      
+  itie     <emphasis role="opc">tival</emphasis>                                 <emphasis role="comment">; Check if this note is tied,</emphasis>
+  <emphasis role="octrl">if</emphasis> itie  <emphasis role="op">==</emphasis>  1     <emphasis role="octrl">igoto</emphasis> <emphasis role="olabel">nofadein</emphasis>              <emphasis role="comment">; if not fade in</emphasis>
+  iamp0    <emphasis role="opc">init</emphasis>      0
+
+<emphasis role="olabel">nofadein</emphasis><emphasis role="op">:</emphasis>
+  <emphasis role="octrl">if</emphasis> p3    <emphasis role="op"><</emphasis> 0       <emphasis role="octrl">igoto</emphasis> <emphasis role="olabel">nofadeout</emphasis>             <emphasis role="comment">; Check if this note is held, if not fade out</emphasis>
+  iamp2    <emphasis role="opc">init</emphasis>      0    
+
+<emphasis role="olabel">nofadeout</emphasis><emphasis role="op">:</emphasis>
+  <emphasis role="comment">; Now do amp from the set values:</emphasis>
+  kamp     <emphasis role="opc">linseg</emphasis>    iamp0, .03, iamp1, <emphasis role="opc">abs</emphasis>(p3)<emphasis role="op">-</emphasis>.03, iamp2
+        
+  <emphasis role="comment">; Skip rest of initialization on tied note:</emphasis>
+           <emphasis role="octrl">tigoto</emphasis>    <emphasis role="olabel">tieskip</emphasis>
+
+  kcps     <emphasis role="opc">init</emphasis>      icps                        <emphasis role="comment">; Init pitch for untied note</emphasis>
+  kcps     <emphasis role="opc">port</emphasis>      icps, iportime, icps        <emphasis role="comment">; Drift towards target pitch</emphasis>
+
+  kpw      <emphasis role="opc">oscil</emphasis>     .4, <emphasis role="opc">rnd</emphasis>(1), 1, <emphasis role="opc">rnd</emphasis>(.7)      <emphasis role="comment">; A simple triangle-saw oscil</emphasis>
+  ar       <emphasis role="opc">vco</emphasis>       kamp, kcps, 3, kpw<emphasis role="op">+</emphasis>.5, 1, 1<emphasis role="op">/</emphasis>icps
+        
+  <emphasis role="comment">; (Used in testing - one may set ipch to cpspch(p4+2)</emphasis>
+  <emphasis role="comment">;       and view output spectrum)</emphasis>
+  <emphasis role="comment">;       ar oscil kamp, kcps, 1</emphasis>
+
+          <emphasis role="opc">outs</emphasis>        ar, ar
+
+<emphasis role="olabel">tieskip</emphasis><emphasis role="op">:</emphasis>                                        <emphasis role="comment">; Skip some initialization on tied note</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1   0 8192 10 1            <emphasis role="comment">; Sine</emphasis>
+
+<emphasis role="stamnt">i</emphasis>10.1    0    -1    7.00    .15
+<emphasis role="stamnt">i</emphasis>10.2    0    -1    7.04
+<emphasis role="stamnt">i</emphasis>10.3    0    -1    7.07
+<emphasis role="stamnt">i</emphasis>10.1    1    -1    8.00  
+<emphasis role="stamnt">i</emphasis>10.2    1    -1    8.04
+<emphasis role="stamnt">i</emphasis>10.3    1    -1    8.07
+<emphasis role="stamnt">i</emphasis>10.1    2     1    7.11  
+<emphasis role="stamnt">i</emphasis>10.2    2     1    8.04  
+<emphasis role="stamnt">i</emphasis>10.3    2     1    8.07
+  <emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/imageopcodes.csd.xml b/examples-xml/imageopcodes.csd.xml
index d07c771..99d972e 100644
--- a/examples-xml/imageopcodes.csd.xml
+++ b/examples-xml/imageopcodes.csd.xml
@@ -2,12 +2,10 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
-<emphasis role="comment">;-odac           -iadc    ;;;RT audio I/O</emphasis>
-<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
--o imageopcodes.wav -W <emphasis role="comment">;;; for file output any platform</emphasis>
+-n <emphasis role="comment">;no sound output</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
+
 <emphasis role="ohdr">sr</emphasis><emphasis role="op">=</emphasis>48000
 <emphasis role="ohdr">ksmps</emphasis><emphasis role="op">=</emphasis>1
 <emphasis role="ohdr">nchnls</emphasis><emphasis role="op">=</emphasis>2
@@ -22,12 +20,14 @@ giimage2 <emphasis role="opc">imagecreate</emphasis> giimagew,giimageh
 
 kndx <emphasis role="op">=</emphasis> 0
 kx_ <emphasis role="opc">linseg</emphasis> 0, p3, 1
+<emphasis role="comment">;print imagewidth and imageheigth of image.png</emphasis>
+<emphasis role="opc">prints</emphasis> "imagewidth <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f pixels, imageheigth <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f pixels\\n", giimagew, giimageh
 
 <emphasis role="olabel">myloop</emphasis><emphasis role="op">:</emphasis>
 ky_ <emphasis role="op">=</emphasis> kndx<emphasis role="op">/</emphasis>(giimageh)
-kr_ kg_ kb_ <emphasis role="opc">imagegetpixel</emphasis> giimage1, kx_, ky_
+kr_, kg_, kb_ <emphasis role="opc">imagegetpixel</emphasis> giimage1, kx_, ky_
 <emphasis role="opc">imagesetpixel</emphasis> giimage2, kx_, ky_, kr_, kg_, kb_
-<emphasis role="octrl">loop_lt</emphasis> kndx, 0.5, (giimageh), <emphasis role="olabel">myloop</emphasis>
+<emphasis role="octrl">loop_lt</emphasis> kndx, 0.5, giimageh, <emphasis role="olabel">myloop</emphasis>
     <emphasis role="oblock">endin</emphasis>
 
     <emphasis role="oblock">instr</emphasis> 2
diff --git a/examples-xml/in.csd.xml b/examples-xml/in.csd.xml
new file mode 100644
index 0000000..94e5070
--- /dev/null
+++ b/examples-xml/in.csd.xml
@@ -0,0 +1,32 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   -idac   <emphasis role="comment">;;;realtime audio I/O</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; in.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">;1 channel in, two channels out</emphasis>
+
+ain1 <emphasis role="opc">in</emphasis>	<emphasis role="comment">;grab your mic and sing</emphasis>
+adel <emphasis role="opc">linseg</emphasis> 0, p3<emphasis role="op">*</emphasis>.5, 0.02, p3<emphasis role="op">*</emphasis>.5, 0	<emphasis role="comment">;max delay time = 20ms</emphasis>
+aout <emphasis role="opc">flanger</emphasis> ain1, adel, .7
+     <emphasis role="opc">fout</emphasis> "in_1.wav", 14, aout, aout	<emphasis role="comment">;write to stereo file,</emphasis>
+     <emphasis role="opc">outs</emphasis> aout, aout			<emphasis role="comment">;16 bits with header</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 10
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/inch.csd.xml b/examples-xml/inch.csd.xml
new file mode 100644
index 0000000..c3881da
--- /dev/null
+++ b/examples-xml/inch.csd.xml
@@ -0,0 +1,33 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   -idac   <emphasis role="comment">;;;realtime audio I/O</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; inch.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">;nchnls channels in, two channels out</emphasis>
+
+ain1, ainr <emphasis role="opc">inch</emphasis> 1, 2			<emphasis role="comment">;grab your mic and sing</emphasis>
+adel  <emphasis role="opc">linseg</emphasis> 0, p3<emphasis role="op">*</emphasis>.5, 0.02, p3<emphasis role="op">*</emphasis>.5, 0	<emphasis role="comment">;max delay time = 20ms</emphasis>
+aoutl <emphasis role="opc">flanger</emphasis> ain1, adel, .7
+aoutr <emphasis role="opc">flanger</emphasis> ain1, adel<emphasis role="op">*</emphasis>2, .8
+      <emphasis role="opc">fout</emphasis> "in_ch.wav", 14, aoutl, aoutr <emphasis role="comment">;write to stereo file,</emphasis>
+      <emphasis role="opc">outs</emphasis> aoutl, aoutr			<emphasis role="comment">;16 bits with header</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 10
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/init.csd.xml b/examples-xml/init.csd.xml
new file mode 100644
index 0000000..ebcede3
--- /dev/null
+++ b/examples-xml/init.csd.xml
@@ -0,0 +1,35 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-n  <emphasis role="comment">;no sound output</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+ 
+
+<emphasis role="ohdr">sr</emphasis>     <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis>  <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">;shows what init does</emphasis>
+        kinit <emphasis role="opc">init</emphasis> 0 
+        kinit <emphasis role="op">=</emphasis> kinit <emphasis role="op">+</emphasis> 1 
+        <emphasis role="opc">printk</emphasis> .1, kinit 
+<emphasis role="oblock">endin</emphasis> 
+
+<emphasis role="oblock">instr</emphasis> 2 <emphasis role="comment">;shows what an assignment does</emphasis>
+        knoinit <emphasis role="op">=</emphasis> 0 
+        knoinit <emphasis role="op">=</emphasis> knoinit <emphasis role="op">+</emphasis> 1 
+        <emphasis role="opc">printk</emphasis> .1, knoinit 
+<emphasis role="oblock">endin</emphasis> 
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+ 
+<emphasis role="comment">;play one second each</emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 1 
+<emphasis role="stamnt">i</emphasis>2 2 1 
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/initc7.csd.xml b/examples-xml/initc7.csd.xml
index c15b214..16396e1 100644
--- a/examples-xml/initc7.csd.xml
+++ b/examples-xml/initc7.csd.xml
@@ -2,45 +2,39 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   No messages  MIDI in</emphasis>
--odac           -iadc     -d         -M0  <emphasis role="comment">;;;RT audio I/O with MIDI in</emphasis>
-<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o ctrl7.wav -W ;;; for file output any platform</emphasis>
+-odac   -M0  <emphasis role="comment">;;;realtime audio I/O with MIDI in</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
- <emphasis role="comment">; This example expects MIDI controller input on channel 1</emphasis>
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; expects MIDI controller input on channel 1</emphasis>
 <emphasis role="comment">; run and move your midi controller to see result</emphasis>
 
-imax<emphasis role="op">=</emphasis>15000
-imin<emphasis role="op">=</emphasis>0
+imax <emphasis role="op">=</emphasis> 1
+imin <emphasis role="op">=</emphasis> 0
 ichan <emphasis role="op">=</emphasis> 1 
-ictlno<emphasis role="op">=</emphasis>7					<emphasis role="comment">; = midi volume</emphasis>
-
+ictlno <emphasis role="op">=</emphasis> 7
+ 
 	<emphasis role="opc">initc7</emphasis>	1, 7, 1			<emphasis role="comment">; start at max. volume</emphasis>
-kamp	<emphasis role="opc">ctrl7</emphasis>	ichan,ictlno, imin, imax	<emphasis role="comment">; controller 7</emphasis>
+kamp	<emphasis role="opc">ctrl7</emphasis>	ichan, ictlno, imin, imax	<emphasis role="comment">; controller 7</emphasis>
 	<emphasis role="opc">printk2</emphasis>	kamp
-a1	<emphasis role="opc">oscil</emphasis>	kamp,440,1
-	<emphasis role="opc">out</emphasis>	a1
+asig	<emphasis role="opc">oscil</emphasis>	kamp, 220, 1
+	<emphasis role="opc">outs</emphasis>	asig, asig
 
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
 <emphasis role="stamnt">f</emphasis> 1 0 4096 10 1
-<emphasis role="stamnt">i</emphasis>1 0 20
-<emphasis role="stamnt">e</emphasis>
 
+<emphasis role="stamnt">i</emphasis>1 0 20
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/inleta.csd.xml b/examples-xml/inleta.csd.xml
index 052c1e6..4e83885 100644
--- a/examples-xml/inleta.csd.xml
+++ b/examples-xml/inleta.csd.xml
@@ -3,32 +3,31 @@
 <emphasis role="csdtag"><CsOptions></emphasis>
  
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   No messages  MIDI in</emphasis>
--odac           -iadc     -d  <emphasis role="comment">;;;RT audio I/O </emphasis>
-<emphasis role="comment">;-Wfo inleta.wav </emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o inleta.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
  
 
-<emphasis role="comment">; Initialize the global variables. </emphasis>
-
-<emphasis role="ohdr">sr</emphasis> 	    <emphasis role="op">=</emphasis> 44100 
-<emphasis role="ohdr">ksmps</emphasis> 	<emphasis role="op">=</emphasis> 100 
-<emphasis role="ohdr">nchnls</emphasis> 	<emphasis role="op">=</emphasis> 2 
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
 <emphasis role="comment">; Connect up instruments and effects to create the signal flow graph. </emphasis>
 
-<emphasis role="opc">connect</emphasis> "SimpleSine",   	"leftout",     "Reverberator",     	"leftin" 
-<emphasis role="opc">connect</emphasis> "SimpleSine",   	"rightout",    "Reverberator",     	"rightin" 
+<emphasis role="opc">connect</emphasis> "SimpleSine",   "leftout", "Reverberator", "leftin" 
+<emphasis role="opc">connect</emphasis> "SimpleSine",   "rightout","Reverberator", "rightin" 
 
-<emphasis role="opc">connect</emphasis> "Moogy",        	"leftout",     "Reverberator",     	"leftin" 
-<emphasis role="opc">connect</emphasis> "Moogy",        	"rightout",    "Reverberator",     	"rightin" 
+<emphasis role="opc">connect</emphasis> "Moogy",        "leftout", "Reverberator", "leftin" 
+<emphasis role="opc">connect</emphasis> "Moogy",        "rightout","Reverberator", "rightin" 
 
-<emphasis role="opc">connect</emphasis> "Reverberator", 	"leftout",     "Compressor",       	"leftin" 
-<emphasis role="opc">connect</emphasis> "Reverberator", 	"rightout",    "Compressor",       	"rightin" 
+<emphasis role="opc">connect</emphasis> "Reverberator", "leftout", "Compressor",   "leftin" 
+<emphasis role="opc">connect</emphasis> "Reverberator", "rightout","Compressor",   "rightin" 
 
-<emphasis role="opc">connect</emphasis> "Compressor",   	"leftout",     "Soundfile",       	"leftin" 
-<emphasis role="opc">connect</emphasis> "Compressor",   	"rightout",    "Soundfile",       	"rightin" 
+<emphasis role="opc">connect</emphasis> "Compressor",   "leftout", "Soundfile",    "leftin" 
+<emphasis role="opc">connect</emphasis> "Compressor",   "rightout","Soundfile",    "rightin" 
 
 <emphasis role="comment">; Turn on the "effect" units in the signal flow graph. </emphasis>
 
@@ -38,92 +37,93 @@
 
 <emphasis role="comment">; Define instruments and effects in order of signal flow.</emphasis>
 
-			    <emphasis role="oblock">instr</emphasis> SimpleSine 
-                <emphasis role="comment">;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</emphasis>
-			    <emphasis role="comment">; Default values:   p1  p2  p3  p4  p5  p6  p7  p8  p9  p10</emphasis>
-			    <emphasis role="opc">pset</emphasis>			    0,  0,  10, 0,  0,  0,  0.5
-iattack			<emphasis role="op">=</emphasis>			        0.015
-idecay			<emphasis role="op">=</emphasis>			        0.07
-isustain		<emphasis role="op">=</emphasis>			        p3
-irelease		<emphasis role="op">=</emphasis>			        0.3
-p3			    <emphasis role="op">=</emphasis>			        iattack <emphasis role="op">+</emphasis> idecay <emphasis role="op">+</emphasis> isustain <emphasis role="op">+</emphasis> irelease
-adamping		<emphasis role="opc">linsegr</emphasis>			    0.0, iattack, 1.0, idecay <emphasis role="op">+</emphasis> isustain, 1.0, irelease, 0.0
-iHz 			<emphasis role="op">=</emphasis> 			        <emphasis role="opc">cpsmidinn</emphasis>(p4) 
-                <emphasis role="comment">; Rescale MIDI velocity range to a musically usable range of dB. </emphasis>
-iamplitude 		<emphasis role="op">=</emphasis> 			        <emphasis role="opc">ampdb</emphasis>(p5 <emphasis role="op">/</emphasis> 127 <emphasis role="op">*</emphasis> 15.0 <emphasis role="op">+</emphasis> 60.0) 
-			    <emphasis role="comment">; Use ftgenonce instead of ftgen, ftgentmp, or f statement. </emphasis>
-icosine			<emphasis role="opc">ftgenonce</emphasis> 		    0, 0, 65537, 11, 1 
-aoscili			<emphasis role="opc">oscili</emphasis> 			    iamplitude, iHz, icosine 
-aadsr 			<emphasis role="opc">madsr</emphasis> 			    iattack, idecay, 0.6, irelease 
-asignal 		<emphasis role="op">=</emphasis> 			        aoscili <emphasis role="op">*</emphasis> aadsr 
-aleft, aright	<emphasis role="opc">pan2</emphasis>			    asignal, p7
-			    <emphasis role="comment">; Stereo audio output to be routed in the orchestra header. </emphasis>
-			    <emphasis role="opc">outleta</emphasis> 		    "leftout", aleft
-			    <emphasis role="opc">outleta</emphasis> 		    "rightout", aright
-			    <emphasis role="oblock">endin</emphasis> 
-
-			    <emphasis role="oblock">instr</emphasis> Moogy 
-                <emphasis role="comment">;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</emphasis>
-			    <emphasis role="comment">; Default values:   p1  p2  p3  p4  p5  p6  p7  p8  p9  p10</emphasis>
-			    <emphasis role="opc">pset</emphasis>			    0,  0,  10, 0,  0,  0,  0.5
-iattack			<emphasis role="op">=</emphasis>			        0.003
-isustain		<emphasis role="op">=</emphasis>			        p3
-irelease		<emphasis role="op">=</emphasis>			        0.05
-p3			    <emphasis role="op">=</emphasis>			        iattack <emphasis role="op">+</emphasis> isustain <emphasis role="op">+</emphasis> irelease
-adamping		<emphasis role="opc">linsegr</emphasis>			    0.0, iattack, 1.0, isustain, 1.0, irelease, 0.0
-iHz 			<emphasis role="op">=</emphasis> 			        <emphasis role="opc">cpsmidinn</emphasis>(p4)
-                <emphasis role="comment">; Rescale MIDI velocity range to a musically usable range of dB. </emphasis>
-iamplitude 		<emphasis role="op">=</emphasis> 			        <emphasis role="opc">ampdb</emphasis>(p5 <emphasis role="op">/</emphasis> 127 <emphasis role="op">*</emphasis> 20.0 <emphasis role="op">+</emphasis> 60.0) 
-			    <emphasis role="opc">print</emphasis> 			    iHz, iamplitude 
-			    <emphasis role="comment">; Use ftgenonce instead of ftgen, ftgentmp, or f statement. </emphasis>
-isine 			<emphasis role="opc">ftgenonce</emphasis> 		    0, 0, 65537, 10, 1 
-asignal 		<emphasis role="opc">vco</emphasis> 			    iamplitude, iHz, 1, 0.5, isine 
-kfco 			<emphasis role="opc">line</emphasis> 			    2000, p3, 200
-krez 			<emphasis role="op">=</emphasis> 			        0.8 
-asignal 		<emphasis role="opc">moogvcf</emphasis> 		    asignal, kfco, krez, 100000 
-asignal			<emphasis role="op">=</emphasis>			        asignal <emphasis role="op">*</emphasis> adamping
-aleft, aright	<emphasis role="opc">pan2</emphasis>			    asignal, p7
-			    <emphasis role="comment">; Stereo audio output to be routed in the orchestra header. </emphasis>
-			    <emphasis role="opc">outleta</emphasis> 		    "leftout", aleft
-			    <emphasis role="opc">outleta</emphasis> 		    "rightout", aright 
-			    <emphasis role="oblock">endin</emphasis> 
-			    <emphasis role="oblock">instr</emphasis> Reverberator 
-                <emphasis role="comment">;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</emphasis>
-			    <emphasis role="comment">; Stereo input. </emphasis>
-aleftin 		<emphasis role="opc">inleta</emphasis> 			    "leftin" 
-arightin 		<emphasis role="opc">inleta</emphasis> 			    "rightin" 
-idelay 			<emphasis role="op">=</emphasis> 			        p4 
-icutoff 		<emphasis role="op">=</emphasis> 			        p5 
-aleft, aright 	<emphasis role="opc">reverbsc</emphasis> 	        aleftin, arightin, idelay, icutoff 
-			    <emphasis role="comment">; Stereo output. </emphasis>
-			    <emphasis role="opc">outleta</emphasis> 	        "leftout", aleft 
-			    <emphasis role="opc">outleta</emphasis> 	        "rightout", aright 
-			    <emphasis role="oblock">endin</emphasis> 
-
-			    <emphasis role="oblock">instr</emphasis> Compressor 
-                <emphasis role="comment">;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</emphasis>
-			    <emphasis role="comment">; Stereo input. </emphasis>
-aleftin 		<emphasis role="opc">inleta</emphasis> 		        "leftin" 
-arightin 		<emphasis role="opc">inleta</emphasis> 		        "rightin" 
-kthreshold 		<emphasis role="op">=</emphasis> 		            25000 
-icomp1 			<emphasis role="op">=</emphasis> 		            0.5 
-icomp2 			<emphasis role="op">=</emphasis> 		            0.763 
-irtime 			<emphasis role="op">=</emphasis> 		            0.1 
-iftime 			<emphasis role="op">=</emphasis> 		            0.1 
-aleftout 		<emphasis role="opc">dam</emphasis> 		        aleftin, kthreshold, icomp1, icomp2, irtime, iftime 
-arightout 		<emphasis role="opc">dam</emphasis> 		        arightin, kthreshold, icomp1, icomp2, irtime, iftime 
-			    <emphasis role="comment">; Stereo output. </emphasis>
-			    <emphasis role="opc">outleta</emphasis> 	        "leftout", aleftout 
-			    <emphasis role="opc">outleta</emphasis> 	        "rightout", arightout 
-			    <emphasis role="oblock">endin</emphasis> 
-
-			    <emphasis role="oblock">instr</emphasis> Soundfile 
-                <emphasis role="comment">;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</emphasis>
-			    <emphasis role="comment">; Stereo input. </emphasis>
-aleftin 		<emphasis role="opc">inleta</emphasis> 		        "leftin" 
-arightin 		<emphasis role="opc">inleta</emphasis> 		        "rightin" 
-			    <emphasis role="opc">outs</emphasis> 		        aleftin, arightin 
-			    <emphasis role="oblock">endin</emphasis> 
+<emphasis role="oblock">instr</emphasis> SimpleSine 
+<emphasis role="comment">;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</emphasis>
+<emphasis role="comment">; Default values:   p1  p2  p3  p4  p5  p6  p7  p8  p9  p10</emphasis>
+                <emphasis role="opc">pset</emphasis>	        0,  0,  10, 0,  0,  0,  0.5
+iattack		<emphasis role="op">=</emphasis> 0.015
+idecay		<emphasis role="op">=</emphasis> 0.07
+isustain	<emphasis role="op">=</emphasis> p3
+irelease	<emphasis role="op">=</emphasis> 0.3
+p3		<emphasis role="op">=</emphasis> iattack <emphasis role="op">+</emphasis> idecay <emphasis role="op">+</emphasis> isustain <emphasis role="op">+</emphasis> irelease
+adamping	<emphasis role="opc">linsegr</emphasis> 0.0, iattack, 1.0, idecay <emphasis role="op">+</emphasis> isustain, 1.0, irelease, 0.0
+iHz 		<emphasis role="op">=</emphasis> <emphasis role="opc">cpsmidinn</emphasis>(p4) 
+<emphasis role="comment">; Rescale MIDI velocity range to a musically usable range of dB. </emphasis>
+iamplitude 	<emphasis role="op">=</emphasis> <emphasis role="opc">ampdb</emphasis>(p5 <emphasis role="op">/</emphasis> 127 <emphasis role="op">*</emphasis> 15.0 <emphasis role="op">+</emphasis> 60.0) 
+<emphasis role="comment">; Use ftgenonce instead of ftgen, ftgentmp, or f statement. </emphasis>
+icosine		<emphasis role="opc">ftgenonce</emphasis> 0, 0, 65537, 11, 1 
+aoscili		<emphasis role="opc">oscili</emphasis> iamplitude, iHz, icosine 
+aadsr 		<emphasis role="opc">madsr</emphasis> iattack, idecay, 0.6, irelease 
+asignal 	<emphasis role="op">=</emphasis> aoscili <emphasis role="op">*</emphasis> aadsr 
+aleft, aright	<emphasis role="opc">pan2</emphasis> asignal, p7
+<emphasis role="comment">; Stereo audio output to be routed in the orchestra header. </emphasis>
+		<emphasis role="opc">outleta</emphasis> "leftout", aleft
+		<emphasis role="opc">outleta</emphasis> "rightout", aright
+<emphasis role="oblock">endin</emphasis> 
+
+<emphasis role="oblock">instr</emphasis> Moogy 
+<emphasis role="comment">;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</emphasis>
+<emphasis role="comment">; Default values:   p1  p2  p3  p4  p5  p6  p7  p8  p9  p10</emphasis>
+		<emphasis role="opc">pset</emphasis>            0,  0,  10, 0,  0,  0,  0.5
+iattack		<emphasis role="op">=</emphasis> 0.003
+isustain	<emphasis role="op">=</emphasis> p3
+irelease	<emphasis role="op">=</emphasis> 0.05
+p3		<emphasis role="op">=</emphasis> iattack <emphasis role="op">+</emphasis> isustain <emphasis role="op">+</emphasis> irelease
+adamping	<emphasis role="opc">linsegr</emphasis>	0.0, iattack, 1.0, isustain, 1.0, irelease, 0.0
+iHz 		<emphasis role="op">=</emphasis> <emphasis role="opc">cpsmidinn</emphasis>(p4)
+<emphasis role="comment">; Rescale MIDI velocity range to a musically usable range of dB. </emphasis>
+iamplitude 	<emphasis role="op">=</emphasis> <emphasis role="opc">ampdb</emphasis>(p5 <emphasis role="op">/</emphasis> 127 <emphasis role="op">*</emphasis> 20.0 <emphasis role="op">+</emphasis> 60.0) 
+		<emphasis role="opc">print</emphasis> iHz, iamplitude 
+<emphasis role="comment">; Use ftgenonce instead of ftgen, ftgentmp, or f statement. </emphasis>
+isine 		<emphasis role="opc">ftgenonce</emphasis> 0, 0, 65537, 10, 1 
+asignal 	<emphasis role="opc">vco</emphasis> iamplitude, iHz, 1, 0.5, isine 
+kfco 		<emphasis role="opc">line</emphasis> 2000, p3, 200
+krez 		<emphasis role="op">=</emphasis> 0.8 
+asignal 	<emphasis role="opc">moogvcf</emphasis> asignal, kfco, krez, 100000 
+asignal		<emphasis role="op">=</emphasis> asignal <emphasis role="op">*</emphasis> adamping
+aleft, aright	<emphasis role="opc">pan2</emphasis> asignal, p7
+<emphasis role="comment">; Stereo audio output to be routed in the orchestra header. </emphasis>
+		<emphasis role="opc">outleta</emphasis> "leftout", aleft
+		<emphasis role="opc">outleta</emphasis> "rightout", aright 
+<emphasis role="oblock">endin</emphasis> 
+
+<emphasis role="oblock">instr</emphasis> Reverberator 
+<emphasis role="comment">;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</emphasis>
+<emphasis role="comment">; Stereo input. </emphasis>
+aleftin 	<emphasis role="opc">inleta</emphasis> "leftin" 
+arightin 	<emphasis role="opc">inleta</emphasis> "rightin" 
+idelay 		<emphasis role="op">=</emphasis> p4 
+icutoff 	<emphasis role="op">=</emphasis> p5 
+aleft, aright 	<emphasis role="opc">reverbsc</emphasis> aleftin, arightin, idelay, icutoff 
+<emphasis role="comment">; Stereo output. </emphasis>
+		<emphasis role="opc">outleta</emphasis> "leftout", aleft 
+		<emphasis role="opc">outleta</emphasis> "rightout", aright 
+<emphasis role="oblock">endin</emphasis> 
+
+<emphasis role="oblock">instr</emphasis> Compressor 
+<emphasis role="comment">;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</emphasis>
+<emphasis role="comment">; Stereo input. </emphasis>
+aleftin 	<emphasis role="opc">inleta</emphasis> "leftin" 
+arightin 	<emphasis role="opc">inleta</emphasis> "rightin" 
+kthreshold 	<emphasis role="op">=</emphasis> 25000 
+icomp1 		<emphasis role="op">=</emphasis> 0.5 
+icomp2 		<emphasis role="op">=</emphasis> 0.763 
+irtime 		<emphasis role="op">=</emphasis> 0.1 
+iftime 		<emphasis role="op">=</emphasis> 0.1 
+aleftout 	<emphasis role="opc">dam</emphasis> aleftin, kthreshold, icomp1, icomp2, irtime, iftime 
+arightout 	<emphasis role="opc">dam</emphasis> arightin, kthreshold, icomp1, icomp2, irtime, iftime 
+<emphasis role="comment">; Stereo output. </emphasis>
+		<emphasis role="opc">outleta</emphasis> "leftout", aleftout 
+		<emphasis role="opc">outleta</emphasis> "rightout", arightout 
+<emphasis role="oblock">endin</emphasis> 
+
+<emphasis role="oblock">instr</emphasis> Soundfile 
+<emphasis role="comment">;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</emphasis>
+<emphasis role="comment">; Stereo input. </emphasis>
+aleftin 	<emphasis role="opc">inleta</emphasis> "leftin" 
+arightin 	<emphasis role="opc">inleta</emphasis> "rightin" 
+		<emphasis role="opc">outs</emphasis> aleftin, arightin 
+<emphasis role="oblock">endin</emphasis> 
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
diff --git a/examples-xml/inletk.csd.xml b/examples-xml/inletk.csd.xml
new file mode 100644
index 0000000..5e6572e
--- /dev/null
+++ b/examples-xml/inletk.csd.xml
@@ -0,0 +1,46 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o inletk.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+ 
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="opc">connect</emphasis> "bend", "bendout", "guitar", "bendin" 
+
+<emphasis role="oblock">instr</emphasis> bend 
+
+kbend <emphasis role="opc">line</emphasis> p4, p3, p5 
+      <emphasis role="opc">outletk</emphasis> "bendout", kbend 
+<emphasis role="oblock">endin</emphasis> 
+
+<emphasis role="oblock">instr</emphasis> guitar 
+
+kbend <emphasis role="opc">inletk</emphasis> "bendin" 
+kpch <emphasis role="opc">pow</emphasis> 2, kbend<emphasis role="op">/</emphasis>12
+     <emphasis role="opc">printk2</emphasis> kpch
+asig <emphasis role="opc">oscili</emphasis> .4, 440<emphasis role="op">*</emphasis>kpch, 1 
+     <emphasis role="opc">outs</emphasis> asig, asig
+<emphasis role="oblock">endin</emphasis> 
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+ 
+<emphasis role="stamnt">f</emphasis>1 0 1024 10 1
+
+<emphasis role="stamnt">i</emphasis>"gu<emphasis role="stamnt">i</emphasis>tar" 0 5 8.00 
+<emphasis role="stamnt">i</emphasis>"bend" 3 .2 -12 12 
+<emphasis role="stamnt">i</emphasis>"bend" 4 .1 -17 40 
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/inq.csd.xml b/examples-xml/inq.csd.xml
new file mode 100644
index 0000000..5304bbb
--- /dev/null
+++ b/examples-xml/inq.csd.xml
@@ -0,0 +1,39 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  -idac <emphasis role="comment">;;;realtime audio I/O</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; inq.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis>   <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis>   <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis>   <emphasis role="op">=</emphasis> 2	<emphasis role="comment">;2 channels out</emphasis>
+<emphasis role="ohdr">0dbfs</emphasis>    <emphasis role="op">=</emphasis> 1
+nchnls_i <emphasis role="op">=</emphasis> 4	<emphasis role="comment">;4 channels in</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">;4 channels in, two channels out</emphasis>
+
+ain1, ain2, ain3, ain4 <emphasis role="opc">inq</emphasis>		<emphasis role="comment">;grab your mics and sing</emphasis>
+
+adel   <emphasis role="opc">linseg</emphasis> 0, p3<emphasis role="op">*</emphasis>.5, 0.02, p3<emphasis role="op">*</emphasis>.5, 0	  <emphasis role="comment">;max delay time = 20ms</emphasis>
+adel2  <emphasis role="opc">linseg</emphasis> 0.02, p3<emphasis role="op">*</emphasis>.5, 0, p3<emphasis role="op">*</emphasis>.5, 0.02 <emphasis role="comment">;max delay time = 20ms	</emphasis>
+aoutl  <emphasis role="opc">flanger</emphasis> ain1, adel, .7
+aoutr  <emphasis role="opc">flanger</emphasis> ain2, adel<emphasis role="op">*</emphasis>2, .8
+aoutla <emphasis role="opc">flanger</emphasis> ain3, adel2, .9
+aoutra <emphasis role="opc">flanger</emphasis> ain4, adel2<emphasis role="op">*</emphasis>2, .5
+<emphasis role="comment">;write to quad file, 16 bits with header</emphasis>
+       <emphasis role="opc">fout</emphasis> "in_4.wav", 14, aoutl, aoutr, aoutla, aoutra	
+       <emphasis role="opc">outs</emphasis> (aoutl<emphasis role="op">+</emphasis>aoutla)<emphasis role="op">*</emphasis>.5, (aoutr<emphasis role="op">+</emphasis>aoutra)<emphasis role="op">*</emphasis>.5 <emphasis role="comment">;stereo out</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 10
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/ins.csd.xml b/examples-xml/ins.csd.xml
new file mode 100644
index 0000000..b0b1aad
--- /dev/null
+++ b/examples-xml/ins.csd.xml
@@ -0,0 +1,33 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   -idac   <emphasis role="comment">;;;realtime audio I/O</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; ins.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2				<emphasis role="comment">;two channels out</emphasis>
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1 
+
+ain1, ainr <emphasis role="opc">ins</emphasis>				<emphasis role="comment">;grab your mic and sing</emphasis>
+adel  <emphasis role="opc">linseg</emphasis> 0, p3<emphasis role="op">*</emphasis>.5, 0.02, p3<emphasis role="op">*</emphasis>.5, 0	<emphasis role="comment">;max delay time = 20ms</emphasis>
+aoutl <emphasis role="opc">flanger</emphasis> ain1, adel, .7
+aoutr <emphasis role="opc">flanger</emphasis> ain1, adel<emphasis role="op">*</emphasis>2, .8
+      <emphasis role="opc">fout</emphasis> "in_s.wav", 14, aoutl, aoutr <emphasis role="comment">;write to stereo file,</emphasis>
+      <emphasis role="opc">outs</emphasis> aoutl, aoutr			<emphasis role="comment">;16 bits with header</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 10
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/instance.csd.xml b/examples-xml/instance.csd.xml
new file mode 100644
index 0000000..d97f653
--- /dev/null
+++ b/examples-xml/instance.csd.xml
@@ -0,0 +1,51 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+<emphasis role="comment">; Audio out   Audio in</emphasis>
+-odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o instance.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="comment">; Initialize the global variables.</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+
+<emphasis role="comment">; Instrument #1 - oscillator with a high note.</emphasis>
+<emphasis role="oblock">instr</emphasis> 1
+  <emphasis role="comment">; Play Instrument #2 at the same time.</emphasis>
+  iHandle<emphasis role="opc">instance</emphasis> 2, 0, p3
+
+  <emphasis role="comment">; Play a high note.</emphasis>
+  a1 <emphasis role="opc">oscils</emphasis> 10000, 880, 1
+  <emphasis role="opc">out</emphasis> a1
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="comment">; Instrument #2 - oscillator with a low note.</emphasis>
+<emphasis role="oblock">instr</emphasis> 2
+  <emphasis role="comment">; Play a low note.</emphasis>
+  a1 <emphasis role="opc">oscils</emphasis> 10000, 220, 1
+  <emphasis role="opc">out</emphasis> a1
+<emphasis role="oblock">endin</emphasis>
+
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="comment">; Table #1, a sine wave.</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
+
+<emphasis role="comment">; Play Instrument #1 for half a second.</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 0.5
+<emphasis role="comment">; Play Instrument #1 for half a second.</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 1 0.5
+<emphasis role="stamnt">e</emphasis>
+
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/int.csd.xml b/examples-xml/int.csd.xml
index d4c08ac..b51d3b1 100644
--- a/examples-xml/int.csd.xml
+++ b/examples-xml/int.csd.xml
@@ -2,36 +2,33 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o int.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  i1 <emphasis role="op">=</emphasis> 16 <emphasis role="op">/</emphasis> 5
-  i2 <emphasis role="op">=</emphasis> <emphasis role="opc">int</emphasis>(i1)
-
-  <emphasis role="opc">print</emphasis> i2
-<emphasis role="oblock">endin</emphasis>
 
+icount <emphasis role="opc">init</emphasis> 0
+<emphasis role="olabel">loop</emphasis><emphasis role="op">:</emphasis>
+  inum <emphasis role="op">=</emphasis> icount <emphasis role="op">/</emphasis> 3
+  inm  <emphasis role="op">=</emphasis> <emphasis role="opc">int</emphasis>(inum)
+  <emphasis role="opc">prints</emphasis> "integer (<emphasis role="op">%</emphasis>f<emphasis role="op">/</emphasis>3) <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\\n", icount, inm
+<emphasis role="octrl">loop_lt</emphasis> icount, 1, 10, <emphasis role="olabel">loop</emphasis>
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="stamnt">i</emphasis> 1 0 0
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/invalue.csd.xml b/examples-xml/invalue.csd.xml
new file mode 100644
index 0000000..3e96a0d
--- /dev/null
+++ b/examples-xml/invalue.csd.xml
@@ -0,0 +1,29 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="comment">;run this example in CsoundQt, a Csound editor that provides widgets</emphasis>
+<emphasis role="comment">;make the Widgets-panel visible, by clicking the Widgets symbol in the menu or pressing (Alt+1).</emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+<emphasis role="comment">; written by Andres Cabrera</emphasis>
+<emphasis role="oblock">instr</emphasis> 1
+
+kfreq <emphasis role="opc">invalue</emphasis> "freq" <emphasis role="comment">; Quotes are needed here</emphasis>
+asig  <emphasis role="opc">oscil</emphasis> 0.1, kfreq, 1
+      <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 1024 10 1 <emphasis role="comment">;sine</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 300 	<emphasis role="comment">;play for 300 seconds</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/jacko.csd.xml b/examples-xml/jacko.csd.xml
index 27dc41f..9958d2b 100644
--- a/examples-xml/jacko.csd.xml
+++ b/examples-xml/jacko.csd.xml
@@ -16,7 +16,7 @@ csound -m255 -M0 -+rtmidi=null -RWf --midi-key=4 --midi-velocity=5 -o jacko_test
 <emphasis role="ohdr">nchnls</emphasis> 	   <emphasis role="op">=</emphasis> 2
 <emphasis role="ohdr">0dbfs</emphasis> 	   <emphasis role="op">=</emphasis> 1
 
-	   <emphasis role="opc">JackoInit</emphasis>		"default", "csound"
+	   JackoInit		"default", "csound"
 
 	   <emphasis role="comment">; To use ALSA midi ports, use "jackd -Xseq"</emphasis>
 	   <emphasis role="comment">; and use "jack_lsp -A -c" or aliases from JackInfo,</emphasis>
@@ -24,23 +24,23 @@ csound -m255 -M0 -+rtmidi=null -RWf --midi-key=4 --midi-velocity=5 -o jacko_test
 	   <emphasis role="comment">; to figure out the damn port names.</emphasis>
 
 	   <emphasis role="comment">; JackoMidiInConnect   "alsa_pcm:in-131-0-Master", "midiin"</emphasis>
-	   <emphasis role="opc">JackoAudioInConnect</emphasis> 	"aeolus<emphasis role="op">:</emphasis>out.L", "leftin"
-	   <emphasis role="opc">JackoAudioInConnect</emphasis> 	"aeolus<emphasis role="op">:</emphasis>out.R", "rightin"
-	   <emphasis role="opc">JackoMidiOutConnect</emphasis> 	"midiout", "aeolus<emphasis role="op">:</emphasis>Midi<emphasis role="op">/</emphasis>in"
+	   JackoAudioInConnect 	"aeolus<emphasis role="op">:</emphasis>out.L", "leftin"
+	   JackoAudioInConnect 	"aeolus<emphasis role="op">:</emphasis>out.R", "rightin"
+	   JackoMidiOutConnect 	"midiout", "aeolus<emphasis role="op">:</emphasis>Midi<emphasis role="op">/</emphasis>in"
 
            <emphasis role="comment">; Note that Jack enables audio to be output to a regular</emphasis>
  	   <emphasis role="comment">; Csound soundfile and, at the same time, to a sound </emphasis>
 	   <emphasis role="comment">; card in real time to the system client via Jack. </emphasis>
 
-       	   <emphasis role="opc">JackoAudioOutConnect</emphasis> "leftout", "system<emphasis role="op">:</emphasis>playback_1"
-	   <emphasis role="opc">JackoAudioOutConnect</emphasis> "rightout", "system<emphasis role="op">:</emphasis>playback_2"
-	   <emphasis role="opc">JackoInfo</emphasis>
+       	   JackoAudioOutConnect "leftout", "system<emphasis role="op">:</emphasis>playback_1"
+	   JackoAudioOutConnect "rightout", "system<emphasis role="op">:</emphasis>playback_2"
+	   JackoInfo
 
 	   <emphasis role="comment">; Turning freewheeling on seems automatically </emphasis>
            <emphasis role="comment">; to turn system playback off. This is good!</emphasis>
 
-	   <emphasis role="opc">JackoFreewheel</emphasis>	1
-	   <emphasis role="opc">JackoOn</emphasis>
+	   JackoFreewheel	1
+	   JackoOn
 
 	   <emphasis role="opc">alwayson</emphasis>		"jackin"
 
@@ -51,15 +51,15 @@ itime 	   <emphasis role="op">=</emphasis> 			p2
 iduration  <emphasis role="op">=</emphasis> 			p3
 ikey 	   <emphasis role="op">=</emphasis> 			p4
 ivelocity  <emphasis role="op">=</emphasis> 			p5
-	   <emphasis role="opc">JackoNoteOut</emphasis> 	"midiout", ichannel, ikey, ivelocity
+	   JackoNoteOut 	"midiout", ichannel, ikey, ivelocity
 	   <emphasis role="opc">print</emphasis> 		itime, iduration, ichannel, ikey, ivelocity
 	   <emphasis role="oblock">endin</emphasis>
 
 	   <emphasis role="oblock">instr</emphasis> jackin
 	   <emphasis role="comment">;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</emphasis>
-	   <emphasis role="opc">JackoTransport</emphasis>	3, 1.0
-aleft 	   <emphasis role="opc">JackoAudioIn</emphasis>		"leftin"
-aright 	   <emphasis role="opc">JackoAudioIn</emphasis> 	"rightin"
+	   JackoTransport	3, 1.0
+aleft 	   JackoAudioIn		"leftin"
+aright 	   JackoAudioIn 	"rightin"
 
 	   <emphasis role="comment">; Aeolus uses MIDI controller 98 to control stops. </emphasis>
            <emphasis role="comment">; Only 1 data value byte is used, not the 2 data </emphasis>
@@ -72,14 +72,14 @@ aright 	   <emphasis role="opc">JackoAudioIn</emphasis> 	"rightin"
 	   <emphasis role="comment">; Mode to enable stops for Divison I: b1100010 (98 </emphasis>
            <emphasis role="comment">; [this controller VALUE is a pure coincidence]).</emphasis>
 
-	   <emphasis role="opc">JackoMidiOut</emphasis>          "midiout", 176, 0, 98, 98 
+	   JackoMidiOut          "midiout", 176, 0, 98, 98 
 
 	   <emphasis role="comment">; Stops: Principal 8 (0), Principal 4 (1) , Flote 8 (8) , Flote 2 (10)</emphasis>
 
-	   <emphasis role="opc">JackoMidiOut</emphasis>          "midiout", 176, 0, 98, 0
-	   <emphasis role="opc">JackoMidiOut</emphasis>          "midiout", 176, 0, 98, 1
-	   <emphasis role="opc">JackoMidiOut</emphasis>          "midiout", 176, 0, 98, 8
-	   <emphasis role="opc">JackoMidiOut</emphasis>          "midiout", 176, 0, 98, 10
+	   JackoMidiOut          "midiout", 176, 0, 98, 0
+	   JackoMidiOut          "midiout", 176, 0, 98, 1
+	   JackoMidiOut          "midiout", 176, 0, 98, 8
+	   JackoMidiOut          "midiout", 176, 0, 98, 10
 
 	   <emphasis role="comment">; Sends audio coming in from Aeolus out</emphasis>
 	   <emphasis role="comment">; not only to the Jack system out (sound card),</emphasis>
@@ -87,8 +87,8 @@ aright 	   <emphasis role="opc">JackoAudioIn</emphasis> 	"rightin"
            <emphasis role="comment">; Note that in freewheeling mode, "leftout"</emphasis>
            <emphasis role="comment">; and "rightout" simply go silent.</emphasis>
 
- 	   <emphasis role="opc">JackoAudioOut</emphasis> 	"leftout", aleft
-	   <emphasis role="opc">JackoAudioOut</emphasis> 	"rightout", aright
+ 	   JackoAudioOut 	"leftout", aleft
+	   JackoAudioOut 	"rightout", aright
 	   <emphasis role="opc">outs</emphasis>  		aright, aleft
 	   <emphasis role="oblock">endin</emphasis>
 
diff --git a/examples-xml/jacktransport.csd.xml b/examples-xml/jacktransport.csd.xml
index c7961e6..695120e 100644
--- a/examples-xml/jacktransport.csd.xml
+++ b/examples-xml/jacktransport.csd.xml
@@ -12,11 +12,11 @@
 
 
 	<emphasis role="oblock">instr</emphasis> 1
-<emphasis role="opc">jacktransport</emphasis> p4, p5 
+jacktransport p4, p5 
 	<emphasis role="oblock">endin</emphasis>
 
 	<emphasis role="oblock">instr</emphasis> 2
-<emphasis role="opc">jacktransport</emphasis> p4 
+jacktransport p4 
 	<emphasis role="oblock">endin</emphasis>
 
 
diff --git a/examples-xml/jitter.csd.xml b/examples-xml/jitter.csd.xml
index 7435609..d102d68 100644
--- a/examples-xml/jitter.csd.xml
+++ b/examples-xml/jitter.csd.xml
@@ -2,54 +2,37 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o jitter.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1 -- plain instrument.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  aplain <emphasis role="opc">vco</emphasis> 20000, 220, 2, 0.83
 
-  <emphasis role="opc">outs</emphasis> aplain, aplain
-<emphasis role="oblock">endin</emphasis>
-
-<emphasis role="comment">; Instrument #2 -- instrument with jitter.</emphasis>
-<emphasis role="oblock">instr</emphasis> 2
-  <emphasis role="comment">; Create a signal modulated the jitter opcode.</emphasis>
-  kamp <emphasis role="opc">init</emphasis> 2
-  kcpsmin <emphasis role="opc">init</emphasis> 4
-  kcpsmax <emphasis role="opc">init</emphasis> 6
-  kj <emphasis role="opc">jitter</emphasis> kamp, kcpsmin, kcpsmax
+kamp    <emphasis role="opc">init</emphasis> p4
+kcpsmin <emphasis role="opc">init</emphasis> 4
+kcpsmax <emphasis role="opc">init</emphasis> 8
 
-  aplain <emphasis role="opc">vco</emphasis> 20000, 220, 2, 0.83
-  ajitter <emphasis role="opc">vco</emphasis> 20000, 220<emphasis role="op">+</emphasis>kj, 2, 0.83
+kj2  <emphasis role="opc">jitter</emphasis> kamp, kcpsmin, kcpsmax
+aout <emphasis role="opc">pluck</emphasis> 1, 200<emphasis role="op">+</emphasis>kj2, 1000, 0, 1
+aout <emphasis role="opc">dcblock</emphasis> aout	<emphasis role="comment">;remove DC</emphasis>
+     <emphasis role="opc">outs</emphasis> aout, aout
 
-  <emphasis role="opc">outs</emphasis> aplain, ajitter
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for 3 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 3
-<emphasis role="comment">; Play Instrument #2 for 3 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 2 3 3
+<emphasis role="stamnt">i</emphasis> 1 0 15 2	<emphasis role="comment">;a bit jitter</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 8 15 10	<emphasis role="comment">;some more</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 16 15 20	<emphasis role="comment">;lots more</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/jitter2.csd.xml b/examples-xml/jitter2.csd.xml
index 640baea..827349f 100644
--- a/examples-xml/jitter2.csd.xml
+++ b/examples-xml/jitter2.csd.xml
@@ -2,59 +2,41 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o jitter2.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1 -- plain instrument.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  aplain <emphasis role="opc">vco</emphasis> 20000, 220, 2, 0.83
 
-  <emphasis role="opc">outs</emphasis> aplain, aplain
-<emphasis role="oblock">endin</emphasis>
-
-<emphasis role="comment">; Instrument #2 -- instrument with jitter.</emphasis>
-<emphasis role="oblock">instr</emphasis> 2
-  <emphasis role="comment">; Create a signal modulated with the jitter2 opcode.</emphasis>
-  ktotamp <emphasis role="opc">init</emphasis> 2
-  kamp1 <emphasis role="opc">init</emphasis> 0.66
-  kcps1 <emphasis role="opc">init</emphasis> 3
-  kamp2 <emphasis role="opc">init</emphasis> 0.66
-  kcps2 <emphasis role="opc">init</emphasis> 3
-  kamp3 <emphasis role="opc">init</emphasis> 0.66
-  kcps3 <emphasis role="opc">init</emphasis> 3
-  kj <emphasis role="opc">jitter2</emphasis> ktotamp, kamp1, kcps1, kamp2, kcps2, \
-             kamp3, kcps3
+ktotamp <emphasis role="opc">init</emphasis> p4
+kamp1   <emphasis role="opc">init</emphasis> .5
+kcps1   <emphasis role="opc">init</emphasis> 10
+kamp2   <emphasis role="opc">init</emphasis> .5
+kcps2   <emphasis role="opc">init</emphasis> 2
+kamp3   <emphasis role="opc">init</emphasis> .5
+kcps3   <emphasis role="opc">init</emphasis> 3
 
-  aplain <emphasis role="opc">vco</emphasis> 20000, 220, 2, 0.83
-  ajitter <emphasis role="opc">vco</emphasis> 20000, 220<emphasis role="op">+</emphasis>kj, 2, 0.83
+kj2  <emphasis role="opc">jitter2</emphasis> ktotamp, kamp1, kcps1, kamp2, kcps2, kamp3, kcps3
+aout <emphasis role="opc">pluck</emphasis> 1, 200<emphasis role="op">+</emphasis>kj2, 1000, 0, 1
+aout <emphasis role="opc">dcblock</emphasis> aout
+     <emphasis role="opc">outs</emphasis> aout, aout
 
-  <emphasis role="opc">outs</emphasis> aplain, ajitter
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for 3 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 3
-<emphasis role="comment">; Play Instrument #2 for 3 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 2 3 3
+<emphasis role="stamnt">i</emphasis> 1 0 15 2	<emphasis role="comment">;a bit jitter</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 8 15 10	<emphasis role="comment">;some more</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 16 15 20	<emphasis role="comment">;lots more</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/joystick-2.csd.xml b/examples-xml/joystick-2.csd.xml
new file mode 100644
index 0000000..b201961
--- /dev/null
+++ b/examples-xml/joystick-2.csd.xml
@@ -0,0 +1,69 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o joystick-2.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="comment">;0dbfs  = 1</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kmask   joystick   0, 1
+kaxes    <emphasis role="opc">init</emphasis> 0
+kbuttons <emphasis role="opc">init</emphasis> 0
+kx0      <emphasis role="opc">init</emphasis> 0 <emphasis role="comment">; first two entries are # of axes and # of buttons, </emphasis>
+ky0      <emphasis role="opc">init</emphasis> 0 <emphasis role="comment">; then axes, then buttons                           </emphasis>
+         <emphasis role="opc">vtabk</emphasis> 0, 1, kaxes, kbuttons, kx0, ky0
+kidx     <emphasis role="op">=</emphasis>  2<emphasis role="op">+</emphasis>kaxes 
+                       
+<emphasis role="olabel">buttons</emphasis><emphasis role="op">:</emphasis>
+  kcheck <emphasis role="op">=</emphasis>  kmask <emphasis role="op">&</emphasis> 1<emphasis role="op"><</emphasis><emphasis role="op"><</emphasis>kidx   <emphasis role="comment">; if the button was just now pressed and...</emphasis>
+  kres   <emphasis role="opc">tab</emphasis>       kidx, 1    <emphasis role="comment">; if button value is one, start a note</emphasis>
+         <emphasis role="opc">schedkwhen</emphasis>  kres<emphasis role="op">*</emphasis>kcheck, 1, 20, 2, 0, 60000, kidx, kx0, ky0
+  kidx   <emphasis role="op">=</emphasis>  kidx<emphasis role="op">+</emphasis>1
+<emphasis role="octrl">if</emphasis> kidx <emphasis role="op"><</emphasis> (kaxes<emphasis role="op">+</emphasis>kbuttons<emphasis role="op">+</emphasis>2) <emphasis role="octrl">kgoto</emphasis> <emphasis role="olabel">buttons</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2 <emphasis role="comment">; play a tone until the button is released</emphasis>
+
+kstop   <emphasis role="opc">tab</emphasis>  p4, 1 <emphasis role="comment">; when this button is released, we fade out</emphasis>
+ihz     <emphasis role="opc">init</emphasis> <emphasis role="opc">cpsoct</emphasis>(((p5<emphasis role="op">+</emphasis>32767)<emphasis role="op">/</emphasis>9362)<emphasis role="op">+</emphasis>5) <emphasis role="comment">; ~ 30 hz to 4khz</emphasis>
+<emphasis role="opc">print</emphasis> ihz
+ito     <emphasis role="opc">init</emphasis> <emphasis role="opc">ampdb</emphasis>(((p6<emphasis role="op">+</emphasis>32767)<emphasis role="op">/</emphasis>2184)<emphasis role="op">+</emphasis>60) <emphasis role="comment">; ~ 60 - 90 db</emphasis>
+kenv    <emphasis role="opc">init</emphasis> 0
+kdelta  <emphasis role="opc">init</emphasis> ito<emphasis role="op">/</emphasis>(<emphasis role="ohdr">kr</emphasis><emphasis role="op">*</emphasis>10)
+<emphasis role="octrl">if</emphasis> kstop <emphasis role="op">==</emphasis> 1 <emphasis role="octrl">kgoto</emphasis> <emphasis role="olabel">output</emphasis>
+<emphasis role="octrl">if</emphasis> kdelta <emphasis role="op"><</emphasis> 0 <emphasis role="octrl">kgoto</emphasis> <emphasis role="olabel">output</emphasis>
+kdelta    <emphasis role="op">=</emphasis>  kdelta<emphasis role="op">*</emphasis><emphasis role="op">-</emphasis>1
+
+<emphasis role="olabel">output</emphasis><emphasis role="op">:</emphasis>
+  kenv <emphasis role="op">=</emphasis>  kenv<emphasis role="op">+</emphasis>kdelta
+  kenv <emphasis role="opc">limit</emphasis> kenv, 0, ito
+  aout <emphasis role="opc">oscils</emphasis> 1, ihz, 0
+  aout <emphasis role="op">=</emphasis>  kenv<emphasis role="op">*</emphasis>aout
+       <emphasis role="opc">outs</emphasis> aout, aout
+<emphasis role="octrl">if</emphasis> kenv <emphasis role="op">!=</emphasis> 0 <emphasis role="octrl">kgoto</emphasis> <emphasis role="olabel">noexit</emphasis>
+<emphasis role="octrl">if</emphasis> kdelta <emphasis role="op">></emphasis> 0 <emphasis role="octrl">kgoto</emphasis> <emphasis role="olabel">noexit</emphasis>
+<emphasis role="opc">turnoff</emphasis>
+<emphasis role="olabel">noexit</emphasis><emphasis role="op">:</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1  0 32    7     0     7     0         <emphasis role="comment">; will hold the joystick data</emphasis>
+
+<emphasis role="stamnt">i</emphasis>1  0  60000
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/joystick.csd.xml b/examples-xml/joystick.csd.xml
new file mode 100644
index 0000000..cff74d9
--- /dev/null
+++ b/examples-xml/joystick.csd.xml
@@ -0,0 +1,58 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o joystick.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="comment">;0dbfs  = 1</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">; gives information about your joystick in real time</emphasis>
+  
+kmask    joystick   0, 1
+kidx     <emphasis role="op">=</emphasis>  2
+kaxes    <emphasis role="opc">tab</emphasis> 0, 1 <emphasis role="comment">; number of axes has been stored in position 0</emphasis>
+kbuttons <emphasis role="opc">tab</emphasis> 1, 1 <emphasis role="comment">; number of buttons has been stored in position 1</emphasis>
+         <emphasis role="opc">printf</emphasis> "this joystick has <emphasis role="op">%</emphasis>d axes, <emphasis role="op">%</emphasis>d buttons\n", kidx, kaxes, kbuttons
+kuniq    <emphasis role="opc">init</emphasis> 0
+
+<emphasis role="olabel">reportaxis</emphasis><emphasis role="op">:</emphasis> <emphasis role="comment">; first we see if we have any x/y input</emphasis>
+	kcheck    <emphasis role="op">=</emphasis>  kmask <emphasis role="op">&</emphasis> (1<emphasis role="op"><</emphasis><emphasis role="op"><</emphasis>kidx)
+	<emphasis role="octrl">if</emphasis> kcheck <emphasis role="op">==</emphasis> 0 <emphasis role="octrl">kgoto</emphasis> <emphasis role="olabel">nexta</emphasis>
+	kres      <emphasis role="opc">tab</emphasis>       kidx, 1
+	kuniq     <emphasis role="op">=</emphasis>  kuniq <emphasis role="op">+</emphasis> 1 <emphasis role="comment">; to be sure to make the printf print</emphasis>
+		  <emphasis role="opc">printf</emphasis>    "axis <emphasis role="op">%</emphasis>d, value <emphasis role="op">%</emphasis>6d\n", kuniq, kidx<emphasis role="op">-</emphasis>2, kres
+<emphasis role="olabel">nexta</emphasis><emphasis role="op">:</emphasis>
+	kidx      <emphasis role="op">=</emphasis>  kidx<emphasis role="op">+</emphasis>1
+	<emphasis role="octrl">if</emphasis> kidx <emphasis role="op"><</emphasis> (kaxes<emphasis role="op">+</emphasis>2) <emphasis role="octrl">kgoto</emphasis> <emphasis role="olabel">reportaxis</emphasis>
+
+<emphasis role="olabel">reportbutton</emphasis><emphasis role="op">:</emphasis> <emphasis role="comment">; now we check for any buttons pressed</emphasis>
+	kcheck    <emphasis role="op">=</emphasis>  kmask <emphasis role="op">&</emphasis> 1<emphasis role="op"><</emphasis><emphasis role="op"><</emphasis>kidx
+	<emphasis role="octrl">if</emphasis> kcheck <emphasis role="op">==</emphasis> 0 <emphasis role="octrl">kgoto</emphasis> <emphasis role="olabel">nextb</emphasis>
+	kres      <emphasis role="opc">tab</emphasis>       kidx, 1 <emphasis role="comment">; a button has been pressed, get from table</emphasis>
+		  <emphasis role="opc">printf</emphasis>    "button <emphasis role="op">%</emphasis>d, pushed\n", kidx<emphasis role="op">*</emphasis>kres, (kidx<emphasis role="op">-</emphasis>(kaxes<emphasis role="op">+</emphasis>2))
+		  <emphasis role="opc">printf</emphasis>    "button <emphasis role="op">%</emphasis>d, released\n", kidx<emphasis role="op">*</emphasis>(1<emphasis role="op">-</emphasis>kres), (kidx<emphasis role="op">-</emphasis>(kaxes<emphasis role="op">+</emphasis>2))
+
+<emphasis role="olabel">nextb</emphasis><emphasis role="op">:</emphasis>
+	kidx      <emphasis role="op">=</emphasis>  kidx<emphasis role="op">+</emphasis>1
+	<emphasis role="octrl">if</emphasis> kidx <emphasis role="op"><</emphasis> (kaxes<emphasis role="op">+</emphasis>kbuttons<emphasis role="op">+</emphasis>2) <emphasis role="octrl">kgoto</emphasis> <emphasis role="olabel">reportbutton</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">f</emphasis>1  0 32    7     0     7     0         <emphasis role="comment">; will hold the joystick data</emphasis>
+
+<emphasis role="stamnt">i</emphasis>1  0  60000
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/jspline.csd.xml b/examples-xml/jspline.csd.xml
index 1f92752..1e53b6d 100644
--- a/examples-xml/jspline.csd.xml
+++ b/examples-xml/jspline.csd.xml
@@ -2,54 +2,37 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o jspline.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1 -- plain instrument.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  aplain <emphasis role="opc">vco</emphasis> 15000, 220, 2, 0.83
 
-  <emphasis role="opc">outs</emphasis> aplain, aplain
-<emphasis role="oblock">endin</emphasis>
-
-<emphasis role="comment">; Instrument #2 -- instrument with jitter.</emphasis>
-<emphasis role="oblock">instr</emphasis> 2
-  <emphasis role="comment">; Create a signal modulated the jitter opcode.</emphasis>
-  kamp <emphasis role="opc">init</emphasis> 2
-  kcpsmin <emphasis role="opc">init</emphasis> 4
-  kcpsmax <emphasis role="opc">init</emphasis> 10
-  kj <emphasis role="opc">jspline</emphasis> kamp, kcpsmin, kcpsmax
+kamp    <emphasis role="opc">init</emphasis> p4
+kcpsmin <emphasis role="opc">init</emphasis> 2
+kcpsmax <emphasis role="opc">init</emphasis> 20
 
-  aplain <emphasis role="opc">vco</emphasis> 20000, 220, 2, 0.83
-  ajitter <emphasis role="opc">vco</emphasis> 20000, 220<emphasis role="op">+</emphasis>kj, 2, 0.83
+ksp  <emphasis role="opc">jspline</emphasis> kamp, kcpsmin, kcpsmax
+aout <emphasis role="opc">pluck</emphasis> 1, 200<emphasis role="op">+</emphasis>ksp, 1000, 0, 1
+aout <emphasis role="opc">dcblock</emphasis> aout	<emphasis role="comment">;remove DC</emphasis>
+     <emphasis role="opc">outs</emphasis> aout, aout
 
-  <emphasis role="opc">outs</emphasis> aplain, ajitter
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for 3 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 3
-<emphasis role="comment">; Play Instrument #2 for 3 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 2 3 3
+<emphasis role="stamnt">i</emphasis> 1 0 10 2	<emphasis role="comment">;a bit jitter</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 8 10 10	<emphasis role="comment">;some more</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 16 10 20	<emphasis role="comment">;lots more</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/kill.csd.xml b/examples-xml/kill.csd.xml
new file mode 100644
index 0000000..0cfbcf4
--- /dev/null
+++ b/examples-xml/kill.csd.xml
@@ -0,0 +1,35 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+<emphasis role="comment">; Audio out   Audio in</emphasis>
+-odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o kill.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="comment">; Initialize the global variables.</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+
+giHandle<emphasis role="opc">instance</emphasis> 1, 0, 4
+<emphasis role="comment">; Instrument #1.</emphasis>
+<emphasis role="oblock">instr</emphasis> 1
+  k1 <emphasis role="opc">expon</emphasis> 440, p3<emphasis role="op">/</emphasis>10,880     <emphasis role="comment">; begin gliss and continue</emphasis>
+  <emphasis role="octrl">if</emphasis> k1 <emphasis role="op"><</emphasis> <emphasis role="ohdr">sr</emphasis><emphasis role="op">/</emphasis>2  <emphasis role="octrl">kgoto</emphasis> <emphasis role="olabel">contin</emphasis>  <emphasis role="comment">; until Nyquist detected</emphasis>
+    <emphasis role="opc">kill</emphasis> giHandle <emphasis role="comment">; then quit</emphasis>
+
+<emphasis role="olabel">contin</emphasis><emphasis role="op">:</emphasis>
+  a1 <emphasis role="opc">oscili</emphasis> 10000, k1
+  <emphasis role="opc">out</emphasis> a1
+<emphasis role="oblock">endin</emphasis>
+
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/lenarray.csd.xml b/examples-xml/lenarray.csd.xml
new file mode 100644
index 0000000..9d76e20
--- /dev/null
+++ b/examples-xml/lenarray.csd.xml
@@ -0,0 +1,55 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+-n -m128 <emphasis role="comment">;no sound output, reduced messages</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="comment">;example by joachim heintz</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+
+  <emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">;simple example</emphasis>
+kArr[]  <emphasis role="opc">fillarray</emphasis> 1, 2, 3, 4 <emphasis role="comment">;fill array manually</emphasis>
+        <emphasis role="opc">printks</emphasis> "Length of kArr <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>d\n\n", 0, <emphasis role="opc">lenarray</emphasis>(kArr) <emphasis role="comment">;print out its length</emphasis>
+        <emphasis role="opc">turnoff</emphasis> <emphasis role="comment">;only do this in the first k-cycle</emphasis>
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 2 <emphasis role="comment">;random array length</emphasis>
+iNumEls <emphasis role="opc">random</emphasis>  1, 11 <emphasis role="comment">;create random number between 1 and 10</emphasis>
+kArr[]  <emphasis role="opc">init</emphasis>    <emphasis role="opc">int</emphasis>(iNumEls) <emphasis role="comment">;create array of this length</emphasis>
+        <emphasis role="opc">printks</emphasis> "Random length of kArr <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>d\n", 0, <emphasis role="opc">lenarray</emphasis>(kArr) <emphasis role="comment">;print out</emphasis>
+        <emphasis role="opc">turnoff</emphasis>
+  <emphasis role="oblock">endin</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> 3 <emphasis role="comment">;fill random array length with random elements</emphasis>
+iNumEls <emphasis role="opc">random</emphasis>  1, 11 <emphasis role="comment">;create random number between 1 and 10</emphasis>
+kArr[]  <emphasis role="opc">init</emphasis>    <emphasis role="opc">int</emphasis>(iNumEls) <emphasis role="comment">;create array of this length</emphasis>
+        <emphasis role="opc">printks</emphasis> "Random length of kArr <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>d\n", 0, <emphasis role="opc">lenarray</emphasis>(kArr) <emphasis role="comment">;print out</emphasis>
+
+<emphasis role="comment">;fill</emphasis>
+kIndx   <emphasis role="op">=</emphasis>       0 <emphasis role="comment">;initialize index</emphasis>
+  until kIndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(kArr) do
+kArr[kIndx] <emphasis role="opc">rnd31</emphasis> 10, 0 <emphasis role="comment">;set element to random value -10...10</emphasis>
+kIndx   <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>      1 <emphasis role="comment">;increase index</emphasis>
+  od
+
+<emphasis role="comment">;print</emphasis>
+kIndx   <emphasis role="op">=</emphasis>       0 <emphasis role="comment">;initialize index</emphasis>
+  until kIndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(kArr) do
+<emphasis role="opc">printf</emphasis>("kArr[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kIndx<emphasis role="op">+</emphasis>1, kIndx, kArr[kIndx])
+kIndx   <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>      1 <emphasis role="comment">;increase index</emphasis>
+  od
+
+        <emphasis role="opc">turnoff</emphasis>
+  <emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 .1
+<emphasis role="stamnt">i</emphasis> 2 0 .1 
+<emphasis role="stamnt">i</emphasis> 2 0 .1
+<emphasis role="stamnt">i</emphasis> 3 0 .1
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/lessequal.csd.xml b/examples-xml/lessequal.csd.xml
index e641779..dec390e 100644
--- a/examples-xml/lessequal.csd.xml
+++ b/examples-xml/lessequal.csd.xml
@@ -2,44 +2,41 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o lessequal.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">; -o <=.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 1
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Get the 4th p-field from the score.</emphasis>
-  k1 <emphasis role="op">=</emphasis>  p4
 
-  <emphasis role="comment">; Is it less than or equal to 3? (1 = true, 0 = false)</emphasis>
-  k2 <emphasis role="op">=</emphasis> (p4 <emphasis role="op"><=</emphasis> 3 <emphasis role="op">?</emphasis> 1 <emphasis role="op">:</emphasis> 0)
+kval    <emphasis role="opc">randomh</emphasis> 0, 1.2, 20		<emphasis role="comment">;choose between 0 and 1.2</emphasis>
 
-  <emphasis role="comment">; Print the values of k1 and k2.</emphasis>
-  <emphasis role="opc">printks</emphasis> "k1 <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, k2 <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\\n", 1, k1, k2
-<emphasis role="oblock">endin</emphasis>
+<emphasis role="octrl">if</emphasis> kval <emphasis role="op">></emphasis>0 <emphasis role="op">&&</emphasis> kval<emphasis role="op"><=</emphasis>.5 then		<emphasis role="comment">;3 possible outcomes</emphasis>
+	kvl <emphasis role="op">=</emphasis> 1			
+<emphasis role="octrl">elseif</emphasis> kval <emphasis role="op">></emphasis>.5 <emphasis role="op">&&</emphasis> kval<emphasis role="op"><=</emphasis>1 then
+	kvl <emphasis role="op">=</emphasis>2
+<emphasis role="octrl">elseif</emphasis> kval <emphasis role="op">></emphasis>1 then
+	kvl <emphasis role="op">=</emphasis>3
+<emphasis role="octrl">endif</emphasis>
 
+<emphasis role="opc">printks</emphasis> "random number <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, result <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", .1, kval, kvl
+asig    <emphasis role="opc">poscil</emphasis> .7, 440<emphasis role="op">*</emphasis>kvl, 1
+        <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 16384 10 1
 
-<emphasis role="comment">; Call Instrument #1 with a p4 = 2.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 0.5 2
-<emphasis role="comment">; Call Instrument #1 with a p4 = 3.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 1 0.5 3
-<emphasis role="comment">; Call Instrument #1 with a p4 = 4.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 2 0.5 4
+<emphasis role="stamnt">i</emphasis> 1 0 5
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/lessthan.csd.xml b/examples-xml/lessthan.csd.xml
index a47a420..c59ae3f 100644
--- a/examples-xml/lessthan.csd.xml
+++ b/examples-xml/lessthan.csd.xml
@@ -2,44 +2,35 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o lessthan.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">; -o <.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 1
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Get the 4th p-field from the score.</emphasis>
-  k1 <emphasis role="op">=</emphasis>  p4
 
-  <emphasis role="comment">; Is it less than 3? (1 = true, 0 = false)</emphasis>
-  k2 <emphasis role="op">=</emphasis> (p4 <emphasis role="op"><</emphasis> 3 <emphasis role="op">?</emphasis> 1 <emphasis role="op">:</emphasis> 0)
-
-  <emphasis role="comment">; Print the values of k1 and k2.</emphasis>
-  <emphasis role="opc">printks</emphasis> "k1 <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, k2 <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\\n", 1, k1, k2
+ipch <emphasis role="op">=</emphasis> p4
+ipitch	<emphasis role="op">=</emphasis> (ipch <emphasis role="op"><</emphasis> 15 <emphasis role="op">?</emphasis> <emphasis role="opc">cpspch</emphasis>(ipch) <emphasis role="op">:</emphasis> ipch)	<emphasis role="comment">;if p4 is lower then 15, it assumes p4 to be pitch-class</emphasis>
+<emphasis role="opc">print</emphasis> ipitch					<emphasis role="comment">;and not meant to be a frequency in Hertz</emphasis>
+asig  <emphasis role="opc">poscil</emphasis> .5,  ipitch , 1
+      <emphasis role="opc">outs</emphasis> asig, asig
+  
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 8192 10 1	<emphasis role="comment">;sine wave</emphasis>
 
-<emphasis role="comment">; Call Instrument #1 with a p4 = 2.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 0.5 2
-<emphasis role="comment">; Call Instrument #1 with a p4 = 3.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 1 0.5 3
-<emphasis role="comment">; Call Instrument #1 with a p4 = 4.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 2 0.5 4
-<emphasis role="stamnt">e</emphasis>
-
+<emphasis role="stamnt">i</emphasis>1 0  3 8.00	<emphasis role="comment">;pitch class</emphasis>
+<emphasis role="stamnt">i</emphasis>1 4  3 800	<emphasis role="comment">;frequency</emphasis>
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/lfo.csd.xml b/examples-xml/lfo.csd.xml
index 0598ca1..59ef03c 100644
--- a/examples-xml/lfo.csd.xml
+++ b/examples-xml/lfo.csd.xml
@@ -2,44 +2,38 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o lfo.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 10
-  kcps <emphasis role="op">=</emphasis> 5
-  itype <emphasis role="op">=</emphasis> 4
 
-  k1 <emphasis role="opc">lfo</emphasis> kamp, kcps, itype
-  ar <emphasis role="opc">oscil</emphasis> p4, p5<emphasis role="op">+</emphasis>k1, 1
-  <emphasis role="opc">out</emphasis> ar
-<emphasis role="oblock">endin</emphasis>
+kcps  <emphasis role="op">=</emphasis> 5
+itype <emphasis role="op">=</emphasis> p4	<emphasis role="comment">;lfo type</emphasis>
 
+klfo <emphasis role="opc">line</emphasis> 0, p3, 20
+al   <emphasis role="opc">lfo</emphasis> klfo, kcps, itype
+asig <emphasis role="opc">poscil</emphasis> .5, 220<emphasis role="op">+</emphasis>al, 1
+     <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1: an ordinary sine wave.</emphasis>
+<emphasis role="comment">; sine wave.</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 32768 10 1
 
-<emphasis role="comment">; p4 = amplitude of the output signal.</emphasis>
-<emphasis role="comment">; p5 = frequency (in cycles per second) of the output signal.</emphasis>
-<emphasis role="comment">; Play Instrument #1 for two seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2 10000 220
+<emphasis role="stamnt">i</emphasis> 1 0 3 0	<emphasis role="comment">;lfo = sine</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 3 2	<emphasis role="comment">;lfo = square</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 3 5	<emphasis role="comment">;lfo = saw-tooth down</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/limit.csd.xml b/examples-xml/limit.csd.xml
index 0a85ced..afd8e5c 100644
--- a/examples-xml/limit.csd.xml
+++ b/examples-xml/limit.csd.xml
@@ -2,51 +2,54 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o limit.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">; -o limit.wav -W  ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
-<emphasis role="comment">; Instrument #1, uncompressed signal.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Use the "beats.wav" audio file.</emphasis>
-  asig <emphasis role="opc">diskin2</emphasis> "beats.wav", 1, 0, 1
+<emphasis role="oblock">instr</emphasis>    1 <emphasis role="comment">; Limit / Mirror / Wrap</emphasis>
 
-  <emphasis role="opc">out</emphasis> asig
-<emphasis role="oblock">endin</emphasis>
+igain    <emphasis role="op">=</emphasis> p4				<emphasis role="comment">;gain</emphasis>
+ilevl1   <emphasis role="op">=</emphasis> p5				<emphasis role="comment">; + level</emphasis>
+ilevl2   <emphasis role="op">=</emphasis> p6				<emphasis role="comment">; - level</emphasis>
+imode    <emphasis role="op">=</emphasis> p7				<emphasis role="comment">;1 = limit, 2 = mirror, 3 = wrap</emphasis>
+
+ain   <emphasis role="opc">soundin</emphasis>  "fox.wav"
+ain   <emphasis role="op">=</emphasis> ain<emphasis role="op">*</emphasis>igain
+
+<emphasis role="octrl">if</emphasis>    imode <emphasis role="op">=</emphasis> 1 <emphasis role="octrl">goto</emphasis> <emphasis role="olabel">limit</emphasis>
+<emphasis role="octrl">if</emphasis>    imode <emphasis role="op">=</emphasis> 2 <emphasis role="octrl">goto</emphasis> <emphasis role="olabel">mirror</emphasis>
+
+asig  <emphasis role="opc">wrap</emphasis>  ain, ilevl2, ilevl1
+<emphasis role="octrl">goto</emphasis>  <emphasis role="olabel">outsignal</emphasis>
+
+<emphasis role="olabel">limit</emphasis><emphasis role="op">:</emphasis>
+asig  <emphasis role="olabel">limit</emphasis>  ain, ilevl2, ilevl1
+<emphasis role="octrl">goto</emphasis>  <emphasis role="olabel">outsignal</emphasis>
 
-<emphasis role="comment">; Instrument #2, compressed signal.</emphasis>
-<emphasis role="oblock">instr</emphasis> 2
-  <emphasis role="comment">; Use the "beats.wav" audio file and a mic</emphasis>
-  avoice	<emphasis role="opc">in</emphasis>
-  asig <emphasis role="opc">diskin2</emphasis> "beats.wav", 1, 0, 1
+<emphasis role="olabel">mirror</emphasis><emphasis role="op">:</emphasis>
+asig  <emphasis role="olabel">mirror</emphasis>  ain, ilevl2, ilevl1
+<emphasis role="olabel">outsignal</emphasis><emphasis role="op">:</emphasis>
+
+<emphasis role="opc">outs</emphasis>  asig<emphasis role="op">*</emphasis>.5, asig<emphasis role="op">*</emphasis>.5			<emphasis role="comment">;mind your speakers</emphasis>
   
-klow	<emphasis role="opc">line</emphasis> 0 , p3,	10000
-khigh	<emphasis role="op">=</emphasis>	10000
-ares <emphasis role="opc">limit</emphasis> asig, klow, khigh 
-  <emphasis role="opc">out</emphasis> ares
 <emphasis role="oblock">endin</emphasis>
 
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for 2 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 5
-<emphasis role="comment">; Play Instrument #2 for 2 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 2 6 11
-
+<emphasis role="comment">;           Gain  +Levl -Levl Mode</emphasis>
+<emphasis role="stamnt">i</emphasis>1  0  3    4.00  .25  -1.00   1	<emphasis role="comment">;limit</emphasis>
+<emphasis role="stamnt">i</emphasis>1  4  3    4.00  .25  -1.00   2	<emphasis role="comment">;mirror</emphasis>
+<emphasis role="stamnt">i</emphasis>1  8  3    4.00  .25  -1.00   3	<emphasis role="comment">;wrap</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/line.csd.xml b/examples-xml/line.csd.xml
index dabf3de..394c2f2 100644
--- a/examples-xml/line.csd.xml
+++ b/examples-xml/line.csd.xml
@@ -2,50 +2,45 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o line.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Define kcps as a frequency value that linearly declines </emphasis>
-  <emphasis role="comment">; from 880 to 220. It declines over the period set by p3.</emphasis>
-  kcps <emphasis role="opc">line</emphasis> 880, p3, 220
+<emphasis role="oblock">instr</emphasis> 1 
 
-  a1 <emphasis role="opc">oscil</emphasis> 20000, kcps, 1
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
+kp <emphasis role="op">=</emphasis> p6
+<emphasis role="comment">;choose between expon or line</emphasis>
+<emphasis role="octrl">if</emphasis> (kp <emphasis role="op">==</emphasis> 0) then 	
+  kpitch <emphasis role="opc">expon</emphasis> p4, p3, p5 
+<emphasis role="octrl">elseif</emphasis> (kp <emphasis role="op">==</emphasis> 1) then
+  kpitch <emphasis role="opc">line</emphasis> p4, p3, p5 
+<emphasis role="octrl">endif</emphasis>
 
-<emphasis role="oblock">instr</emphasis> 2
-  kcps <emphasis role="opc">line</emphasis> 880, 1, 660   <emphasis role="comment">; kcps won't stop at 660 if p3 > 1</emphasis>
-  a1 <emphasis role="opc">oscil</emphasis> 20000, kcps, 1
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
+asig   <emphasis role="opc">vco2</emphasis> .6, kpitch 
+       <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis> 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for two seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
-
-<emphasis role="comment">; Play Instrument #2 for two seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 2 3 2
-
+ 
+
+<emphasis role="stamnt">i</emphasis> 1 0  2 300  600  0	<emphasis role="comment">;if p6=0 then expon is used</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 3  2 300  600  1	<emphasis role="comment">;if p6=1 then line is used</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 6  2 600  1200 0
+<emphasis role="stamnt">i</emphasis> 1 9  2 600  1200 1
+<emphasis role="stamnt">i</emphasis> 1 12 2 1200 2400 0
+<emphasis role="stamnt">i</emphasis> 1 15 2 1200 2400 1
+<emphasis role="stamnt">i</emphasis> 1 18 2 2400 30   0
+<emphasis role="stamnt">i</emphasis> 1 21 2 2400 30   1
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/linen.csd.xml b/examples-xml/linen.csd.xml
index 889b6ec..4504fd6 100644
--- a/examples-xml/linen.csd.xml
+++ b/examples-xml/linen.csd.xml
@@ -1,40 +1,40 @@
 <programlisting>
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
-
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o dam.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">; -o linen.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="ohdr">sr</emphasis>  <emphasis role="op">=</emphasis>  44100
-<emphasis role="ohdr">kr</emphasis>  <emphasis role="op">=</emphasis>  4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis>  10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis>  1
-
-          <emphasis role="oblock">instr</emphasis> 3                       <emphasis role="comment">; p3=duration of note</emphasis>
-k1	<emphasis role="opc">linen</emphasis>	p4, p6, p3, p7      <emphasis role="comment">; p4=amp</emphasis>
-a1	<emphasis role="opc">oscil</emphasis>	k1, p5, 1           <emphasis role="comment">; p5=freq</emphasis>
-	<emphasis role="opc">out</emphasis>	a1                  <emphasis role="comment">; p6=attack time</emphasis>
-          <emphasis role="oblock">endin</emphasis>                         <emphasis role="comment">; p7=release time</emphasis>
-
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+<emphasis role="comment">; p4=amp</emphasis>
+<emphasis role="comment">; p5=freq</emphasis>
+<emphasis role="comment">; p6=attack time</emphasis>
+<emphasis role="comment">; p7=release time</emphasis>
+ares <emphasis role="opc">linen</emphasis>  p4, p6, p3, p7 
+asig <emphasis role="opc">poscil</emphasis> ares, p5, 1    
+     <emphasis role="opc">outs</emphasis>   asig, asig     
+                                         
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
 <emphasis role="stamnt">f</emphasis>1   0    4096 10 1      <emphasis role="comment">; sine wave</emphasis>
 
-<emphasis role="comment">;ins strt dur  amp(p4)   freq(p5)  attack(p6)     release(p7)</emphasis>
-<emphasis role="stamnt">i</emphasis>3   0    1    10000     440       0.5            0.7
-<emphasis role="stamnt">i</emphasis>3   1.5  1    10000     440       0.9            0.1
-<emphasis role="stamnt">i</emphasis>3   3    1    5000      880       0.02           0.99
-<emphasis role="stamnt">i</emphasis>3   4.5  1    5000      880       0.7            0.01
-<emphasis role="stamnt">i</emphasis>3   6    2    20000     220       0.5            0.5
-
+<emphasis role="comment">;ins strt dur amp  freq attack release</emphasis>
+<emphasis role="stamnt">i</emphasis>1   0    1   .5   440   0.5    0.7
+<emphasis role="stamnt">i</emphasis>1   1.5  1   .2   440   0.9    0.1
+<emphasis role="stamnt">i</emphasis>1   3    1   .2   880   0.02   0.99
+<emphasis role="stamnt">i</emphasis>1   4.5  1   .2   880   0.7    0.01
+<emphasis role="stamnt">i</emphasis>1   6    3   .7   220   0.5    0.5
 <emphasis role="stamnt">e</emphasis>
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/lineto.csd.xml b/examples-xml/lineto.csd.xml
new file mode 100644
index 0000000..5805efa
--- /dev/null
+++ b/examples-xml/lineto.csd.xml
@@ -0,0 +1,36 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o lineto.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giSine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kfreq     <emphasis role="opc">randh</emphasis>     1000, 20, 2, 1, 2000 <emphasis role="comment">;generates ten random number between 100 and 300 per second</emphasis>
+kpan      <emphasis role="opc">randh</emphasis>     .5, 1, 2, 1, .5   <emphasis role="comment">;panning between 0 and 1</emphasis>
+kp        <emphasis role="opc">lineto</emphasis>    kpan, .5          <emphasis role="comment">;smoothing pan transition</emphasis>
+aout      <emphasis role="opc">poscil</emphasis>    .4, kfreq, giSine
+aL, aR    <emphasis role="opc">pan2</emphasis>      aout, kp
+          <emphasis role="opc">outs</emphasis>      aL, aR
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 10
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/linrand.csd.xml b/examples-xml/linrand.csd.xml
index 9d49cc5..1ec53e3 100644
--- a/examples-xml/linrand.csd.xml
+++ b/examples-xml/linrand.csd.xml
@@ -2,50 +2,43 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o linrand.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Generate a random number between 0 and 1.</emphasis>
-  <emphasis role="comment">; krange = 1</emphasis>
+<emphasis role="oblock">instr</emphasis> 1  	<emphasis role="comment">; every run time same values</emphasis>
 
-  i1 <emphasis role="opc">linrand</emphasis> 1
-
-  <emphasis role="opc">print</emphasis> i1
+klin	<emphasis role="opc">linrand</emphasis> 100
+	<emphasis role="opc">printk</emphasis> .2, klin			<emphasis role="comment">; look </emphasis>
+aout	<emphasis role="opc">oscili</emphasis> 0.8, 440<emphasis role="op">+</emphasis>klin, 1		<emphasis role="comment">; & listen</emphasis>
+	<emphasis role="opc">outs</emphasis>	aout, aout
 <emphasis role="oblock">endin</emphasis>
 
-<emphasis role="comment">; Instrument #2.</emphasis>
-<emphasis role="oblock">instr</emphasis> 2
-  <emphasis role="comment">; Generate a random number between 0 and 1.</emphasis>
-  <emphasis role="comment">; krange = 1</emphasis>
-
-  <emphasis role="ohdr">seed</emphasis> 0
-
-  i1 <emphasis role="opc">linrand</emphasis> 1
+<emphasis role="oblock">instr</emphasis> 2		<emphasis role="comment">; every run time different values</emphasis>
 
-  <emphasis role="opc">print</emphasis> i1
+	<emphasis role="ohdr">seed</emphasis> 0
+klin	<emphasis role="opc">linrand</emphasis> 100
+	<emphasis role="opc">printk</emphasis> .2, klin			<emphasis role="comment">; look </emphasis>
+aout	<emphasis role="opc">oscili</emphasis> 0.8, 440<emphasis role="op">+</emphasis>klin, 1		<emphasis role="comment">; & listen</emphasis>
+	<emphasis role="opc">outs</emphasis>	aout, aout
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
-<emphasis role="comment">; Play Instrument #2 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 2 1 1
-<emphasis role="stamnt">e</emphasis>
-
+<emphasis role="comment">; sine wave</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
 
+<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 2 3 2
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/linseg.csd.xml b/examples-xml/linseg.csd.xml
index 93c036e..8cd3b49 100644
--- a/examples-xml/linseg.csd.xml
+++ b/examples-xml/linseg.csd.xml
@@ -2,77 +2,57 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o linseg.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">;-o linseg.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giSine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; p4 = frequency in pitch-class notation.</emphasis>
-  kcps <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p4)
 
-  <emphasis role="comment">; Create an amplitude envelope.</emphasis>
-  kenv <emphasis role="opc">linseg</emphasis> 0, p3<emphasis role="op">*</emphasis>0.25, 1, p3<emphasis role="op">*</emphasis>0.75, 0
-  kamp <emphasis role="op">=</emphasis> kenv <emphasis role="op">*</emphasis> 30000
+kcps <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p4)
+kenv <emphasis role="opc">linseg</emphasis> 0, 0.25, 1, 0.75, 0	<emphasis role="comment">; together = 1 sec</emphasis>
+asig <emphasis role="opc">poscil</emphasis> kenv, kcps, giSine
+     <emphasis role="opc">outs</emphasis> asig, asig
 
-  a1 <emphasis role="opc">oscil</emphasis> kamp, kcps, 1
-  <emphasis role="opc">out</emphasis> a1
 <emphasis role="oblock">endin</emphasis>
 
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">; scaling to duration</emphasis>
 
-<emphasis role="oblock">instr</emphasis> 2
-  <emphasis role="comment">; p4 = frequency in pitch-class notation.</emphasis>
-  kcps <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p4)
-
-  <emphasis role="comment">; Create an amplitude envelope.</emphasis>
-  kenv <emphasis role="opc">linseg</emphasis> 0, 0.25, 1, 0.75, 0  <emphasis role="comment">; kenv will go into negative if p3 > 1</emphasis>
-  kamp <emphasis role="op">=</emphasis> kenv <emphasis role="op">*</emphasis> 30000
+kcps <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p4)
+kenv <emphasis role="opc">linseg</emphasis> 0, p3<emphasis role="op">*</emphasis>0.25, 1, p3<emphasis role="op">*</emphasis>0.75, 0
+asig <emphasis role="opc">poscil</emphasis> kenv, kcps, giSine
+     <emphasis role="opc">outs</emphasis> asig, asig
 
-  a1 <emphasis role="opc">oscil</emphasis> kamp, kcps, 1
-  <emphasis role="opc">out</emphasis> a1
 <emphasis role="oblock">endin</emphasis>
 
-<emphasis role="oblock">instr</emphasis> 3
-  <emphasis role="comment">; p4 = frequency in pitch-class notation.</emphasis>
-  kcps <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p4)
+<emphasis role="oblock">instr</emphasis> 3	<emphasis role="comment">; with negative value</emphasis>
 
-  <emphasis role="comment">; Create an amplitude envelope.</emphasis>
-  kenv <emphasis role="opc">linseg</emphasis> 0, 0.25, 1, 0.75, 0, 1, 0  <emphasis role="comment">; kenv will stay at 0 indefinetely at the end</emphasis>
-  kamp <emphasis role="op">=</emphasis> kenv <emphasis role="op">*</emphasis> 30000
+kcps <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p4)
+aenv <emphasis role="opc">linseg</emphasis> 0, 0.1, 1, 0.5, <emphasis role="op">-</emphasis>0.9, 0.4, 0
+asig <emphasis role="opc">poscil</emphasis> aenv, kcps, giSine
+     <emphasis role="opc">outs</emphasis> asig, asig
 
-  a1 <emphasis role="opc">oscil</emphasis> kamp, kcps, 1
-  <emphasis role="opc">out</emphasis> a1
 <emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for a half-second, p4=8.00</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 0.5 8.00
-<emphasis role="comment">; Play Instrument #1 for a half-second, p4=8.01</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 1 0.5 8.01
-<emphasis role="comment">; Play Instrument #1 for a half-second, p4=8.02</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 2 0.5 8.02
-<emphasis role="comment">; Play Instrument #1 for a half-second, p4=8.03</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 3 0.5 8.03
+<emphasis role="stamnt">i</emphasis> 1 0 1   7.00	<emphasis role="comment">; = 1 sec, p3 fits exactly</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 2 2   7.00	<emphasis role="comment">; = 2 sec, p3 truncated at 1 sec</emphasis>
 
-<emphasis role="stamnt">i</emphasis> 2 4  1.5 8.00 <emphasis role="comment">; Notice the problem with linseg</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 4 1   7.00	<emphasis role="comment">; scales to duration</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 6 2   7.00	<emphasis role="comment">; of p3</emphasis>
 
-<emphasis role="stamnt">i</emphasis> 3 6  1.5 8.00  <emphasis role="comment">; this is the solution (instr 3)</emphasis>
+<emphasis role="stamnt">i</emphasis> 3 9 2   7.00
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/linsegb.csd.xml b/examples-xml/linsegb.csd.xml
new file mode 100644
index 0000000..df1c96b
--- /dev/null
+++ b/examples-xml/linsegb.csd.xml
@@ -0,0 +1,49 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">;-o linseg.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giSine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kcps <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p4)
+kenv <emphasis role="opc">linsegb</emphasis> 0, 0.25, 1, 1, 0
+asig <emphasis role="opc">poscil</emphasis> kenv, kcps, giSine
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">; scaling to duration</emphasis>
+
+kcps <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p4)
+kenv <emphasis role="opc">linseg</emphasis> 0, p3<emphasis role="op">*</emphasis>0.25, 1, p3, 0
+asig <emphasis role="opc">poscil</emphasis> kenv, kcps, giSine
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 1   7.00	<emphasis role="comment">; = 1 sec, p3 fits exactly</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 2 2   7.00	<emphasis role="comment">; = 2 sec, p3 truncated at 1 sec</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 2 4 1   7.00	<emphasis role="comment">; scales to duration</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 6 2   7.00	<emphasis role="comment">; of p3</emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/linsegr.csd.xml b/examples-xml/linsegr.csd.xml
index 7a6be74..33eb827 100644
--- a/examples-xml/linsegr.csd.xml
+++ b/examples-xml/linsegr.csd.xml
@@ -2,54 +2,35 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac  -+rtmidi=virtual -M0   <emphasis role="comment">;;;realtime audio out and realtime midi in</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o linsegr.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; p4 = frequency in pitch-class notation.</emphasis>
-  kcps <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p4)
 
-  <emphasis role="comment">; Use an amplitude envelope with second-long release.</emphasis>
-  kenv <emphasis role="opc">linsegr</emphasis> 1, p3, 0.25, 1, 0
-  kamp <emphasis role="op">=</emphasis> kenv <emphasis role="op">*</emphasis> 30000
-
-  a1 <emphasis role="opc">oscil</emphasis> kamp, kcps, 1
-  <emphasis role="opc">out</emphasis> a1
+	 	 
+icps	<emphasis role="opc">cpsmidi</emphasis>	 	 
+iamp	<emphasis role="opc">ampmidi</emphasis>	.3	 
+ 	 	 	 
+kenv	<emphasis role="opc">linsegr</emphasis>	1, .05, 0.5, 1, 0
+asig	<emphasis role="opc">pluck</emphasis>	kenv, icps, 200, 1, 1	 
+	<emphasis role="opc">outs</emphasis>	asig, asig
+	 
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 4096 10 1	<emphasis role="comment">;sine wave</emphasis>
 
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-
-<emphasis role="comment">; Make sure the score lasts for four seconds.</emphasis>
-<emphasis role="stamnt">f</emphasis> 0 4
-
-<emphasis role="comment">; p4 = frequency (in pitch-class notation).</emphasis>
-<emphasis role="comment">; Play Instrument #1 for a half-second, p4=8.00</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 0.5 8.00
-<emphasis role="comment">; Play Instrument #1 for a half-second, p4=8.01</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 1 0.5 8.01
-<emphasis role="comment">; Play Instrument #1 for a half-second, p4=8.02</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 2 0.5 8.02
-<emphasis role="comment">; Play Instrument #1 for a half-second, p4=8.03</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 3 0.5 8.03
+<emphasis role="stamnt">f</emphasis>0 30	<emphasis role="comment">;runs 30 seconds</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/locsend_stereo.csd.xml b/examples-xml/locsend_stereo.csd.xml
index a5616cf..cf60dbf 100644
--- a/examples-xml/locsend_stereo.csd.xml
+++ b/examples-xml/locsend_stereo.csd.xml
@@ -2,55 +2,52 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o locsend_stereo.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+ga1 <emphasis role="opc">init</emphasis> 0
+ga2 <emphasis role="opc">init</emphasis> 0
 
-ga1	<emphasis role="opc">init</emphasis>	0
-ga2	<emphasis role="opc">init</emphasis>	0
-<emphasis role="comment">; Instrument #1</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Use the "beats.wav" audio file.</emphasis>
-aout		<emphasis role="opc">diskin2</emphasis> "beats.wav", 1, 0, 1
-kdegree	<emphasis role="opc">line</emphasis> 0, p3, 180
-kdistance	<emphasis role="opc">line</emphasis> 1, p3 , 30
-a1, a2		<emphasis role="opc">locsig</emphasis> aout, kdegree, kdistance, .1
-ar1, ar2	<emphasis role="opc">locsend</emphasis>
-ga1	<emphasis role="op">=</emphasis>	ga1<emphasis role="op">+</emphasis>ar1
-ga2	<emphasis role="op">=</emphasis>	ga2<emphasis role="op">+</emphasis>ar2
 
+krevsend  <emphasis role="op">=</emphasis> p4
+aout	  <emphasis role="opc">diskin2</emphasis> "beats.wav", 1, 0, 1
+kdegree	  <emphasis role="opc">line</emphasis> 0, p3, 180 <emphasis role="comment">;left to right</emphasis>
+kdistance <emphasis role="opc">line</emphasis> 1, p3, 30
+a1, a2	  <emphasis role="opc">locsig</emphasis> aout, kdegree, kdistance, p4
+ar1, ar2  <emphasis role="opc">locsend</emphasis>
+ga1 <emphasis role="op">=</emphasis> ga1<emphasis role="op">+</emphasis>ar1
+ga2 <emphasis role="op">=</emphasis> ga2<emphasis role="op">+</emphasis>ar2
+          <emphasis role="opc">outs</emphasis> a1, a2
 
-  <emphasis role="opc">outs</emphasis> a1, a2
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 99 <emphasis role="comment">; reverb instrument</emphasis>
 a1	<emphasis role="opc">reverb2</emphasis> ga1, 2.5, .5
 a2	<emphasis role="opc">reverb2</emphasis> ga2, 2.5, .5
 	<emphasis role="opc">outs</emphasis>	a1, a2
-ga1<emphasis role="op">=</emphasis>0
-ga2<emphasis role="op">=</emphasis>0
+ga1 <emphasis role="op">=</emphasis> 0
+ga2 <emphasis role="op">=</emphasis> 0
+
 <emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
+<emphasis role="comment">; sine wave.</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
 
-<emphasis role="comment">; Play Instrument #1 for five seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
-<emphasis role="stamnt">i</emphasis>99 0 5
+<emphasis role="stamnt">i</emphasis> 1 0 4 .1	<emphasis role="comment">;with reverb</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 4 0	<emphasis role="comment">;no reverb</emphasis>
+<emphasis role="stamnt">i</emphasis>99 0 7
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/locsig_quad.csd.xml b/examples-xml/locsig_quad.csd.xml
index 37983a1..da7e9a4 100644
--- a/examples-xml/locsig_quad.csd.xml
+++ b/examples-xml/locsig_quad.csd.xml
@@ -2,46 +2,46 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o locsend_quad.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">; -o locsig_quad.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 4
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+ga1 <emphasis role="opc">init</emphasis> 0
+ga2 <emphasis role="opc">init</emphasis> 0
+ga3 <emphasis role="opc">init</emphasis> 0
+ga4 <emphasis role="opc">init</emphasis> 0
 
-ga1	<emphasis role="opc">init</emphasis>	0
-ga2	<emphasis role="opc">init</emphasis>	0
-ga3	<emphasis role="opc">init</emphasis>	0
-ga4	<emphasis role="opc">init</emphasis>	0
-<emphasis role="comment">; Instrument #1</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Use the "beats.wav" audio file.</emphasis>
-aout		<emphasis role="opc">diskin2</emphasis> "beats.wav", 1, 0, 1
-kdegree	<emphasis role="opc">line</emphasis> 0, p3, 360
-kdistance	<emphasis role="opc">line</emphasis> 1, p3 , 10
-a1, a2, a3, a4	<emphasis role="opc">locsig</emphasis> aout, kdegree, kdistance, .1
-ar1, ar2, ar3, ar4	<emphasis role="opc">locsend</emphasis>
-ga1	<emphasis role="op">=</emphasis>	ga1<emphasis role="op">+</emphasis>ar1
-ga2	<emphasis role="op">=</emphasis>	ga2<emphasis role="op">+</emphasis>ar2
-ga3	<emphasis role="op">=</emphasis>	ga3<emphasis role="op">+</emphasis>ar3
-ga4	<emphasis role="op">=</emphasis>	ga4<emphasis role="op">+</emphasis>ar4
 
-	<emphasis role="opc">outq</emphasis> a1, a2, a3, a4
+krevsend  <emphasis role="op">=</emphasis> p4
+aout	  <emphasis role="opc">diskin2</emphasis> "beats.wav", 1, 0, 1
+kdegree	  <emphasis role="opc">line</emphasis> 0, p3, 360 <emphasis role="comment">;full circle</emphasis>
+kdistance <emphasis role="opc">line</emphasis> 1, p3 , 1
+a1, a2, a3, a4     <emphasis role="opc">locsig</emphasis> aout, kdegree, kdistance, krevsend
+ar1, ar2, ar3, ar4 <emphasis role="opc">locsend</emphasis>
+
+ga1 <emphasis role="op">=</emphasis> ga1<emphasis role="op">+</emphasis>ar1
+ga2 <emphasis role="op">=</emphasis> ga2<emphasis role="op">+</emphasis>ar2
+ga3 <emphasis role="op">=</emphasis> ga3<emphasis role="op">+</emphasis>ar3
+ga4 <emphasis role="op">=</emphasis> ga4<emphasis role="op">+</emphasis>ar4
+    <emphasis role="opc">outq</emphasis> a1, a2, a3, a4
+
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 99 <emphasis role="comment">; reverb instrument</emphasis>
-a1	<emphasis role="opc">reverb2</emphasis>	ga1, 3.5, .5
-a2	<emphasis role="opc">reverb2</emphasis>	ga2, 3.5, .5
-a3	<emphasis role="opc">reverb2</emphasis>	ga3, 3.5, .5
-a4	<emphasis role="opc">reverb2</emphasis>	ga4, 3.5, .5
-
-	<emphasis role="opc">outq</emphasis>	a1, a2, a3, a4
+a1 <emphasis role="opc">reverb2</emphasis> ga1, 3.5, .5
+a2 <emphasis role="opc">reverb2</emphasis> ga2, 3.5, .5
+a3 <emphasis role="opc">reverb2</emphasis> ga3, 3.5, .5
+a4 <emphasis role="opc">reverb2</emphasis> ga4, 3.5, .5
+   <emphasis role="opc">outq</emphasis>	a1, a2, a3, a4
 	
 ga1 <emphasis role="op">=</emphasis> 0
 ga2 <emphasis role="op">=</emphasis> 0
@@ -51,15 +51,13 @@ ga4 <emphasis role="op">=</emphasis> 0
 <emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
+<emphasis role="comment">; sine wave.</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
 
-<emphasis role="stamnt">i</emphasis> 1 0 2
-<emphasis role="stamnt">i</emphasis>99 0 5
+<emphasis role="stamnt">i</emphasis> 1 0  14  .1	<emphasis role="comment">;with reverb</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 14 14  0	<emphasis role="comment">;no reverb</emphasis>
+<emphasis role="stamnt">i</emphasis>99 0 36
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/log2.csd.xml b/examples-xml/log2.csd.xml
new file mode 100644
index 0000000..9485b1f
--- /dev/null
+++ b/examples-xml/log2.csd.xml
@@ -0,0 +1,35 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+<emphasis role="comment">; Audio out   Audio in</emphasis>
+-odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o log10.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="comment">; Initialize the global variables.</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+
+<emphasis role="comment">; Instrument #1.</emphasis>
+<emphasis role="oblock">instr</emphasis> 1
+  i1 <emphasis role="op">=</emphasis> <emphasis role="opc">log2</emphasis>(8)
+  <emphasis role="opc">print</emphasis> i1
+<emphasis role="oblock">endin</emphasis>
+
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="stamnt">e</emphasis>
+
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/logicOR.csd.xml b/examples-xml/logicOR.csd.xml
new file mode 100644
index 0000000..0b5c252
--- /dev/null
+++ b/examples-xml/logicOR.csd.xml
@@ -0,0 +1,34 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac -+rtmidi=virtual -M0   <emphasis role="comment">;;;realtime audio out and virtual midi keyboard</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="comment">;after a UDO from Rory Walsh</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;displays notes, midi channel and control number information</emphasis>
+
+kstatus, kchan, kdata1, kdata2 <emphasis role="opc">midiin</emphasis>
+k1 <emphasis role="opc">changed</emphasis> kstatus
+k2 <emphasis role="opc">changed</emphasis> kchan
+k3 <emphasis role="opc">changed</emphasis> kdata1
+k4 <emphasis role="opc">changed</emphasis> kdata2
+<emphasis role="octrl">if</emphasis>((k1<emphasis role="op">==</emphasis>1)<emphasis role="op">||</emphasis>(k2<emphasis role="op">==</emphasis>1)<emphasis role="op">||</emphasis>(k3<emphasis role="op">==</emphasis>1)<emphasis role="op">||</emphasis>(k4<emphasis role="op">==</emphasis>1)) then
+<emphasis role="opc">printks</emphasis> "Value<emphasis role="op">:</emphasis><emphasis role="op">%</emphasis>d ChanNo<emphasis role="op">:</emphasis><emphasis role="op">%</emphasis>d CtrlNo<emphasis role="op">:</emphasis><emphasis role="op">%</emphasis>d\n" , 0, kdata2, kchan, kdata1  
+<emphasis role="octrl">endif</emphasis> 
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis>1  0  60	<emphasis role="comment">;print values for 60 seconds</emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/loop_le.csd.xml b/examples-xml/loop_le.csd.xml
new file mode 100644
index 0000000..c866272
--- /dev/null
+++ b/examples-xml/loop_le.csd.xml
@@ -0,0 +1,50 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o loop_le.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="ohdr">seed</emphasis> 0
+gisine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
+
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">;master instrument</emphasis>
+
+ininstr <emphasis role="op">=</emphasis> 5 <emphasis role="comment">;number of called instances</emphasis>
+indx <emphasis role="op">=</emphasis> 0
+<emphasis role="olabel">loop</emphasis><emphasis role="op">:</emphasis>
+      <emphasis role="opc">prints</emphasis> "play <emphasis role="opc">instance</emphasis> <emphasis role="op">%</emphasis>d\\n", indx
+ipan  <emphasis role="opc">random</emphasis> 0, 1
+ifreq <emphasis role="opc">random</emphasis> 100, 1000
+iamp  <emphasis role="op">=</emphasis> 1<emphasis role="op">/</emphasis>ininstr
+<emphasis role="opc">event_i</emphasis> "i", 10, 0, p3, iamp, ifreq, ipan
+<emphasis role="octrl">loop_le</emphasis> indx, 1, ininstr, <emphasis role="olabel">loop</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 10
+
+ipeak <emphasis role="opc">random</emphasis> 0, 1 <emphasis role="comment">;where is the envelope peak</emphasis>
+asig  <emphasis role="opc">poscil3</emphasis> p4, p5, gisine
+aenv  <emphasis role="opc">transeg</emphasis> 0, p3<emphasis role="op">*</emphasis>ipeak, 6, 1, p3<emphasis role="op">-</emphasis>p3<emphasis role="op">*</emphasis>ipeak, <emphasis role="op">-</emphasis>6, 0
+aL,aR <emphasis role="opc">pan2</emphasis> asig<emphasis role="op">*</emphasis>aenv, p6
+      <emphasis role="opc">outs</emphasis> aL, aR
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 10
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/loop_lt.csd.xml b/examples-xml/loop_lt.csd.xml
new file mode 100644
index 0000000..042b33c
--- /dev/null
+++ b/examples-xml/loop_lt.csd.xml
@@ -0,0 +1,50 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o loop_lt.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="ohdr">seed</emphasis> 0
+gisine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
+
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">;master instrument</emphasis>
+
+ininstr <emphasis role="op">=</emphasis> 5 <emphasis role="comment">;number of called instances</emphasis>
+indx <emphasis role="op">=</emphasis> 0
+<emphasis role="olabel">loop</emphasis><emphasis role="op">:</emphasis>
+      <emphasis role="opc">prints</emphasis> "play <emphasis role="opc">instance</emphasis> <emphasis role="op">%</emphasis>d\\n", indx
+ipan  <emphasis role="opc">random</emphasis> 0, 1
+ifreq <emphasis role="opc">random</emphasis> 100, 1000
+iamp  <emphasis role="op">=</emphasis> 1<emphasis role="op">/</emphasis>ininstr
+<emphasis role="opc">event_i</emphasis> "i", 10, 0, p3, iamp, ifreq, ipan
+<emphasis role="octrl">loop_lt</emphasis> indx, 1, ininstr, <emphasis role="olabel">loop</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 10
+
+ipeak <emphasis role="opc">random</emphasis> 0, 1 <emphasis role="comment">;where is the envelope peak</emphasis>
+asig  <emphasis role="opc">poscil3</emphasis> p4, p5, gisine
+aenv  <emphasis role="opc">transeg</emphasis> 0, p3<emphasis role="op">*</emphasis>ipeak, 6, 1, p3<emphasis role="op">-</emphasis>p3<emphasis role="op">*</emphasis>ipeak, <emphasis role="op">-</emphasis>6, 0
+aL,aR <emphasis role="opc">pan2</emphasis> asig<emphasis role="op">*</emphasis>aenv, p6
+      <emphasis role="opc">outs</emphasis> aL, aR
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 10
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/loopseg.csd.xml b/examples-xml/loopseg.csd.xml
index 6dca2fa..37ca24d 100644
--- a/examples-xml/loopseg.csd.xml
+++ b/examples-xml/loopseg.csd.xml
@@ -2,41 +2,48 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o loopseg.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kfreq <emphasis role="opc">line</emphasis> 1, p3, 20
-
-  klp <emphasis role="opc">loopseg</emphasis> kfreq, 0, 0, 0, 0.5, 30000, 1, 0
-
-  a1 <emphasis role="opc">oscil</emphasis> klp, 440, 1
-  <emphasis role="opc">out</emphasis> a1
+kfreq  <emphasis role="opc">init</emphasis>     p4  <emphasis role="comment">; frequency of loop repetition</emphasis>
+ifrac  <emphasis role="op">=</emphasis>        p5  <emphasis role="comment">; frequency ratio of restart triggers</emphasis>
+ktrig  <emphasis role="opc">metro</emphasis>    kfreq <emphasis role="op">*</emphasis> ifrac  <emphasis role="comment">; triggers to restart loop</emphasis>
+iphase <emphasis role="op">=</emphasis>        0   <emphasis role="comment">; initial phase</emphasis>
+<emphasis role="comment">; loop of note values (some glissandi)</emphasis>
+<emphasis role="comment">;                                    val dur val dur etc...</emphasis>
+knote <emphasis role="opc">loopseg</emphasis>  kfreq, ktrig, iphase, 40, 1,  40, 0,  43,1,43,0, 49,2,48,0, \
+ 47,1,47,0, 46,1,46,0, 46,1,47,0, 49,1,49,0, 43,1,43,0, 46,1,46,0, 40,1,39,0    
+<emphasis role="comment">; loop of filter cutoff values (oct format). This loop, half speed of note loop.</emphasis>
+kcfoct <emphasis role="opc">loopseg</emphasis>  kfreq<emphasis role="op">*</emphasis>0.5, ktrig, iphase, 11,2,4,0, 12,1,4,0, 13,1,4,0, \
+ 11.5,3,4,0, 12.5,1,4,0, 13,2,4,0, 12.5,1,4,0
+kenv  <emphasis role="opc">linseg</emphasis>   0,0.01,1,p3<emphasis role="op">-</emphasis>5.01,1,5,0
+ioct  <emphasis role="op">=</emphasis>        <emphasis role="opc">int</emphasis>((<emphasis role="opc">rnd</emphasis>(0.999)<emphasis role="op">*</emphasis>4)<emphasis role="op">-</emphasis>2) <emphasis role="comment">; random value either -1, 0 or 1</emphasis>
+asig  <emphasis role="opc">vco2</emphasis>     0.2<emphasis role="op">*</emphasis>kenv,cpsmidinn(knote)<emphasis role="op">*</emphasis><emphasis role="opc">octave</emphasis>(ioct),0 <emphasis role="comment">; sawtooth</emphasis>
+asig  <emphasis role="opc">moogladder</emphasis>  asig,cpsoct(kcfoct),rnd(0.6)          <emphasis role="comment">; filter sawtooth</emphasis>
+aL,aR <emphasis role="opc">pan2</emphasis>     asig,rnd(1)  <emphasis role="comment">; random static pan location</emphasis>
+      <emphasis role="opc">outs</emphasis>     aL, aR
 <emphasis role="oblock">endin</emphasis>
 
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for five seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 5
+<emphasis role="comment">; 4 layers, each with a different frequency of loop repetition (p4),</emphasis>
+<emphasis role="comment">;  frequency ratio of restart triggers (p5) and pan position (p6).</emphasis>
+<emphasis role="stamnt">i</emphasis> 1  0 30 0.5   [11/19]
+<emphasis role="stamnt">i</emphasis> 1  6 30 0.25  [11/13]
+<emphasis role="stamnt">i</emphasis> 1 12 30 0.125 [11/16]
+<emphasis role="stamnt">i</emphasis> 1 18 30 1     [11/12]
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/loopsegp.csd.xml b/examples-xml/loopsegp.csd.xml
index deecc9f..c84e91d 100644
--- a/examples-xml/loopsegp.csd.xml
+++ b/examples-xml/loopsegp.csd.xml
@@ -2,40 +2,51 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o loopsegp.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
-<emphasis role="ohdr">sr</emphasis><emphasis role="op">=</emphasis>44100
-<emphasis role="ohdr">ksmps</emphasis><emphasis role="op">=</emphasis>1
-<emphasis role="ohdr">nchnls</emphasis><emphasis role="op">=</emphasis>2
 
-<emphasis role="comment">; By Mark Van Peteghem 2008</emphasis>
-
-   <emphasis role="oblock">instr</emphasis> 1
-iphase  <emphasis role="op">=</emphasis> p4
-
-kenv      <emphasis role="opc">linen</emphasis> 1, 0.1, p3, 0.1
-kph_amp   <emphasis role="opc">phasor</emphasis> 2, 0
-kamp      <emphasis role="opc">loopsegp</emphasis> kph_amp, 60, 1, 30, 1, 60
-kamp    <emphasis role="op">=</emphasis> <emphasis role="opc">ampdb</emphasis>(kamp)<emphasis role="op">*</emphasis>kenv
-
-kph_freq  <emphasis role="opc">phasor</emphasis> 2, iphase
-klow_freq <emphasis role="opc">line</emphasis> 200, p3, 100
-kfreq     <emphasis role="opc">loopsegp</emphasis> kph_freq, 400, 1, klow_freq, 1, 400
-
-asig      <emphasis role="opc">vco2</emphasis> kamp, kfreq, 2, 0.5
-
-         <emphasis role="opc">outs</emphasis> asig, asig
-
-   <emphasis role="oblock">endin</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+ktrig <emphasis role="opc">metro</emphasis> 22<emphasis role="op">/</emphasis>8 <emphasis role="comment">; triggers used to generate new direction values</emphasis>
+kdir  <emphasis role="opc">trandom</emphasis> ktrig,<emphasis role="op">-</emphasis>2.99,2.99
+kdir  <emphasis role="op">=</emphasis>       0.5<emphasis role="op">*</emphasis><emphasis role="opc">int</emphasis>(kdir) <emphasis role="comment">; kdir will either -1, -0.5, 0, 0.5 or 1</emphasis>
+<emphasis role="comment">; kphase - looping pointer</emphasis>
+kphase <emphasis role="opc">phasor</emphasis> kdir
+<emphasis role="comment">; a loop sequence of midi note numbers and durations</emphasis>
+knote <emphasis role="opc">loopsegp</emphasis>  kphase, 40,1,40,0, 43,1,43,0, 49,2,48,0, \
+ 47,1,47,0, 46,1,46,0, 46,1,47,0, 49,1,49,0, 43,1,43,0, 46,1,46,0, 40,1,39,0    
+kmul  <emphasis role="opc">rspline</emphasis> 0.1,0.8,0.5,5                         <emphasis role="comment">; modulation of buzz tone</emphasis>
+asig  <emphasis role="opc">gbuzz</emphasis>   0.2, <emphasis role="opc">cpsmidinn</emphasis>(knote), 30, 3, kmul, 1 <emphasis role="comment">; buzz tone</emphasis>
+      <emphasis role="opc">outs</emphasis>    asig, asig
+      
+      <emphasis role="opc">schedkwhen</emphasis> ktrig,0,0,2,0,0.1 <emphasis role="comment">; play metronome</emphasis>
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2 <emphasis role="comment">; metronome</emphasis>
+acps  <emphasis role="opc">expon</emphasis>   180<emphasis role="op">+</emphasis><emphasis role="opc">rnd</emphasis>(40),p3,50
+aamp  <emphasis role="opc">expon</emphasis>   0.05<emphasis role="op">+</emphasis><emphasis role="opc">rnd</emphasis>(0.05),p3,0.001
+asig  <emphasis role="opc">poscil</emphasis>  aamp<emphasis role="op">-</emphasis>0.001,acps,2
+      <emphasis role="opc">outs</emphasis>    asig,asig
+<emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="stamnt">i</emphasis>1 0 3 0
-<emphasis role="stamnt">i</emphasis>1 + . 0.50
+<emphasis role="comment">; cosine wave.</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 11 1
+<emphasis role="comment">; sine wave.</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 16384 10 1
+
+<emphasis role="stamnt">i</emphasis> 1 0 360 0.25
+
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/looptseg.csd.xml b/examples-xml/looptseg.csd.xml
index 9887e59..f610374 100644
--- a/examples-xml/looptseg.csd.xml
+++ b/examples-xml/looptseg.csd.xml
@@ -2,41 +2,38 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o looptseg.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kfreq <emphasis role="opc">line</emphasis> 1, p3, 20
-
-  klp <emphasis role="opc">looptseg</emphasis> kfreq, 0, 0,    0, 1, 0.5,    30000, <emphasis role="op">-</emphasis>1, 1,    0
-
-  a1 <emphasis role="opc">oscil</emphasis> klp, 440, 1
-  <emphasis role="opc">out</emphasis> a1
+kfreq   <emphasis role="op">=</emphasis>        1         <emphasis role="comment">; frequency of loop repetition</emphasis>
+ktrig   <emphasis role="opc">init</emphasis>     0         <emphasis role="comment">; loop restart trigger (not used)</emphasis>
+iphase  <emphasis role="op">=</emphasis>        0         <emphasis role="comment">; initial phase</emphasis>
+ktyp    <emphasis role="opc">line</emphasis>     6,p3,<emphasis role="op">-</emphasis>6   <emphasis role="comment">; explore the useful range of curve types</emphasis>
+<emphasis role="comment">; loop of filter cutoff values (oct format)</emphasis>
+<emphasis role="comment">;                                     value curve dur.</emphasis>
+kcfoct <emphasis role="opc">looptseg</emphasis>  kfreq, ktrig, iphase,13,   ktyp, 1, \
+                                      4,    ktyp, 0, \
+                                      11,   ktyp, 1, \
+                                      4
+asig  <emphasis role="opc">vco2</emphasis>     0.2,cpsmidinn(48),0             <emphasis role="comment">; a sawtooth</emphasis>
+asig  <emphasis role="opc">moogladder</emphasis>  asig,cpsoct(kcfoct),rnd(0.6) <emphasis role="comment">; filter sawtooth</emphasis>
+      <emphasis role="opc">outs</emphasis>     asig, asig
 <emphasis role="oblock">endin</emphasis>
 
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for five seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 5
+<emphasis role="stamnt">i</emphasis> 1 0 12
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/loopxseg.csd.xml b/examples-xml/loopxseg.csd.xml
index 904f1e1..0de4395 100644
--- a/examples-xml/loopxseg.csd.xml
+++ b/examples-xml/loopxseg.csd.xml
@@ -2,41 +2,37 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o loopxseg.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kfreq <emphasis role="opc">line</emphasis> 1, p3, 20
-
-  klp <emphasis role="opc">loopxseg</emphasis> kfreq, 0, 0, 0, 0.5, 30000, 1, 0
-
-  a1 <emphasis role="opc">oscil</emphasis> klp, 440, 1
-  <emphasis role="opc">out</emphasis> a1
+kfreq  <emphasis role="opc">rspline</emphasis>  0.01,20,0.2,1   <emphasis role="comment">; freq. of loop repetition created by random spline</emphasis>
+ktrig  <emphasis role="opc">init</emphasis>     0   <emphasis role="comment">; loop restart trigger (not used)</emphasis>
+iphase <emphasis role="op">=</emphasis>        0   <emphasis role="comment">; initial phase</emphasis>
+<emphasis role="comment">; loop of filter cutoff values (oct format). Rescaled further down.</emphasis>
+kcfoct <emphasis role="opc">loopxseg</emphasis>  kfreq, ktrig, iphase, 1,1,0,0
+kenv  <emphasis role="opc">linseg</emphasis>   0,0.01,1,p3<emphasis role="op">-</emphasis>5.01,1,5,0
+asig  <emphasis role="opc">vco2</emphasis>     0.2<emphasis role="op">*</emphasis>kenv,cpsmidinn(48),0
+kdep  <emphasis role="opc">rspline</emphasis>  5,8,0.2,1  <emphasis role="comment">; filter depth created by a random spline</emphasis>
+kcf   <emphasis role="opc">port</emphasis>     <emphasis role="opc">cpsoct</emphasis>((kcfoct<emphasis role="op">*</emphasis>kdep)<emphasis role="op">+</emphasis>4), 0.001  <emphasis role="comment">; smooth filter changes</emphasis>
+asig  <emphasis role="opc">moogladder</emphasis>  asig,kcf,rnd(0.6)
+aL,aR <emphasis role="opc">pan2</emphasis>     asig,rnd(1)
+      <emphasis role="opc">outs</emphasis>     aL, aR
 <emphasis role="oblock">endin</emphasis>
 
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for five seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 5
+<emphasis role="stamnt">i</emphasis> 1  0 60
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/lorismorph.csd.xml b/examples-xml/lorismorph.csd.xml
index 119be96..9607c97 100644
--- a/examples-xml/lorismorph.csd.xml
+++ b/examples-xml/lorismorph.csd.xml
@@ -2,78 +2,77 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o lorismorph.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 128
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+<emphasis role="comment">; clarinet.sdif and meow.sdif can be found in /manual/examples</emphasis>
 
-<emphasis role="comment">; Morph the partials in clarinet.sdif into the partials in flute.sdif over the duration of</emphasis>
-<emphasis role="comment">; the sustained portion of the two tones (from .2 to 2.0 seconds in the clarinet, and from</emphasis>
-<emphasis role="comment">; .5 to 2.1 seconds in the flute). The onset and decay portions in the morphed sound are</emphasis>
+<emphasis role="comment">; Morph the partials in meow.sdif into the partials in clarinet.sdif over the duration of</emphasis>
+<emphasis role="comment">; the sustained portion of the two tones (from .2 to 2.0 seconds in the meow, and from</emphasis>
+<emphasis role="comment">; .5 to 2.1 seconds in the clarinet). The onset and decay portions in the morphed sound are</emphasis>
 <emphasis role="comment">; specified by parameters p4 and p5, respectively. The morphing time is the time between the</emphasis>
-<emphasis role="comment">; onset and the decay. The clarinet partials are shfited in pitch to match the pitch of the flute</emphasis>
+<emphasis role="comment">; onset and the decay. The meow partials are shfited in pitch to match the pitch of the clarinet</emphasis>
 <emphasis role="comment">; tone (D above middle C). </emphasis>
 
 <emphasis role="oblock">instr</emphasis> 1
-ionset	<emphasis role="op">=</emphasis>	p4
-idecay	<emphasis role="op">=</emphasis>	p5
-itmorph <emphasis role="op">=</emphasis>	p3 <emphasis role="op">-</emphasis> (ionset <emphasis role="op">+</emphasis> idecay)
-ipshift	<emphasis role="op">=</emphasis>	<emphasis role="opc">cpspch</emphasis>(8.02)<emphasis role="op">/</emphasis><emphasis role="opc">cpspch</emphasis>(8.08)
+
+ionset	<emphasis role="op">=</emphasis> p4
+idecay	<emphasis role="op">=</emphasis> p5
+itmorph <emphasis role="op">=</emphasis> p3 <emphasis role="op">-</emphasis> (ionset <emphasis role="op">+</emphasis> idecay)
+ipshift	<emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(8.02)<emphasis role="op">/</emphasis><emphasis role="opc">cpspch</emphasis>(8.08)
     
-ktcl	<emphasis role="opc">linseg</emphasis>	0, ionset, .2, itmorph, 2.0, idecay, 2.1    <emphasis role="comment">; clarinet time function, morph from .2 to 2.0 seconds</emphasis>
-ktfl	<emphasis role="opc">linseg</emphasis>	0, ionset, .5, itmorph, 2.1, idecay, 2.3    <emphasis role="comment">; flute time function, morph from .5 to 2.1 seconds</emphasis>
+ktme	<emphasis role="opc">linseg</emphasis>	0, ionset, .2, itmorph, 2.0, idecay, 2.1    <emphasis role="comment">; meow time function, morph from .2 to 2.0 seconds</emphasis>
+ktcl	<emphasis role="opc">linseg</emphasis>	0, ionset, .5, itmorph, 2.1, idecay, 2.3    <emphasis role="comment">; clarinet time function, morph from .5 to 2.1 seconds</emphasis>
 kmurph	<emphasis role="opc">linseg</emphasis>	0, ionset, 0, itmorph, 1, idecay, 1
-	lorisread	ktcl, "meow.sdif", 1, ipshift, 2, 1, .001
-	lorisread	ktfl, "clarinet.sdif", 2, 1, 1, 1, .001
-	lorismorph	1, 2, 3, kmurph, kmurph, kmurph
-asig	lorisplay	3, 1, 1, 1
-	<emphasis role="opc">outs</emphasis>		asig, asig
+	lorisread  ktme, "meow.sdif", 1, ipshift, 2, 1, .001
+	lorisread  ktcl, "clarinet.sdif", 2, 1, 1, 1, .001
+	lorismorph 1, 2, 3, kmurph, kmurph, kmurph
+asig	lorisplay  3, 1, 1, 1
+	<emphasis role="opc">outs</emphasis>	   asig, asig
 <emphasis role="oblock">endin</emphasis>
 
-<emphasis role="comment">; Morph the partials in trombone.sdif into the partials in meow.sdif. The start and end times</emphasis>
+<emphasis role="comment">; Morph the partials in clarinet.sdif into the partials in meow.sdif. The start and end times</emphasis>
 <emphasis role="comment">; for the morph are specified by parameters p4 and p5, respectively. The morph occurs over the</emphasis>
 <emphasis role="comment">; second of four pitches in each of the sounds, from .75 to 1.2 seconds in the flutter-tongued</emphasis>
-<emphasis role="comment">; trombone tone, and from 1.7 to 2.2 seconds in the cat's meow. Different morphing functions are</emphasis>
+<emphasis role="comment">; clarinet tone, and from 1.7 to 2.2 seconds in the cat's meow. Different morphing functions are</emphasis>
 <emphasis role="comment">; used for the frequency and amplitude envelopes, so that the partial amplitudes make a faster  </emphasis>
-<emphasis role="comment">; transition from trombone to cat than the frequencies. (The bandwidth envelopes use the same          </emphasis>
+<emphasis role="comment">; transition from clarinet to cat than the frequencies. (The bandwidth envelopes use the same          </emphasis>
 <emphasis role="comment">; morphing function as the amplitudes.) </emphasis>
 
 <emphasis role="oblock">instr</emphasis> 2
-ionset	<emphasis role="op">=</emphasis>	p4
-imorph	<emphasis role="op">=</emphasis>	p5 <emphasis role="op">-</emphasis> p4
-irelease	<emphasis role="op">=</emphasis>	p3 <emphasis role="op">-</emphasis> p5
+
+ionset	 <emphasis role="op">=</emphasis> p4
+imorph	 <emphasis role="op">=</emphasis> p5 <emphasis role="op">-</emphasis> p4
+irelease <emphasis role="op">=</emphasis> p3 <emphasis role="op">-</emphasis> p5
     
-ktclar		<emphasis role="opc">linseg</emphasis>	0, ionset, .75, imorph, 1.2, irelease, 2.4
+ktclar	<emphasis role="opc">linseg</emphasis>	0, ionset, .75, imorph, 1.2, irelease, 2.4
 ktmeow	<emphasis role="opc">linseg</emphasis>	0, ionset, 1.7, imorph, 2.2, irelease, 3.4
     
 kmfreq	<emphasis role="opc">linseg</emphasis>	0, ionset, 0, .75<emphasis role="op">*</emphasis>imorph, .25, .25<emphasis role="op">*</emphasis>imorph, 1, irelease, 1
 kmamp	<emphasis role="opc">linseg</emphasis>	0, ionset, 0, .75<emphasis role="op">*</emphasis>imorph, .9, .25<emphasis role="op">*</emphasis>imorph, 1, irelease, 1
     
-		lorisread	ktclar, "clarinet.sdif", 1, 1, 1, 1, .001
-		lorisread	ktmeow, "meow.sdif", 2, 1, 1, 1, .001
-		lorismorph	1, 2, 3, kmfreq, kmamp, kmamp
-asig		lorisplay	3, 1, 1, 1
-		<emphasis role="opc">outs</emphasis>		asig, asig
+	lorisread  ktclar, "clarinet.sdif", 1, 1, 1, 1, .001
+	lorisread  ktmeow, "meow.sdif", 2, 1, 1, 1, .001
+	lorismorph 1, 2, 3, kmfreq, kmamp, kmamp
+asig	lorisplay  3, 1, 1, 1
+	<emphasis role="opc">outs</emphasis>	   asig, asig
 <emphasis role="oblock">endin</emphasis>
 
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="comment">; play instr 1</emphasis>
 <emphasis role="comment">;     strt   dur   onset   decay</emphasis>
 <emphasis role="stamnt">i</emphasis> 1    0      3     .25     .15
 <emphasis role="stamnt">i</emphasis> 1    +      1     .10     .10
 <emphasis role="stamnt">i</emphasis> 1    +      6    1.      1.
 
-
-
-<emphasis role="comment">; play instr 2</emphasis>
 <emphasis role="comment">;    strt   dur  morph_start   morph_end</emphasis>
  <emphasis role="stamnt">i</emphasis> 2    9    4     .75           2.75
 
diff --git a/examples-xml/lorisplay.csd.xml b/examples-xml/lorisplay.csd.xml
index 06fa9b9..e21d6fd 100644
--- a/examples-xml/lorisplay.csd.xml
+++ b/examples-xml/lorisplay.csd.xml
@@ -2,58 +2,61 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o lorisplay.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 128
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+<emphasis role="comment">; clarinet.sdif can be found in /manual/examples</emphasis>
 
 <emphasis role="comment">; Play the partials in clarinet.sdif from 0 to 3 sec with 1 ms fadetime</emphasis>
 <emphasis role="comment">; and no frequency , amplitude, or bandwidth modification.</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 1
-ktime	<emphasis role="opc">linseg</emphasis>	0, p3, 3.0			<emphasis role="comment">; linear time function from 0 to 3 seconds</emphasis>
-	lorisread	ktime, "clarinet.sdif", 1, 1, 1, 1, .001
-asig	lorisplay	1, 1, 1, 1
-	<emphasis role="opc">outs</emphasis> 		asig, asig
-<emphasis role="oblock">endin</emphasis>
 
+ktime	<emphasis role="opc">linseg</emphasis>	  0, p3, 3.0			<emphasis role="comment">; linear time function from 0 to 3 seconds</emphasis>
+	lorisread ktime, "clarinet.sdif", 1, 1, 1, 1, .001
+kfrq	<emphasis role="op">=</emphasis> p4	<emphasis role="comment">; pitch shifting</emphasis>
+asig	lorisplay 1, kfrq, 1, 1
+	<emphasis role="opc">outs</emphasis> 	  asig, asig
+<emphasis role="oblock">endin</emphasis>
 
 <emphasis role="comment">; Play the partials in clarinet.sdif from 0 to 3 sec with 1 ms fadetime</emphasis>
 <emphasis role="comment">; adding tuning and vibrato, increasing the "breathiness" (noisiness) and overall</emphasis>
 <emphasis role="comment">; amplitude, and adding a highpass filter.</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 2
+
 ktime	<emphasis role="opc">linseg</emphasis>	0, p3, 3.0			<emphasis role="comment">; linear time function from 0 to 3 seconds</emphasis>
-							<emphasis role="comment">; compute frequency scale for tuning</emphasis>
+						<emphasis role="comment">; compute frequency scale for tuning</emphasis>
     
-ifscale	<emphasis role="op">=</emphasis>	<emphasis role="opc">cpspch</emphasis>(p4)<emphasis role="op">/</emphasis><emphasis role="opc">cpspch</emphasis>(8.08)	<emphasis role="comment">; (original pitch was G#4)</emphasis>
-							<emphasis role="comment">; make a vibrato envelope</emphasis>
+ifscale	<emphasis role="op">=</emphasis>	<emphasis role="opc">cpspch</emphasis>(p4)<emphasis role="op">/</emphasis><emphasis role="opc">cpspch</emphasis>(8.08)		<emphasis role="comment">; (original pitch was G#4)</emphasis>
+						<emphasis role="comment">; make a vibrato envelope</emphasis>
 kvenv	<emphasis role="opc">linseg</emphasis>	0, p3<emphasis role="op">/</emphasis>6, 0, p3<emphasis role="op">/</emphasis>6, .02, p3<emphasis role="op">/</emphasis>3, .02, p3<emphasis role="op">/</emphasis>6, 0, p3<emphasis role="op">/</emphasis>6, 0
-kvib	<emphasis role="opc">oscil</emphasis>		kvenv, 4, 1			<emphasis role="comment">; table 1, sinusoid</emphasis>
-kbwenv	<emphasis role="opc">linseg</emphasis>	1, p3<emphasis role="op">/</emphasis>6, 1, p3<emphasis role="op">/</emphasis>6, 100, 2<emphasis role="op">*</emphasis>p3<emphasis role="op">/</emphasis>3, 100	<emphasis role="comment">;lots of noise</emphasis>
-	lorisread	ktime, "clarinet.sdif", 1, 1, 1, 1, .001
-a1	lorisplay	1, ifscale<emphasis role="op">+</emphasis>kvib, 2, kbwenv
-a2	<emphasis role="opc">atone</emphasis>		a1, 1000			<emphasis role="comment">; highpass filter, cutoff 1000 Hz</emphasis>
-	<emphasis role="opc">outs</emphasis>		a2, a2
+kvib	<emphasis role="opc">oscil</emphasis>	kvenv, 4, 1			<emphasis role="comment">; table 1, sinusoid</emphasis>
+kbwenv	<emphasis role="opc">linseg</emphasis>	1, p3<emphasis role="op">/</emphasis>6, 1, p3<emphasis role="op">/</emphasis>6, 100, 2<emphasis role="op">*</emphasis>p3<emphasis role="op">/</emphasis>3, 100 <emphasis role="comment">;lots of noise</emphasis>
+	lorisread ktime, "clarinet.sdif", 1, 1, 1, 1, .001
+a1	lorisplay 1, ifscale<emphasis role="op">+</emphasis>kvib, 2, kbwenv
+asig	<emphasis role="opc">atone</emphasis>	a1, 1000			<emphasis role="comment">; highpass filter, cutoff 1000 Hz</emphasis>
+	<emphasis role="opc">outs</emphasis>	asig, asig
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="comment">; make sinusoid in table 1</emphasis>
+<emphasis role="comment">; a sinusoid </emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 4096 10 1
-<emphasis role="comment">; play instr 1</emphasis>
-<emphasis role="comment">;     strt   dur</emphasis>
-<emphasis role="stamnt">i</emphasis> 1    0      3
-<emphasis role="stamnt">i</emphasis> 1    +      1
-<emphasis role="stamnt">i</emphasis> 1    +      6
+
+<emphasis role="stamnt">i</emphasis> 1  0   3  1.2	<emphasis role="comment">; shifted up</emphasis>
+<emphasis role="stamnt">i</emphasis> 1  +   1  1.5
+<emphasis role="stamnt">i</emphasis> 1  +   6  .5	<emphasis role="comment">; shifted down</emphasis>
 <emphasis role="stamnt">s</emphasis>
-<emphasis role="comment">; play instr 2</emphasis>
+
 <emphasis role="comment">;     strt   dur   ptch</emphasis>
 <emphasis role="stamnt">i</emphasis> 2      1    3    8.08
 <emphasis role="stamnt">i</emphasis> 2      3.5  1    8.04
diff --git a/examples-xml/lorisread.csd.xml b/examples-xml/lorisread.csd.xml
index 296da1a..c8cfce9 100644
--- a/examples-xml/lorisread.csd.xml
+++ b/examples-xml/lorisread.csd.xml
@@ -2,25 +2,27 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o lorisread.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 128
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="comment">; Play the partials in clarinet.sdif from 0 to 3 sec with 1 ms fadetime</emphasis>
 <emphasis role="comment">; and no frequency , amplitude, or bandwidth modification.</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 1
-ktime	<emphasis role="opc">linseg</emphasis>	0, p3, 3.0			<emphasis role="comment">; linear time function from 0 to 3 seconds</emphasis>
-	lorisread	ktime, "clarinet.sdif", 1, 1, 1, 1, .001
-asig	lorisplay	1, 1, 1, 1
-	<emphasis role="opc">outs</emphasis> 		asig, asig
+
+ktime <emphasis role="opc">linseg</emphasis> 0, p3, 3			<emphasis role="comment">; linear time function from 0 to 3 seconds</emphasis>
+      lorisread	ktime, "clarinet.sdif", 1, 1, 1, 1, .001
+asig  lorisplay	1, 1, 1, 1
+      <emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
 
@@ -29,38 +31,36 @@ asig	lorisplay	1, 1, 1, 1
 <emphasis role="comment">; amplitude, and adding a highpass filter.</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 2
-ktime	<emphasis role="opc">linseg</emphasis>	0, p3, 3.0			<emphasis role="comment">; linear time function from 0 to 3 seconds</emphasis>
-							<emphasis role="comment">; compute frequency scale for tuning</emphasis>
-    
-ifscale	<emphasis role="op">=</emphasis>	<emphasis role="opc">cpspch</emphasis>(p4)<emphasis role="op">/</emphasis><emphasis role="opc">cpspch</emphasis>(8.08)	<emphasis role="comment">; (original pitch was G#4)</emphasis>
-							<emphasis role="comment">; make a vibrato envelope</emphasis>
-kvenv	<emphasis role="opc">linseg</emphasis>	0, p3<emphasis role="op">/</emphasis>6, 0, p3<emphasis role="op">/</emphasis>6, .02, p3<emphasis role="op">/</emphasis>3, .02, p3<emphasis role="op">/</emphasis>6, 0, p3<emphasis role="op">/</emphasis>6, 0
-kvib	<emphasis role="opc">oscil</emphasis>		kvenv, 4, 1			<emphasis role="comment">; table 1, sinusoid</emphasis>
-kbwenv	<emphasis role="opc">linseg</emphasis>	1, p3<emphasis role="op">/</emphasis>6, 1, p3<emphasis role="op">/</emphasis>6, 2, 2<emphasis role="op">*</emphasis>p3<emphasis role="op">/</emphasis>3, 2	<emphasis role="comment">;lots of noise</emphasis>
-	lorisread	ktime, "clarinet.sdif", 1, 1, 1, 1, .001
-a1	lorisplay	1, ifscale<emphasis role="op">+</emphasis>kvib, 2, kbwenv
-a2	<emphasis role="opc">atone</emphasis>		a1, 1000			<emphasis role="comment">; highpass filter, cutoff 1000 Hz</emphasis>
-	<emphasis role="opc">outs</emphasis>		a2, a2
+
+ktime <emphasis role="opc">linseg</emphasis> 0, p3, 3			<emphasis role="comment">; linear time function from 0 to 3 seconds</emphasis>
+					<emphasis role="comment">; compute frequency scale for tuning  </emphasis>
+ifscale	<emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p4)<emphasis role="op">/</emphasis><emphasis role="opc">cpspch</emphasis>(8.08)	<emphasis role="comment">; (original pitch was G#4)</emphasis>
+					<emphasis role="comment">; make a vibrato envelope</emphasis>
+kvenv  <emphasis role="opc">linseg</emphasis> 0, p3<emphasis role="op">/</emphasis>6, 0, p3<emphasis role="op">/</emphasis>6, .02, p3<emphasis role="op">/</emphasis>3, .02, p3<emphasis role="op">/</emphasis>6, 0, p3<emphasis role="op">/</emphasis>6, 0
+kvib   <emphasis role="opc">oscil</emphasis>  kvenv, 4, 1		<emphasis role="comment">; table 1, sinusoid</emphasis>
+kbwenv <emphasis role="opc">linseg</emphasis> 1, p3<emphasis role="op">/</emphasis>6, 1, p3<emphasis role="op">/</emphasis>6, 2, 2<emphasis role="op">*</emphasis>p3<emphasis role="op">/</emphasis>3, 2	<emphasis role="comment">;lots of noise</emphasis>
+       lorisread ktime, "clarinet.sdif", 1, 1, 1, 1, .001
+a1     lorisplay 1, ifscale<emphasis role="op">+</emphasis>kvib, 2, kbwenv
+asig   <emphasis role="opc">atone</emphasis> a1, 1000			<emphasis role="comment">; highpass filter, cutoff 1000 Hz</emphasis>
+       <emphasis role="opc">outs</emphasis>  asig, asig
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="comment">; make sinusoid in table 1</emphasis>
+<emphasis role="comment">; a sinus</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 4096 10 1
-<emphasis role="comment">; play instr 1</emphasis>
-<emphasis role="comment">;     strt   dur</emphasis>
+
 <emphasis role="stamnt">i</emphasis> 1    0      3
 <emphasis role="stamnt">i</emphasis> 1    +      1
 <emphasis role="stamnt">i</emphasis> 1    +      6
 <emphasis role="stamnt">s</emphasis>
-<emphasis role="comment">; play instr 2</emphasis>
-<emphasis role="comment">;     strt   dur   ptch</emphasis>
+
+<emphasis role="comment">;                  pitch</emphasis>
 <emphasis role="stamnt">i</emphasis> 2      1    3    8.08
 <emphasis role="stamnt">i</emphasis> 2      3.5  1    8.04
 <emphasis role="stamnt">i</emphasis> 2      4    6    8.00
 <emphasis role="stamnt">i</emphasis> 2      4    6    8.07
 <emphasis role="stamnt">e</emphasis>
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/loscil.csd.xml b/examples-xml/loscil.csd.xml
index 3d11add..d0abeb0 100644
--- a/examples-xml/loscil.csd.xml
+++ b/examples-xml/loscil.csd.xml
@@ -2,47 +2,44 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o loscil.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-   kamp <emphasis role="op">=</emphasis> 30000
-   <emphasis role="comment">; If you don't know the frequency of your audio file,</emphasis>
-   <emphasis role="comment">; set both the kcps and ibas parameters equal to 1.</emphasis>
-   kcps <emphasis role="op">=</emphasis> 1
-   ifn <emphasis role="op">=</emphasis> 1
-   ibas <emphasis role="op">=</emphasis> 1
-
-   a1 <emphasis role="opc">loscil</emphasis> kamp, kcps, ifn, ibas
-   <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
 
+ichnls <emphasis role="op">=</emphasis> <emphasis role="opc">ftchnls</emphasis>(p4)
+<emphasis role="opc">print</emphasis> ichnls
+
+<emphasis role="octrl">if</emphasis> (ichnls <emphasis role="op">==</emphasis> 1) then
+   asigL <emphasis role="opc">loscil</emphasis> .8, 1, p4, 1
+   asigR <emphasis role="op">=</emphasis> 	asigL
+<emphasis role="octrl">elseif</emphasis> (ichnls <emphasis role="op">==</emphasis> 2) then
+   asigL, asigR <emphasis role="opc">loscil</emphasis> .8, 1, p4, 1
+<emphasis role="comment">;safety precaution if not mono or stereo</emphasis>
+<emphasis role="octrl">else</emphasis>
+   asigL <emphasis role="op">=</emphasis> 0
+   asigR <emphasis role="op">=</emphasis> 0
+<emphasis role="octrl">endif</emphasis>
+        <emphasis role="opc">outs</emphasis> asigL, asigR
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 0 1 "mary.wav" 0 0 0
+<emphasis role="stamnt">f</emphasis> 2 0 0 1 "kickroll.wav" 0 0 0
 
-<emphasis role="comment">; Table #1: an audio file.</emphasis>
-<emphasis role="comment">; Its table size is deferred,</emphasis>
-<emphasis role="comment">; and format taken from the soundfile header.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 0 1 "beats.wav" 0 0 0
-
-<emphasis role="comment">; Play Instrument #1 for 6 seconds.</emphasis>
-<emphasis role="comment">; This will loop the audio file several times.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 6
+<emphasis role="stamnt">i</emphasis> 1 0 3 1 <emphasis role="comment">;mono file</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 2 2 <emphasis role="comment">;stereo file</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/loscil3.csd.xml b/examples-xml/loscil3.csd.xml
index 17115b5..e4e9a45 100644
--- a/examples-xml/loscil3.csd.xml
+++ b/examples-xml/loscil3.csd.xml
@@ -2,47 +2,44 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o loscil3.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-   kamp <emphasis role="op">=</emphasis> 30000
-   <emphasis role="comment">; If you don't know the frequency of your audio file,</emphasis>
-   <emphasis role="comment">; set both the kcps and ibas parameters equal to 1.</emphasis>
-   kcps <emphasis role="op">=</emphasis> 1
-   ifn <emphasis role="op">=</emphasis> 1
-   ibas <emphasis role="op">=</emphasis> 1
-
-   a1 <emphasis role="opc">loscil3</emphasis> kamp, kcps, ifn, ibas
-   <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
 
+ichnls <emphasis role="op">=</emphasis> <emphasis role="opc">ftchnls</emphasis>(p4)
+<emphasis role="opc">print</emphasis> ichnls
+
+<emphasis role="octrl">if</emphasis> (ichnls <emphasis role="op">==</emphasis> 1) then
+   asigL <emphasis role="opc">loscil3</emphasis> .8, 1, p4, 1
+   asigR <emphasis role="op">=</emphasis> 	asigL
+<emphasis role="octrl">elseif</emphasis> (ichnls <emphasis role="op">==</emphasis> 2) then
+   asigL, asigR <emphasis role="opc">loscil3</emphasis> .8, 1, p4, 1
+<emphasis role="comment">;safety precaution if not mono or stereo</emphasis>
+<emphasis role="octrl">else</emphasis>
+   asigL <emphasis role="op">=</emphasis> 0
+   asigR <emphasis role="op">=</emphasis> 0
+<emphasis role="octrl">endif</emphasis>
+        <emphasis role="opc">outs</emphasis> asigL, asigR
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 0 1 "mary.wav" 0 0 0
+<emphasis role="stamnt">f</emphasis> 2 0 0 1 "kickroll.wav" 0 0 0
 
-<emphasis role="comment">; Table #1: an audio file.</emphasis>
-<emphasis role="comment">; Its table size is deferred,</emphasis>
-<emphasis role="comment">; and format taken from the soundfile header.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 0 1 "beats.wav" 0 0 0
-
-<emphasis role="comment">; Play Instrument #1 for 6 seconds.</emphasis>
-<emphasis role="comment">; This will loop the drum pattern several times.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 6
+<emphasis role="stamnt">i</emphasis> 1 0 3 1 <emphasis role="comment">;mono file</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 2 2 <emphasis role="comment">;stereo file</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/lowres.csd.xml b/examples-xml/lowres.csd.xml
index 87a7489..64f7473 100644
--- a/examples-xml/lowres.csd.xml
+++ b/examples-xml/lowres.csd.xml
@@ -2,46 +2,38 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o lowres.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Use a nice sawtooth waveform.</emphasis>
-  asig <emphasis role="opc">vco</emphasis> 5000, 440, 1
 
-  <emphasis role="comment">; Vary the cutoff frequency from 30 to 300 Hz.</emphasis>
-  kcutoff <emphasis role="opc">line</emphasis> 30, p3, 300
-  kresonance <emphasis role="op">=</emphasis> 10
+kres <emphasis role="op">=</emphasis> p4
+asig <emphasis role="opc">vco</emphasis> .2, 220, 1		<emphasis role="comment">;sawtooth</emphasis>
 
-  <emphasis role="comment">; Apply the filter.</emphasis>
-  a1 <emphasis role="opc">lowres</emphasis> asig, kcutoff, kresonance 
+kcut <emphasis role="opc">line</emphasis> 1000, p3, 10		<emphasis role="comment">;note: kcut is not in Hz</emphasis>
+as   <emphasis role="opc">lowres</emphasis> asig, kcut, kres	<emphasis role="comment">;note: kres is not in dB</emphasis>
+aout <emphasis role="opc">balance</emphasis> as, asig		<emphasis role="comment">;avoid very loud sounds</emphasis>
+     <emphasis role="opc">outs</emphasis> aout, aout
 
-  <emphasis role="opc">out</emphasis> a1
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1, a sine wave for the vco opcode.</emphasis>
+<emphasis role="comment">; a sine</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
 
-<emphasis role="comment">; Play Instrument #1 for two seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 1 0 4 3
+<emphasis role="stamnt">i</emphasis> 1 + 4 30
+<emphasis role="stamnt">i</emphasis> 1 + 4 60
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/lowresx.csd.xml b/examples-xml/lowresx.csd.xml
index 5895726..cbb0e26 100644
--- a/examples-xml/lowresx.csd.xml
+++ b/examples-xml/lowresx.csd.xml
@@ -2,49 +2,40 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o lowresx.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1 - play the sawtooth waveform through a </emphasis>
-<emphasis role="comment">; stack of filters.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Use a nice sawtooth waveform.</emphasis>
-  asig <emphasis role="opc">vco</emphasis> 5, 440, 1
 
-  <emphasis role="comment">; Vary the cutoff frequency from 30 to 300 Hz.</emphasis>
-  kcutoff <emphasis role="opc">line</emphasis> 30, p3, 600
-  kresonance <emphasis role="op">=</emphasis> 3
-  inumlayer <emphasis role="op">=</emphasis> 5
+kres <emphasis role="op">=</emphasis> p4
+inumlayer <emphasis role="op">=</emphasis> 4
 
-  alr <emphasis role="opc">lowresx</emphasis> asig, kcutoff, kresonance, inumlayer
+kenv <emphasis role="opc">linseg</emphasis> 0, p3<emphasis role="op">*</emphasis>.1, 1, p3<emphasis role="op">*</emphasis>.8, 1, p3<emphasis role="op">*</emphasis>.1, 0 	<emphasis role="comment">;envelope</emphasis>
+asig <emphasis role="opc">vco</emphasis> .3 <emphasis role="op">*</emphasis> kenv, 220, 1			<emphasis role="comment">;sawtooth</emphasis>
+kcut <emphasis role="opc">line</emphasis> 30, p3, 1000				<emphasis role="comment">;note: kcut is not in Hz</emphasis>
+alx  <emphasis role="opc">lowresx</emphasis> asig, kcut, kres, inumlayer	<emphasis role="comment">;note: kres is not in dB</emphasis>
+aout <emphasis role="opc">balance</emphasis> alx, asig				<emphasis role="comment">;avoid very loud sounds</emphasis>
+     <emphasis role="opc">outs</emphasis> aout, aout
 
-  <emphasis role="comment">; It gets loud, so clip the output amplitude to 30,000.</emphasis>
-  a1 <emphasis role="opc">clip</emphasis> alr, 1, 30000
-  <emphasis role="opc">out</emphasis> a1
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1, a sine wave for the vco opcode.</emphasis>
+<emphasis role="comment">;sine wave</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
 
-<emphasis role="comment">; Play Instrument #1 for two seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 4
+<emphasis role="stamnt">i</emphasis> 1 0 5 1
+<emphasis role="stamnt">i</emphasis> 1 + 5 3
+<emphasis role="stamnt">i</emphasis> 1 + 5 20
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/lpfreson.csd.xml b/examples-xml/lpfreson.csd.xml
index 95a10da..53a9e03 100644
--- a/examples-xml/lpfreson.csd.xml
+++ b/examples-xml/lpfreson.csd.xml
@@ -2,44 +2,41 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o lpfreson.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
-
-<emphasis role="comment">; Instrument #1.</emphasis>
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+<emphasis role="comment">;do not use -a option when analyzing "fox.wav" with lpfreson,</emphasis>
+<emphasis role="comment">;it needs a filter coefficient type of file</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-asig	<emphasis role="opc">buzz</emphasis>	20000, 100, 10, 1
-<emphasis role="comment">;do not use -a option when analyzing (= filter coefficient) "fox.wav" from the manual</emphasis>
-<emphasis role="comment">;fox.lpc = 2.8 seconds long</emphasis>
-ktime  <emphasis role="opc">line</emphasis> 0, p3, 2.8       <emphasis role="comment">; Define time lin</emphasis>
-krmsr,krmso,kerr,kcps <emphasis role="opc">lpread</emphasis>    ktime,"fox_nopoles.lp"
-<emphasis role="comment">;aout				lpreson	asig</emphasis>
-aout				<emphasis role="opc">lpfreson</emphasis>	asig, 1.6
-ares				<emphasis role="opc">balance</emphasis>	aout, asig
-       <emphasis role="opc">out</emphasis> ares
-
 
-<emphasis role="oblock">endin</emphasis>
+ilen  <emphasis role="opc">filelen</emphasis> "fox.wav"	<emphasis role="comment">; length of soundfile</emphasis>
+<emphasis role="opc">prints</emphasis> "fox.wav <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f seconds\\n",ilen
 
+ktime <emphasis role="opc">line</emphasis> 0, p3, p4
+krmsr,krmso,kerr,kcps <emphasis role="opc">lpread</emphasis> ktime,"fox_nopoles.lpc"
+krmso <emphasis role="op">=</emphasis> krmso<emphasis role="op">*</emphasis>.00001			<emphasis role="comment">; low volume</emphasis>
+asig  <emphasis role="opc">buzz</emphasis> krmso, kcps, <emphasis role="opc">int</emphasis>(<emphasis role="ohdr">sr</emphasis><emphasis role="op">/</emphasis>2<emphasis role="op">/</emphasis>kcps), 1 <emphasis role="comment">; max harmonics without aliasing</emphasis>
+aout  <emphasis role="opc">lpfreson</emphasis> asig, 1.2
+asig  <emphasis role="opc">clip</emphasis> aout, 0, 1			<emphasis role="comment">; prevents distortion</emphasis>
+      <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
+<emphasis role="comment">; sine</emphasis>
 <emphasis role="stamnt">f</emphasis>1 0 4096 10 1
 
-<emphasis role="stamnt">i</emphasis> 1 0 2.8
+<emphasis role="stamnt">i</emphasis> 1 0 2.8 1	<emphasis role="comment">; first words only</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 4 2.8 2.8	<emphasis role="comment">; whole sentence</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/lposcil.csd.xml b/examples-xml/lposcil.csd.xml
index e35e824..a53c9ae 100644
--- a/examples-xml/lposcil.csd.xml
+++ b/examples-xml/lposcil.csd.xml
@@ -2,36 +2,30 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o lposcil.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-   kamp <emphasis role="op">=</emphasis> 30000
-   kcps <emphasis role="op">=</emphasis> 1.5
-   ifn <emphasis role="op">=</emphasis> 1
-  kloop <emphasis role="op">=</emphasis> 0
-  kend <emphasis role="op">=</emphasis> 45000
 
-   a1 <emphasis role="opc">lposcil</emphasis> kamp, kcps, kloop, kend, ifn
-   <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
+kcps  <emphasis role="op">=</emphasis> 1.5	<emphasis role="comment">; a fifth up</emphasis>
+kloop <emphasis role="op">=</emphasis> 0	<emphasis role="comment">; loop start time in samples</emphasis>
+kend  <emphasis role="op">=</emphasis> 45000	<emphasis role="comment">; loop end time in samples</emphasis>
 
+asig <emphasis role="opc">lposcil</emphasis> 1, kcps, kloop, kend, 1
+     <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1: an audio file.</emphasis>
 <emphasis role="comment">; Its table size is deferred,</emphasis>
 <emphasis role="comment">; and format taken from the soundfile header.</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 0 1 "beats.wav" 0 0 0
@@ -39,9 +33,8 @@
 <emphasis role="comment">; Play Instrument #1 for 6 seconds.</emphasis>
 <emphasis role="comment">; This will loop the drum pattern several times.</emphasis>
 <emphasis role="stamnt">i</emphasis> 1 0 6
-<emphasis role="stamnt">e</emphasis>
-
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/lposcil3.csd.xml b/examples-xml/lposcil3.csd.xml
index 43b9918..c0c7319 100644
--- a/examples-xml/lposcil3.csd.xml
+++ b/examples-xml/lposcil3.csd.xml
@@ -2,46 +2,39 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o lposcil3.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-   kamp <emphasis role="op">=</emphasis> 30000
-   kcps <emphasis role="op">=</emphasis> 1
-   ifn <emphasis role="op">=</emphasis> 1
-  kloop <emphasis role="op">=</emphasis> 0
-  kend <emphasis role="opc">line</emphasis> 35000, p3, 10000
 
+kcps  <emphasis role="op">=</emphasis> 1.5			<emphasis role="comment">; a fifth up</emphasis>
+kloop <emphasis role="op">=</emphasis> 0			<emphasis role="comment">; loop start time (in samples)</emphasis>
+kend <emphasis role="opc">line</emphasis> 45000, p3, 10000	<emphasis role="comment">; vary loop end time (in samples)</emphasis>
 
-   a1 <emphasis role="opc">lposcil3</emphasis> kamp, kcps, kloop, kend, ifn
-   <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
-
+asig <emphasis role="opc">lposcil3</emphasis> 1, kcps, kloop, kend, 1
+     <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1: an audio file.</emphasis>
 <emphasis role="comment">; Its table size is deferred,</emphasis>
 <emphasis role="comment">; and format taken from the soundfile header.</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 0 1 "beats.wav" 0 0 0
 
 <emphasis role="comment">; Play Instrument #1 for 6 seconds.</emphasis>
+<emphasis role="comment">; This will loop the drum pattern several times.</emphasis>
 <emphasis role="stamnt">i</emphasis> 1 0 6
-<emphasis role="stamnt">e</emphasis>
-
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/lposcila.csd.xml b/examples-xml/lposcila.csd.xml
index 1790eb9..f688bf8 100644
--- a/examples-xml/lposcila.csd.xml
+++ b/examples-xml/lposcila.csd.xml
@@ -2,47 +2,40 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o lposcila.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-   aamp <emphasis role="op">=</emphasis> 30000
-   kcps <emphasis role="op">=</emphasis> 1.5
-   ifn <emphasis role="op">=</emphasis> 1
-  kloop <emphasis role="op">=</emphasis> 0
-  kend <emphasis role="opc">line</emphasis> 25000, p3, 0
 
+kcps  <emphasis role="op">=</emphasis> 1.3					<emphasis role="comment">;a 3d up</emphasis>
+kloop <emphasis role="op">=</emphasis> 0					<emphasis role="comment">;loop start time in samples</emphasis>
+kend  <emphasis role="op">=</emphasis> 10000					<emphasis role="comment">;loop end time in samples</emphasis>
 
-   a1 <emphasis role="opc">lposcila</emphasis> aamp, kcps, kloop, kend, ifn
-   <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
-
+aenv <emphasis role="opc">expsega</emphasis> 0.01, 0.1, 1, 0.1, 0.5, 0.5, 0.01	<emphasis role="comment">;envelope with fast and short segment</emphasis>
+asig <emphasis role="opc">lposcila</emphasis> aenv, kcps, kloop, kend, 1	<emphasis role="comment">;use it for amplitude</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1: an audio file.</emphasis>
 <emphasis role="comment">; Its table size is deferred,</emphasis>
 <emphasis role="comment">; and format taken from the soundfile header.</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 0 1 "beats.wav" 0 0 0
 
 <emphasis role="comment">; Play Instrument #1 for 6 seconds.</emphasis>
+<emphasis role="comment">; This will loop the drum pattern several times.</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 2
 
-<emphasis role="stamnt">i</emphasis> 1 0 6
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/lposcilsa.csd.xml b/examples-xml/lposcilsa.csd.xml
new file mode 100644
index 0000000..87a5a44
--- /dev/null
+++ b/examples-xml/lposcilsa.csd.xml
@@ -0,0 +1,41 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o lposcilsa.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kcps  <emphasis role="op">=</emphasis> 1.3					<emphasis role="comment">;a 3th up</emphasis>
+kloop <emphasis role="op">=</emphasis> 0					<emphasis role="comment">;loop start time in samples</emphasis>
+kend  <emphasis role="op">=</emphasis> 45000					<emphasis role="comment">;loop end time in samples</emphasis>
+
+aenv <emphasis role="opc">expsega</emphasis> 0.01, 0.1, 1, 0.1, 0.5, 0.5, 0.01	<emphasis role="comment">;envelope with fast and short segment</emphasis>
+aL, aR <emphasis role="opc">lposcilsa</emphasis> aenv, kcps, kloop, kend, 1	<emphasis role="comment">;use it for amplitude</emphasis>
+     <emphasis role="opc">outs</emphasis> aL, aR
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">; table size of stereo file is deferred,</emphasis>
+<emphasis role="comment">; and format taken from the soundfile header.</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 0 1 "kickroll.wav" 0 0 0
+
+<emphasis role="comment">; Play Instrument #1 for 6 seconds.</emphasis>
+<emphasis role="comment">; This will loop the drum pattern several times.</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 2
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/lposcilsa2.csd.xml b/examples-xml/lposcilsa2.csd.xml
new file mode 100644
index 0000000..2aa17f2
--- /dev/null
+++ b/examples-xml/lposcilsa2.csd.xml
@@ -0,0 +1,41 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o lposcilsa2.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kcps  <emphasis role="op">=</emphasis> 2					<emphasis role="comment">;only integers are allowed</emphasis>
+kloop <emphasis role="op">=</emphasis> 0					<emphasis role="comment">;loop start time in samples</emphasis>
+kend  <emphasis role="op">=</emphasis> 45000					<emphasis role="comment">;loop end time in samples</emphasis>
+
+aenv <emphasis role="opc">expsega</emphasis> 0.01, 0.1, 1, 0.1, 0.5, 0.5, 0.01	<emphasis role="comment">;envelope with fast and short segment</emphasis>
+aL, aR <emphasis role="opc">lposcilsa2</emphasis> aenv, kcps, kloop, kend, 1	<emphasis role="comment">;use it for amplitude</emphasis>
+     <emphasis role="opc">outs</emphasis> aL, aR
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">; Its table size is deferred,</emphasis>
+<emphasis role="comment">; and format taken from the soundfile header.</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 0 1 "kickroll.wav" 0 0 0
+
+<emphasis role="comment">; Play Instrument #1 for 6 seconds.</emphasis>
+<emphasis role="comment">; This will loop the drum pattern several times.</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 2
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/lpread.csd.xml b/examples-xml/lpread.csd.xml
index 150f30a..b580568 100644
--- a/examples-xml/lpread.csd.xml
+++ b/examples-xml/lpread.csd.xml
@@ -2,43 +2,40 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o lpread.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-<emphasis role="comment">;can use -a option when analyzing (= filter coefficient) or without -a option "fox.wav" from the manual</emphasis>
-<emphasis role="comment">;fox.lpc = 2.8 seconds long</emphasis>
-ktime  <emphasis role="opc">line</emphasis> 0, p3, 2.8       <emphasis role="comment">; Define time lin</emphasis>
-krmsr,krmso,kerr,kcps <emphasis role="opc">lpread</emphasis>    ktime,"foxpoles.lp"
-aout	<emphasis role="opc">buzz</emphasis>	krmso, kcps, 15, 1
-asig	<emphasis role="opc">rand</emphasis>	krmsr
-
-       <emphasis role="opc">out</emphasis> aout<emphasis role="op">*</emphasis>2<emphasis role="op">+</emphasis>asig
-
+<emphasis role="comment">; works with or without -a option when analyzing "fox.wav" from the manual</emphasis>
+ilen  <emphasis role="opc">filelen</emphasis> "fox.wav"	<emphasis role="comment">; length of soundfile</emphasis>
+<emphasis role="opc">prints</emphasis> "fox.wav <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f seconds\\n",ilen
+
+ktime <emphasis role="opc">line</emphasis> 0, p3, p4
+krmsr,krmso,kerr,kcps <emphasis role="opc">lpread</emphasis> ktime,"fox_poles.lpc"
+krmso <emphasis role="op">=</emphasis> krmso<emphasis role="op">*</emphasis>.00007			<emphasis role="comment">; low volume</emphasis>
+aout  <emphasis role="opc">buzz</emphasis> krmso, kcps, 15, 1
+krmsr <emphasis role="op">=</emphasis> krmsr<emphasis role="op">*</emphasis>.0001			<emphasis role="comment">; low volume</emphasis>
+asig  <emphasis role="opc">rand</emphasis> krmsr
+      <emphasis role="opc">outs</emphasis> (aout<emphasis role="op">*</emphasis>2)<emphasis role="op">+</emphasis>asig, (aout<emphasis role="op">*</emphasis>2)<emphasis role="op">+</emphasis>asig	<emphasis role="comment">; mix buzz and rand</emphasis>
 
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
+<emphasis role="comment">; sine</emphasis>
 <emphasis role="stamnt">f</emphasis>1 0 4096 10 1 
 
-<emphasis role="stamnt">i</emphasis> 1 0 2.8
+<emphasis role="stamnt">i</emphasis> 1 0 2.8 1	<emphasis role="comment">; first words only</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 4 2.8 2.8	<emphasis role="comment">; whole sentence</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/lpreson-2.csd.xml b/examples-xml/lpreson-2.csd.xml
new file mode 100644
index 0000000..d8b132c
--- /dev/null
+++ b/examples-xml/lpreson-2.csd.xml
@@ -0,0 +1,38 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o lpreson-2.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+<emphasis role="comment">; works with or without -a option when analyzing "fox.wav" from the manual</emphasis>
+<emphasis role="comment">;both options sound a little different</emphasis>
+<emphasis role="oblock">instr</emphasis> 1
+
+ilen   <emphasis role="opc">filelen</emphasis> "fox.wav"	<emphasis role="comment">;length of soundfile 1</emphasis>
+<emphasis role="opc">prints</emphasis> "fox.wav <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f seconds\\n",ilen
+
+ktime  <emphasis role="opc">line</emphasis> 0, p3, ilen
+krmsr,krmso,kerr,kcps <emphasis role="opc">lpread</emphasis> ktime,"fox_nopoles.lpc"
+asig   <emphasis role="opc">diskin2</emphasis>	"flute.aiff", 1
+aout   <emphasis role="opc">lpreson</emphasis> asig
+ares   <emphasis role="opc">balance</emphasis> aout, asig
+       <emphasis role="opc">outs</emphasis> ares, ares
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 2.8
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/lpreson.csd.xml b/examples-xml/lpreson.csd.xml
index fdee2cc..6e3272b 100644
--- a/examples-xml/lpreson.csd.xml
+++ b/examples-xml/lpreson.csd.xml
@@ -2,41 +2,42 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o lpreson.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
-
-<emphasis role="oblock">instr</emphasis> 1
-<emphasis role="comment">;can use -a option when analyzing (= filter coefficient) or without -a option "fox.wav" from the manual</emphasis>
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+<emphasis role="comment">; works with or without -a option when analyzing "fox.wav" from the manual</emphasis>
 <emphasis role="comment">;both options sound a little different</emphasis>
-<emphasis role="comment">;foxnopoles.lp = 2.8 seconds long</emphasis>
-ktime  <emphasis role="opc">line</emphasis> 0, p3, 2.8       <emphasis role="comment">; Define time lin</emphasis>
-krmsr,krmso,kerr,kcps <emphasis role="opc">lpread</emphasis>    ktime,"foxnopoles.lp"
-asig				<emphasis role="opc">diskin2</emphasis>	"mary.wav", 1
-aout				<emphasis role="opc">lpreson</emphasis>	asig
-ares				<emphasis role="opc">balance</emphasis>	aout, asig
-       <emphasis role="opc">out</emphasis> ares
+<emphasis role="oblock">instr</emphasis> 1
 
+ilen  <emphasis role="opc">filelen</emphasis> "fox.wav"	<emphasis role="comment">; length of soundfile</emphasis>
+<emphasis role="opc">prints</emphasis> "fox.wav <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f seconds\\n",ilen
 
-<emphasis role="oblock">endin</emphasis>
+ktime <emphasis role="opc">line</emphasis> 0, p3, p4
+krmsr,krmso,kerr,kcps <emphasis role="opc">lpread</emphasis> ktime,"fox_poles.lpc"
 
+krmso <emphasis role="op">=</emphasis> krmso<emphasis role="op">*</emphasis>.00001			<emphasis role="comment">; low volume</emphasis>
+asig  <emphasis role="opc">buzz</emphasis> krmso, kcps, <emphasis role="opc">int</emphasis>(<emphasis role="ohdr">sr</emphasis><emphasis role="op">/</emphasis>2<emphasis role="op">/</emphasis>kcps), 1 <emphasis role="comment">; max harmonics without aliasing</emphasis>
+aout  <emphasis role="opc">lpreson</emphasis> asig
+asig  <emphasis role="opc">clip</emphasis> aout, 0, 1			<emphasis role="comment">; prevents distortion</emphasis>
+      <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">; sine</emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 4096 10 1
 
-<emphasis role="stamnt">i</emphasis> 1 0 2.8
+<emphasis role="stamnt">i</emphasis> 1 0 2.8 1	<emphasis role="comment">; first words only</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 4 2.8 2.8	<emphasis role="comment">; whole sentence</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/lpshold.csd.xml b/examples-xml/lpshold.csd.xml
index ba21927..53ec523 100644
--- a/examples-xml/lpshold.csd.xml
+++ b/examples-xml/lpshold.csd.xml
@@ -2,41 +2,44 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o lpshold.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kfreq <emphasis role="opc">line</emphasis> 1, p3, 20
-
-  klp <emphasis role="opc">lpshold</emphasis> kfreq, 0, 0, 0, p3<emphasis role="op">*</emphasis>0.25, 20000, p3<emphasis role="op">*</emphasis>0.75, 0
-
-  a1 <emphasis role="opc">oscil</emphasis> klp, 440, 1
-  <emphasis role="opc">out</emphasis> a1
+kfrq  <emphasis role="opc">init</emphasis>    p4  <emphasis role="comment">; frequency of the loop </emphasis>
+ifrac <emphasis role="op">=</emphasis>       p5  <emphasis role="comment">; fraction of frequency at which to force retrigger</emphasis>
+ipan  <emphasis role="op">=</emphasis>       p6  <emphasis role="comment">; pan position</emphasis>
+ktrig <emphasis role="opc">metro</emphasis>   kfrq <emphasis role="op">*</emphasis> ifrac  <emphasis role="comment">; trigger to force restart the loop</emphasis>
+iphs  <emphasis role="op">=</emphasis>       0   <emphasis role="comment">; initial phase of the loop</emphasis>
+<emphasis role="comment">; a loop of midi note numbers:   note duration etc...</emphasis>
+knote <emphasis role="opc">lpshold</emphasis> kfrq, ktrig, iphs, 61,  0.0625,  60, 0.9375,   61, 1, 58, 1, \
+63, 2, 65, 3
+aenv  <emphasis role="opc">linseg</emphasis> 0,0.01,1,p3<emphasis role="op">-</emphasis>0.11,1,0.1,0   <emphasis role="comment">; amplitude envelope</emphasis>
+krnd  <emphasis role="opc">rspline</emphasis> <emphasis role="op">-</emphasis>0.05,0.05,0.5,1 <emphasis role="comment">; random detune</emphasis>
+asig  <emphasis role="opc">gbuzz</emphasis>   0.2<emphasis role="op">*</emphasis>aenv, <emphasis role="opc">cpsmidinn</emphasis>(knote<emphasis role="op">+</emphasis>krnd), 30, 1, 0.5, 1 
+      <emphasis role="opc">outs</emphasis>    asig<emphasis role="op">*</emphasis>ipan, asig<emphasis role="op">*</emphasis>(1<emphasis role="op">-</emphasis>ipan)
 <emphasis role="oblock">endin</emphasis>
 
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for five seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 5
+<emphasis role="comment">; cosine wave.</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 11 1
+
+<emphasis role="comment">; 3 layers of the loop are played, each at a different speed, </emphasis>
+<emphasis role="comment">; - with different retriggering rate, and pan location.</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 60 0.5   [8/10] 0.5
+<emphasis role="stamnt">i</emphasis> 1 0 60 0.375 [8/11] 0.1
+<emphasis role="stamnt">i</emphasis> 1 0 60 0.25  [8/13] 0.9
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/lpsholdp.csd.xml b/examples-xml/lpsholdp.csd.xml
new file mode 100644
index 0000000..43053c0
--- /dev/null
+++ b/examples-xml/lpsholdp.csd.xml
@@ -0,0 +1,41 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o lpsholdp.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+ipan  <emphasis role="op">=</emphasis> p4
+ktrig <emphasis role="op">=</emphasis> 0   <emphasis role="comment">; (no retriggering)</emphasis>
+<emphasis role="comment">; kphase - looping pointer - is generated using a random spline</emphasis>
+kphase <emphasis role="opc">rspline</emphasis>  0,1,0.5,5
+<emphasis role="comment">; a loop sequence of midi note numbers and durations</emphasis>
+<emphasis role="comment">;                      val dur val dur etc...</emphasis>
+knote <emphasis role="opc">lpsholdp</emphasis> kphase, 60, 1,  59, 0.1, 62, 1, 64, 1, 67, 0.1, 65, 1
+asig  <emphasis role="opc">gbuzz</emphasis>   0.2, <emphasis role="opc">cpsmidinn</emphasis>(knote), 30, 1, 0.5, 1 
+      <emphasis role="opc">outs</emphasis>    asig<emphasis role="op">*</emphasis>ipan, asig<emphasis role="op">*</emphasis>(1<emphasis role="op">-</emphasis>ipan)
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">; cosine wave.</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 11 1
+
+<emphasis role="comment">; 2 layers of the loop are played each with a different pan position (p4)</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 60 0.25
+<emphasis role="stamnt">i</emphasis> 1 0 60 0.75
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/luamoog.csd.xml b/examples-xml/luamoog.csd.xml
new file mode 100644
index 0000000..9e6bed7
--- /dev/null
+++ b/examples-xml/luamoog.csd.xml
@@ -0,0 +1,264 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis>    48000
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis>   100
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis>    1
+
+    gibegan     <emphasis role="opc">rtclock</emphasis>
+
+    <emphasis role="opc">lua_opdef</emphasis>   "moogladder", {{
+local ffi <emphasis role="op">=</emphasis> require("ffi")
+local math <emphasis role="op">=</emphasis> require("math")
+local string <emphasis role="op">=</emphasis> require("string")
+local csoundApi <emphasis role="op">=</emphasis> ffi.load('csound64.dll.5.2')
+ffi.cdef[[
+    <emphasis role="opc">int</emphasis> csoundGetKsmps(void <emphasis role="op">*</emphasis>)<emphasis role="comment">;</emphasis>
+    double csoundGetSr(void <emphasis role="op">*</emphasis>)<emphasis role="comment">;</emphasis>
+    struct moogladder_t {
+      double <emphasis role="op">*</emphasis><emphasis role="opc">out</emphasis><emphasis role="comment">;</emphasis>
+      double <emphasis role="op">*</emphasis>inp<emphasis role="comment">;</emphasis>
+      double <emphasis role="op">*</emphasis>freq<emphasis role="comment">;</emphasis>
+      double <emphasis role="op">*</emphasis>res<emphasis role="comment">;</emphasis>
+      double <emphasis role="op">*</emphasis>istor<emphasis role="comment">;</emphasis>
+      double <emphasis role="ohdr">sr</emphasis><emphasis role="comment">;</emphasis>
+      double <emphasis role="ohdr">ksmps</emphasis><emphasis role="comment">;</emphasis>
+      double thermal<emphasis role="comment">;</emphasis>
+      double f<emphasis role="comment">;</emphasis>
+      double fc<emphasis role="comment">;</emphasis>
+      double fc2<emphasis role="comment">;</emphasis>
+      double fc3<emphasis role="comment">;</emphasis>
+      double fcr<emphasis role="comment">;</emphasis>
+      double acr<emphasis role="comment">;</emphasis>
+      double tune<emphasis role="comment">;</emphasis>
+      double res4<emphasis role="comment">;</emphasis>
+      double input<emphasis role="comment">;</emphasis>
+      double <emphasis role="opc">i</emphasis><emphasis role="comment">;</emphasis>
+      double j<emphasis role="comment">;</emphasis>
+      double <emphasis role="opc">k</emphasis><emphasis role="comment">;</emphasis>
+      double kk<emphasis role="comment">;</emphasis>
+      double stg[6]<emphasis role="comment">;</emphasis>
+      double delay[6]<emphasis role="comment">;</emphasis>
+      double tanhstg[6]<emphasis role="comment">;</emphasis>
+    }<emphasis role="comment">;</emphasis>
+]]
+
+local moogladder_ct <emphasis role="op">=</emphasis> ffi.typeof('struct moogladder_t <emphasis role="op">*</emphasis>')
+
+function moogladder_init(csound, opcode, carguments)
+    local <emphasis role="opc">p</emphasis> <emphasis role="op">=</emphasis> ffi.cast(moogladder_ct, carguments)
+    p.sr <emphasis role="op">=</emphasis> csoundApi.csoundGetSr(csound)
+    p.ksmps <emphasis role="op">=</emphasis> csoundApi.csoundGetKsmps(csound)
+    <emphasis role="octrl">if</emphasis> p.istor[0] <emphasis role="op">==</emphasis> 0 then
+        for <emphasis role="opc">i</emphasis> <emphasis role="op">=</emphasis> 0, 5 do
+            p.delay[i] <emphasis role="op">=</emphasis> 0.0
+        end
+        for <emphasis role="opc">i</emphasis> <emphasis role="op">=</emphasis> 0, 3 do
+            p.tanhstg[i] <emphasis role="op">=</emphasis> 0.0
+        end
+    end
+    <emphasis role="opc">return</emphasis> 0
+end
+
+function moogladder_kontrol(csound, opcode, carguments)
+    local <emphasis role="opc">p</emphasis> <emphasis role="op">=</emphasis> ffi.cast(moogladder_ct, carguments)
+    <emphasis role="op">-</emphasis><emphasis role="op">-</emphasis> transistor thermal voltage
+    p.thermal <emphasis role="op">=</emphasis> 1.0 <emphasis role="op">/</emphasis> 40000.0
+    <emphasis role="octrl">if</emphasis> p.res[0] <emphasis role="op"><</emphasis> 0.0 then
+        p.res[0] <emphasis role="op">=</emphasis> 0.0
+    end
+    <emphasis role="op">-</emphasis><emphasis role="op">-</emphasis> <emphasis role="ohdr">sr</emphasis> is half the actual filter sampling rate
+    p.fc <emphasis role="op">=</emphasis> p.freq[0] <emphasis role="op">/</emphasis> p.sr
+    p.f <emphasis role="op">=</emphasis> p.fc <emphasis role="op">/</emphasis> 2.0
+    p.fc2 <emphasis role="op">=</emphasis> p.fc <emphasis role="op">*</emphasis> p.fc
+    p.fc3 <emphasis role="op">=</emphasis> p.fc2 <emphasis role="op">*</emphasis> p.fc
+    <emphasis role="op">-</emphasis><emphasis role="op">-</emphasis> frequency <emphasis role="op">&</emphasis> amplitude correction
+    p.fcr <emphasis role="op">=</emphasis> 1.873 <emphasis role="op">*</emphasis> p.fc3 <emphasis role="op">+</emphasis> 0.4955 <emphasis role="op">*</emphasis> p.fc2 <emphasis role="op">-</emphasis> 0.6490 <emphasis role="op">*</emphasis> p.fc <emphasis role="op">+</emphasis> 0.9988
+    p.acr <emphasis role="op">=</emphasis> <emphasis role="op">-</emphasis>3.9364 <emphasis role="op">*</emphasis> p.fc2 <emphasis role="op">+</emphasis> 1.8409 <emphasis role="op">*</emphasis> p.fc <emphasis role="op">+</emphasis> 0.9968
+    <emphasis role="op">-</emphasis><emphasis role="op">-</emphasis> filter tuning
+    p.tune <emphasis role="op">=</emphasis> (1.0 <emphasis role="op">-</emphasis> math.exp(<emphasis role="op">-</emphasis>(2.0 <emphasis role="op">*</emphasis> math.pi <emphasis role="op">*</emphasis> p.f <emphasis role="op">*</emphasis> p.fcr))) <emphasis role="op">/</emphasis> p.thermal
+    p.res4 <emphasis role="op">=</emphasis> 4.0 <emphasis role="op">*</emphasis> p.res[0] <emphasis role="op">*</emphasis> p.acr
+    <emphasis role="op">-</emphasis><emphasis role="op">-</emphasis> Nested 'for' loops crash, not sure why.
+    <emphasis role="op">-</emphasis><emphasis role="op">-</emphasis> Local loop variables also are problematic.
+    <emphasis role="op">-</emphasis><emphasis role="op">-</emphasis> Lower<emphasis role="op">-</emphasis>level loop constructs don't crash.
+    p.i <emphasis role="op">=</emphasis> 0
+    while p.i <emphasis role="op"><</emphasis> p.ksmps do
+        p.j <emphasis role="op">=</emphasis> 0
+        while p.j <emphasis role="op"><</emphasis> 2 do
+            p.k <emphasis role="op">=</emphasis> 0
+            while p.k <emphasis role="op"><</emphasis> 4 do
+                <emphasis role="octrl">if</emphasis> p.k <emphasis role="op">==</emphasis> 0 then
+                    p.input <emphasis role="op">=</emphasis> p.inp[p.i] <emphasis role="op">-</emphasis> p.res4 <emphasis role="op">*</emphasis> p.delay[5]
+                    p.stg[p.k] <emphasis role="op">=</emphasis> p.delay[p.k] <emphasis role="op">+</emphasis> p.tune <emphasis role="op">*</emphasis> (math.tanh(p.input <emphasis role="op">*</emphasis> p.thermal) <emphasis role="op">-</emphasis> p.tanhstg[p.k])
+                <emphasis role="octrl">else</emphasis>
+                    p.input <emphasis role="op">=</emphasis> p.stg[p.k <emphasis role="op">-</emphasis> 1]
+                    p.tanhstg[p.k <emphasis role="op">-</emphasis> 1] <emphasis role="op">=</emphasis> math.tanh(p.input <emphasis role="op">*</emphasis> p.thermal)
+                    <emphasis role="octrl">if</emphasis> p.k <emphasis role="op"><</emphasis> 3 then
+                        p.kk <emphasis role="op">=</emphasis> p.tanhstg[p.k]
+                    <emphasis role="octrl">else</emphasis>
+                        p.kk <emphasis role="op">=</emphasis> math.tanh(p.delay[p.k] <emphasis role="op">*</emphasis> p.thermal)
+                    end
+                    p.stg[p.k] <emphasis role="op">=</emphasis> p.delay[p.k] <emphasis role="op">+</emphasis> p.tune <emphasis role="op">*</emphasis> (p.tanhstg[p.k <emphasis role="op">-</emphasis> 1] <emphasis role="op">-</emphasis> p.kk)
+                end
+                p.delay[p.k] <emphasis role="op">=</emphasis> p.stg[p.k]
+                p.k <emphasis role="op">=</emphasis> p.k <emphasis role="op">+</emphasis> 1
+            end
+            <emphasis role="op">-</emphasis><emphasis role="op">-</emphasis> 1<emphasis role="op">/</emphasis>2<emphasis role="op">-</emphasis>sample <emphasis role="opc">delay</emphasis> for phase compensation
+            p.delay[5] <emphasis role="op">=</emphasis> (p.stg[3] <emphasis role="op">+</emphasis> p.delay[4]) <emphasis role="op">*</emphasis> 0.5
+            p.delay[4] <emphasis role="op">=</emphasis> p.stg[3]
+            p.j <emphasis role="op">=</emphasis> p.j <emphasis role="op">+</emphasis> 1
+        end
+        p.out[p.i] <emphasis role="op">=</emphasis> p.delay[5]
+        p.i <emphasis role="op">=</emphasis> p.i <emphasis role="op">+</emphasis> 1
+    end
+    <emphasis role="opc">return</emphasis> 0
+end
+}}
+
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis>
+Moogladder <emphasis role="op">-</emphasis> An improved implementation of the Moog ladder filter
+
+DESCRIPTION
+This is an new digital implementation of the Moog ladder filter based on the work of Antti Huovilainen,
+described <emphasis role="opc">in</emphasis> the paper \"Non<emphasis role="op">-</emphasis>Linear Digital Implementation of the Moog Ladder Filter\" (Proceedings of DaFX04, Univ of Napoli).
+This implementation is probably <emphasis role="opc">a</emphasis> more accurate digital representation of the original analogue filter.
+This is version 2 (revised 14<emphasis role="op">/</emphasis>DEC<emphasis role="op">/</emphasis>04), with improved amplitude<emphasis role="op">/</emphasis>resonance scaling and frequency correction using <emphasis role="opc">a</emphasis> couple of polynomials,as suggested by Antti.
+
+SYNTAX
+ar  Moogladder  asig, kcf, kres
+
+PERFORMANCE
+asig <emphasis role="op">-</emphasis> input signal
+kcf <emphasis role="op">-</emphasis> cutoff frequency (Hz)
+kres <emphasis role="op">-</emphasis> resonance (0 <emphasis role="op">-</emphasis> 1).
+
+CREDITS
+Victor Lazzarini
+<emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+
+                    <emphasis role="oblock">opcode</emphasis>  moogladderu, a, akk
+asig, kcf, kres     <emphasis role="opc">xin</emphasis>
+                    <emphasis role="opc">setksmps</emphasis>    1
+ipi                 <emphasis role="op">=</emphasis>           4 <emphasis role="op">*</emphasis> <emphasis role="opc">taninv</emphasis>(1)
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> filter delays <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+az1                 <emphasis role="opc">init</emphasis>        0
+az2                 <emphasis role="opc">init</emphasis>        0
+az3                 <emphasis role="opc">init</emphasis>        0
+az4                 <emphasis role="opc">init</emphasis>        0
+az5                 <emphasis role="opc">init</emphasis>        0
+ay4                 <emphasis role="opc">init</emphasis>        0
+amf                 <emphasis role="opc">init</emphasis>        0
+                    <emphasis role="octrl">if</emphasis>          kres <emphasis role="op">></emphasis> 1 then
+kres                <emphasis role="op">=</emphasis>           1
+                    <emphasis role="octrl">elseif</emphasis>      kres <emphasis role="op"><</emphasis> 0 then
+kres                <emphasis role="op">=</emphasis>           0
+                    <emphasis role="octrl">endif</emphasis>
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> twice the \'thermal voltage of <emphasis role="opc">a</emphasis> transistor\' <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+i2v                 <emphasis role="op">=</emphasis>           40000
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> <emphasis role="ohdr">sr</emphasis> is half the actual filter sampling rate  <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+kfc                 <emphasis role="op">=</emphasis>           kcf<emphasis role="op">/</emphasis><emphasis role="ohdr">sr</emphasis>
+kf                  <emphasis role="op">=</emphasis>           kcf<emphasis role="op">/</emphasis>(<emphasis role="ohdr">sr</emphasis><emphasis role="op">*</emphasis>2)
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> frequency <emphasis role="op">&</emphasis> amplitude correction  <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+kfcr                <emphasis role="op">=</emphasis>           1.8730 <emphasis role="op">*</emphasis> (kfc^3) <emphasis role="op">+</emphasis> 0.4955 <emphasis role="op">*</emphasis> (kfc^2) <emphasis role="op">-</emphasis> 0.6490 <emphasis role="op">*</emphasis> kfc <emphasis role="op">+</emphasis> 0.9988
+kacr                <emphasis role="op">=</emphasis>           <emphasis role="op">-</emphasis>3.9364 <emphasis role="op">*</emphasis> (kfc^2) <emphasis role="op">+</emphasis> 1.8409 <emphasis role="op">*</emphasis> kfc <emphasis role="op">+</emphasis> 0.9968<emphasis role="comment">;</emphasis>
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> filter tuning  <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+k2vg                <emphasis role="op">=</emphasis>           i2v <emphasis role="op">*</emphasis> (1 <emphasis role="op">-</emphasis> <emphasis role="opc">exp</emphasis>(<emphasis role="op">-</emphasis>2 <emphasis role="op">*</emphasis> ipi <emphasis role="op">*</emphasis> kfcr <emphasis role="op">*</emphasis> kf))
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> cascade of 4 1st order sections         <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+ay1                 <emphasis role="op">=</emphasis>           az1 <emphasis role="op">+</emphasis> k2vg <emphasis role="op">*</emphasis> (<emphasis role="opc">tanh</emphasis>((asig <emphasis role="op">-</emphasis> 4 <emphasis role="op">*</emphasis> kres <emphasis role="op">*</emphasis> amf <emphasis role="op">*</emphasis> kacr) <emphasis role="op">/</emphasis> i2v) <emphasis role="op">-</emphasis> <emphasis role="opc">tanh</emphasis>(az1 <emphasis role="op">/</emphasis> i2v))
+az1                 <emphasis role="op">=</emphasis>           ay1
+ay2                 <emphasis role="op">=</emphasis>           az2 <emphasis role="op">+</emphasis> k2vg <emphasis role="op">*</emphasis> (<emphasis role="opc">tanh</emphasis>(ay1 <emphasis role="op">/</emphasis> i2v) <emphasis role="op">-</emphasis> <emphasis role="opc">tanh</emphasis>(az2 <emphasis role="op">/</emphasis> i2v ))
+az2                 <emphasis role="op">=</emphasis>           ay2
+ay3                 <emphasis role="op">=</emphasis>           az3 <emphasis role="op">+</emphasis> k2vg <emphasis role="op">*</emphasis> (<emphasis role="opc">tanh</emphasis>(ay2 <emphasis role="op">/</emphasis> i2v) <emphasis role="op">-</emphasis> <emphasis role="opc">tanh</emphasis>(az3 <emphasis role="op">/</emphasis> i2v))
+az3                 <emphasis role="op">=</emphasis>           ay3
+ay4                 <emphasis role="op">=</emphasis>           az4 <emphasis role="op">+</emphasis> k2vg <emphasis role="op">*</emphasis> (<emphasis role="opc">tanh</emphasis>(ay3 <emphasis role="op">/</emphasis> i2v) <emphasis role="op">-</emphasis> <emphasis role="opc">tanh</emphasis>(az4 <emphasis role="op">/</emphasis> i2v))
+az4                 <emphasis role="op">=</emphasis>           ay4
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> 1<emphasis role="op">/</emphasis>2<emphasis role="op">-</emphasis>sample <emphasis role="opc">delay</emphasis> for phase compensation  <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+amf                 <emphasis role="op">=</emphasis>           (ay4 <emphasis role="op">+</emphasis> az5) <emphasis role="op">*</emphasis>0.5
+az5                 <emphasis role="op">=</emphasis>           ay4
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> oversampling  <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+ay1                 <emphasis role="op">=</emphasis>           az1 <emphasis role="op">+</emphasis> k2vg <emphasis role="op">*</emphasis> (<emphasis role="opc">tanh</emphasis>((asig <emphasis role="op">-</emphasis> 4 <emphasis role="op">*</emphasis> kres <emphasis role="op">*</emphasis> amf <emphasis role="op">*</emphasis> kacr) <emphasis role="op">/</emphasis> i2v) <emphasis role="op">-</emphasis> <emphasis role="opc">tanh</emphasis>(az1 <emphasis role="op">/</emphasis> i2v))
+az1                 <emphasis role="op">=</emphasis>           ay1
+ay2                 <emphasis role="op">=</emphasis>           az2 <emphasis role="op">+</emphasis> k2vg <emphasis role="op">*</emphasis> (<emphasis role="opc">tanh</emphasis>(ay1 <emphasis role="op">/</emphasis> i2v) <emphasis role="op">-</emphasis> <emphasis role="opc">tanh</emphasis>(az2 <emphasis role="op">/</emphasis> i2v ))
+az2                 <emphasis role="op">=</emphasis>           ay2
+ay3                 <emphasis role="op">=</emphasis>           az3 <emphasis role="op">+</emphasis> k2vg <emphasis role="op">*</emphasis> (<emphasis role="opc">tanh</emphasis>(ay2 <emphasis role="op">/</emphasis> i2v) <emphasis role="op">-</emphasis> <emphasis role="opc">tanh</emphasis>(az3 <emphasis role="op">/</emphasis> i2v))
+az3                 <emphasis role="op">=</emphasis>           ay3
+ay4                 <emphasis role="op">=</emphasis>           az4 <emphasis role="op">+</emphasis> k2vg <emphasis role="op">*</emphasis> (<emphasis role="opc">tanh</emphasis>(ay3 <emphasis role="op">/</emphasis> i2v) <emphasis role="op">-</emphasis> <emphasis role="opc">tanh</emphasis>(az4 <emphasis role="op">/</emphasis> i2v))
+az4                 <emphasis role="op">=</emphasis>           ay4
+amf                 <emphasis role="op">=</emphasis>           (ay4 <emphasis role="op">+</emphasis> az5) <emphasis role="op">*</emphasis> 0.5
+az5                 <emphasis role="op">=</emphasis>           ay4
+                    <emphasis role="opc">xout</emphasis>        amf
+                    <emphasis role="oblock">endop</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1
+                <emphasis role="opc">prints</emphasis>      "No filter.\n"
+	kfe         <emphasis role="opc">expseg</emphasis>      500, p3<emphasis role="op">*</emphasis>0.9, 1800, p3<emphasis role="op">*</emphasis>0.1, 3000
+    kenv        <emphasis role="opc">linen</emphasis>       10000, 0.05, p3, 0.05
+    asig        <emphasis role="opc">buzz</emphasis>        kenv, 100, <emphasis role="ohdr">sr</emphasis><emphasis role="op">/</emphasis>(200), 1
+    <emphasis role="comment">; afil      moogladder  asig, kfe, 1</emphasis>
+                <emphasis role="opc">out</emphasis>         asig
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+                <emphasis role="opc">prints</emphasis>      "Native moogladder.\n"
+	kfe         <emphasis role="opc">expseg</emphasis>      500, p3<emphasis role="op">*</emphasis>0.9, 1800, p3<emphasis role="op">*</emphasis>0.1, 3000
+    kenv        <emphasis role="opc">linen</emphasis>       10000, 0.05, p3, 0.05
+    asig        <emphasis role="opc">buzz</emphasis>        kenv, 100, <emphasis role="ohdr">sr</emphasis><emphasis role="op">/</emphasis>(200), 1
+    afil        <emphasis role="opc">moogladder</emphasis>  asig, kfe, 1
+                <emphasis role="opc">out</emphasis>         afil
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 3
+                <emphasis role="opc">prints</emphasis>      "UDO moogladder.\n"
+	kfe         <emphasis role="opc">expseg</emphasis>      500, p3<emphasis role="op">*</emphasis>0.9, 1800, p3<emphasis role="op">*</emphasis>0.1, 3000
+    kenv        <emphasis role="opc">linen</emphasis>       10000, 0.05, p3, 0.05
+    asig        <emphasis role="opc">buzz</emphasis>        kenv, 100, <emphasis role="ohdr">sr</emphasis><emphasis role="op">/</emphasis>(200), 1
+    afil        moogladderu asig, kfe, 1
+                <emphasis role="opc">out</emphasis>         afil
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 4
+                <emphasis role="opc">prints</emphasis>      "Lua moogladder.\n"
+    kres        <emphasis role="opc">init</emphasis>        1
+    istor       <emphasis role="opc">init</emphasis>        0
+	kfe         <emphasis role="opc">expseg</emphasis>      500, p3<emphasis role="op">*</emphasis>0.9, 1800, p3<emphasis role="op">*</emphasis>0.1, 3000
+    kenv        <emphasis role="opc">linen</emphasis>       10000, 0.05, p3, 0.05
+    asig        <emphasis role="opc">buzz</emphasis>        kenv, 100, <emphasis role="ohdr">sr</emphasis><emphasis role="op">/</emphasis>(200), 1
+    afil        <emphasis role="opc">init</emphasis>        0
+                <emphasis role="opc">lua_ikopcall</emphasis>    "moogladder", afil, asig, kfe, kres, istor
+                <emphasis role="opc">out</emphasis>         afil
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 5
+    giended     <emphasis role="opc">rtclock</emphasis>
+    ielapsed    <emphasis role="op">=</emphasis>           giended <emphasis role="op">-</emphasis> gibegan
+                <emphasis role="opc">print</emphasis>       ielapsed
+    gibegan     <emphasis role="opc">rtclock</emphasis>
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1     0 65536 10 1
+<emphasis role="stamnt">i</emphasis> 5.1   0   1
+<emphasis role="stamnt">i</emphasis> 4     1   20
+<emphasis role="stamnt">i</emphasis> 5.2   21  1
+<emphasis role="stamnt">i</emphasis> 4     22  20
+<emphasis role="stamnt">i</emphasis> 5.3   42  1
+<emphasis role="stamnt">i</emphasis> 2     43  20
+<emphasis role="stamnt">i</emphasis> 5.4   63  1
+<emphasis role="stamnt">i</emphasis> 2     64  20
+<emphasis role="stamnt">i</emphasis> 5.5   84  1
+<emphasis role="stamnt">i</emphasis> 3     85  20
+<emphasis role="stamnt">i</emphasis> 5.6   105 1
+<emphasis role="stamnt">i</emphasis> 3     106 20
+<emphasis role="stamnt">i</emphasis> 5.7   126 1
+<emphasis role="stamnt">i</emphasis> 1     127 20
+<emphasis role="stamnt">i</emphasis> 5.8   147 1
+<emphasis role="stamnt">i</emphasis> 1     148 20
+<emphasis role="stamnt">i</emphasis> 5.9   168 1
+<emphasis role="stamnt">i</emphasis> 4     169 20
+<emphasis role="stamnt">i</emphasis> 4     170 20
+<emphasis role="stamnt">i</emphasis> 4     171 20
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/luaopcode.csd.xml b/examples-xml/luaopcode.csd.xml
new file mode 100644
index 0000000..2541fd3
--- /dev/null
+++ b/examples-xml/luaopcode.csd.xml
@@ -0,0 +1,60 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="opc">lua_opdef</emphasis> "luatest", {{
+local ffi <emphasis role="op">=</emphasis> require("ffi")
+local string <emphasis role="op">=</emphasis> require("string")
+local csoundLibrary <emphasis role="op">=</emphasis> ffi.load('csound64.dll.5.2')
+ffi.cdef[[
+    <emphasis role="opc">int</emphasis> csoundGetKsmps(void <emphasis role="op">*</emphasis>)<emphasis role="comment">;</emphasis>
+    double csoundGetSr(void <emphasis role="op">*</emphasis>)<emphasis role="comment">;</emphasis>
+    struct luatest_arguments {double <emphasis role="op">*</emphasis><emphasis role="opc">out</emphasis><emphasis role="comment">; double *stringout; char *stringin; double *in1; double *in2; double sr; int ksmps; };</emphasis>
+]]
+function luatest_init(csound, opcode, carguments)
+    local arguments <emphasis role="op">=</emphasis> ffi.cast("struct luatest_arguments <emphasis role="op">*</emphasis>", carguments)
+    arguments.sr <emphasis role="op">=</emphasis> csoundLibrary.csoundGetSr(csound)
+    <emphasis role="opc">print</emphasis>(string.format('stringin<emphasis role="op">:</emphasis> <emphasis role="op">%</emphasis>s', ffi.string(arguments.stringin)))
+    <emphasis role="opc">print</emphasis>(string.format('sr<emphasis role="op">:</emphasis> <emphasis role="op">%</emphasis>f', arguments.sr))
+    arguments.ksmps <emphasis role="op">=</emphasis> csoundLibrary.csoundGetKsmps(csound)
+    <emphasis role="opc">print</emphasis>(string.format('ksmps<emphasis role="op">:</emphasis> <emphasis role="op">%</emphasis>d', arguments.ksmps))
+    arguments.out[0] <emphasis role="op">=</emphasis> arguments.in1[0] <emphasis role="op">*</emphasis> arguments.in2[0]
+    ffi.copy(arguments.stringout, 'Hello, world!')
+    <emphasis role="opc">return</emphasis> 0
+end
+function luatest_kontrol(csound, opcode, carguments)
+    local arguments <emphasis role="op">=</emphasis> ffi.cast("struct luatest_arguments <emphasis role="op">*</emphasis>", carguments)
+    arguments.out[0] <emphasis role="op">=</emphasis> arguments.in1[0] <emphasis role="op">*</emphasis> arguments.in2[0]
+    <emphasis role="opc">return</emphasis> 0
+end
+function luatest_noteoff(csound, opcode, carguments)
+    local arguments <emphasis role="op">=</emphasis> ffi.cast("struct luatest_arguments <emphasis role="op">*</emphasis>", carguments)
+    arguments.out[0] <emphasis role="op">=</emphasis> arguments.in1[0] <emphasis role="op">*</emphasis> arguments.in2[0]
+    <emphasis role="opc">print</emphasis>('off')
+    <emphasis role="opc">return</emphasis> 0
+end
+}}
+
+<emphasis role="oblock">instr</emphasis> 1
+    iresult <emphasis role="op">=</emphasis> 0
+    Stringin <emphasis role="op">=</emphasis> "stringin"
+    Stringout <emphasis role="op">=</emphasis> "stringout"
+    <emphasis role="opc">lua_iopcall</emphasis> "luatest", iresult, Stringout, Stringin, p2, p3
+    <emphasis role="opc">prints</emphasis> Stringout
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="oblock">instr</emphasis> 2
+    iresult <emphasis role="op">=</emphasis> 0
+    Stringin <emphasis role="op">=</emphasis> "stringin"
+    Stringout <emphasis role="op">=</emphasis> "initial value"
+    <emphasis role="opc">lua_iopcall_off</emphasis> "luatest", iresult, Stringout, Stringin, p2, p3
+    <emphasis role="opc">print</emphasis> iresult
+    <emphasis role="opc">prints</emphasis> Stringout
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 1 2
+<emphasis role="stamnt">i</emphasis> 2 2 2
+<emphasis role="stamnt">i</emphasis> 1 3 2
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/m.csd.xml b/examples-xml/m.csd.xml
new file mode 100644
index 0000000..af9f93a
--- /dev/null
+++ b/examples-xml/m.csd.xml
@@ -0,0 +1,41 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o m.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+aenv <emphasis role="opc">expseg</emphasis> .01, p3<emphasis role="op">*</emphasis>0.25, 1, p3<emphasis role="op">*</emphasis>0.75, 0.01
+asig <emphasis role="opc">poscil3</emphasis> .8<emphasis role="op">*</emphasis>aenv, p4, 1
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1	<emphasis role="comment">;sine wave</emphasis>
+
+<emphasis role="stamnt">m</emphasis> foo			<emphasis role="comment">;mark section</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0   1 110
+<emphasis role="stamnt">i</emphasis> 1 1.5 1 220
+<emphasis role="stamnt">i</emphasis> 1 3   1 440
+<emphasis role="stamnt">i</emphasis> 1 4.5 1 880
+<emphasis role="stamnt">s</emphasis>			<emphasis role="comment">;second section</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 2 110
+<emphasis role="stamnt">i</emphasis> 1 2 2 220
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">n</emphasis> foo			<emphasis role="comment">;repeat marked section</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/mac.csd.xml b/examples-xml/mac.csd.xml
new file mode 100644
index 0000000..7b45f61
--- /dev/null
+++ b/examples-xml/mac.csd.xml
@@ -0,0 +1,52 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if real audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o mac.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;4 band equalizer</emphasis>
+
+klow <emphasis role="op">=</emphasis>	p4	<emphasis role="comment">;low gain1</emphasis>
+klmid <emphasis role="op">=</emphasis>	p5	<emphasis role="comment">;low gain2      </emphasis>
+kmidh <emphasis role="op">=</emphasis> p6	<emphasis role="comment">;high gain1</emphasis>
+khigh <emphasis role="op">=</emphasis>	p7	<emphasis role="comment">;high gain2</emphasis>
+ifn  <emphasis role="op">=</emphasis>  p8	<emphasis role="comment">;table</emphasis>
+
+ilc1 <emphasis role="opc">table</emphasis> 0, ifn	<emphasis role="comment">;low freqency range</emphasis>
+ilc2 <emphasis role="opc">table</emphasis> 1, ifn	<emphasis role="comment">;low-mid</emphasis>
+ihc1 <emphasis role="opc">table</emphasis> 2, ifn	<emphasis role="comment">;mid-high</emphasis>
+ihc2 <emphasis role="opc">table</emphasis> 3, ifn	<emphasis role="comment">;high</emphasis>
+
+asig	<emphasis role="opc">diskin2</emphasis>	 "fox.wav", 1
+alow1	<emphasis role="opc">butterlp</emphasis> asig, ilc1		<emphasis role="comment">;lowpass 1</emphasis>
+almid	<emphasis role="opc">butterlp</emphasis> asig, ilc2	      	<emphasis role="comment">;lowpass 2</emphasis>
+amidh 	<emphasis role="opc">butterhp</emphasis> asig, ihc1	       	<emphasis role="comment">;highpass 1</emphasis>
+ahigh	<emphasis role="opc">butterhp</emphasis> asig, ihc2		<emphasis role="comment">;highpass 2</emphasis>
+aout	<emphasis role="opc">mac</emphasis>	 klow, alow1, klmid, almid, kmidh, amidh, khigh, ahigh
+        <emphasis role="opc">outs</emphasis>	 aout, aout
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0  4 -2 150 300 600  5000
+<emphasis role="stamnt">f</emphasis>2 0  4 -2 75  500 1000 10000
+<emphasis role="stamnt">f</emphasis>3 0  4 -2 200 700 1500 3000
+
+<emphasis role="comment">;          low lowmid midhigh high table		</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0  2.8  2    1      1      1     1  
+<emphasis role="stamnt">i</emphasis> 1 3  2.8  2    3      1      1     2 
+<emphasis role="stamnt">i</emphasis> 1 6  2.8  2    1      2      3     3 
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/maca.csd.xml b/examples-xml/maca.csd.xml
new file mode 100644
index 0000000..3f7e568
--- /dev/null
+++ b/examples-xml/maca.csd.xml
@@ -0,0 +1,62 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if real audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o mac.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;4 band equalizer</emphasis>
+
+klow <emphasis role="op">=</emphasis>	p4	<emphasis role="comment">;low gain1</emphasis>
+aenv1   <emphasis role="opc">oscil</emphasis>   0.2, 1, 4
+aenv1 <emphasis role="op">=</emphasis> aenv1 <emphasis role="op">+</emphasis> klow
+klmid <emphasis role="op">=</emphasis>	p5	<emphasis role="comment">;low gain2      </emphasis>
+aenv2   <emphasis role="opc">oscil</emphasis>   0.21, 1.1, 4
+aenv2 <emphasis role="op">=</emphasis> aenv2 <emphasis role="op">+</emphasis> klmid
+kmidh <emphasis role="op">=</emphasis> p6	<emphasis role="comment">;high gain1</emphasis>
+aenv3   <emphasis role="opc">oscil</emphasis>   0.19, 1.2, 4
+aenv3 <emphasis role="op">=</emphasis> aenv3 <emphasis role="op">+</emphasis> kmidh
+khigh <emphasis role="op">=</emphasis>	p7	<emphasis role="comment">;high gain2</emphasis>
+aenv4   <emphasis role="opc">oscil</emphasis>   0.18, 1.3, 4
+aenv4 <emphasis role="op">=</emphasis> aenv4 <emphasis role="op">+</emphasis> khigh
+
+ifn  <emphasis role="op">=</emphasis>  p8	<emphasis role="comment">;table</emphasis>
+
+ilc1 <emphasis role="opc">table</emphasis> 0, ifn	<emphasis role="comment">;low freqency range</emphasis>
+ilc2 <emphasis role="opc">table</emphasis> 1, ifn	<emphasis role="comment">;low-mid</emphasis>
+ihc1 <emphasis role="opc">table</emphasis> 2, ifn	<emphasis role="comment">;mid-high</emphasis>
+ihc2 <emphasis role="opc">table</emphasis> 3, ifn	<emphasis role="comment">;high</emphasis>
+
+asig	<emphasis role="opc">diskin2</emphasis>	 "fox.wav", 1
+alow1	<emphasis role="opc">butterlp</emphasis> asig, ilc1		<emphasis role="comment">;lowpass 1</emphasis>
+almid	<emphasis role="opc">butterlp</emphasis> asig, ilc2	      	<emphasis role="comment">;lowpass 2</emphasis>
+amidh 	<emphasis role="opc">butterhp</emphasis> asig, ihc1	       	<emphasis role="comment">;highpass 1</emphasis>
+ahigh	<emphasis role="opc">butterhp</emphasis> asig, ihc2		<emphasis role="comment">;highpass 2</emphasis>
+aout	<emphasis role="opc">maca</emphasis>	 aenv1, alow1, aenv2, almid, aenv3, amidh, aenv4, ahigh
+        <emphasis role="opc">outs</emphasis>	 aout, aout
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0  4 -2 150 300 600  5000
+<emphasis role="stamnt">f</emphasis>2 0  4 -2 75  500 1000 10000
+<emphasis role="stamnt">f</emphasis>3 0  4 -2 200 700 1500 3000
+<emphasis role="stamnt">f</emphasis>4 0  4096 10 1
+
+<emphasis role="comment">;          low lowmid midhigh high table		</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0  2.8  2    1      1      1     1  
+<emphasis role="stamnt">i</emphasis> 1 3  2.8  2    3      1      1     2 
+<emphasis role="stamnt">i</emphasis> 1 6  2.8  2    1      2      3     3 
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/madsr-2.csd.xml b/examples-xml/madsr-2.csd.xml
new file mode 100644
index 0000000..73e97ce
--- /dev/null
+++ b/examples-xml/madsr-2.csd.xml
@@ -0,0 +1,35 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  -+rtmidi=virtual -M0   <emphasis role="comment">;;;realtime audio out and realtime midi in</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o madsr-2.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+ 	 
+icps	<emphasis role="opc">cpsmidi</emphasis>	 	 
+iamp	<emphasis role="opc">ampmidi</emphasis>	.5	 
+ 	 	 	 
+kenv	<emphasis role="opc">madsr</emphasis>	0.5, 0, 1, 0.5
+asig	<emphasis role="opc">pluck</emphasis>	kenv, icps, icps, 2, 1	 
+	<emphasis role="opc">outs</emphasis>	asig, asig
+	 
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 4096 10 1	
+
+<emphasis role="stamnt">f</emphasis>0 30	<emphasis role="comment">;runs 30 seconds</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/mandel.csd.xml b/examples-xml/mandel.csd.xml
new file mode 100644
index 0000000..017be28
--- /dev/null
+++ b/examples-xml/mandel.csd.xml
@@ -0,0 +1,103 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o mandel.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="comment">;example by Brian Evans</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ipitchtable <emphasis role="op">=</emphasis> 1						<emphasis role="comment">; pitch table in score      </emphasis>
+ipitchndx <emphasis role="op">=</emphasis> p5						<emphasis role="comment">; p5=pitch index from table</emphasis>
+    
+ipitch <emphasis role="opc">table</emphasis>  ipitchndx, ipitchtable   
+kenv   <emphasis role="opc">expseg</emphasis> 1.0, 1.0, 1.0, 11.5, .0001              
+asig   <emphasis role="opc">pluck</emphasis>  <emphasis role="opc">ampdb</emphasis>(p4)<emphasis role="op">*</emphasis>kenv, <emphasis role="opc">cpspch</emphasis>(ipitch), <emphasis role="opc">cpspch</emphasis>(ipitch), 0, 1
+       <emphasis role="opc">outs</emphasis>   asig, asig
+       
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">f</emphasis>1 0 32 -2 6.00 6.02 6.04 6.05 6.07 6.09 6.11		<emphasis role="comment">; f1 is a pitch table defining a four octave C major scale starting </emphasis>
+           7.00 7.02 7.04 7.05 7.07 7.09 7.11		<emphasis role="comment">; on C two octaves below middle C</emphasis>
+           8.00 8.02 8.04 8.05 8.07 8.09 8.11
+           9.00 9.02 9.04 9.05 9.07 9.09 9.11
+
+<emphasis role="comment">;ins start   dur ampdb(p4) pitchndx(p5)</emphasis>
+
+<emphasis role="stamnt">i</emphasis>1   0       12.0   75     3 
+<emphasis role="stamnt">i</emphasis>1   1.5999  12.0   75     4 
+<emphasis role="stamnt">i</emphasis>1   3.4000  12.0   75     5 
+<emphasis role="stamnt">i</emphasis>1   4.2000  12.0   75     6 
+<emphasis role="stamnt">i</emphasis>1   4.4000  12.0   75     7 
+<emphasis role="stamnt">i</emphasis>1   4.6000  12.0   75     9 
+<emphasis role="stamnt">i</emphasis>1   4.8000  12.0   75     10 
+<emphasis role="stamnt">i</emphasis>1   5.0000  12.0   75     5 
+<emphasis role="stamnt">i</emphasis>1   5.2000  12.0   75     27 
+<emphasis role="stamnt">i</emphasis>1   5.4000  12.0   75     5 
+<emphasis role="stamnt">i</emphasis>1   5.6000  12.0   75     20 
+<emphasis role="stamnt">i</emphasis>1   6.0000  12.0   75     24 
+<emphasis role="stamnt">i</emphasis>1   6.2000  12.0   75     2 
+<emphasis role="stamnt">i</emphasis>1   6.4000  12.0   75     27 
+<emphasis role="stamnt">i</emphasis>1   6.6000  12.0   75     20 
+<emphasis role="stamnt">i</emphasis>1   6.8000  12.0   75     15 
+<emphasis role="stamnt">i</emphasis>1   7.0000  12.0   75     3 
+<emphasis role="stamnt">i</emphasis>1   7.2000  12.0   75     3 
+<emphasis role="stamnt">i</emphasis>1   7.4000  12.0   75     23 
+<emphasis role="stamnt">i</emphasis>1   7.6000  12.0   75     9 
+<emphasis role="stamnt">i</emphasis>1   7.8000  12.0   75     17 
+<emphasis role="stamnt">i</emphasis>1   8.0000  12.0   75     18 
+<emphasis role="stamnt">i</emphasis>1   8.2000  12.0   75     3 
+<emphasis role="stamnt">i</emphasis>1   8.4000  12.0   75     26 
+<emphasis role="stamnt">i</emphasis>1   8.6000  12.0   75     15 
+<emphasis role="stamnt">i</emphasis>1   8.8     12.0   75     2 
+<emphasis role="stamnt">i</emphasis>1   9       12.0   75     26 
+<emphasis role="stamnt">i</emphasis>1   9.2     12.0   75     8 
+<emphasis role="stamnt">i</emphasis>1   9.3999  12.0   75     22 
+<emphasis role="stamnt">i</emphasis>1   9.5999  12.0   75     22 
+<emphasis role="stamnt">i</emphasis>1   9.7999  12.0   75     20 
+<emphasis role="stamnt">i</emphasis>1   9.9999  12.0   75     19 
+<emphasis role="stamnt">i</emphasis>1   10.399  12.0   75     20 
+<emphasis role="stamnt">i</emphasis>1   10.799  12.0   75     22 
+<emphasis role="stamnt">i</emphasis>1   10.999  12.0   75     27 
+<emphasis role="stamnt">i</emphasis>1   11.199  12.0   75     25 
+<emphasis role="stamnt">i</emphasis>1   11.399  12.0   75     20 
+<emphasis role="stamnt">i</emphasis>1   11.599  12.0   75     21 
+<emphasis role="stamnt">i</emphasis>1   11.799  12.0   75     24 
+<emphasis role="stamnt">i</emphasis>1   11.999  12.0   75     24 
+<emphasis role="stamnt">i</emphasis>1   12.199  12.0   75     4 
+<emphasis role="stamnt">i</emphasis>1   12.399  12.0   75     13 
+<emphasis role="stamnt">i</emphasis>1   12.599  12.0   75     15 
+<emphasis role="stamnt">i</emphasis>1   12.799  12.0   75     14 
+<emphasis role="stamnt">i</emphasis>1   12.999  12.0   75     3 
+<emphasis role="stamnt">i</emphasis>1   13.199  12.0   75     21 
+<emphasis role="stamnt">i</emphasis>1   13.399  12.0   75     6 
+<emphasis role="stamnt">i</emphasis>1   13.599  12.0   75     3 
+<emphasis role="stamnt">i</emphasis>1   13.799  12.0   75     10 
+<emphasis role="stamnt">i</emphasis>1   13.999  12.0   75     25 
+<emphasis role="stamnt">i</emphasis>1   14.199  12.0   75     21 
+<emphasis role="stamnt">i</emphasis>1   14.399  12.0   75     20 
+<emphasis role="stamnt">i</emphasis>1   14.599  12.0   75     19 
+<emphasis role="stamnt">i</emphasis>1   14.799  12.0   75     18 
+<emphasis role="stamnt">i</emphasis>1   15.199  12.0   75     17 
+<emphasis role="stamnt">i</emphasis>1   15.599  12.0   75     16 
+<emphasis role="stamnt">i</emphasis>1   15.999  12.0   75     15 
+<emphasis role="stamnt">i</emphasis>1   16.599  12.0   75     14 
+<emphasis role="stamnt">i</emphasis>1   17.199  12.0   75     13 
+<emphasis role="stamnt">i</emphasis>1   18.399  12.0   75     12 
+<emphasis role="stamnt">i</emphasis>1   18.599  12.0   75     11 
+<emphasis role="stamnt">i</emphasis>1   19.199  12.0   75     10 
+<emphasis role="stamnt">i</emphasis>1   19.799  12.0   75     9 
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/mandol.csd.xml b/examples-xml/mandol.csd.xml
index 7c41cf2..e432fc5 100644
--- a/examples-xml/mandol.csd.xml
+++ b/examples-xml/mandol.csd.xml
@@ -2,48 +2,40 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o mandol.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-   kamp <emphasis role="op">=</emphasis> p5
-  <emphasis role="comment">; kfreq = 880</emphasis>
-  <emphasis role="comment">; kpluck = 0.4</emphasis>
-  <emphasis role="comment">; kdetune = 0.99</emphasis>
-  <emphasis role="comment">; kgain = 0.99</emphasis>
-  ksize <emphasis role="op">=</emphasis> p4
-  <emphasis role="comment">; ifn = 1</emphasis>
-  <emphasis role="comment">; ifreq = 220</emphasis>
 
-  a1 <emphasis role="opc">mandol</emphasis> kamp, 880, 0.4, 0.99, 0.99, ksize, 1, 220
+kamp    <emphasis role="op">=</emphasis> p4
+ksize   <emphasis role="op">=</emphasis> p5
+kdetune <emphasis role="op">=</emphasis> p6
+asig <emphasis role="opc">mandol</emphasis> kamp, 880, .4, kdetune, 0.99, ksize, 1, 220
+     <emphasis role="opc">outs</emphasis> asig, asig
 
-  <emphasis role="opc">out</emphasis> a1
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1: the "mandpluk.aiff" audio file</emphasis>
+<emphasis role="comment">; "mandpluk.aiff" audio file</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 8192 1 "mandpluk.ai<emphasis role="stamnt">f</emphasis><emphasis role="stamnt">f</emphasis>" 0 0 0
 
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0.5 1 2 45000
-<emphasis role="stamnt">i</emphasis> 1 + 1 .3 10000	<emphasis role="comment">;change volume to compensate</emphasis>
-<emphasis role="stamnt">e</emphasis>
-
+<emphasis role="stamnt">i</emphasis> 1 .5 1  1  2 .99
+<emphasis role="stamnt">i</emphasis> 1 +  1 .5  1 .99	<emphasis role="comment">;lower volume to compensate</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 +  3 .3 .3 .99	<emphasis role="comment">;lower volume to compensate</emphasis>
 
+<emphasis role="stamnt">i</emphasis> 1 4  1  1  2 .39	<emphasis role="comment">;change detune value</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 +  1 .5  1 .39
+<emphasis role="stamnt">i</emphasis> 1 +  3 .3 .3 .39
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/maparray.csd.xml b/examples-xml/maparray.csd.xml
new file mode 100644
index 0000000..d9812f2
--- /dev/null
+++ b/examples-xml/maparray.csd.xml
@@ -0,0 +1,86 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-n
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+<emphasis role="comment">;create an array and fill with numbers</emphasis>
+kArrSrc[] <emphasis role="opc">fillarray</emphasis> 1.01, 2.02, 3.03, 4.05, 5.08, 6.13, 7.21
+
+<emphasis role="comment">;print source array</emphasis>
+        <emphasis role="opc">printf</emphasis>  "<emphasis role="op">%</emphasis>s", 1, "\nSource <emphasis role="opc">array</emphasis><emphasis role="op">:</emphasis>\n"
+kndx    <emphasis role="op">=</emphasis>       0
+  until kndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(kArrSrc) do
+        <emphasis role="opc">printf</emphasis>  "kArrSrc[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kndx<emphasis role="op">+</emphasis>1, kndx, kArrSrc[kndx]
+kndx    <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>      1
+  od
+
+<emphasis role="comment">;create an empty array for the results</emphasis>
+kArrRes[] <emphasis role="opc">init</emphasis>  7
+
+<emphasis role="comment">;apply the sqrt() function to each element</emphasis>
+kArrRes <emphasis role="opc">maparray</emphasis> kArrSrc, "sqrt"
+
+<emphasis role="comment">;print the result</emphasis>
+        <emphasis role="opc">printf</emphasis>  "<emphasis role="op">%</emphasis>s", 1, "\nResult after applying <emphasis role="opc">sqrt</emphasis>() to source array\n"
+kndx    <emphasis role="op">=</emphasis>       0
+  until kndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(kArrRes) do
+        <emphasis role="opc">printf</emphasis>  "kArrRes[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kndx<emphasis role="op">+</emphasis>1, kndx, kArrRes[kndx]
+kndx    <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>      1
+  od
+
+<emphasis role="comment">;apply the log() function to each element</emphasis>
+kArrRes <emphasis role="opc">maparray</emphasis> kArrSrc, "log"
+
+<emphasis role="comment">;print the result</emphasis>
+        <emphasis role="opc">printf</emphasis>  "<emphasis role="op">%</emphasis>s", 1, "\nResult after applying <emphasis role="opc">log</emphasis>() to source array\n"
+kndx    <emphasis role="op">=</emphasis>       0
+  until kndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(kArrRes) do
+        <emphasis role="opc">printf</emphasis>  "kArrRes[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kndx<emphasis role="op">+</emphasis>1, kndx, kArrRes[kndx]
+kndx    <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>      1
+  od
+
+<emphasis role="comment">;apply the int() function to each element</emphasis>
+kArrRes <emphasis role="opc">maparray</emphasis> kArrSrc, "int"
+
+<emphasis role="comment">;print the result</emphasis>
+        <emphasis role="opc">printf</emphasis>  "<emphasis role="op">%</emphasis>s", 1, "\nResult after applying <emphasis role="opc">int</emphasis>() to source array\n"
+kndx    <emphasis role="op">=</emphasis>       0
+  until kndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(kArrRes) do
+        <emphasis role="opc">printf</emphasis>  "kArrRes[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kndx<emphasis role="op">+</emphasis>1, kndx, kArrRes[kndx]
+kndx     <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>     1
+  od
+
+<emphasis role="comment">;apply the frac() function to each element</emphasis>
+kArrRes <emphasis role="opc">maparray</emphasis> kArrSrc, "frac"
+
+<emphasis role="comment">;print the result</emphasis>
+        <emphasis role="opc">printf</emphasis>  "<emphasis role="op">%</emphasis>s", 1, "\nResult after applying <emphasis role="opc">frac</emphasis>() to source array\n"
+kndx    <emphasis role="op">=</emphasis>       0
+  until kndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(kArrRes) do
+        <emphasis role="opc">printf</emphasis>  "kArrRes[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kndx<emphasis role="op">+</emphasis>1, kndx, kArrRes[kndx]
+kndx <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis> 1
+  od
+
+<emphasis role="comment">;turn instrument instance off</emphasis>
+        <emphasis role="opc">turnoff</emphasis>
+        
+<emphasis role="oblock">endin</emphasis>
+
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 0.1
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/massign.csd.xml b/examples-xml/massign.csd.xml
new file mode 100644
index 0000000..cf9a2aa
--- /dev/null
+++ b/examples-xml/massign.csd.xml
@@ -0,0 +1,65 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  -+rtmidi=virtual -M0    <emphasis role="comment">;;;realtime audio out and realtime midi in </emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">;-o massign.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giengine <emphasis role="opc">fluidEngine</emphasis>
+<emphasis role="comment">; soundfont path to manual/examples</emphasis>
+isfnum	 <emphasis role="opc">fluidLoad</emphasis> "19Trumpet.sf2", giengine, 1
+	 <emphasis role="opc">fluidProgramSelect</emphasis> giengine, 1, isfnum, 0, 56
+
+<emphasis role="ohdr">massign</emphasis> 0,0	<emphasis role="comment">;disable triggering of all instruments on all channels, but</emphasis>
+<emphasis role="ohdr">massign</emphasis> 12,10	<emphasis role="comment">;assign instr. 10 to midi channel 12</emphasis>
+<emphasis role="ohdr">massign</emphasis> 3,30	<emphasis role="comment">;assign instr. 30 to midi channel 3</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 10 <emphasis role="comment">; soundfont only on midi channel 12</emphasis>
+
+      <emphasis role="opc">mididefault</emphasis>   60, p3
+      <emphasis role="opc">midinoteonkey</emphasis> p4, p5	<emphasis role="comment">; in midi notes</emphasis>
+ikey  <emphasis role="opc">init</emphasis> p4
+ivel  <emphasis role="opc">init</emphasis> p5
+      <emphasis role="opc">fluidNote</emphasis> giengine, 1, ikey, ivel
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 30 <emphasis role="comment">; FM-oscilator only on midi channel 3</emphasis>
+
+      <emphasis role="opc">mididefault</emphasis>   60, p3
+      <emphasis role="opc">midinoteoncps</emphasis> p4, p5	<emphasis role="comment">; in Hertz</emphasis>
+icps  <emphasis role="opc">init</emphasis> p4
+iamp  <emphasis role="opc">init</emphasis> p5
+iamp  <emphasis role="op">=</emphasis> iamp<emphasis role="op">/</emphasis>127
+kenv  <emphasis role="opc">madsr</emphasis>  0.5, 0, 1, 0.5
+asig  <emphasis role="opc">foscil</emphasis> iamp<emphasis role="op">*</emphasis>kenv, icps, 1, 1.414, 2, 1
+      <emphasis role="opc">outs</emphasis> asig, asig 
+<emphasis role="oblock">endin</emphasis> 
+
+<emphasis role="oblock">instr</emphasis> 99 <emphasis role="comment">; output sound from fluidengine</emphasis>
+
+imvol <emphasis role="opc">init</emphasis> 7
+aL, aR <emphasis role="opc">fluidOut</emphasis> giengine
+      <emphasis role="opc">outs</emphasis> aL<emphasis role="op">*</emphasis>imvol, aR<emphasis role="op">*</emphasis>imvol
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">; sine</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
+
+<emphasis role="stamnt">i</emphasis> 10 0 2 60 100  <emphasis role="comment">;one note on the trumpet in midi and...</emphasis>
+<emphasis role="stamnt">i</emphasis> 30 2 2 220 80  <emphasis role="comment">;one FM note in Hz</emphasis>
+<emphasis role="stamnt">i</emphasis> 99 0 60	 <emphasis role="comment">;stay active for 60 sec.</emphasis>
+<emphasis role="stamnt">e</emphasis>
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/max.csd.xml b/examples-xml/max.csd.xml
new file mode 100644
index 0000000..6d76a62
--- /dev/null
+++ b/examples-xml/max.csd.xml
@@ -0,0 +1,40 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o max.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+k1   <emphasis role="opc">oscili</emphasis> 1, 10.0, 1			<emphasis role="comment">;combine 3 sinusses</emphasis>
+k2   <emphasis role="opc">oscili</emphasis> 1, 1.0, 1			<emphasis role="comment">;at different rates</emphasis>
+k3   <emphasis role="opc">oscili</emphasis> 1, 3.0, 1
+kmax <emphasis role="opc">max</emphasis>   k1, k2, k3
+kmax <emphasis role="op">=</emphasis> kmax<emphasis role="op">*</emphasis>250				<emphasis role="comment">;scale kmax</emphasis>
+<emphasis role="opc">printk2</emphasis> kmax				<emphasis role="comment">;check the values</emphasis>
+
+aout <emphasis role="opc">vco2</emphasis> .5, 220, 6			<emphasis role="comment">;sawtooth</emphasis>
+asig <emphasis role="opc">moogvcf2</emphasis> aout, 600<emphasis role="op">+</emphasis>kmax, .5 	<emphasis role="comment">;change filter around 600 Hz		</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 32768 10 1
+
+<emphasis role="stamnt">i</emphasis>1 0 5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/max_k.csd.xml b/examples-xml/max_k.csd.xml
new file mode 100644
index 0000000..a0d3a43
--- /dev/null
+++ b/examples-xml/max_k.csd.xml
@@ -0,0 +1,55 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  -Ma   <emphasis role="comment">;;;realtime audio out and midi in (on all inputs)</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o max_k.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+
+	<emphasis role="opc">FLpanel</emphasis>	"This Panel contains VU<emphasis role="op">-</emphasis>meter",300,100
+gk1,gih1 <emphasis role="opc">FLslider</emphasis> "VU<emphasis role="op">-</emphasis>meter", 0,1,0,1, <emphasis role="op">-</emphasis>1, 250,30, 30,30
+	<emphasis role="opc">FLsetColor2</emphasis> 50, 50, 255,  gih1
+	<emphasis role="opc">FLpanel_end</emphasis>
+	<emphasis role="opc">FLrun</emphasis>
+
+ga1 <emphasis role="opc">init</emphasis> 0
+	
+<emphasis role="oblock">instr</emphasis> 1
+
+kenv	<emphasis role="opc">linsegr</emphasis>	0,.5,.7,.5,.5,.2,0
+ifreq	<emphasis role="opc">cpsmidi</emphasis>
+a1	<emphasis role="opc">poscil</emphasis>	<emphasis role="ohdr">0dbfs</emphasis><emphasis role="op">*</emphasis>kenv, ifreq, 1
+ga1	<emphasis role="op">=</emphasis>	ga1<emphasis role="op">+</emphasis>a1
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+
+	<emphasis role="opc">outs</emphasis>	ga1, ga1
+ktrig	<emphasis role="opc">metro</emphasis>	25					<emphasis role="comment">;refresh 25 times per second</emphasis>
+kval	<emphasis role="opc">max_k</emphasis>	ga1, ktrig, 1
+	<emphasis role="opc">FLsetVal</emphasis> ktrig, kval, gih1
+ga1	<emphasis role="op">=</emphasis>	0
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 1024 10 1
+
+<emphasis role="stamnt">i</emphasis>2 0 3600
+<emphasis role="stamnt">f</emphasis>0 3600
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/maxabs.csd.xml b/examples-xml/maxabs.csd.xml
new file mode 100644
index 0000000..dbbdde2
--- /dev/null
+++ b/examples-xml/maxabs.csd.xml
@@ -0,0 +1,40 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o maxabs.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+k1   <emphasis role="opc">oscili</emphasis> 1, 10.0, 1			<emphasis role="comment">;combine 3 sinusses</emphasis>
+k2   <emphasis role="opc">oscili</emphasis> 1, 1.0, 1			<emphasis role="comment">;at different rates</emphasis>
+k3   <emphasis role="opc">oscili</emphasis> 1, 3.0, 1
+kmax <emphasis role="opc">maxabs</emphasis>   k1, k2, k3
+kmax <emphasis role="op">=</emphasis> kmax<emphasis role="op">*</emphasis>250				<emphasis role="comment">;scale kmax</emphasis>
+<emphasis role="opc">printk2</emphasis> kmax				<emphasis role="comment">;check the values</emphasis>
+
+aout <emphasis role="opc">vco2</emphasis> .5, 220, 6			<emphasis role="comment">;sawtooth</emphasis>
+asig <emphasis role="opc">moogvcf2</emphasis> aout, 600<emphasis role="op">+</emphasis>kmax, .5 	<emphasis role="comment">;change filter above 600 Hz		</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 32768 10 1
+
+<emphasis role="stamnt">i</emphasis>1 0 5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/maxabsaccum.csd.xml b/examples-xml/maxabsaccum.csd.xml
new file mode 100644
index 0000000..1bc5a42
--- /dev/null
+++ b/examples-xml/maxabsaccum.csd.xml
@@ -0,0 +1,56 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o maxabsaccum.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;saw</emphasis>
+
+asig  <emphasis role="opc">vco2</emphasis> .2, p4		
+      <emphasis role="opc">outs</emphasis>  asig, asig				
+gasaw <emphasis role="op">=</emphasis> asig
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">;sine</emphasis>
+
+aout  <emphasis role="opc">poscil</emphasis> .3, p4, 1		
+      <emphasis role="opc">outs</emphasis>  aout, aout				
+gasin <emphasis role="op">=</emphasis> aout
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 10	
+
+accum <emphasis role="opc">init</emphasis> 0	
+      <emphasis role="opc">maxabsaccum</emphasis>  accum, gasaw <emphasis role="op">+</emphasis> gasin		<emphasis role="comment">;saw and sine accumulated	</emphasis>
+accum <emphasis role="opc">dcblock2</emphasis> accum				<emphasis role="comment">;get rid of DC</emphasis>
+      <emphasis role="opc">outs</emphasis> accum, accum	
+     		
+<emphasis role="opc">clear</emphasis> accum
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 4096 10 1	<emphasis role="comment">;sine wave	</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 7 330
+<emphasis role="stamnt">i</emphasis> 2 3 3 440
+
+<emphasis role="stamnt">i</emphasis> 1 10 7 330	<emphasis role="comment">;same notes but without maxabsaccum, for comparison</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 13 3 440
+
+<emphasis role="stamnt">i</emphasis> 10 0 6	<emphasis role="comment">;accumulation note stops after 6 seconds</emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/maxaccum.csd.xml b/examples-xml/maxaccum.csd.xml
new file mode 100644
index 0000000..882598c
--- /dev/null
+++ b/examples-xml/maxaccum.csd.xml
@@ -0,0 +1,56 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o maxaccum.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;saw</emphasis>
+
+asig  <emphasis role="opc">vco2</emphasis> .2, p4		
+      <emphasis role="opc">outs</emphasis>  asig, asig				
+gasaw <emphasis role="op">=</emphasis> asig
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">;sine</emphasis>
+
+aout  <emphasis role="opc">poscil</emphasis> .3, p4, 1		
+      <emphasis role="opc">outs</emphasis>  aout, aout				
+gasin <emphasis role="op">=</emphasis> aout
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 10	
+
+accum <emphasis role="opc">init</emphasis> 0	
+      <emphasis role="opc">maxaccum</emphasis> accum, gasaw <emphasis role="op">+</emphasis> gasin	<emphasis role="comment">;saw and sine accumulated</emphasis>
+      <emphasis role="opc">outs</emphasis>  accum, accum		
+     		
+<emphasis role="opc">clear</emphasis> accum
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 4096 10 1	
+
+<emphasis role="stamnt">i</emphasis> 1 0 7 330
+<emphasis role="stamnt">i</emphasis> 2 3 3 440
+
+<emphasis role="stamnt">i</emphasis> 1 10 7 330	<emphasis role="comment">;same notes but without maxaccum, for comparison</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 13 3 440
+
+<emphasis role="stamnt">i</emphasis> 10 0 6	<emphasis role="comment">;accumulation note stops after 6 seconds</emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/maxalloc.csd.xml b/examples-xml/maxalloc.csd.xml
index 176529b..b69788c 100644
--- a/examples-xml/maxalloc.csd.xml
+++ b/examples-xml/maxalloc.csd.xml
@@ -2,46 +2,37 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o maxalloc.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Limit Instrument #1 to three instances.</emphasis>
-<emphasis role="opc">maxalloc</emphasis> 1, 3
+<emphasis role="opc">maxalloc</emphasis> 1, 3	<emphasis role="comment">; Limit to three instances.</emphasis>
  
-<emphasis role="comment">; Instrument #1</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Generate a waveform, get the cycles per second from the 4th p-field.</emphasis>
-  a1 <emphasis role="opc">oscil</emphasis> 6500, p4, 1
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
 
+asig <emphasis role="opc">oscil</emphasis> .3, p4, 1
+     <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Just generate a nice, ordinary sine wave.</emphasis>
+<emphasis role="comment">; sine</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 32768 10 1
 
-<emphasis role="comment">; Play five instances of Instrument #1 for one second.</emphasis>
-<emphasis role="comment">; Note that 4th p-field contains cycles per second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1 220
-<emphasis role="stamnt">i</emphasis> 1 0 1 440
-<emphasis role="stamnt">i</emphasis> 1 0 1 880
-<emphasis role="stamnt">i</emphasis> 1 0 1 1320
-<emphasis role="stamnt">i</emphasis> 1 0 1 1760
+<emphasis role="stamnt">i</emphasis> 1 0 5 220	<emphasis role="comment">;1</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 1 4 440	<emphasis role="comment">;2</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 2 3 880	<emphasis role="comment">;3, limit is reached</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 3 2 1320	<emphasis role="comment">;is not played</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 4 1 1760	<emphasis role="comment">;is not played</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/maxarray.csd.xml b/examples-xml/maxarray.csd.xml
new file mode 100644
index 0000000..ac95b14
--- /dev/null
+++ b/examples-xml/maxarray.csd.xml
@@ -0,0 +1,36 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-n 
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="comment">;example by joachim heintz</emphasis>
+
+           <emphasis role="ohdr">seed</emphasis>       0
+
+<emphasis role="oblock">instr</emphasis> 1
+<emphasis role="comment">;create an array with 10 elements</emphasis>
+kArr[]     <emphasis role="opc">init</emphasis>       10
+<emphasis role="comment">;fill in random numbers and print them out</emphasis>
+kIndx      <emphasis role="op">=</emphasis>          0
+  until kIndx <emphasis role="op">==</emphasis> 10 do
+kNum       <emphasis role="opc">random</emphasis>     <emphasis role="op">-</emphasis>100, 100
+kArr[kIndx] <emphasis role="op">=</emphasis>         kNum
+           <emphasis role="opc">printf</emphasis>     "kArr[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>10f\n", kIndx<emphasis role="op">+</emphasis>1, kIndx, kNum
+kIndx      <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>         1
+  od
+<emphasis role="comment">;investigate maximum number and print it out</emphasis>
+kMax, kMaxIndx <emphasis role="opc">maxarray</emphasis> kArr
+           <emphasis role="opc">printf</emphasis>     "Maximum of kArr <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f at index <emphasis role="op">%</emphasis>d\n", kIndx<emphasis role="op">+</emphasis>1, kMax, kMaxIndx
+           <emphasis role="opc">turnoff</emphasis>
+<emphasis role="oblock">endin</emphasis>
+
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 0.1
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/maxtab.csd.xml b/examples-xml/maxtab.csd.xml
new file mode 100644
index 0000000..2422cfb
--- /dev/null
+++ b/examples-xml/maxtab.csd.xml
@@ -0,0 +1,17 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1
+  t1 <emphasis role="opc">init</emphasis> 10
+  t1[3] <emphasis role="op">=</emphasis> 42
+  k1 <emphasis role="opc">maxtab</emphasis> t1
+  <emphasis role="opc">printk2</emphasis> k1
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 0.1
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/mclock.csd.xml b/examples-xml/mclock.csd.xml
new file mode 100644
index 0000000..8f222b0
--- /dev/null
+++ b/examples-xml/mclock.csd.xml
@@ -0,0 +1,27 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-Q0   <emphasis role="comment">;;;midi out</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;let csound synchronize a sequencer</emphasis>
+
+<emphasis role="opc">mclock</emphasis> 24
+		
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 30
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/metro-2.csd.xml b/examples-xml/metro-2.csd.xml
new file mode 100644
index 0000000..593fe31
--- /dev/null
+++ b/examples-xml/metro-2.csd.xml
@@ -0,0 +1,34 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o metro-2.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kpch    <emphasis role="opc">random</emphasis>   1,20		<emphasis role="comment">;produce values at k-rate</emphasis>
+ktrig   <emphasis role="opc">metro</emphasis>    10		<emphasis role="comment">;trigger 10 times per second</emphasis>
+kval	<emphasis role="opc">samphold</emphasis> kpch, ktrig 	<emphasis role="comment">;change value whenever ktrig = 1 </emphasis>
+asig	<emphasis role="opc">buzz</emphasis>	 1, 220, kval, 1<emphasis role="comment">;harmonics</emphasis>
+        <emphasis role="opc">outs</emphasis>     asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 4096 10 1	<emphasis role="comment">; sine</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 10
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/midic7.csd.xml b/examples-xml/midic7.csd.xml
new file mode 100644
index 0000000..0f0018e
--- /dev/null
+++ b/examples-xml/midic7.csd.xml
@@ -0,0 +1,41 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  -+rtmidi=virtual -M0    <emphasis role="comment">;;;realtime audio out and realtime midi in </emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o midic7.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+<emphasis role="comment">; This example expects MIDI controller input on channel 1</emphasis>
+<emphasis role="comment">; run, play a note and move your midi controller 7 to see result</emphasis>
+
+imax  <emphasis role="op">=</emphasis> 1
+imin  <emphasis role="op">=</emphasis> 0
+ichan <emphasis role="op">=</emphasis> 1 
+ictlno<emphasis role="op">=</emphasis> 7 	<emphasis role="comment">; = midi volume</emphasis>
+
+kamp	<emphasis role="opc">midic7</emphasis>	ictlno, imin, imax	
+	<emphasis role="opc">printk2</emphasis>	kamp
+asig	<emphasis role="opc">oscili</emphasis>	kamp, 220, 1
+	<emphasis role="opc">outs</emphasis>	asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">; no score events allowed</emphasis>
+<emphasis role="stamnt">f</emphasis> 0 20		<emphasis role="comment">;20 sec. for real-time MIDI events</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 4096 10 1	<emphasis role="comment">;sine wave</emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/midichannelaftertouch.csd.xml b/examples-xml/midichannelaftertouch.csd.xml
index c413015..b06dd2f 100644
--- a/examples-xml/midichannelaftertouch.csd.xml
+++ b/examples-xml/midichannelaftertouch.csd.xml
@@ -2,31 +2,39 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   No messages  MIDI in</emphasis>
--odac           -iadc     -d         -M0  <emphasis role="comment">;;;RT audio I/O with MIDI in</emphasis>
+-odac    -M1  <emphasis role="comment">;;;realtime audio out and midi in </emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o midichannelaftertouch.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
 
-kafter	<emphasis role="opc">init</emphasis>	0
+<emphasis role="opc">midinoteoncps</emphasis> p4, p5				<emphasis role="comment">;puts MIDI key translated to cycles per second into p4, and MIDI velocity into p5</emphasis>
+kafter <emphasis role="opc">init</emphasis> 127					<emphasis role="comment">;full open				</emphasis>
 <emphasis role="opc">midichannelaftertouch</emphasis>  kafter
-<emphasis role="comment">; Display the aftertouch value when it changes and when key is pressed</emphasis>
- <emphasis role="opc">printk2</emphasis> kafter
-<emphasis role="oblock">endin</emphasis>
+<emphasis role="opc">printk2</emphasis> kafter					<emphasis role="comment">;display the key value when it changes and when key is pressed</emphasis>
+
+kvel <emphasis role="op">=</emphasis> p5<emphasis role="op">/</emphasis>127					<emphasis role="comment">;scale midi velocity to 0-1</emphasis>
+kenv <emphasis role="opc">madsr</emphasis> 0.5, 0.8, 0.8, 0.5			<emphasis role="comment">;amplitude envelope multiplied by</emphasis>
+ain  <emphasis role="opc">pluck</emphasis> kenv<emphasis role="op">*</emphasis>kvel, p4, p4, 2, 1		<emphasis role="comment">;velocity value	</emphasis>
+asig <emphasis role="opc">moogvcf2</emphasis> ain, 200<emphasis role="op">+</emphasis>(kafter<emphasis role="op">*</emphasis>40), .5		<emphasis role="comment">;scale value of aftertouch and control filter frequency</emphasis>
+     <emphasis role="opc">outs</emphasis>  asig, asig				<emphasis role="comment">;base freq of filter = 200 Hz</emphasis>
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 0 30	<emphasis role="comment">;runs 30 seconds</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 4096 10 1	
 
-<emphasis role="comment">; Play Instrument #1 for ten seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 10
+<emphasis role="stamnt">i</emphasis> 1 0 2 440 100	<emphasis role="comment">; play these notes from score as well</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 2 1440 100
 <emphasis role="stamnt">e</emphasis>
 
 <emphasis role="csdtag"></CsScore></emphasis>
diff --git a/examples-xml/midichn.csd.xml b/examples-xml/midichn.csd.xml
index 087d7ba..e474bba 100644
--- a/examples-xml/midichn.csd.xml
+++ b/examples-xml/midichn.csd.xml
@@ -2,35 +2,26 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   No messages  MIDI in</emphasis>
--odac           -iadc     -d         -M0  <emphasis role="comment">;;;RT audio I/O with MIDI in</emphasis>
-<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o midichn.wav -W ;;; for file output any platform</emphasis>
+-odac -M0 -+rtmidi=virtual <emphasis role="comment">;;; midi file input</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  i1 <emphasis role="opc">midichn</emphasis>
+<emphasis role="oblock">instr</emphasis> 1	 
+<emphasis role="comment">;change channel on virtual midi keyboard</emphasis>
+i1 <emphasis role="opc">midichn</emphasis>
+   <emphasis role="opc">print</emphasis> i1
 
-  <emphasis role="opc">print</emphasis> i1
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 0 20	<emphasis role="comment">;runs for 20 seconds</emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for 12 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 12
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/midichn_advanced.csd.xml b/examples-xml/midichn_advanced.csd.xml
index f4898bb..5a3f5e2 100644
--- a/examples-xml/midichn_advanced.csd.xml
+++ b/examples-xml/midichn_advanced.csd.xml
@@ -2,16 +2,16 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   No messages  MIDI in</emphasis>
--odac           -iadc     -d         -M0  <emphasis role="comment">;;;RT audio I/O with MIDI in</emphasis>
+-odac -F midichn_advanced.mid <emphasis role="comment">;;;realtime audio out with MIDI file input</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o midichn_advanced.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="ohdr">sr</emphasis>	<emphasis role="op">=</emphasis>  44100
-<emphasis role="ohdr">ksmps</emphasis>	<emphasis role="op">=</emphasis>  10
-<emphasis role="ohdr">nchnls</emphasis>	<emphasis role="op">=</emphasis>  1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 	<emphasis role="ohdr">massign</emphasis>  1, 1		<emphasis role="comment">; all channels use instr 1</emphasis>
 	<emphasis role="ohdr">massign</emphasis>  2, 1
@@ -30,7 +30,7 @@
 	<emphasis role="ohdr">massign</emphasis> 15, 1
 	<emphasis role="ohdr">massign</emphasis> 16, 1
 
-gicnt	<emphasis role="op">=</emphasis>  0			<emphasis role="comment">; note counter</emphasis>
+gicnt	<emphasis role="op">=</emphasis>  0		<emphasis role="comment">; note counter</emphasis>
 
 	<emphasis role="oblock">instr</emphasis> 1
 
@@ -47,19 +47,21 @@ istime	<emphasis role="opc">times</emphasis>		<emphasis role="comment">; note-on
 	<emphasis role="opc">printks</emphasis> "note <emphasis role="op">%</emphasis>.0f (time <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>.2f) was activated from channel <emphasis role="op">%</emphasis>.0f\\n", \
 		3600, kcnt, istime, ichn
 <emphasis role="olabel">l1</emphasis><emphasis role="op">:</emphasis>
-	<emphasis role="oblock">endin</emphasis>
-
 
+icps	<emphasis role="opc">cpsmidi</emphasis>		<emphasis role="comment">; convert midi note to pitch</emphasis>
+kenv	<emphasis role="opc">madsr</emphasis>	0.1, 0, 0.8, 0.9
+asig	<emphasis role="opc">pluck</emphasis>	kenv, icps, icps, 1, 1	 
+	<emphasis role="opc">outs</emphasis>	asig, asig
+	 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">t</emphasis> 0 60		<emphasis role="comment">;beats per minute</emphasis>
 
-<emphasis role="stamnt">t</emphasis> 0 60
-<emphasis role="stamnt">f</emphasis> 0 6 2 -2 0
-<emphasis role="stamnt">i</emphasis> 1 1 0.5
-<emphasis role="stamnt">i</emphasis> 1 4 0.5
-<emphasis role="stamnt">e</emphasis>
-
+<emphasis role="stamnt">f</emphasis> 0 8		<emphasis role="comment">;stay active for 8 seconds</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 4096 10 1	<emphasis role="comment">;sine</emphasis>
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/midicontrolchange.csd.xml b/examples-xml/midicontrolchange.csd.xml
index 5ae1026..dd400c4 100644
--- a/examples-xml/midicontrolchange.csd.xml
+++ b/examples-xml/midicontrolchange.csd.xml
@@ -2,31 +2,35 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   No messages  MIDI in</emphasis>
--odac           -iadc     -d         -M0  <emphasis role="comment">;;;RT audio I/O with MIDI in</emphasis>
+-odac  -+rtmidi=virtual   -M0  <emphasis role="comment">;;;realtime audio out and midi in </emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o midicontrolchange.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
+<emphasis role="comment">; use slider of contr. 7 of virtual keyboard</emphasis>
+kcont <emphasis role="opc">init</emphasis> 1	<emphasis role="comment">; max. volume</emphasis>
+<emphasis role="opc">midicontrolchange</emphasis> 7, kcont, 0, 1<emphasis role="comment">; use controller 7, scaled between 0 and 1	</emphasis>
+<emphasis role="opc">printk2</emphasis> kcont	<emphasis role="comment">; Display the key value when it changes and key is pressed</emphasis>
 
-kcontroller	<emphasis role="opc">init</emphasis>	0
-<emphasis role="opc">midicontrolchange</emphasis> 7, kcontroller		<emphasis role="comment">; = volume</emphasis>
-<emphasis role="comment">; Display the key value when it changes and key is pressed</emphasis>
- <emphasis role="opc">printk2</emphasis> kcontroller
-<emphasis role="oblock">endin</emphasis>
+kenv <emphasis role="opc">madsr</emphasis> 0.5, 0.8, 0.8, 0.5		<emphasis role="comment">; envelope multiplied by</emphasis>
+asig <emphasis role="opc">pluck</emphasis> kenv<emphasis role="op">*</emphasis>kcont, 220, 220, 2, 1	<emphasis role="comment">; value of controller 7	 </emphasis>
+     <emphasis role="opc">outs</emphasis>  asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 0 30
+<emphasis role="stamnt">f</emphasis> 2 0 4096 10 1	
 
-<emphasis role="comment">; Play Instrument #1 for ten seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 10
+<emphasis role="stamnt">i</emphasis> 1 10 2	<emphasis role="comment">; play a note from score as well</emphasis>
 <emphasis role="stamnt">e</emphasis>
 
 <emphasis role="csdtag"></CsScore></emphasis>
diff --git a/examples-xml/midictrl.csd.xml b/examples-xml/midictrl.csd.xml
new file mode 100644
index 0000000..38d4546
--- /dev/null
+++ b/examples-xml/midictrl.csd.xml
@@ -0,0 +1,36 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  -+rtmidi=virtual -M0   <emphasis role="comment">;;;realtime audio out and realtime midi in</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o midictrl.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+ 	 
+icps	<emphasis role="opc">cpsmidi</emphasis>	 	 
+iamp	<emphasis role="opc">ampmidi</emphasis>	.5
+ips	<emphasis role="opc">midictrl</emphasis> 9, 10, 500		<emphasis role="comment">;controller 9	 </emphasis>
+ 	 	 	 
+kenv	<emphasis role="opc">madsr</emphasis>	0.5, 0, 1, 0.5
+asig	<emphasis role="opc">pluck</emphasis>	kenv, icps, ips, 2, 1	<emphasis role="comment">;change tone color	 </emphasis>
+	<emphasis role="opc">outs</emphasis>	asig, asig			
+	 
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 4096 10 1	<emphasis role="comment">;sine wave</emphasis>
+<emphasis role="comment">; no score events allowed</emphasis>
+<emphasis role="stamnt">f</emphasis>0 30	<emphasis role="comment">;runs 30 seconds</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/mididefault.csd.xml b/examples-xml/mididefault.csd.xml
new file mode 100644
index 0000000..4b90bc2
--- /dev/null
+++ b/examples-xml/mididefault.csd.xml
@@ -0,0 +1,39 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    -M1  <emphasis role="comment">;;;realtime audio out and midi in </emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o mididefault.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+<emphasis role="opc">mididefault</emphasis> 60, p3					<emphasis role="comment">;ensures that a MIDI-activated instrument will have a positive p3 field</emphasis>
+<emphasis role="opc">midinoteoncps</emphasis> p4, p5					<emphasis role="comment">;puts MIDI key translated to cycles per second into p4, and MIDI velocity into p5</emphasis>
+
+kvel <emphasis role="op">=</emphasis> p5<emphasis role="op">/</emphasis>127						<emphasis role="comment">;scale midi velocity to 0-1</emphasis>
+kenv <emphasis role="opc">madsr</emphasis> 0.5, 0.8, 0.8, 0.5				<emphasis role="comment">;amplitude envelope multiplied by</emphasis>
+asig <emphasis role="opc">pluck</emphasis> kenv<emphasis role="op">*</emphasis>kvel, p4, p4, 2, 1			<emphasis role="comment">;velocity		</emphasis>
+     <emphasis role="opc">outs</emphasis>  asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 0 30	<emphasis role="comment">;runs for 30 seconds</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 4096 10 1	
+
+<emphasis role="stamnt">i</emphasis> 1 0 2 440 100	<emphasis role="comment">; play these notes from score as well</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 2 1440 100
+<emphasis role="stamnt">e</emphasis>
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/midinoteoff.csd.xml b/examples-xml/midinoteoff.csd.xml
index 127c832..e42e4e1 100644
--- a/examples-xml/midinoteoff.csd.xml
+++ b/examples-xml/midinoteoff.csd.xml
@@ -2,39 +2,34 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   No messages  MIDI in</emphasis>
--odac           -iadc     -d         -M0  <emphasis role="comment">;;;RT audio I/O with MIDI in</emphasis>
+-odac    -M1 -Q1  <emphasis role="comment">;;;realtime audio out and midi in and midi out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o midinoteoff.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  kkey <emphasis role="opc">init</emphasis> 0
-  kvelocity <emphasis role="opc">init</emphasis> 0
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;uses external midi device</emphasis>
 
-  <emphasis role="opc">midinoteoff</emphasis> kkey, kvelocity
+kkey <emphasis role="opc">init</emphasis> 0				<emphasis role="comment">;initialize key number</emphasis>
+kvel <emphasis role="opc">init</emphasis> 0				<emphasis role="comment">;initialize velocity</emphasis>
+<emphasis role="opc">midinoteoff</emphasis> kkey,kvel			<emphasis role="comment">;MIDI noteoff value</emphasis>
+<emphasis role="opc">printk2</emphasis>	kvel				<emphasis role="comment">;display noteoff value</emphasis>
+<emphasis role="opc">midion</emphasis> 1, kkey, kvel			<emphasis role="comment">;sent note to external device</emphasis>
 
-  <emphasis role="comment">; Display the key value when it changes.</emphasis>
-  <emphasis role="opc">printk2</emphasis> kkey
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 0 30	<emphasis role="comment">;runs for 30 seconds	</emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for ten seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 10
+<emphasis role="stamnt">i</emphasis> 1 0 2 62	<emphasis role="comment">; play these notes from score as well</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 2 65
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/midinoteoncps.csd.xml b/examples-xml/midinoteoncps.csd.xml
index a74c12e..e7f0068 100644
--- a/examples-xml/midinoteoncps.csd.xml
+++ b/examples-xml/midinoteoncps.csd.xml
@@ -2,39 +2,38 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   No messages  MIDI in</emphasis>
--odac           -iadc     -d         -M0  <emphasis role="comment">;;;RT audio I/O with MIDI in</emphasis>
+-odac    -M1  <emphasis role="comment">;;;realtime audio out and midi in </emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o midinoteoncps.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kcps <emphasis role="opc">init</emphasis> 0
-  kvelocity <emphasis role="opc">init</emphasis> 0
 
-  <emphasis role="opc">midinoteoncps</emphasis> kcps, kvelocity
-
-  <emphasis role="comment">; Display the cycles-per-second value when it changes.</emphasis>
-  <emphasis role="opc">printk2</emphasis> kcps
-<emphasis role="oblock">endin</emphasis>
+<emphasis role="opc">midinoteoncps</emphasis> p4, p5				<emphasis role="comment">;puts MIDI key translated to cycles per second into p4, and MIDI velocity into p5</emphasis>
 
+<emphasis role="opc">print</emphasis> p4					<emphasis role="comment">;display the key value when it changes and when key is pressed </emphasis>
+kvel <emphasis role="op">=</emphasis> p5<emphasis role="op">/</emphasis>127					<emphasis role="comment">;scale midi velocity to 0-1</emphasis>
+kenv <emphasis role="opc">madsr</emphasis> 0.5, 0.8, 0.8, 0.5			<emphasis role="comment">;amplitude envelope multiplied by</emphasis>
+asig <emphasis role="opc">pluck</emphasis> kenv<emphasis role="op">*</emphasis>kvel, p4, p4, 2, 1		<emphasis role="comment">;velocity value			</emphasis>
+     <emphasis role="opc">outs</emphasis>  asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 0 30	<emphasis role="comment">;runs for 30 seconds</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 4096 10 1	
 
-<emphasis role="comment">; Play Instrument #1 for ten seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 10
+<emphasis role="stamnt">i</emphasis> 1 0 2 440 100	<emphasis role="comment">; play these notes from score as well</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 2 1440 100
 <emphasis role="stamnt">e</emphasis>
 
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/midinoteonkey.csd.xml b/examples-xml/midinoteonkey.csd.xml
index ac4a6ef..11c611a 100644
--- a/examples-xml/midinoteonkey.csd.xml
+++ b/examples-xml/midinoteonkey.csd.xml
@@ -2,39 +2,34 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   No messages  MIDI in</emphasis>
--odac           -iadc     -d         -M0  <emphasis role="comment">;;;RT audio I/O with MIDI in</emphasis>
+-odac    -M1 -Q1  <emphasis role="comment">;;;realtime audio out and midi in and midi out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o midinoteonkey.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  kkey <emphasis role="opc">init</emphasis> 0
-  kvelocity <emphasis role="opc">init</emphasis> 0
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;uses external midi device</emphasis>
 
-  <emphasis role="opc">midinoteonkey</emphasis> kkey, kvelocity
+kkey <emphasis role="opc">init</emphasis> 0						<emphasis role="comment">;initialize key number</emphasis>
+kvel <emphasis role="opc">init</emphasis> 0						<emphasis role="comment">;initialize velocity</emphasis>
+<emphasis role="opc">midinoteonkey</emphasis> kkey, kvel				<emphasis role="comment">;MIDI note number value </emphasis>
+<emphasis role="opc">printk2</emphasis>	kkey						<emphasis role="comment">;display the key value when it changes and when key is pressed </emphasis>
+<emphasis role="opc">midion</emphasis> 1, kkey, kvel					<emphasis role="comment">;sent note to external device</emphasis>
 
-  <emphasis role="comment">; Display the key value when it changes.</emphasis>
-  <emphasis role="opc">printk2</emphasis> kkey
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 0 30	<emphasis role="comment">;runs for 30 seconds	</emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for ten seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 10
+<emphasis role="stamnt">i</emphasis> 1 0 2 62	<emphasis role="comment">; play these notes from score as well</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 2 65
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/midinoteonoct.csd.xml b/examples-xml/midinoteonoct.csd.xml
index 9f5867d..25e8374 100644
--- a/examples-xml/midinoteonoct.csd.xml
+++ b/examples-xml/midinoteonoct.csd.xml
@@ -2,39 +2,40 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   No messages  MIDI in</emphasis>
--odac           -iadc     -d         -M0  <emphasis role="comment">;;;RT audio I/O with MIDI in</emphasis>
+-odac    -M1  <emphasis role="comment">;;;realtime audio out and midi in </emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o midinoteonoct.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  koct <emphasis role="opc">init</emphasis> 0
-  kvelocity <emphasis role="opc">init</emphasis> 0
 
-  <emphasis role="opc">midinoteonoct</emphasis> koct, kvelocity
-
-  <emphasis role="comment">; Display the octave-point-decimal value when it changes.</emphasis>
-  <emphasis role="opc">printk2</emphasis> koct
-<emphasis role="oblock">endin</emphasis>
+<emphasis role="opc">midinoteonoct</emphasis> p4, p5			<emphasis role="comment">;gets a MIDI note number value as octave-point-decimal value into p4, and MIDI velocity into p5</emphasis>
 
+<emphasis role="opc">print</emphasis> 	p4				<emphasis role="comment">;display the key value when it changes and when key is pressed </emphasis>
+kvel <emphasis role="op">=</emphasis> p5<emphasis role="op">/</emphasis>127				<emphasis role="comment">;scale midi velocity to 0-1</emphasis>
+ioct <emphasis role="op">=</emphasis>	p4
+icps <emphasis role="op">=</emphasis>	<emphasis role="opc">cpsoct</emphasis>(ioct)			<emphasis role="comment">;convert octave-point-decimal value into Hz</emphasis>
+kenv <emphasis role="opc">madsr</emphasis> 0.5, 0.8, 0.8, 0.5		<emphasis role="comment">;amplitude envelope multiplied by</emphasis>
+asig <emphasis role="opc">pluck</emphasis> kenv<emphasis role="op">*</emphasis>kvel, icps, icps, 2, 1	<emphasis role="comment">;velocity value				</emphasis>
+     <emphasis role="opc">outs</emphasis>  asig, asig				
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 0 30	<emphasis role="comment">;runs for 30 seconds</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 4096 10 1	
 
-<emphasis role="comment">; Play Instrument #1 for ten seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 10
+<emphasis role="stamnt">i</emphasis> 1 0 2 8.000 100	<emphasis role="comment">; play these notes from score as well</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 2 8.917 100
 <emphasis role="stamnt">e</emphasis>
 
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/midinoteonpch.csd.xml b/examples-xml/midinoteonpch.csd.xml
index 97767a9..8ca4a1b 100644
--- a/examples-xml/midinoteonpch.csd.xml
+++ b/examples-xml/midinoteonpch.csd.xml
@@ -2,39 +2,40 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   No messages  MIDI in</emphasis>
--odac           -iadc     -d         -M0  <emphasis role="comment">;;;RT audio I/O with MIDI in</emphasis>
+-odac    -M1  <emphasis role="comment">;;;realtime audio out and midi in </emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o midinoteonpch.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kpch <emphasis role="opc">init</emphasis> 0
-  kvelocity <emphasis role="opc">init</emphasis> 0
 
-  <emphasis role="opc">midinoteonpch</emphasis> kpch, kvelocity
-
-  <emphasis role="comment">; Display the pitch-class value when it changes.</emphasis>
-  <emphasis role="opc">printk2</emphasis> kpch
-<emphasis role="oblock">endin</emphasis>
+<emphasis role="opc">midinoteonpch</emphasis> p4, p5				<emphasis role="comment">;gets a MIDI note number value as octave-point-decimal value into p4, and MIDI velocity into p5</emphasis>
 
+<emphasis role="opc">print</emphasis> 	p4					<emphasis role="comment">;display the pitch value when it changes and when key is pressed </emphasis>
+kvel <emphasis role="op">=</emphasis>  kvel<emphasis role="op">/</emphasis>127				<emphasis role="comment">;scale midi velocity to 0-1</emphasis>
+ipch <emphasis role="op">=</emphasis>	p4
+icps <emphasis role="op">=</emphasis>	<emphasis role="opc">cpspch</emphasis>(ipch)				<emphasis role="comment">;convert octave-point-decimal value into Hz</emphasis>
+kenv <emphasis role="opc">madsr</emphasis> 0.5, 0.8, 0.8, 0.5			<emphasis role="comment">;amplitude envelope multiplied by</emphasis>
+asig <emphasis role="opc">pluck</emphasis> kenv<emphasis role="op">*</emphasis>kvel, icps, icps, 2, 1		<emphasis role="comment">;velocity value			</emphasis>
+     <emphasis role="opc">outs</emphasis>  asig, asig				
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 0 30	<emphasis role="comment">;runs for 30 seconds</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 4096 10 1	
 
-<emphasis role="comment">; Play Instrument #1 for ten seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 10
+<emphasis role="stamnt">i</emphasis> 1 0 2 8.09 100	<emphasis role="comment">; play these notes from score as well</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 2 9.05 100
 <emphasis role="stamnt">e</emphasis>
 
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/midion2.csd.xml b/examples-xml/midion2.csd.xml
new file mode 100644
index 0000000..672119e
--- /dev/null
+++ b/examples-xml/midion2.csd.xml
@@ -0,0 +1,29 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+ -M0 -Q1 <emphasis role="comment">;;;midi in and midi out</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kcps <emphasis role="opc">line</emphasis> 3, p3, .1	
+klf  <emphasis role="opc">lfo</emphasis> 1, kcps, 3	<emphasis role="comment">;use a unipolar square to trigger</emphasis>
+ktr  <emphasis role="opc">trigger</emphasis> klf, 1, 1	<emphasis role="comment">;from 3 times to .1 time per sec.</emphasis>
+     <emphasis role="opc">midion2</emphasis> 1, 60, 100, ktr
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 20
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/midiout.csd.xml b/examples-xml/midiout.csd.xml
new file mode 100644
index 0000000..a71c395
--- /dev/null
+++ b/examples-xml/midiout.csd.xml
@@ -0,0 +1,31 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+<emphasis role="comment">; Audio out   Audio in</emphasis>
+-odac -Ma -Q1 <emphasis role="comment">;;;realtime audio out and midi out and midi in (all midi inputs)</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+<emphasis role="opc">midiout</emphasis>	192, 1, 21, 0	<emphasis role="comment">;program change to instr. 21</emphasis>
+inum <emphasis role="opc">notnum</emphasis>
+ivel <emphasis role="opc">veloc</emphasis>
+<emphasis role="opc">midion</emphasis> 1, inum, ivel
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 3  80 100		<emphasis role="comment">;play note for 3 seconds</emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/midipitchbend.csd.xml b/examples-xml/midipitchbend.csd.xml
index 07f938c..73c54bd 100644
--- a/examples-xml/midipitchbend.csd.xml
+++ b/examples-xml/midipitchbend.csd.xml
@@ -2,38 +2,42 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   No messages  MIDI in</emphasis>
--odac           -iadc     -d         -M0  <emphasis role="comment">;;;RT audio I/O with MIDI in</emphasis>
+-odac    -M1  <emphasis role="comment">;;;realtime audio out and midi in </emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o midipitchbend.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kpb <emphasis role="opc">init</emphasis> 0
 
-  <emphasis role="opc">midipitchbend</emphasis> kpb
-
-  <emphasis role="comment">; Display the pitch-bend value when it changes.</emphasis>
-  <emphasis role="opc">printk2</emphasis> kpb
-<emphasis role="oblock">endin</emphasis>
+<emphasis role="opc">midinoteonoct</emphasis> p4, p5				<emphasis role="comment">;gets a MIDI note number value as octave-point-decimal value into p4, and MIDI velocity into p5</emphasis>
 
+kvel <emphasis role="op">=</emphasis> p5<emphasis role="op">/</emphasis>127					<emphasis role="comment">;scale midi velocity to 0-1</emphasis>
+kpb <emphasis role="opc">init</emphasis> 0
+<emphasis role="opc">midipitchbend</emphasis> kpb
+<emphasis role="opc">printk2</emphasis> kpb					<emphasis role="comment">;display the pitch-bend value when it changes</emphasis>
+koct <emphasis role="op">=</emphasis>	p4<emphasis role="op">+</emphasis>kpb					<emphasis role="comment">;add pitchbend values to octave-point-decimal value</emphasis>
+kcps <emphasis role="op">=</emphasis>	<emphasis role="opc">cpsoct</emphasis>(koct)				<emphasis role="comment">;convert octave-point-decimal value into Hz			</emphasis>
+kenv <emphasis role="opc">madsr</emphasis> 0.5, 0.8, 0.8, 0.5			<emphasis role="comment">;amplitude envelope multiplied by</emphasis>
+asig <emphasis role="opc">vco2</emphasis> kenv<emphasis role="op">*</emphasis>kvel, kcps			<emphasis role="comment">;velocity value			</emphasis>
+     <emphasis role="opc">outs</emphasis>  asig, asig				
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 0 30	<emphasis role="comment">;runs for 30 seconds</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 4096 10 1	
 
-<emphasis role="comment">; Play Instrument #1 for ten seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 10
+<emphasis role="stamnt">i</emphasis> 1 0 2 8.000 100	<emphasis role="comment">; play these notes from score as well</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 2 8.917 100
 <emphasis role="stamnt">e</emphasis>
 
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/midipolyaftertouch.csd.xml b/examples-xml/midipolyaftertouch.csd.xml
new file mode 100644
index 0000000..1846bb9
--- /dev/null
+++ b/examples-xml/midipolyaftertouch.csd.xml
@@ -0,0 +1,43 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    -M1  <emphasis role="comment">;;;realtime audio out and midi in </emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o midipolyaftertouch.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1<emphasis role="comment">;midi keyboard and score are used</emphasis>
+
+<emphasis role="opc">midinoteoncps</emphasis> p4, p5				<emphasis role="comment">;puts MIDI key translated to cycles per second into p4, and MIDI velocity into p5</emphasis>
+
+kafter  <emphasis role="opc">init</emphasis> 127				<emphasis role="comment">;full open				</emphasis>
+<emphasis role="opc">midipolyaftertouch</emphasis>  kafter, 1
+<emphasis role="opc">printk2</emphasis> kafter					<emphasis role="comment">;display the key value when it changes and when key is pressed</emphasis>
+ 
+kvel <emphasis role="op">=</emphasis> p5<emphasis role="op">/</emphasis>127					<emphasis role="comment">;scale midi velocity to 0-1</emphasis>
+kenv <emphasis role="opc">madsr</emphasis> 0.5, 0.8, 0.8, 0.5			<emphasis role="comment">;amplitude envelope multiplied by</emphasis>
+ain  <emphasis role="opc">pluck</emphasis> kenv<emphasis role="op">*</emphasis>kvel, p4, p4, 2, 1		<emphasis role="comment">;velocity value			</emphasis>
+asig <emphasis role="opc">moogvcf2</emphasis> ain, 300<emphasis role="op">+</emphasis>(kafter<emphasis role="op">*</emphasis>100), .5		<emphasis role="comment">;use value of aftertouch to control frequency of filter</emphasis>
+     <emphasis role="opc">outs</emphasis>  asig, asig				<emphasis role="comment">;base freq of filter = 300 Hz</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 0 30	<emphasis role="comment">;runs for 30 seconds</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 4096 10 1	<emphasis role="comment">;sine wave</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 2 440 100	<emphasis role="comment">;play these notes from score as well</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 2 1440 100
+<emphasis role="stamnt">e</emphasis>
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/midiprogramchange.csd.xml b/examples-xml/midiprogramchange.csd.xml
new file mode 100644
index 0000000..16e78fd
--- /dev/null
+++ b/examples-xml/midiprogramchange.csd.xml
@@ -0,0 +1,36 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    -M1 -Q1  <emphasis role="comment">;;;realtime audio out and midi in and midi out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o midiprogramchange.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;uses external midi device</emphasis>
+
+kkey <emphasis role="opc">init</emphasis> 0					<emphasis role="comment">;initialize key number</emphasis>
+kvel <emphasis role="opc">init</emphasis> 0					<emphasis role="comment">;initialize velocity</emphasis>
+<emphasis role="opc">midiprogramchange</emphasis> 52				<emphasis role="comment">;choose GM program number 52 = string pad</emphasis>
+<emphasis role="opc">midinoteonkey</emphasis> kkey, kvel			<emphasis role="comment">;MIDI note number value</emphasis>
+<emphasis role="opc">printk2</emphasis>	kkey					<emphasis role="comment">;display the key value when it changes and when key is pressed </emphasis>
+<emphasis role="opc">midion</emphasis> 1, kkey, kvel				<emphasis role="comment">;sent note to external device</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 0 30	<emphasis role="comment">;runs for 30 seconds	</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 2 62	<emphasis role="comment">; play these notes from score as well</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 2 65
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/miditempo.csd.xml b/examples-xml/miditempo.csd.xml
new file mode 100644
index 0000000..0dbed69
--- /dev/null
+++ b/examples-xml/miditempo.csd.xml
@@ -0,0 +1,40 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac -F Anna.mid <emphasis role="comment">;;;realtime audio out and midi file input</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o miditempo.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="ohdr">massign</emphasis>   0, 1	<emphasis role="comment">; make sure that all channels</emphasis>
+<emphasis role="ohdr">pgmassign</emphasis> 0, 1	<emphasis role="comment">; and programs are assigned to test instr</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ksig    <emphasis role="opc">miditempo</emphasis>
+<emphasis role="opc">prints</emphasis> "miditempo <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>d\\n", ksig
+
+icps  <emphasis role="opc">cpsmidi</emphasis>		<emphasis role="comment">; convert midi note to pitch</emphasis>
+kenv  <emphasis role="opc">madsr</emphasis>   0.1, 0, 0.8, 0.3
+asig  <emphasis role="opc">pluck</emphasis>   kenv<emphasis role="op">*</emphasis>.15, icps, icps, 1, 1 <emphasis role="comment">;low volume	 </emphasis>
+      <emphasis role="opc">outs</emphasis>    asig, asig
+	 
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">f</emphasis> 0 200		<emphasis role="comment">;stay active for 120 seconds</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 4096 10 1	<emphasis role="comment">;sine</emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/min.csd.xml b/examples-xml/min.csd.xml
new file mode 100644
index 0000000..208542f
--- /dev/null
+++ b/examples-xml/min.csd.xml
@@ -0,0 +1,41 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o min.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+k1   <emphasis role="opc">oscili</emphasis> 1, 10.0, 1			<emphasis role="comment">;combine 3 sinusses</emphasis>
+k2   <emphasis role="opc">oscili</emphasis> 1, 1.0, 1			<emphasis role="comment">;at different rates</emphasis>
+k3   <emphasis role="opc">oscili</emphasis> 1, 3.0, 1
+kmin <emphasis role="opc">min</emphasis>   k1, k2, k3
+kmin <emphasis role="op">=</emphasis> kmin<emphasis role="op">*</emphasis>250				<emphasis role="comment">;scale kmin</emphasis>
+<emphasis role="opc">printk2</emphasis> kmin				<emphasis role="comment">;check the values</emphasis>
+
+aout <emphasis role="opc">vco2</emphasis> .5, 220, 6			<emphasis role="comment">;sawtooth</emphasis>
+asig <emphasis role="opc">moogvcf2</emphasis> aout, 600<emphasis role="op">+</emphasis>kmin, .5 	<emphasis role="comment">;change filter around 600 Hz		</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">f</emphasis>1 0 32768 10 1
+
+<emphasis role="stamnt">i</emphasis>1 0 5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/minabs.csd.xml b/examples-xml/minabs.csd.xml
new file mode 100644
index 0000000..b47e946
--- /dev/null
+++ b/examples-xml/minabs.csd.xml
@@ -0,0 +1,40 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o minabs.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+k1   <emphasis role="opc">oscili</emphasis> 1, 10.0, 1			<emphasis role="comment">;combine 3 sinusses</emphasis>
+k2   <emphasis role="opc">oscili</emphasis> 1, 1.0, 1			<emphasis role="comment">;at different rates</emphasis>
+k3   <emphasis role="opc">oscili</emphasis> 1, 3.0, 1
+kmin <emphasis role="opc">minabs</emphasis>   k1, k2, k3
+kmin <emphasis role="op">=</emphasis> kmin<emphasis role="op">*</emphasis>250				<emphasis role="comment">;scale kmin</emphasis>
+<emphasis role="opc">printk2</emphasis> kmin				<emphasis role="comment">;check the values</emphasis>
+
+aout <emphasis role="opc">vco2</emphasis> .5, 220, 6			<emphasis role="comment">;sawtooth</emphasis>
+asig <emphasis role="opc">moogvcf2</emphasis> aout, 600<emphasis role="op">+</emphasis>kmin, .5 	<emphasis role="comment">;change filter above 600 Hz		</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 32768 10 1
+
+<emphasis role="stamnt">i</emphasis>1 0 5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/minabsaccum.csd.xml b/examples-xml/minabsaccum.csd.xml
new file mode 100644
index 0000000..cfec6ef
--- /dev/null
+++ b/examples-xml/minabsaccum.csd.xml
@@ -0,0 +1,56 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o minabsaccum.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;saw</emphasis>
+
+asig  <emphasis role="opc">vco2</emphasis> .2, p4		
+      <emphasis role="opc">outs</emphasis>  asig, asig				
+gasaw <emphasis role="op">=</emphasis> asig
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">;sine</emphasis>
+
+aout  <emphasis role="opc">poscil</emphasis> .3, p4, 1		
+      <emphasis role="opc">outs</emphasis>  aout, aout				
+gasin <emphasis role="op">=</emphasis> aout
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 10
+
+accum <emphasis role="opc">init</emphasis> 0	
+      <emphasis role="opc">minabsaccum</emphasis>  accum, gasaw <emphasis role="op">+</emphasis> gasin		<emphasis role="comment">;saw and sine accumulated	</emphasis>
+accum <emphasis role="opc">dcblock2</emphasis> accum				<emphasis role="comment">;get rid of DC</emphasis>
+      <emphasis role="opc">outs</emphasis>  accum, accum	
+     		
+<emphasis role="opc">clear</emphasis> accum
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 4096 10 1	
+
+<emphasis role="stamnt">i</emphasis> 1 0 7 330
+<emphasis role="stamnt">i</emphasis> 2 3 3 440
+
+<emphasis role="stamnt">i</emphasis> 1 10 7 330	<emphasis role="comment">;same notes but without minabsaccum, for comparison</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 13 3 440
+
+<emphasis role="stamnt">i</emphasis> 10 0 6	<emphasis role="comment">;accumulation note stops after 6 seconds</emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/minaccum.csd.xml b/examples-xml/minaccum.csd.xml
new file mode 100644
index 0000000..61513cb
--- /dev/null
+++ b/examples-xml/minaccum.csd.xml
@@ -0,0 +1,56 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o minaccum.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;saw</emphasis>
+
+asig  <emphasis role="opc">vco2</emphasis> .2, p4		
+      <emphasis role="opc">outs</emphasis>  asig, asig				
+gasaw <emphasis role="op">=</emphasis> asig
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">;sine</emphasis>
+
+aout  <emphasis role="opc">poscil</emphasis> .3, p4, 1		
+      <emphasis role="opc">outs</emphasis>  aout, aout				
+gasin <emphasis role="op">=</emphasis> aout
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 10
+
+accum <emphasis role="opc">init</emphasis> 0	
+      <emphasis role="opc">minaccum</emphasis> accum, gasaw <emphasis role="op">+</emphasis> gasin		<emphasis role="comment">;saw and sine accumulated		</emphasis>
+      <emphasis role="opc">outs</emphasis>  accum, accum
+     		
+<emphasis role="opc">clear</emphasis> accum
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 4096 10 1	
+
+<emphasis role="stamnt">i</emphasis> 1 0 7 330
+<emphasis role="stamnt">i</emphasis> 2 3 3 440
+
+<emphasis role="stamnt">i</emphasis> 1 10 7 330	<emphasis role="comment">;same notes but without minaccum, for comparison</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 13 3 440
+
+<emphasis role="stamnt">i</emphasis> 10 0 6	<emphasis role="comment">;accumulation note stops after 6 seconds</emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/minarray.csd.xml b/examples-xml/minarray.csd.xml
new file mode 100644
index 0000000..db93ae2
--- /dev/null
+++ b/examples-xml/minarray.csd.xml
@@ -0,0 +1,34 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-n 
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="comment">;example by joachim heintz</emphasis>
+
+           <emphasis role="ohdr">seed</emphasis>       0
+
+<emphasis role="oblock">instr</emphasis> 1
+<emphasis role="comment">;create an array with 10 elements</emphasis>
+kArr[]     <emphasis role="opc">init</emphasis>       10
+<emphasis role="comment">;fill in random numbers and print them out</emphasis>
+kIndx      <emphasis role="op">=</emphasis>          0
+  until kIndx <emphasis role="op">==</emphasis> 10 do
+kNum       <emphasis role="opc">random</emphasis>     <emphasis role="op">-</emphasis>100, 100
+kArr[kIndx] <emphasis role="op">=</emphasis>         kNum
+           <emphasis role="opc">printf</emphasis>     "kArr[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>10f\n", kIndx<emphasis role="op">+</emphasis>1, kIndx, kNum
+kIndx      <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>         1
+  od
+<emphasis role="comment">;investigate minimum number and print it out</emphasis>
+kMin, kMinIndx <emphasis role="opc">minarray</emphasis> kArr
+           <emphasis role="opc">printf</emphasis>     "Minimum of kArr <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f at index <emphasis role="op">%</emphasis>d\n", kIndx<emphasis role="op">+</emphasis>1, kMin, kMinIndx
+           <emphasis role="opc">turnoff</emphasis>
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 0.1
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/mincer.csd.xml b/examples-xml/mincer.csd.xml
new file mode 100644
index 0000000..69a6a5a
--- /dev/null
+++ b/examples-xml/mincer.csd.xml
@@ -0,0 +1,41 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o mincer.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+idur  <emphasis role="op">=</emphasis> p3
+ilock <emphasis role="op">=</emphasis> p4
+ipitch <emphasis role="op">=</emphasis> 1
+itimescale <emphasis role="op">=</emphasis> 0.5
+iamp  <emphasis role="op">=</emphasis> 0.8
+
+atime <emphasis role="opc">line</emphasis>   0,idur,idur<emphasis role="op">*</emphasis>itimescale
+asig  <emphasis role="opc">mincer</emphasis> atime, iamp, ipitch, 1, ilock
+      <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 0 1 "<emphasis role="stamnt">f</emphasis>ox.wav" 0 0 0
+
+<emphasis role="stamnt">i</emphasis> 1 0 5 0	<emphasis role="comment">;not locked</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 6 5 1	<emphasis role="comment">;locked</emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/mintab.csd.xml b/examples-xml/mintab.csd.xml
new file mode 100644
index 0000000..d713b6a
--- /dev/null
+++ b/examples-xml/mintab.csd.xml
@@ -0,0 +1,17 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1
+  t1 <emphasis role="opc">init</emphasis> 10
+  t1[3] <emphasis role="op">=</emphasis> 42
+  k1 <emphasis role="opc">mintab</emphasis> t1
+  <emphasis role="opc">printk2</emphasis> k1
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 0.1
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/mirror.csd.xml b/examples-xml/mirror.csd.xml
new file mode 100644
index 0000000..6238fa6
--- /dev/null
+++ b/examples-xml/mirror.csd.xml
@@ -0,0 +1,55 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o mirror.wav -W  ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+
+<emphasis role="oblock">instr</emphasis>    1 <emphasis role="comment">; Limit / Mirror / Wrap</emphasis>
+
+igain    <emphasis role="op">=</emphasis> p4				<emphasis role="comment">;gain</emphasis>
+ilevl1   <emphasis role="op">=</emphasis> p5				<emphasis role="comment">; + level</emphasis>
+ilevl2   <emphasis role="op">=</emphasis> p6				<emphasis role="comment">; - level</emphasis>
+imode    <emphasis role="op">=</emphasis> p7				<emphasis role="comment">;1 = limit, 2 = mirror, 3 = wrap</emphasis>
+
+ain   <emphasis role="opc">soundin</emphasis>  "fox.wav"
+ain   <emphasis role="op">=</emphasis> ain<emphasis role="op">*</emphasis>igain
+
+<emphasis role="octrl">if</emphasis>    imode <emphasis role="op">=</emphasis> 1 <emphasis role="octrl">goto</emphasis> <emphasis role="olabel">limit</emphasis>
+<emphasis role="octrl">if</emphasis>    imode <emphasis role="op">=</emphasis> 2 <emphasis role="octrl">goto</emphasis> <emphasis role="olabel">mirror</emphasis>
+
+asig  <emphasis role="opc">wrap</emphasis>  ain, ilevl2, ilevl1
+<emphasis role="octrl">goto</emphasis>  <emphasis role="olabel">outsignal</emphasis>
+
+<emphasis role="olabel">limit</emphasis><emphasis role="op">:</emphasis>
+asig  <emphasis role="olabel">limit</emphasis>  ain, ilevl2, ilevl1
+<emphasis role="octrl">goto</emphasis>  <emphasis role="olabel">outsignal</emphasis>
+
+<emphasis role="olabel">mirror</emphasis><emphasis role="op">:</emphasis>
+asig  <emphasis role="olabel">mirror</emphasis>  ain, ilevl2, ilevl1
+<emphasis role="olabel">outsignal</emphasis><emphasis role="op">:</emphasis>
+
+<emphasis role="opc">outs</emphasis>  asig<emphasis role="op">*</emphasis>.5, asig<emphasis role="op">*</emphasis>.5			<emphasis role="comment">;mind your speakers</emphasis>
+  
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="comment">;           Gain  +Levl -Levl Mode</emphasis>
+<emphasis role="stamnt">i</emphasis>1  0  3    4.00  .25  -1.00   1	<emphasis role="comment">;limit</emphasis>
+<emphasis role="stamnt">i</emphasis>1  4  3    4.00  .25  -1.00   2	<emphasis role="comment">;mirror</emphasis>
+<emphasis role="stamnt">i</emphasis>1  8  3    4.00  .25  -1.00   3	<emphasis role="comment">;wrap</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/mode.csd.xml b/examples-xml/mode.csd.xml
index e539a6d..52bc3f7 100644
--- a/examples-xml/mode.csd.xml
+++ b/examples-xml/mode.csd.xml
@@ -41,7 +41,7 @@ aexc <emphasis role="op">=</emphasis> (aexc1<emphasis role="op">+</emphasis>aexc
 
 <emphasis role="comment">;"Contact" condition : when aexc reaches 0, the excitator looses </emphasis>
 <emphasis role="comment">;contact with the resonator, and stops "pushing it"</emphasis>
-aexc <emphasis role="opc">limit</emphasis> aexc,0,3<emphasis role="op">*</emphasis>iamp 
+aexc limit aexc,0,3<emphasis role="op">*</emphasis>iamp 
 
 <emphasis role="comment">; 2modes resonator</emphasis>
 
diff --git a/examples-xml/modulus.csd.xml b/examples-xml/modulus.csd.xml
index 97b76ea..c18285d 100644
--- a/examples-xml/modulus.csd.xml
+++ b/examples-xml/modulus.csd.xml
@@ -2,34 +2,40 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac -Ma --midi-key=4 --midi-velocity-amp=5 -m0  <emphasis role="comment">;;;realtime audio out and midi in</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o modulus.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">; -o %.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giScale <emphasis role="ohdr">ftgen</emphasis> 1, 0, <emphasis role="op">-</emphasis>12, <emphasis role="op">-</emphasis>2, 0, <emphasis role="op">-</emphasis>34, <emphasis role="op">-</emphasis>7, 10, <emphasis role="op">-</emphasis>14, 3, <emphasis role="op">-</emphasis>21, <emphasis role="op">-</emphasis>3, <emphasis role="op">-</emphasis>27, <emphasis role="op">-</emphasis>10, 7, <emphasis role="op">-</emphasis>17	<emphasis role="comment">;12 note scale with detuned keys</emphasis>
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  i1 <emphasis role="op">=</emphasis> 5 <emphasis role="op">%</emphasis> 3
-  <emphasis role="opc">print</emphasis> i1
-<emphasis role="oblock">endin</emphasis>
 
+ikey	<emphasis role="op">=</emphasis> p4
+ivel	<emphasis role="op">=</emphasis> p5
+indx	<emphasis role="op">=</emphasis> ikey <emphasis role="op">%</emphasis> 12								<emphasis role="comment">;work on the twelftone scale</emphasis>
+icent	<emphasis role="opc">tab_i</emphasis> indx, giScale							<emphasis role="comment">;load the scale</emphasis>
+ifreqeq	<emphasis role="op">=</emphasis> <emphasis role="opc">cpsmidinn</emphasis>(ikey)
+ifreq	<emphasis role="op">=</emphasis> ifreqeq <emphasis role="op">*</emphasis> <emphasis role="opc">cent</emphasis>(icent)							<emphasis role="comment">;change frequency by cents from table</emphasis>
+<emphasis role="opc">prints</emphasis>	"Key <emphasis role="op">%</emphasis>d modulus 12 <emphasis role="op">=</emphasis>  <emphasis role="op">%</emphasis>d. ", ikey, indx
+<emphasis role="opc">prints</emphasis>	"Equal<emphasis role="op">-</emphasis>tempered frequency of this key  <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f,", ifreqeq
+<emphasis role="opc">prints</emphasis>  " but here with <emphasis role="opc">cent</emphasis> deviation <emphasis role="op">%</emphasis>d <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f<emphasis role="op">%</emphasis>n", icent, ifreq
+asig	<emphasis role="opc">vco2</emphasis> ivel<emphasis role="op">*</emphasis>.5, ifreq
+	<emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 0 60		<emphasis role="comment">;run for 60 seconds</emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/monitor.csd.xml b/examples-xml/monitor.csd.xml
new file mode 100644
index 0000000..d6dfee3
--- /dev/null
+++ b/examples-xml/monitor.csd.xml
@@ -0,0 +1,56 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o monitor.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giSine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+asig <emphasis role="opc">poscil3</emphasis> .5, 880, giSine
+<emphasis role="comment">;write a raw file: 32 bits with header</emphasis>
+     <emphasis role="opc">fout</emphasis> "fout_880.wav", 15, asig	
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+
+klfo <emphasis role="opc">lfo</emphasis> 1, 2, 0
+asig <emphasis role="opc">poscil3</emphasis> .5<emphasis role="op">*</emphasis>klfo, 220, giSine
+<emphasis role="comment">;write an aiff file: 32 bits with header</emphasis>
+     <emphasis role="opc">fout</emphasis> "fout_aif.aiff", 25, asig	
+<emphasis role="comment">;        fout "fout_all3.wav", 14, asig</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 99 <emphasis role="comment">;read the stereo csound output buffer</emphasis>
+
+allL, allR <emphasis role="opc">monitor</emphasis>
+<emphasis role="comment">;write the output of csound to an audio file</emphasis>
+<emphasis role="comment">;to a wav file: 16 bits with header</emphasis>
+           <emphasis role="opc">fout</emphasis> "fout_all.wav", 14, allL, allR
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 2 0 3
+<emphasis role="stamnt">i</emphasis> 99 0 3
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/moog.csd.xml b/examples-xml/moog.csd.xml
index 8bec256..7f30beb 100644
--- a/examples-xml/moog.csd.xml
+++ b/examples-xml/moog.csd.xml
@@ -2,54 +2,41 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o moog.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 22050
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 2205
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 30000
-  kfreq <emphasis role="op">=</emphasis> 220
-  kfiltq <emphasis role="op">=</emphasis> 0.81
-  kfiltrate <emphasis role="op">=</emphasis> 0
-  kvibf <emphasis role="op">=</emphasis> 1.4
-  kvamp <emphasis role="op">=</emphasis> 2.22
-  iafn <emphasis role="op">=</emphasis> 1
-  iwfn <emphasis role="op">=</emphasis> 2
-  ivfn <emphasis role="op">=</emphasis> 3
 
-  am <emphasis role="opc">moog</emphasis> kamp, kfreq, kfiltq, kfiltrate, kvibf, kvamp, iafn, iwfn, ivfn
+kfreq  <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p4)
+kfiltq <emphasis role="op">=</emphasis> p5
+kfiltrate <emphasis role="op">=</emphasis> 0.0002
+kvibf  <emphasis role="op">=</emphasis> 5
+kvamp  <emphasis role="op">=</emphasis> .01
+<emphasis role="comment">;low volume is needed</emphasis>
+asig <emphasis role="opc">moog</emphasis> .15, kfreq, kfiltq, kfiltrate, kvibf, kvamp, 1, 2, 3
+     <emphasis role="opc">outs</emphasis> asig, asig
 
-  <emphasis role="comment">; It tends to get loud, so clip moog's amplitude at 30,000.</emphasis>
-  a1 <emphasis role="opc">clip</emphasis> am, 2, 30000
-  <emphasis role="opc">out</emphasis> a1
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Table #1: the "mandpluk.aiff" audio file</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 8192 1 "mandpluk.ai<emphasis role="stamnt">f</emphasis><emphasis role="stamnt">f</emphasis>" 0 0 0
-<emphasis role="comment">; Table #2: the "impuls20.aiff" audio file</emphasis>
 <emphasis role="stamnt">f</emphasis> 2 0 256 1 "impuls20.ai<emphasis role="stamnt">f</emphasis><emphasis role="stamnt">f</emphasis>" 0 0 0
-<emphasis role="comment">; Table #3: a sine wave</emphasis>
-<emphasis role="stamnt">f</emphasis> 3 0 256 10 1
+<emphasis role="stamnt">f</emphasis> 3 0 256 10 1	<emphasis role="comment">; sine</emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for three seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 3
+<emphasis role="stamnt">i</emphasis> 1 0 3 6.00 .1
+<emphasis role="stamnt">i</emphasis> 1 + 3 6.05 .89
+<emphasis role="stamnt">i</emphasis> 1 + 3 6.09 .50
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/moogladder.csd.xml b/examples-xml/moogladder.csd.xml
index d8a22f8..fe39669 100644
--- a/examples-xml/moogladder.csd.xml
+++ b/examples-xml/moogladder.csd.xml
@@ -1,31 +1,33 @@
 <programlisting>
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
-
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o moogladder.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
-kfe	<emphasis role="opc">expseg</emphasis>	500, p3<emphasis role="op">*</emphasis>0.9, 1800, p3<emphasis role="op">*</emphasis>0.1, 3000
-kenv	<emphasis role="opc">linen</emphasis>		30000, 0.05, p3, 0.05
-asig	<emphasis role="opc">buzz</emphasis>		kenv, 100, 15, 1
-afil	<emphasis role="opc">moogladder</emphasis>	asig, kfe, .9
-	<emphasis role="opc">out</emphasis>	afil
 
-<emphasis role="oblock">endin</emphasis>
+kfe  <emphasis role="opc">expseg</emphasis> 500, p3<emphasis role="op">*</emphasis>0.9, 1800, p3<emphasis role="op">*</emphasis>0.1, 3000
+asig <emphasis role="opc">buzz</emphasis>  1, 100, 20, 1
+kres <emphasis role="opc">line</emphasis> .1, p3, .99	<emphasis role="comment">;increase resonance</emphasis>
+afil <emphasis role="opc">moogladder</emphasis> asig, kfe, kres
+     <emphasis role="opc">outs</emphasis> afil, afil
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="comment">; sinuso in table 1</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 4096 10 1
 
-<emphasis role="stamnt">i</emphasis> 1    0      3
-
+<emphasis role="stamnt">i</emphasis> 1 0 10
 <emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
diff --git a/examples-xml/moogvcf.csd.xml b/examples-xml/moogvcf.csd.xml
index ae09dee..53d1573 100644
--- a/examples-xml/moogvcf.csd.xml
+++ b/examples-xml/moogvcf.csd.xml
@@ -2,50 +2,36 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o moogvcf.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Use a nice sawtooth waveform.</emphasis>
-  asig <emphasis role="opc">vco</emphasis> 32000, 220, 1
+<emphasis role="comment">; iscale does not need to be set here because already 0dbfs = 1  </emphasis>
+aout <emphasis role="opc">vco</emphasis> .3, 220, 1	<emphasis role="comment">; Use a nice sawtooth waveform.</emphasis>
+kfco <emphasis role="opc">line</emphasis> 200, p3, 2000	<emphasis role="comment">; filter-cutoff frequency from .2 to 2 KHz</emphasis>
+krez <emphasis role="opc">init</emphasis> p4
+asig <emphasis role="opc">moogvcf</emphasis> aout, kfco, krez
+     <emphasis role="opc">outs</emphasis> asig, asig
 
-  <emphasis role="comment">; Vary the filter-cutoff frequency from .2 to 2 KHz.</emphasis>
-  kfco <emphasis role="opc">line</emphasis> 200, p3, 2000
-
-  <emphasis role="comment">; Set the resonance amount to one.</emphasis>
-  krez <emphasis role="opc">init</emphasis> 1
-
-  <emphasis role="comment">; Scale the amplitude to 32768.</emphasis>
-  iscale <emphasis role="op">=</emphasis> 32768
-
-  a1 <emphasis role="opc">moogvcf</emphasis> asig, kfco, krez, iscale
-
-  <emphasis role="opc">out</emphasis> a1
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1, a sine wave for the vco opcode.</emphasis>
+<emphasis role="comment">;a sine wave</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
 
-<emphasis role="comment">; Play Instrument #1 for three seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 3
+<emphasis role="stamnt">i</emphasis> 1 0 3 .1
+<emphasis role="stamnt">i</emphasis> 1 + 3 .7
+<emphasis role="stamnt">i</emphasis> 1 + 3 .95
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/moogvcf2.csd.xml b/examples-xml/moogvcf2.csd.xml
index 8bfa296..35aee59 100644
--- a/examples-xml/moogvcf2.csd.xml
+++ b/examples-xml/moogvcf2.csd.xml
@@ -2,47 +2,34 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o moogvcf.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">; -o moogvcf2.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Use a nice sawtooth waveform.</emphasis>
-  asig <emphasis role="opc">vco</emphasis> 32000, 220, 1
+  
+aout <emphasis role="opc">diskin2</emphasis> "beats.wav", 1, 0, 1
+kfco <emphasis role="opc">line</emphasis> 100, p3, 10000		<emphasis role="comment">;filter-cutoff</emphasis>
+krez <emphasis role="opc">init</emphasis> p4
+asig <emphasis role="opc">moogvcf2</emphasis> aout, kfco, krez
+     <emphasis role="opc">outs</emphasis> asig, asig
 
-  <emphasis role="comment">; Vary the filter-cutoff frequency from .2 to 2 KHz.</emphasis>
-  kfco <emphasis role="opc">line</emphasis> 200, p3, 2000
-
-  <emphasis role="comment">; Set the resonance amount to one.</emphasis>
-  krez <emphasis role="opc">init</emphasis> 1
-
-  a1 <emphasis role="opc">moogvcf2</emphasis> asig, kfco, krez
-
-  <emphasis role="opc">out</emphasis> a1
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Table #1, a sine wave for the vco opcode.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for three seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 3
+<emphasis role="stamnt">i</emphasis> 1 0 4 .1
+<emphasis role="stamnt">i</emphasis> 1 + 4 .6
+<emphasis role="stamnt">i</emphasis> 1 + 4 .9
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/mp3in.csd.xml b/examples-xml/mp3in.csd.xml
index e306b92..8929d33 100644
--- a/examples-xml/mp3in.csd.xml
+++ b/examples-xml/mp3in.csd.xml
@@ -2,40 +2,31 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o mp3in.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-iskptim	<emphasis role="op">=</emphasis>	.3
-ibufsize	<emphasis role="op">=</emphasis>	64
-<emphasis role="comment">; Reads stereo audio data from an external MP3 file</emphasis>
-ar1, ar2	 mp3in "beats.mp3", iskptim, 0, 0, ibufsize
 
+iskptim	 <emphasis role="op">=</emphasis> .3
+ibufsize <emphasis role="op">=</emphasis> 64
+ar1, ar2 <emphasis role="opc">mp3in</emphasis> "beats.mp3", iskptim, 0, 0, ibufsize
+         <emphasis role="opc">outs</emphasis> ar1, ar2
 
-  <emphasis role="opc">out</emphasis> ar1, ar2
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-
-<emphasis role="comment">; Play Instrument #1 for three seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1.7
+<emphasis role="stamnt">i</emphasis> 1 0 2
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/mp3len.csd.xml b/examples-xml/mp3len.csd.xml
new file mode 100644
index 0000000..7eac544
--- /dev/null
+++ b/examples-xml/mp3len.csd.xml
@@ -0,0 +1,33 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">;-o mp3len.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ilen   <emphasis role="opc">mp3len</emphasis> p4        <emphasis role="comment">;calculate length of mp3 file</emphasis>
+<emphasis role="opc">print</emphasis>  ilen
+
+asigL, asigR <emphasis role="opc">mp3in</emphasis> p4
+       <emphasis role="opc">outs</emphasis>  asigL, asigR
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 30 "XORNOT_jul-14-05.mp3"    <emphasis role="comment">; long signal</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/multiplies.csd.xml b/examples-xml/multiplies.csd.xml
index a784a72..776dd1c 100644
--- a/examples-xml/multiplies.csd.xml
+++ b/examples-xml/multiplies.csd.xml
@@ -2,33 +2,34 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o multiplies.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  i1 <emphasis role="op">=</emphasis> 24 <emphasis role="op">*</emphasis> 8
-  <emphasis role="opc">print</emphasis> i1
-<emphasis role="oblock">endin</emphasis>
 
+kenv    <emphasis role="opc">expon</emphasis> 0.01, p3, 1
+aout    <emphasis role="opc">poscil</emphasis>	0.8<emphasis role="op">*</emphasis>kenv, 440, 1	<emphasis role="comment">;multiply amplitude from 0 to 1 * 0.8</emphasis>
+<emphasis role="opc">printks</emphasis> "base amplitude <emphasis role="op">*</emphasis> rising <emphasis role="opc">expon</emphasis> output <emphasis role="op">=</emphasis> 0.8 <emphasis role="op">*</emphasis> <emphasis role="op">%</emphasis>f\n", .1, kenv
+	<emphasis role="opc">outs</emphasis> 	aout, aout
+<emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
-<emphasis role="stamnt">e</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1	<emphasis role="comment">; sine wave</emphasis>
 
+<emphasis role="stamnt">i</emphasis> 1 0 2
+
+<emphasis role="stamnt">e</emphasis>
 
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
diff --git a/examples-xml/multitap.csd.xml b/examples-xml/multitap.csd.xml
index 1874946..0480074 100644
--- a/examples-xml/multitap.csd.xml
+++ b/examples-xml/multitap.csd.xml
@@ -1,38 +1,42 @@
 <programlisting>
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
-
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o multitap.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 ga1 <emphasis role="opc">init</emphasis> 0
 
 <emphasis role="oblock">instr</emphasis> 1
-a1	<emphasis role="opc">oscil</emphasis>	10000, 1000, 1
-	<emphasis role="opc">out</emphasis>	a1
+
+asig <emphasis role="opc">diskin2</emphasis> "beats.wav", 1,0
+     <emphasis role="opc">outs</emphasis> asig, asig
    
-ga1	<emphasis role="op">=</emphasis>	ga1<emphasis role="op">+</emphasis>a1
+ga1  <emphasis role="op">=</emphasis> ga1<emphasis role="op">+</emphasis>asig
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 2
-a2	<emphasis role="opc">multitap</emphasis>	ga1, 1.2, .5, 1.4, .2
-	<emphasis role="opc">out</emphasis>	a2
+
+asig <emphasis role="opc">multitap</emphasis> ga1, 1.2, .5, 1.4, .2
+     <emphasis role="opc">outs</emphasis>     asig, asig
 	
-ga1	<emphasis role="op">=</emphasis>	0
+ga1  <emphasis role="op">=</emphasis> 0
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="comment">; make sinusoid in table 1</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 4096 10 1
 
-<emphasis role="stamnt">i</emphasis> 1	.5	.1
-<emphasis role="stamnt">i</emphasis> 2	0	3
+<emphasis role="stamnt">i</emphasis> 1 .5 .2	<emphasis role="comment">; short sound</emphasis>
+<emphasis role="stamnt">i</emphasis> 2  0  3	<emphasis role="comment">; echoes</emphasis>
 <emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
diff --git a/examples-xml/mute.csd.xml b/examples-xml/mute.csd.xml
index 8ec2e59..938f769 100644
--- a/examples-xml/mute.csd.xml
+++ b/examples-xml/mute.csd.xml
@@ -2,55 +2,49 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o mute.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
-<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="comment">; Mute Instrument #2.</emphasis>
 <emphasis role="opc">mute</emphasis> 2
 <emphasis role="comment">; Mute Instrument three.</emphasis>
 <emphasis role="opc">mute</emphasis> "three"
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  a1 <emphasis role="opc">oscils</emphasis> 0.2, 440, 0
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
 
-<emphasis role="comment">; Instrument #2.</emphasis>
-<emphasis role="oblock">instr</emphasis> 2
-  a1 <emphasis role="opc">oscils</emphasis> 0.2, 880, 0
-  <emphasis role="opc">out</emphasis> a1
+a1 <emphasis role="opc">oscils</emphasis> 0.2, 440, 0
+   <emphasis role="opc">outs</emphasis> a1, a1
 <emphasis role="oblock">endin</emphasis>
 
-<emphasis role="comment">; Instrument #3.</emphasis>
-<emphasis role="oblock">instr</emphasis> three
-  a1 <emphasis role="opc">oscils</emphasis> 0.2, 1000, 0
-  <emphasis role="opc">out</emphasis> a1
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">; gets muted</emphasis>
+
+a1 <emphasis role="opc">oscils</emphasis> 0.2, 880, 0
+   <emphasis role="opc">outs</emphasis> a1, a1
 <emphasis role="oblock">endin</emphasis>
 
+<emphasis role="oblock">instr</emphasis> three	<emphasis role="comment">; gets muted</emphasis>
+
+a1 <emphasis role="opc">oscils</emphasis> 0.2, 1000, 0
+   <emphasis role="opc">outs</emphasis> a1, a1
+<emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
 <emphasis role="stamnt">i</emphasis> 1 0 1
-<emphasis role="comment">; Play Instrument #2 for one second.</emphasis>
 <emphasis role="stamnt">i</emphasis> 2 0 1
-<emphasis role="comment">; Play Instrument three for one second.</emphasis>
 <emphasis role="stamnt">i</emphasis> "three" 0 1
 <emphasis role="stamnt">e</emphasis>
 
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/mxadsr.csd.xml b/examples-xml/mxadsr.csd.xml
new file mode 100644
index 0000000..0efcc5e
--- /dev/null
+++ b/examples-xml/mxadsr.csd.xml
@@ -0,0 +1,35 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  -+rtmidi=virtual -M0   <emphasis role="comment">;;;realtime audio out and realtime midi in</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o mxadsr.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+ 	 
+icps	<emphasis role="opc">cpsmidi</emphasis>	 	 
+iamp	<emphasis role="opc">ampmidi</emphasis>	.5	 
+ 	 	 	 
+kenv	<emphasis role="opc">mxadsr</emphasis>	0.5, 0, 1, 0.5
+asig	<emphasis role="opc">pluck</emphasis>	kenv, icps, icps, 2, 1	 
+	<emphasis role="opc">outs</emphasis>	asig, asig
+	 
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 4096 10 1	
+
+<emphasis role="stamnt">f</emphasis>0 30	<emphasis role="comment">;runs 30 seconds</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/nchnls.csd.xml b/examples-xml/nchnls.csd.xml
new file mode 100644
index 0000000..752b9e3
--- /dev/null
+++ b/examples-xml/nchnls.csd.xml
@@ -0,0 +1,33 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   -idac   <emphasis role="comment">;;;realtime audio I/O</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; nchnls.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2				<emphasis role="comment">;two channels out</emphasis>
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1 
+
+ain1, ainr <emphasis role="opc">ins</emphasis>				<emphasis role="comment">;grab your mic and sing</emphasis>
+adel  <emphasis role="opc">linseg</emphasis> 0, p3<emphasis role="op">*</emphasis>.5, 0.02, p3<emphasis role="op">*</emphasis>.5, 0	<emphasis role="comment">;max delay time = 20ms</emphasis>
+aoutl <emphasis role="opc">flanger</emphasis> ain1, adel, .7
+aoutr <emphasis role="opc">flanger</emphasis> ain1, adel<emphasis role="op">*</emphasis>2, .8
+      <emphasis role="opc">fout</emphasis> "in_s.wav", 14, aoutl, aoutr <emphasis role="comment">;write to stereo file,</emphasis>
+      <emphasis role="opc">outs</emphasis> aoutl, aoutr			<emphasis role="comment">;16 bits with header</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 10
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/nchnls_i.csd.xml b/examples-xml/nchnls_i.csd.xml
new file mode 100644
index 0000000..7ffc071
--- /dev/null
+++ b/examples-xml/nchnls_i.csd.xml
@@ -0,0 +1,39 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  -idac <emphasis role="comment">;;;realtime audio I/O</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; nchnls_i.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis>   <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis>   <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis>   <emphasis role="op">=</emphasis> 2	<emphasis role="comment">;2 channels out</emphasis>
+<emphasis role="ohdr">0dbfs</emphasis>    <emphasis role="op">=</emphasis> 1
+nchnls_i <emphasis role="op">=</emphasis> 4	<emphasis role="comment">;4 channels in</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">;4 channels in, two channels out</emphasis>
+
+ain1, ain2, ain3, ain4 <emphasis role="opc">inq</emphasis>		<emphasis role="comment">;grab your mics and sing</emphasis>
+
+adel   <emphasis role="opc">linseg</emphasis> 0, p3<emphasis role="op">*</emphasis>.5, 0.02, p3<emphasis role="op">*</emphasis>.5, 0	  <emphasis role="comment">;max delay time = 20ms</emphasis>
+adel2  <emphasis role="opc">linseg</emphasis> 0.02, p3<emphasis role="op">*</emphasis>.5, 0, p3<emphasis role="op">*</emphasis>.5, 0.02 <emphasis role="comment">;max delay time = 20ms	</emphasis>
+aoutl  <emphasis role="opc">flanger</emphasis> ain1, adel, .7
+aoutr  <emphasis role="opc">flanger</emphasis> ain2, adel<emphasis role="op">*</emphasis>2, .8
+aoutla <emphasis role="opc">flanger</emphasis> ain3, adel2, .9
+aoutra <emphasis role="opc">flanger</emphasis> ain4, adel2<emphasis role="op">*</emphasis>2, .5
+<emphasis role="comment">;write to quad file, 16 bits with header</emphasis>
+       <emphasis role="opc">fout</emphasis> "in_4.wav", 14, aoutl, aoutr, aoutla, aoutra	
+       <emphasis role="opc">outs</emphasis> (aoutl<emphasis role="op">+</emphasis>aoutla)<emphasis role="op">*</emphasis>.5, (aoutr<emphasis role="op">+</emphasis>aoutra)<emphasis role="op">*</emphasis>.5 <emphasis role="comment">;stereo out</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 10
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/nlfilt.csd.xml b/examples-xml/nlfilt.csd.xml
index 1b9ad62..7b38bba 100644
--- a/examples-xml/nlfilt.csd.xml
+++ b/examples-xml/nlfilt.csd.xml
@@ -2,62 +2,50 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o nlfilt.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1 - an unfiltered noise waveform.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Generate a white noise signal.</emphasis>
-  asig <emphasis role="opc">rand</emphasis> 20000
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;unfiltered noise</emphasis>
+
+asig <emphasis role="opc">rand</emphasis> .7
+     <emphasis role="opc">outs</emphasis> asig, asig
 
-  <emphasis role="opc">out</emphasis> asig
 <emphasis role="oblock">endin</emphasis>
 
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">;filtered noise</emphasis>
 
-<emphasis role="comment">; Instrument #2 - a filtered noise waveform.</emphasis>
-<emphasis role="oblock">instr</emphasis> 2
-  <emphasis role="comment">; Generate a white noise signal.</emphasis>
-  asig <emphasis role="opc">rand</emphasis> 20000
 ka <emphasis role="op">=</emphasis> p4
 kb <emphasis role="op">=</emphasis> p5
 kd <emphasis role="op">=</emphasis> p6
 kC <emphasis role="op">=</emphasis> p7
 kL <emphasis role="op">=</emphasis> p8
+asig  <emphasis role="opc">rand</emphasis> .3
+afilt <emphasis role="opc">nlfilt</emphasis> asig, ka, kb, kd, kC, kL
+asig  <emphasis role="opc">clip</emphasis> afilt, 2, .9
+      <emphasis role="opc">outs</emphasis> asig, asig
 
-  afilt <emphasis role="opc">nlfilt</emphasis> asig, ka, kb, kd, kC, kL
-
-  <emphasis role="comment">; Clip the filtered signal's amplitude to 85 dB.</emphasis>
-  a1 <emphasis role="opc">clip</emphasis> afilt, 2, <emphasis role="opc">ampdb</emphasis>(85)
-  <emphasis role="opc">out</emphasis> a1
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for two seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
-<emphasis role="comment">; non-linear effect</emphasis>
-<emphasis role="stamnt">i</emphasis> 2 2 2 0 0 .8 .5 20
-<emphasis role="comment">; low=paas with non-linear</emphasis>
-<emphasis role="stamnt">i</emphasis> 2 + 2 .4 .2 .7 .11 200
-<emphasis role="comment">; high-pass with non-linear</emphasis>
-<emphasis role="stamnt">i</emphasis> 2 + 2 .35 -.3 .95 .1 200
-<emphasis role="comment">; high-pass with non-linear</emphasis>
-<emphasis role="stamnt">i</emphasis> 2 + 2 .7 .1 .9 .2 100
-<emphasis role="stamnt">e</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 2				<emphasis role="comment">; unfiltersd</emphasis>
 
+<emphasis role="comment">;        a    b    d    C    L</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 2 2  0    0   0.8  0.5  20	<emphasis role="comment">; non-linear effect</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 + 2 .4   0.2  0.7  0.11 200	<emphasis role="comment">; low=paas with non-linear</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 + 2 0.35 -0.3 0.95 0.1  200	<emphasis role="comment">; high-pass with non-linear</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 + 2 0.7 -0.2  0.9  0.2  20 	<emphasis role="comment">; high-pass with non-linear</emphasis>
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/nlfilt2.csd.xml b/examples-xml/nlfilt2.csd.xml
new file mode 100644
index 0000000..33eddaf
--- /dev/null
+++ b/examples-xml/nlfilt2.csd.xml
@@ -0,0 +1,49 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o nlfilt.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;unfiltered noise</emphasis>
+
+asig <emphasis role="opc">rand</emphasis> .7
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">;filtered noise</emphasis>
+
+ka <emphasis role="op">=</emphasis> p4
+kb <emphasis role="op">=</emphasis> p5
+kd <emphasis role="op">=</emphasis> p6
+kC <emphasis role="op">=</emphasis> p7
+kL <emphasis role="op">=</emphasis> p8
+asig  <emphasis role="opc">rand</emphasis> .3
+afilt <emphasis role="opc">nlfilt2</emphasis> asig, ka, kb, kd, kC, kL
+      <emphasis role="opc">outs</emphasis>    afilt, afilt
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 2				<emphasis role="comment">; unfiltered</emphasis>
+
+<emphasis role="comment">;        a    b    d    C    L</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 2 2  0    0   0.8  0.5  20	<emphasis role="comment">; non-linear effect</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 + 2 .4   0.2  0.7  0.11 200	<emphasis role="comment">; low=pass with non-linear</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 + 2 0.35 -0.3 0.95 0.1  200	<emphasis role="comment">; high-pass with non-linear</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 + 2 0.7 -0.2  0.9  0.2  20 	<emphasis role="comment">; high-pass with non-linear</emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/noise.csd.xml b/examples-xml/noise.csd.xml
index d01ffa7..681bd4a 100644
--- a/examples-xml/noise.csd.xml
+++ b/examples-xml/noise.csd.xml
@@ -2,39 +2,32 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o noise.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 30000
 
-  <emphasis role="comment">; Change the beta value linearly from 0 to 1.</emphasis>
-  kbeta <emphasis role="opc">line</emphasis> 0, p3, 1
+kbeta <emphasis role="opc">line</emphasis> <emphasis role="op">-</emphasis>1, p3, 1	<emphasis role="comment">;change beta value from -1 to 1</emphasis>
+asig  <emphasis role="opc">noise</emphasis> .3, kbeta
+asig  <emphasis role="opc">clip</emphasis> asig, 2, .9	<emphasis role="comment">;clip signal</emphasis>
+      <emphasis role="opc">outs</emphasis> asig, asig
 
-  a1 <emphasis role="opc">noise</emphasis> kamp, kbeta
-  <emphasis role="opc">out</emphasis> a1
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
-<emphasis role="stamnt">e</emphasis>
-
+<emphasis role="stamnt">i</emphasis> 1 0 10
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/notequal.csd.xml b/examples-xml/notequal.csd.xml
index a706f6f..faad404 100644
--- a/examples-xml/notequal.csd.xml
+++ b/examples-xml/notequal.csd.xml
@@ -2,44 +2,40 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o notequal.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 1
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Get the 4th p-field from the score.</emphasis>
-  k1 <emphasis role="op">=</emphasis>  p4
 
-  <emphasis role="comment">; Is it not equal to 3? (1 = true, 0 = false)</emphasis>
-  k2 <emphasis role="op">=</emphasis> (p4 <emphasis role="op">!=</emphasis> 3 <emphasis role="op">?</emphasis> 1 <emphasis role="op">:</emphasis> 0)
+ipch   <emphasis role="op">=</emphasis> <emphasis role="opc">cpspch</emphasis>(p4)
+iprint <emphasis role="op">=</emphasis> p5
+<emphasis role="octrl">if</emphasis> (iprint <emphasis role="op">!=</emphasis> 1) <emphasis role="octrl">igoto</emphasis> <emphasis role="olabel">skipPrint</emphasis>
+<emphasis role="opc">print</emphasis>  ipch
+asig   <emphasis role="opc">vco2</emphasis> .7, ipch
+       <emphasis role="opc">outs</emphasis> asig, asig
 
-  <emphasis role="comment">; Print the values of k1 and k2.</emphasis>
-  <emphasis role="opc">printks</emphasis> "k1 <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, k2 <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\\n", 1, k1, k2
-<emphasis role="oblock">endin</emphasis>
+<emphasis role="olabel">skipPrint</emphasis><emphasis role="op">:</emphasis>
 
+<emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 65536 10 1	<emphasis role="comment">;sine wave</emphasis>
 
-<emphasis role="comment">; Call Instrument #1 with a p4 = 2.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 0.5 2
-<emphasis role="comment">; Call Instrument #1 with a p4 = 3.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 1 0.5 3
-<emphasis role="comment">; Call Instrument #1 with a p4 = 4.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 2 0.5 4
-<emphasis role="stamnt">e</emphasis>
-
+<emphasis role="stamnt">i</emphasis>1 0 .5 8.00 0
+<emphasis role="stamnt">i</emphasis>1 0 .5 8.01 1 <emphasis role="comment">; this note will print it's ipch value and only this one will be played</emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 .5 8.02 2
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/notnum.csd.xml b/examples-xml/notnum.csd.xml
index 1d6bd93..1f61b20 100644
--- a/examples-xml/notnum.csd.xml
+++ b/examples-xml/notnum.csd.xml
@@ -2,35 +2,34 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   No messages  MIDI in</emphasis>
--odac           -iadc     -d         -M0  <emphasis role="comment">;;;RT audio I/O with MIDI in</emphasis>
-<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o notnum.wav -W ;;; for file output any platform</emphasis>
+-odac  -M0 -+rtmidi=virtual <emphasis role="comment">;;;realtime audio out with virtual MIDI in</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  i1 <emphasis role="opc">notnum</emphasis>
+<emphasis role="ohdr">massign</emphasis> 1, 1	<emphasis role="comment">; set MIDI channel 1 to play instr 1</emphasis>
 
-  <emphasis role="opc">print</emphasis> i1
-<emphasis role="oblock">endin</emphasis>
+<emphasis role="oblock">instr</emphasis>   1
 
+iNum <emphasis role="opc">notnum</emphasis>
+     <emphasis role="opc">print</emphasis> iNum
+<emphasis role="comment">; Convert MIDI note number to Hz</emphasis>
+iHz  <emphasis role="op">=</emphasis> (440.0<emphasis role="op">*</emphasis><emphasis role="opc">exp</emphasis>(<emphasis role="opc">log</emphasis>(2.0)<emphasis role="op">*</emphasis>((iNum)<emphasis role="op">-</emphasis>69.0)<emphasis role="op">/</emphasis>12.0))
+aosc <emphasis role="opc">oscil</emphasis> 0.6, iHz, 1
+     <emphasis role="opc">outs</emphasis>  aosc, aosc
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0  16384 10 1	<emphasis role="comment">;sine wave</emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for 12 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 12
-<emphasis role="stamnt">e</emphasis>
-
+<emphasis role="stamnt">f</emphasis> 0 60			<emphasis role="comment">;play 60 seconds</emphasis>
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/nrpn.csd.xml b/examples-xml/nrpn.csd.xml
new file mode 100644
index 0000000..19ffea7
--- /dev/null
+++ b/examples-xml/nrpn.csd.xml
@@ -0,0 +1,33 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+ 
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  -Q1   <emphasis role="comment">;;;realtime audio out with MIDI out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; change attack time of external synth</emphasis>
+
+<emphasis role="opc">initc7</emphasis> 1, 6, 0		<emphasis role="comment">; set controller 6 to 0</emphasis>
+<emphasis role="opc">nrpn</emphasis> 1, 99, 1		<emphasis role="comment">; set MSB</emphasis>
+<emphasis role="opc">nrpn</emphasis> 1, 98, 99		<emphasis role="comment">; set LSB</emphasis>
+katt <emphasis role="opc">ctrl7</emphasis> 1, 6, 1, 127	<emphasis role="comment">; DataEntMSB</emphasis>
+idur <emphasis role="op">=</emphasis> 2
+<emphasis role="opc">noteondur2</emphasis> 1, 60, 100, idur <emphasis role="comment">; play note on synth</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 3
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/nsamp.csd.xml b/examples-xml/nsamp.csd.xml
index adcf04d..37f9ab4 100644
--- a/examples-xml/nsamp.csd.xml
+++ b/examples-xml/nsamp.csd.xml
@@ -2,38 +2,44 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o nsamp.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="comment">; slightly adapted example from Jonathan Murphy Dec 2006</emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Print out the size (in samples) of Table #1.</emphasis>
-  isz <emphasis role="op">=</emphasis> <emphasis role="opc">nsamp</emphasis>(1)
-  <emphasis role="opc">print</emphasis> isz
-<emphasis role="oblock">endin</emphasis>
 
+ifn   <emphasis role="op">=</emphasis>  p4	<emphasis role="comment">; table number</emphasis>
+ilen  <emphasis role="op">=</emphasis>  <emphasis role="opc">nsamp</emphasis>(ifn)
+<emphasis role="opc">prints</emphasis> "actual numbers of samples <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>d\n", ilen
+itrns <emphasis role="op">=</emphasis>  1	<emphasis role="comment">; no transposition</emphasis>
+ilps  <emphasis role="op">=</emphasis>  0	<emphasis role="comment">; loop starts at index 0</emphasis>
+ilpe  <emphasis role="op">=</emphasis>  ilen	<emphasis role="comment">; ends at value returned by nsamp above</emphasis>
+imode <emphasis role="op">=</emphasis>  1	<emphasis role="comment">; loops forward</emphasis>
+istrt <emphasis role="op">=</emphasis>  0	<emphasis role="comment">; commence playback at index 0 samples</emphasis>
+<emphasis role="comment">; lphasor provides index into f1 </emphasis>
+alphs <emphasis role="opc">lphasor</emphasis> itrns, ilps, ilpe, imode, istrt
+atab  <emphasis role="opc">tablei</emphasis>  alphs, ifn
+      <emphasis role="opc">outs</emphasis> atab, atab
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 262144 1 "kickroll.wav" 0 4 1	<emphasis role="comment">;stereo file in table, with lots of zeroes</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 262144 1 "<emphasis role="stamnt">f</emphasis>ox.wav" 0 4 1		<emphasis role="comment">;mono file in table, with lots of zeroes</emphasis>
 
-<emphasis role="comment">; Table #1: Use an audio file.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 262144 1 "mary.wav" 0 0 0
-
-<emphasis role="comment">; Play Instrument #1 for 1 second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="stamnt">i</emphasis>1 0 10 1
+<emphasis role="stamnt">i</emphasis>1 + 10 2
 <emphasis role="stamnt">e</emphasis>
 
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/ntrpol.csd.xml b/examples-xml/ntrpol.csd.xml
new file mode 100644
index 0000000..9cd12e6
--- /dev/null
+++ b/examples-xml/ntrpol.csd.xml
@@ -0,0 +1,35 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if real audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o ntrpol.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giSin <emphasis role="ohdr">ftgen</emphasis> 1, 0, 1024, 10, 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+avco <emphasis role="opc">vco2</emphasis>   .5, 110			<emphasis role="comment">;sawtootyh wave</emphasis>
+asin <emphasis role="opc">poscil</emphasis> .5, 220, giSin		<emphasis role="comment">;sine wave but octave higher</emphasis>
+kx   <emphasis role="opc">linseg</emphasis> 0, p3<emphasis role="op">*</emphasis>.4, 1, p3<emphasis role="op">*</emphasis>.6, 1	<emphasis role="comment">;crossfade between saw and sine</emphasis>
+asig <emphasis role="opc">ntrpol</emphasis> avco, asin, kx
+     <emphasis role="opc">outs</emphasis>   asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/octave.csd.xml b/examples-xml/octave.csd.xml
index b048aee..64d1b46 100644
--- a/examples-xml/octave.csd.xml
+++ b/examples-xml/octave.csd.xml
@@ -2,46 +2,38 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o octave.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; The root note is A above middle-C (440 Hz)</emphasis>
-  iroot <emphasis role="op">=</emphasis> 440
 
-  <emphasis role="comment">; Raise the root note by two octaves.</emphasis>
-  ioctaves <emphasis role="op">=</emphasis> 2
+iroot <emphasis role="op">=</emphasis> 440		<emphasis role="comment">; root note is A above middle-C (440 Hz)</emphasis>
+koct  <emphasis role="opc">lfo</emphasis> 5, 1, 5	<emphasis role="comment">; generate sawtooth, go from 5 octaves higher to root</emphasis>
+koc <emphasis role="op">=</emphasis> <emphasis role="opc">int</emphasis>(koct)		<emphasis role="comment">; produce only whole numbers</emphasis>
+kfactor <emphasis role="op">=</emphasis> <emphasis role="opc">octave</emphasis>(koc)	<emphasis role="comment">; for octave</emphasis>
+knew <emphasis role="op">=</emphasis> iroot <emphasis role="op">*</emphasis> kfactor
+<emphasis role="opc">printk2</emphasis> knew
 
-  <emphasis role="comment">; Calculate the new note.</emphasis>
-  ifactor <emphasis role="op">=</emphasis> <emphasis role="opc">octave</emphasis>(ioctaves)
-  inew <emphasis role="op">=</emphasis> iroot <emphasis role="op">*</emphasis> ifactor
+asig <emphasis role="opc">pluck</emphasis> 1, knew, 1000, 0, 1 
+asig <emphasis role="opc">dcblock</emphasis> asig	<emphasis role="comment">;remove DC</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
 
-  <emphasis role="comment">; Print out of all of the values.</emphasis>
-  <emphasis role="opc">print</emphasis> iroot
-  <emphasis role="opc">print</emphasis> ifactor
-  <emphasis role="opc">print</emphasis> inew
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="stamnt">i</emphasis> 1 0 5
 <emphasis role="stamnt">e</emphasis>
 
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/opand.csd.xml b/examples-xml/opand.csd.xml
new file mode 100644
index 0000000..63b8e1b
--- /dev/null
+++ b/examples-xml/opand.csd.xml
@@ -0,0 +1,41 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o opand.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kval    <emphasis role="opc">randomh</emphasis> 0, 1.2, 20		<emphasis role="comment">;choose between 0 and 1.2</emphasis>
+<emphasis role="octrl">if</emphasis> kval <emphasis role="op">></emphasis>0 <emphasis role="op">&&</emphasis> kval<emphasis role="op"><=</emphasis>.5 then		<emphasis role="comment">;3 possible outcomes</emphasis>
+	kval <emphasis role="op">=</emphasis> 1			
+<emphasis role="octrl">elseif</emphasis> kval <emphasis role="op">></emphasis>.5 <emphasis role="op">&&</emphasis> kval<emphasis role="op"><=</emphasis>1 then
+	kval <emphasis role="op">=</emphasis>2
+<emphasis role="octrl">elseif</emphasis> kval <emphasis role="op">></emphasis>1 then
+	kval <emphasis role="op">=</emphasis>3
+<emphasis role="octrl">endif</emphasis>
+
+<emphasis role="opc">printk2</emphasis> kval				<emphasis role="comment">;print value when it changes</emphasis>
+asig    <emphasis role="opc">poscil</emphasis> .7, 440<emphasis role="op">*</emphasis>kval, 1
+        <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 16384 10 1
+
+<emphasis role="stamnt">i</emphasis> 1 0 5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/opcode_example.csd.xml b/examples-xml/opcode_example.csd.xml
index 488d4a3..c33b819 100644
--- a/examples-xml/opcode_example.csd.xml
+++ b/examples-xml/opcode_example.csd.xml
@@ -2,16 +2,17 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o opcode_example.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="ohdr">sr</emphasis>      <emphasis role="op">=</emphasis>  44100
-<emphasis role="ohdr">ksmps</emphasis>   <emphasis role="op">=</emphasis>  50
-<emphasis role="ohdr">nchnls</emphasis>  <emphasis role="op">=</emphasis>  1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> example <emphasis role="oblock">opcode</emphasis> 1<emphasis role="op">:</emphasis> simple oscillator <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
 
@@ -62,13 +63,13 @@ aenv    <emphasis role="opc">linseg</emphasis> 0, 0.02, 1, p3 <emphasis role="op
 
         <emphasis role="oblock">instr</emphasis> 1
 
-kamp    <emphasis role="op">=</emphasis>  20000                <emphasis role="comment">; amplitude</emphasis>
+kamp    <emphasis role="op">=</emphasis>  .7                <emphasis role="comment">; amplitude</emphasis>
 kcps    <emphasis role="opc">expon</emphasis> 50, p3, 500       <emphasis role="comment">; pitch</emphasis>
 a1      Oscillator kamp, kcps                   <emphasis role="comment">; call oscillator</emphasis>
 kflt    <emphasis role="opc">linseg</emphasis> 0.4, 1.5, 0.4, 1, 0.8, 1.5, 0.8  <emphasis role="comment">; filter envelope</emphasis>
 a1      RecursiveLowpass a1, kflt, 1 <emphasis role="op">-</emphasis> kflt, 10 <emphasis role="comment">; 10th order lowpass</emphasis>
 a1      DeClick a1
-        <emphasis role="opc">out</emphasis> a1
+        <emphasis role="opc">outs</emphasis> a1, a1
 
         <emphasis role="oblock">endin</emphasis>
 
@@ -77,8 +78,7 @@ a1      DeClick a1
 <emphasis role="csdtag"><CsScore></emphasis>
 
 <emphasis role="stamnt">i</emphasis> 1 0 4
-<emphasis role="stamnt">e</emphasis>
-
+<emphasis role="stamnt">e</emphasis>5		<emphasis role="comment">;extra second before quitting</emphasis>
 
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
diff --git a/examples-xml/oscbnk.csd.xml b/examples-xml/oscbnk.csd.xml
index 7832e1b..10ad7b5 100644
--- a/examples-xml/oscbnk.csd.xml
+++ b/examples-xml/oscbnk.csd.xml
@@ -42,7 +42,7 @@ i_	<emphasis role="ohdr">ftgen</emphasis> 7, 0, 64, <emphasis role="op">-</empha
 
 i0	<emphasis role="op">=</emphasis>  0
 <emphasis role="olabel">loop1</emphasis><emphasis role="op">:</emphasis>
-imaxh	<emphasis role="op">=</emphasis>  <emphasis role="ohdr">sr</emphasis> <emphasis role="op">/</emphasis> (2 <emphasis role="op">*</emphasis> 440.0 <emphasis role="op">*</emphasis> <emphasis role="opc">exp</emphasis> (<emphasis role="opc">log</emphasis>(2.0) <emphasis role="op">*</emphasis> (i0 <emphasis role="op">-</emphasis> 69) <emphasis role="op">/</emphasis> 12))
+imaxh	<emphasis role="op">=</emphasis>  <emphasis role="ohdr">sr</emphasis> <emphasis role="op">/</emphasis> (2 <emphasis role="op">*</emphasis> 440.0 <emphasis role="op">*</emphasis> <emphasis role="opc">exp</emphasis>(<emphasis role="opc">log</emphasis>(2.0) <emphasis role="op">*</emphasis> (i0 <emphasis role="op">-</emphasis> 69) <emphasis role="op">/</emphasis> 12))
 i_	<emphasis role="ohdr">ftgen</emphasis> i0 <emphasis role="op">+</emphasis> 256, 0, 4096, <emphasis role="op">-</emphasis>30, 1, 1, imaxh
 i0	<emphasis role="op">=</emphasis>  i0 <emphasis role="op">+</emphasis> 1
 	<emphasis role="octrl">if</emphasis> (i0 <emphasis role="op"><</emphasis> 127.5) <emphasis role="octrl">igoto</emphasis> <emphasis role="olabel">loop1</emphasis>
@@ -52,9 +52,9 @@ i0	<emphasis role="op">=</emphasis>  i0 <emphasis role="op">+</emphasis> 1
 p3	<emphasis role="op">=</emphasis>  p3 <emphasis role="op">+</emphasis> 0.4
 
 <emphasis role="comment">; note frequency</emphasis>
-kcps	<emphasis role="op">=</emphasis>  440.0 <emphasis role="op">*</emphasis> <emphasis role="opc">exp</emphasis> (<emphasis role="opc">log</emphasis>(2.0) <emphasis role="op">*</emphasis> (p4 <emphasis role="op">-</emphasis> 69) <emphasis role="op">/</emphasis> 12)
+kcps	<emphasis role="op">=</emphasis>  440.0 <emphasis role="op">*</emphasis> <emphasis role="opc">exp</emphasis>(<emphasis role="opc">log</emphasis>(2.0) <emphasis role="op">*</emphasis> (p4 <emphasis role="op">-</emphasis> 69) <emphasis role="op">/</emphasis> 12)
 <emphasis role="comment">; lowpass max. frequency</emphasis>
-klpmaxf	<emphasis role="opc">limit</emphasis> 64 <emphasis role="op">*</emphasis> kcps, 1000.0, 12000.0
+klpmaxf	limit 64 <emphasis role="op">*</emphasis> kcps, 1000.0, 12000.0
 <emphasis role="comment">; FM depth in Hz</emphasis>
 kfmd1	<emphasis role="op">=</emphasis>  0.02 <emphasis role="op">*</emphasis> kcps
 <emphasis role="comment">; AM frequency</emphasis>
diff --git a/examples-xml/oscil.csd.xml b/examples-xml/oscil.csd.xml
index ff57705..672f2b5 100644
--- a/examples-xml/oscil.csd.xml
+++ b/examples-xml/oscil.csd.xml
@@ -2,42 +2,41 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o oscil.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1 - a basic oscillator.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 10000
-  kcps <emphasis role="op">=</emphasis> 440
-  ifn <emphasis role="op">=</emphasis> p4
 
-asig	<emphasis role="opc">oscil</emphasis>	kamp, kcps, ifn
-	<emphasis role="opc">outs</emphasis>	asig,asig
-<emphasis role="oblock">endin</emphasis>
+kamp <emphasis role="op">=</emphasis> .6
+kcps <emphasis role="op">=</emphasis> 440
+ifn  <emphasis role="op">=</emphasis> p4
 
+asig <emphasis role="opc">oscil</emphasis> kamp, kcps, ifn
+     <emphasis role="opc">outs</emphasis> asig,asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-<emphasis role="comment">; Table #2, a sawtooth wave</emphasis>
-<emphasis role="stamnt">f</emphasis> 2 0 256 7 -1 256 1
+<emphasis role="stamnt">f</emphasis>1 0 16384 10 1                                          <emphasis role="comment">; Sine</emphasis>
+<emphasis role="stamnt">f</emphasis>2 0 16384 10 1 0.5 0.3 0.25 0.2 0.167 0.14 0.125 .111   <emphasis role="comment">; Sawtooth</emphasis>
+<emphasis role="stamnt">f</emphasis>3 0 16384 10 1 0   0.3 0    0.2 0     0.14 0     .111   <emphasis role="comment">; Square</emphasis>
+<emphasis role="stamnt">f</emphasis>4 0 16384 10 1 1   1   1    0.7 0.5   0.3  0.1          <emphasis role="comment">; Pulse</emphasis>
 
 <emphasis role="stamnt">i</emphasis> 1 0 2 1
-<emphasis role="stamnt">i</emphasis> 1 + 2 2
-<emphasis role="stamnt">e</emphasis>
-
+<emphasis role="stamnt">i</emphasis> 1 3 2 2
+<emphasis role="stamnt">i</emphasis> 1 6 2 3
+<emphasis role="stamnt">i</emphasis> 1 9 2 4
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/oscil1.csd.xml b/examples-xml/oscil1.csd.xml
new file mode 100644
index 0000000..851e34b
--- /dev/null
+++ b/examples-xml/oscil1.csd.xml
@@ -0,0 +1,36 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o oscil1.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giPan <emphasis role="ohdr">ftgen</emphasis> 0, 0, 8, <emphasis role="op">-</emphasis>2, .5, .2, .8, .1, .9, 0, 1, .5
+
+<emphasis role="oblock">instr</emphasis>     1   
+
+istay <emphasis role="op">=</emphasis> 2 <emphasis role="comment">;how many seconds to stay on the first table value</emphasis>
+asig   <emphasis role="opc">vco2</emphasis> .3, 220
+kpan   <emphasis role="opc">oscil1</emphasis> istay, 1, p3<emphasis role="op">-</emphasis>istay, giPan <emphasis role="comment">;create panning </emphasis>
+       <emphasis role="opc">printk2</emphasis> kpan <emphasis role="comment">;print when new value</emphasis>
+aL, aR <emphasis role="opc">pan2</emphasis> asig, kpan <emphasis role="comment">;apply panning</emphasis>
+       <emphasis role="opc">outs</emphasis> aL, aR
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+                                                                                  
+<emphasis role="stamnt">i</emphasis> 1  0  10
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/oscil1i.csd.xml b/examples-xml/oscil1i.csd.xml
new file mode 100644
index 0000000..cfc5565
--- /dev/null
+++ b/examples-xml/oscil1i.csd.xml
@@ -0,0 +1,41 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o oscil1i.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis>     1   
+
+ipanfn <emphasis role="op">=</emphasis> p4
+asig   <emphasis role="opc">vco2</emphasis> .3, 220
+kpan   <emphasis role="opc">oscil1i</emphasis> 0, 1, p3, ipanfn	<emphasis role="comment">;create panning &</emphasis>
+kleft  <emphasis role="op">=</emphasis> <emphasis role="opc">sqrt</emphasis>(kpan)		<emphasis role="comment">;start right away</emphasis>
+kright <emphasis role="op">=</emphasis> <emphasis role="opc">sqrt</emphasis>(1<emphasis role="op">-</emphasis>kpan)     
+       <emphasis role="opc">outs</emphasis> kleft<emphasis role="op">*</emphasis>asig, kright<emphasis role="op">*</emphasis>asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+                                                                                  
+<emphasis role="stamnt">f</emphasis> 1 0  3 -7 .5  3  .5		<emphasis role="comment">;remain in center (.5 CONSTANT)                                                                          </emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 129 7  1 129 0 		<emphasis role="comment">;left-->right                                                                                                     </emphasis>
+<emphasis role="stamnt">f</emphasis> 3 0 129 7 .5  32 1 64 0 33 .5 <emphasis role="comment">;center-->left-->right-->center    </emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1  0  2  1			<emphasis role="comment">;use table 1</emphasis>
+<emphasis role="stamnt">i</emphasis> 1  3  2  2			<emphasis role="comment">;use table 2</emphasis>
+<emphasis role="stamnt">i</emphasis> 1  6  2  3			<emphasis role="comment">;use table 3</emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/oscil3.csd.xml b/examples-xml/oscil3.csd.xml
index dfa5c0b..e7e7607 100644
--- a/examples-xml/oscil3.csd.xml
+++ b/examples-xml/oscil3.csd.xml
@@ -2,56 +2,56 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o oscil3.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1 - a basic oscillator.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 10000
-  kcps <emphasis role="op">=</emphasis> 220
-  ifn <emphasis role="op">=</emphasis> 1
 
-  a1 <emphasis role="opc">oscil</emphasis> kamp, kcps, ifn
-  <emphasis role="opc">out</emphasis> a1
+kamp <emphasis role="op">=</emphasis> .6
+kcps <emphasis role="op">=</emphasis> 440
+ifn  <emphasis role="op">=</emphasis> p4
+
+asig <emphasis role="opc">oscil</emphasis> kamp, kcps, ifn
+     <emphasis role="opc">outs</emphasis> asig,asig
+
 <emphasis role="oblock">endin</emphasis>
 
-<emphasis role="comment">; Instrument #2 - the basic oscillator with cubic interpolation.</emphasis>
 <emphasis role="oblock">instr</emphasis> 2
-  kamp <emphasis role="op">=</emphasis> 10000
-  kcps <emphasis role="op">=</emphasis> 220
-  ifn <emphasis role="op">=</emphasis> 1
 
-  a1 <emphasis role="opc">oscil3</emphasis> kamp, kcps, ifn
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
+kamp <emphasis role="op">=</emphasis> .6
+kcps <emphasis role="op">=</emphasis> 440
+ifn  <emphasis role="op">=</emphasis> p4
 
+asig <emphasis role="opc">oscil3</emphasis> kamp, kcps, ifn
+     <emphasis role="opc">outs</emphasis> asig,asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 128 10 1                                          <emphasis role="comment">; Sine with a small amount of data</emphasis>
+<emphasis role="stamnt">f</emphasis>2 0 128 10 1 0.5 0.3 0.25 0.2 0.167 0.14 0.125 .111   <emphasis role="comment">; Sawtooth with a small amount of data</emphasis>
+<emphasis role="stamnt">f</emphasis>3 0 128 10 1 0   0.3 0    0.2 0     0.14 0     .111   <emphasis role="comment">; Square with a small amount of data</emphasis>
+<emphasis role="stamnt">f</emphasis>4 0 128 10 1 1   1   1    0.7 0.5   0.3  0.1          <emphasis role="comment">; Pulse with a small amount of data</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1  0 2 1
+<emphasis role="stamnt">i</emphasis> 2  3 2 1
+<emphasis role="stamnt">i</emphasis> 1  6 2 2
+<emphasis role="stamnt">i</emphasis> 2  9 2 2
+<emphasis role="stamnt">i</emphasis> 1 12 2 3
+<emphasis role="stamnt">i</emphasis> 2 15 2 3
+<emphasis role="stamnt">i</emphasis> 1 18 2 4
+<emphasis role="stamnt">i</emphasis> 2 21 2 4
 
-<emphasis role="comment">; Table #1, a sine wave table with a small amount of data.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 32 10 0 1
-
-<emphasis role="comment">; Play Instrument #1, the basic oscillator, for </emphasis>
-<emphasis role="comment">; two seconds. This should sound relatively rough.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
-
-<emphasis role="comment">; Play Instrument #2, the cubic interpolated oscillator, for</emphasis>
-<emphasis role="comment">; two seconds. This should sound relatively smooth.</emphasis>
-<emphasis role="stamnt">i</emphasis> 2 2 2
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/oscili.csd.xml b/examples-xml/oscili.csd.xml
index ceee813..35fd6f4 100644
--- a/examples-xml/oscili.csd.xml
+++ b/examples-xml/oscili.csd.xml
@@ -2,56 +2,56 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o oscili.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1 - a basic oscillator.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 10000
-  kcps <emphasis role="op">=</emphasis> 220
-  ifn <emphasis role="op">=</emphasis> 1
 
-  a1 <emphasis role="opc">oscil</emphasis> kamp, kcps, ifn
-  <emphasis role="opc">out</emphasis> a1
+kamp <emphasis role="op">=</emphasis> .6
+kcps <emphasis role="op">=</emphasis> 440
+ifn  <emphasis role="op">=</emphasis> p4
+
+asig <emphasis role="opc">oscil</emphasis> kamp, kcps, ifn
+     <emphasis role="opc">outs</emphasis> asig,asig
+
 <emphasis role="oblock">endin</emphasis>
 
-<emphasis role="comment">; Instrument #2 - the basic oscillator with extra interpolation.</emphasis>
 <emphasis role="oblock">instr</emphasis> 2
-  kamp <emphasis role="op">=</emphasis> 10000
-  kcps <emphasis role="op">=</emphasis> 220
-  ifn <emphasis role="op">=</emphasis> 1
 
-  a1 <emphasis role="opc">oscili</emphasis> kamp, kcps, ifn
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
+kamp <emphasis role="op">=</emphasis> .6
+kcps <emphasis role="op">=</emphasis> 440
+ifn  <emphasis role="op">=</emphasis> p4
 
+asig <emphasis role="opc">oscili</emphasis> kamp, kcps, ifn
+     <emphasis role="opc">outs</emphasis> asig,asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 128 10 1                                          <emphasis role="comment">; Sine with a small amount of data</emphasis>
+<emphasis role="stamnt">f</emphasis>2 0 128 10 1 0.5 0.3 0.25 0.2 0.167 0.14 0.125 .111   <emphasis role="comment">; Sawtooth with a small amount of data</emphasis>
+<emphasis role="stamnt">f</emphasis>3 0 128 10 1 0   0.3 0    0.2 0     0.14 0     .111   <emphasis role="comment">; Square with a small amount of data</emphasis>
+<emphasis role="stamnt">f</emphasis>4 0 128 10 1 1   1   1    0.7 0.5   0.3  0.1          <emphasis role="comment">; Pulse with a small amount of data</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1  0 2 1
+<emphasis role="stamnt">i</emphasis> 2  3 2 1
+<emphasis role="stamnt">i</emphasis> 1  6 2 2
+<emphasis role="stamnt">i</emphasis> 2  9 2 2
+<emphasis role="stamnt">i</emphasis> 1 12 2 3
+<emphasis role="stamnt">i</emphasis> 2 15 2 3
+<emphasis role="stamnt">i</emphasis> 1 18 2 4
+<emphasis role="stamnt">i</emphasis> 2 21 2 4
 
-<emphasis role="comment">; Table #1, a sine wave table with a small amount of data.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 32 10 0 1
-
-<emphasis role="comment">; Play Instrument #1, the basic oscillator, for </emphasis>
-<emphasis role="comment">; two seconds. This should sound relatively rough.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
-
-<emphasis role="comment">; Play Instrument #2, the interpolated oscillator, for</emphasis>
-<emphasis role="comment">; two seconds. This should sound relatively smooth.</emphasis>
-<emphasis role="stamnt">i</emphasis> 2 2 2
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/osciln.csd.xml b/examples-xml/osciln.csd.xml
new file mode 100644
index 0000000..a93ed4a
--- /dev/null
+++ b/examples-xml/osciln.csd.xml
@@ -0,0 +1,50 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o osciln.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+gione <emphasis role="ohdr">ftgen</emphasis> 1, 0, 1024, 7, 0, 1,   1, 1024, 0
+gitwo <emphasis role="ohdr">ftgen</emphasis> 2, 0, 1024, 7, 0, 512, 1, 512,  0
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;very simple waveguide system</emphasis>
+
+ifn     <emphasis role="op">=</emphasis> p4
+ipitch  <emphasis role="op">=</emphasis> p5
+itimes  <emphasis role="op">=</emphasis> p6
+iperiod <emphasis role="op">=</emphasis> 1000<emphasis role="op">/</emphasis>ipitch
+
+afeed   <emphasis role="opc">init</emphasis>   0
+aimpl   <emphasis role="opc">osciln</emphasis> 1, ipitch, ifn, itimes   <emphasis role="comment">;use as excitation signal</emphasis>
+arefl   <emphasis role="opc">tone</emphasis>   aimpl <emphasis role="op">+</emphasis> afeed, 4000
+aout    <emphasis role="opc">atone</emphasis>  arefl, 5000
+afeed   <emphasis role="opc">vdelay</emphasis> arefl, iperiod, 10
+        <emphasis role="opc">outs</emphasis>   aout<emphasis role="op">*</emphasis>3, aout<emphasis role="op">*</emphasis>3
+          
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0  4 1 110 1	<emphasis role="comment">;use different tables,</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 5  4 2 110 1	<emphasis role="comment">;& different pitch</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 10 4 1 110 10	<emphasis role="comment">;& different number of times the table is read</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 15 4 2 110 10
+<emphasis role="stamnt">i</emphasis> 1 20 6 1 880 1	
+<emphasis role="stamnt">i</emphasis> 1 25 3 2 880 1
+<emphasis role="stamnt">i</emphasis> 1 30 3 1 880 10
+<emphasis role="stamnt">i</emphasis> 1 35 3 2 880 10
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/oscils.csd.xml b/examples-xml/oscils.csd.xml
index 30ca877..10a59a0 100644
--- a/examples-xml/oscils.csd.xml
+++ b/examples-xml/oscils.csd.xml
@@ -2,38 +2,31 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o oscils.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1 - a fast sine oscillator.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  iamp <emphasis role="op">=</emphasis> 10000
-  icps <emphasis role="op">=</emphasis> 440
-  iphs <emphasis role="op">=</emphasis> 0
-
-  a1 <emphasis role="opc">oscils</emphasis> iamp, icps, iphs
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
 
+iflg <emphasis role="op">=</emphasis> p4
+asig <emphasis role="opc">oscils</emphasis> .7, 220, 0, iflg
+     <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for 2 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 1 0 2 0
+<emphasis role="stamnt">i</emphasis> 1 3 2 2	<emphasis role="comment">;double precision</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/out.csd.xml b/examples-xml/out.csd.xml
new file mode 100644
index 0000000..f3521bf
--- /dev/null
+++ b/examples-xml/out.csd.xml
@@ -0,0 +1,38 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o out.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kamp <emphasis role="op">=</emphasis> .6
+kcps <emphasis role="op">=</emphasis> 440
+ifn  <emphasis role="op">=</emphasis> p4
+
+asig <emphasis role="opc">oscil</emphasis> kamp, kcps, ifn
+     <emphasis role="opc">out</emphasis> asig	<emphasis role="comment">;one channel</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 16384 10 1                                          <emphasis role="comment">; Sine</emphasis>
+<emphasis role="stamnt">f</emphasis>2 0 16384 10 1 0.5 0.3 0.25 0.2 0.167 0.14 0.125 .111   <emphasis role="comment">; Sawtooth</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 2 1
+<emphasis role="stamnt">i</emphasis> 1 3 2 2
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/outc.csd.xml b/examples-xml/outc.csd.xml
new file mode 100644
index 0000000..ef7a338
--- /dev/null
+++ b/examples-xml/outc.csd.xml
@@ -0,0 +1,36 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o outc.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 5
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+asig <emphasis role="opc">vco2</emphasis> .05, 30	<emphasis role="comment">; sawtooth waveform at low volume</emphasis>
+
+kcut <emphasis role="opc">line</emphasis> 100, p3, 30	<emphasis role="comment">; Vary cutoff frequency</emphasis>
+kresonance <emphasis role="op">=</emphasis> 7
+inumlayer <emphasis role="op">=</emphasis> 2
+asig <emphasis role="opc">lowresx</emphasis> asig, kcut, kresonance, inumlayer
+<emphasis role="comment">; output same sound to 5 channels</emphasis>
+     <emphasis role="opc">outc</emphasis> asig,asig,asig,asig,asig	
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 30
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/outch-2.csd.xml b/examples-xml/outch-2.csd.xml
new file mode 100644
index 0000000..6a09ca0
--- /dev/null
+++ b/examples-xml/outch-2.csd.xml
@@ -0,0 +1,37 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o outch-2.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 4
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="ohdr">seed</emphasis>     0
+
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">;random movements between 4 speakers with outch</emphasis>
+
+ichn1     <emphasis role="opc">random</emphasis>    1, 4.999 <emphasis role="comment">;channel to start</emphasis>
+ichn2     <emphasis role="opc">random</emphasis>    1, 4.999 <emphasis role="comment">;channel to end</emphasis>
+          <emphasis role="opc">prints</emphasis>    "Moving from speaker <emphasis role="op">%</emphasis>d to speaker <emphasis role="op">%</emphasis>d<emphasis role="op">%</emphasis>n", <emphasis role="opc">int</emphasis>(ichn1), <emphasis role="opc">int</emphasis>(ichn2)
+asamp     <emphasis role="opc">soundin</emphasis>   "fox.wav"
+kmov      <emphasis role="opc">linseg</emphasis>    0, p3, 1
+a1, a2    <emphasis role="opc">pan2</emphasis>      asamp, kmov
+          <emphasis role="opc">outch</emphasis>     <emphasis role="opc">int</emphasis>(ichn1), a1, <emphasis role="opc">int</emphasis>(ichn2), a2
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">r</emphasis> 5
+<emphasis role="stamnt">i</emphasis> 1 0 3
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/outch.csd.xml b/examples-xml/outch.csd.xml
new file mode 100644
index 0000000..d4d90c8
--- /dev/null
+++ b/examples-xml/outch.csd.xml
@@ -0,0 +1,39 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o outch.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 5
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+asig <emphasis role="opc">vco2</emphasis> .05, 100	<emphasis role="comment">; sawtooth waveform at low volume</emphasis>
+
+kcut <emphasis role="opc">line</emphasis> 100, p3, 30	<emphasis role="comment">; Vary cutoff frequency</emphasis>
+kresonance <emphasis role="op">=</emphasis> .7
+inumlayer <emphasis role="op">=</emphasis> 3
+asig <emphasis role="opc">lowresx</emphasis> asig, kcut, kresonance, inumlayer
+
+klfo <emphasis role="opc">lfo</emphasis> 4, .5, 4	
+klfo <emphasis role="op">=</emphasis> klfo<emphasis role="op">+</emphasis>1		<emphasis role="comment">; offset of 1</emphasis>
+<emphasis role="opc">printks</emphasis> "signal is sent to channel <emphasis role="op">%</emphasis>d\\n", .1, klfo
+      <emphasis role="opc">outch</emphasis> klfo,asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 30
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/outiat.csd.xml b/examples-xml/outiat.csd.xml
new file mode 100644
index 0000000..7bc5474
--- /dev/null
+++ b/examples-xml/outiat.csd.xml
@@ -0,0 +1,34 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac -Q1 -M0  <emphasis role="comment">;;;realtime audio out and midi in and out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o outiat.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ikey <emphasis role="opc">notnum</emphasis> 
+ivel  <emphasis role="opc">veloc</emphasis>
+
+ivib <emphasis role="op">=</emphasis> 25		<emphasis role="comment">;low value.</emphasis>
+<emphasis role="opc">outiat</emphasis> 1, ivib, 0, 127	<emphasis role="comment">;assign aftertouch on</emphasis>
+<emphasis role="opc">print</emphasis> ivib		<emphasis role="comment">;external synth for example to</emphasis>
+<emphasis role="opc">midion</emphasis> 1, ikey, ivel	<emphasis role="comment">;change depth of filter modulation</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>0 30 			<emphasis role="comment">;play for 30 seconds</emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/outic.csd.xml b/examples-xml/outic.csd.xml
new file mode 100644
index 0000000..056e831
--- /dev/null
+++ b/examples-xml/outic.csd.xml
@@ -0,0 +1,32 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  -Q1 -M0  <emphasis role="comment">;;;realtime audio out -+rtmidi=virtual</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o outic.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ikey <emphasis role="opc">notnum</emphasis> 
+ivel <emphasis role="opc">veloc</emphasis>
+kbrt <emphasis role="op">=</emphasis> 40			<emphasis role="comment">;set controller 74 (=brightness)			</emphasis>
+<emphasis role="opc">outic</emphasis> 1, 74, kbrt, 0, 127	<emphasis role="comment">;so filter closes a bit</emphasis>
+<emphasis role="opc">midion</emphasis> 1, ikey, ivel		<emphasis role="comment">;play external synth</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>0 30	<emphasis role="comment">;runs 30 seconds</emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/outipb.csd.xml b/examples-xml/outipb.csd.xml
new file mode 100644
index 0000000..f99df7e
--- /dev/null
+++ b/examples-xml/outipb.csd.xml
@@ -0,0 +1,33 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac -Q1 -M0  <emphasis role="comment">;;;realtime audio out and midi in and out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o outipb.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ikey <emphasis role="opc">notnum</emphasis> 
+ivel  <emphasis role="opc">veloc</emphasis>
+
+ipb <emphasis role="op">=</emphasis> 10		<emphasis role="comment">;a little out of tune</emphasis>
+<emphasis role="opc">outipb</emphasis> 1, ipb, 0, 127	<emphasis role="comment">;(= pitchbend)</emphasis>
+<emphasis role="opc">midion</emphasis> 1, ikey, ivel	<emphasis role="comment">;of external synth</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>0 30
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/outipc.csd.xml b/examples-xml/outipc.csd.xml
new file mode 100644
index 0000000..9b08120
--- /dev/null
+++ b/examples-xml/outipc.csd.xml
@@ -0,0 +1,31 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac -Q1 -M0  <emphasis role="comment">;;;realtime audio out and midi in and out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o outipc.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+
+<emphasis role="oblock">instr</emphasis> 1
+
+<emphasis role="opc">outipc</emphasis> 1, 80, 0, 127	<emphasis role="comment">;program change --> 80</emphasis>
+ikey <emphasis role="opc">notnum</emphasis> 
+ivel <emphasis role="opc">veloc</emphasis>
+<emphasis role="opc">midion</emphasis> 1, ikey, ivel	<emphasis role="comment">;play external synth</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>0 30	<emphasis role="comment">;runs 30 seconds</emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/outkat.csd.xml b/examples-xml/outkat.csd.xml
new file mode 100644
index 0000000..acb2298
--- /dev/null
+++ b/examples-xml/outkat.csd.xml
@@ -0,0 +1,35 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac -Q1 -M0  <emphasis role="comment">;;;realtime audio out and midi in and out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o outkat.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ikey <emphasis role="opc">notnum</emphasis> 
+ivel  <emphasis role="opc">veloc</emphasis>
+
+kvib <emphasis role="opc">linseg</emphasis> 100, .5, 120	<emphasis role="comment">;vary aftertouch in .5 second</emphasis>
+kvbr <emphasis role="op">=</emphasis> <emphasis role="opc">int</emphasis>(kvib)		<emphasis role="comment">;whole numbers only</emphasis>
+<emphasis role="opc">outkat</emphasis> 1, kvbr, 0, 127		<emphasis role="comment">;assign aftertouch on</emphasis>
+<emphasis role="opc">printk2</emphasis> kvbr			<emphasis role="comment">;external synth for example to</emphasis>
+<emphasis role="opc">midion</emphasis> 1, ikey, ivel		<emphasis role="comment">;change depth of filter modulation</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>0 30 				<emphasis role="comment">;play for 30 seconds</emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/outkc.csd.xml b/examples-xml/outkc.csd.xml
new file mode 100644
index 0000000..822b897
--- /dev/null
+++ b/examples-xml/outkc.csd.xml
@@ -0,0 +1,34 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac -Q1 -M0  <emphasis role="comment">;;;realtime audio out and midi in and out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o outkc.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ikey <emphasis role="opc">notnum</emphasis> 
+ivel  <emphasis role="opc">veloc</emphasis>
+
+kcut <emphasis role="opc">linseg</emphasis> 100, .5, 20		<emphasis role="comment">;vary controller in .5 second</emphasis>
+kbrt <emphasis role="op">=</emphasis> <emphasis role="opc">int</emphasis>(kcut)		<emphasis role="comment">;whole numbers only</emphasis>
+<emphasis role="opc">outkc</emphasis> 1, 74, kbrt, 0, 127	<emphasis role="comment">;controller 74 (= brightness)</emphasis>
+<emphasis role="opc">midion</emphasis> 1, ikey, ivel		<emphasis role="comment">;of external synth</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>0 30	<emphasis role="comment">;runs 30 seconds</emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/outkpb.csd.xml b/examples-xml/outkpb.csd.xml
new file mode 100644
index 0000000..6c5fcd2
--- /dev/null
+++ b/examples-xml/outkpb.csd.xml
@@ -0,0 +1,34 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac -Q1 -M0  <emphasis role="comment">;;;realtime audio out and midi in and out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o outkpb.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ikey <emphasis role="opc">notnum</emphasis> 
+ivel  <emphasis role="opc">veloc</emphasis>
+
+kpch <emphasis role="opc">linseg</emphasis> 100, 1, 0	<emphasis role="comment">;vary in 1 second</emphasis>
+kpb <emphasis role="op">=</emphasis> <emphasis role="opc">int</emphasis>(kpch)		<emphasis role="comment">;whole numbers only</emphasis>
+<emphasis role="opc">outkpb</emphasis> 1, kpb, 0, 127	<emphasis role="comment">;(= pitchbend)</emphasis>
+<emphasis role="opc">midion</emphasis> 1, ikey, ivel	<emphasis role="comment">;of external synth</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>0 30
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/outkpc.csd.xml b/examples-xml/outkpc.csd.xml
index 94c5dfe..043bde6 100644
--- a/examples-xml/outkpc.csd.xml
+++ b/examples-xml/outkpc.csd.xml
@@ -3,7 +3,7 @@
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
 <emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d         -M0  -Q1<emphasis role="comment">;;;RT audio I/O with MIDI in</emphasis>
+-odac           -iadc     -d         -M0  -Q1 <emphasis role="comment">;;;RT audio I/O with MIDI in</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
diff --git a/examples-xml/outleta.csd.xml b/examples-xml/outleta.csd.xml
index 69d3e5e..4144b32 100644
--- a/examples-xml/outleta.csd.xml
+++ b/examples-xml/outleta.csd.xml
@@ -1,144 +1,49 @@
 <programlisting>
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
- 
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   No messages  MIDI in</emphasis>
--odac           -iadc     -d  <emphasis role="comment">;;;RT audio I/O </emphasis>
-<emphasis role="comment">;-Wfo outleta.wav </emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o outleta.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
- 
 
-<emphasis role="comment">; Initialize the global variables. </emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
 
-<emphasis role="ohdr">sr</emphasis> 	    <emphasis role="op">=</emphasis> 44100 
-<emphasis role="ohdr">ksmps</emphasis> 	<emphasis role="op">=</emphasis> 100 
-<emphasis role="ohdr">nchnls</emphasis> 	<emphasis role="op">=</emphasis> 2 
+<emphasis role="opc">connect</emphasis>	 "1", "Outl", "reverby", "InL" 
+<emphasis role="opc">connect</emphasis>	 "1", "Outr", "reverby", "InR" 
 
-<emphasis role="comment">; Connect up instruments and effects to create the signal flow graph. </emphasis>
+<emphasis role="opc">alwayson</emphasis> "reverby", 1
 
-<emphasis role="opc">connect</emphasis> "SimpleSine",   	"leftout",     "Reverberator",     	"leftin" 
-<emphasis role="opc">connect</emphasis> "SimpleSine",   	"rightout",    "Reverberator",     	"rightin" 
+<emphasis role="oblock">instr</emphasis> 1
 
-<emphasis role="opc">connect</emphasis> "Moogy",        	"leftout",     "Reverberator",     	"leftin" 
-<emphasis role="opc">connect</emphasis> "Moogy",        	"rightout",    "Reverberator",     	"rightin" 
+aIn <emphasis role="opc">diskin2</emphasis> "fox.wav", 1 
+    <emphasis role="opc">outleta</emphasis> "Outl", aIn 
+    <emphasis role="opc">outleta</emphasis> "Outr", aIn 
 
-<emphasis role="opc">connect</emphasis> "Reverberator", 	"leftout",     "Compressor",       	"leftin" 
-<emphasis role="opc">connect</emphasis> "Reverberator", 	"rightout",    "Compressor",       	"rightin" 
+<emphasis role="oblock">endin</emphasis> 
 
-<emphasis role="opc">connect</emphasis> "Compressor",   	"leftout",     "Soundfile",       	"leftin" 
-<emphasis role="opc">connect</emphasis> "Compressor",   	"rightout",    "Soundfile",       	"rightin" 
+<emphasis role="oblock">instr</emphasis> reverby
 
-<emphasis role="comment">; Turn on the "effect" units in the signal flow graph. </emphasis>
-
-<emphasis role="opc">alwayson</emphasis> "Reverberator", 0.91, 12000 
-<emphasis role="opc">alwayson</emphasis> "Compressor" 
-<emphasis role="opc">alwayson</emphasis> "Soundfile" 
-
-<emphasis role="comment">; Define instruments and effects in order of signal flow.</emphasis>
-
-			    <emphasis role="oblock">instr</emphasis> SimpleSine 
-                <emphasis role="comment">;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</emphasis>
-			    <emphasis role="comment">; Default values:   p1  p2  p3  p4  p5  p6  p7  p8  p9  p10</emphasis>
-			    <emphasis role="opc">pset</emphasis>			    0,  0,  10, 0,  0,  0,  0.5
-iattack			<emphasis role="op">=</emphasis>			        0.015
-idecay			<emphasis role="op">=</emphasis>			        0.07
-isustain		<emphasis role="op">=</emphasis>			        p3
-irelease		<emphasis role="op">=</emphasis>			        0.3
-p3			    <emphasis role="op">=</emphasis>			        iattack <emphasis role="op">+</emphasis> idecay <emphasis role="op">+</emphasis> isustain <emphasis role="op">+</emphasis> irelease
-adamping		<emphasis role="opc">linsegr</emphasis>			    0.0, iattack, 1.0, idecay <emphasis role="op">+</emphasis> isustain, 1.0, irelease, 0.0
-iHz 			<emphasis role="op">=</emphasis> 			        <emphasis role="opc">cpsmidinn</emphasis>(p4) 
-                <emphasis role="comment">; Rescale MIDI velocity range to a musically usable range of dB. </emphasis>
-iamplitude 		<emphasis role="op">=</emphasis> 			        <emphasis role="opc">ampdb</emphasis>(p5 <emphasis role="op">/</emphasis> 127 <emphasis role="op">*</emphasis> 15.0 <emphasis role="op">+</emphasis> 60.0) 
-			    <emphasis role="comment">; Use ftgenonce instead of ftgen, ftgentmp, or f statement. </emphasis>
-icosine			<emphasis role="opc">ftgenonce</emphasis> 		    0, 0, 65537, 11, 1 
-aoscili			<emphasis role="opc">oscili</emphasis> 			    iamplitude, iHz, icosine 
-aadsr 			<emphasis role="opc">madsr</emphasis> 			    iattack, idecay, 0.6, irelease 
-asignal 		<emphasis role="op">=</emphasis> 			        aoscili <emphasis role="op">*</emphasis> aadsr 
-aleft, aright	<emphasis role="opc">pan2</emphasis>			    asignal, p7
-			    <emphasis role="comment">; Stereo audio output to be routed in the orchestra header. </emphasis>
-			    <emphasis role="opc">outleta</emphasis> 		    "leftout", aleft
-			    <emphasis role="opc">outleta</emphasis> 		    "rightout", aright
-			    <emphasis role="oblock">endin</emphasis> 
-
-			    <emphasis role="oblock">instr</emphasis> Moogy 
-                <emphasis role="comment">;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</emphasis>
-			    <emphasis role="comment">; Default values:   p1  p2  p3  p4  p5  p6  p7  p8  p9  p10</emphasis>
-			    <emphasis role="opc">pset</emphasis>			    0,  0,  10, 0,  0,  0,  0.5
-iattack			<emphasis role="op">=</emphasis>			        0.003
-isustain		<emphasis role="op">=</emphasis>			        p3
-irelease		<emphasis role="op">=</emphasis>			        0.05
-p3			    <emphasis role="op">=</emphasis>			        iattack <emphasis role="op">+</emphasis> isustain <emphasis role="op">+</emphasis> irelease
-adamping		<emphasis role="opc">linsegr</emphasis>			    0.0, iattack, 1.0, isustain, 1.0, irelease, 0.0
-iHz 			<emphasis role="op">=</emphasis> 			        <emphasis role="opc">cpsmidinn</emphasis>(p4)
-                <emphasis role="comment">; Rescale MIDI velocity range to a musically usable range of dB. </emphasis>
-iamplitude 		<emphasis role="op">=</emphasis> 			        <emphasis role="opc">ampdb</emphasis>(p5 <emphasis role="op">/</emphasis> 127 <emphasis role="op">*</emphasis> 20.0 <emphasis role="op">+</emphasis> 60.0) 
-			    <emphasis role="opc">print</emphasis> 			    iHz, iamplitude 
-			    <emphasis role="comment">; Use ftgenonce instead of ftgen, ftgentmp, or f statement. </emphasis>
-isine 			<emphasis role="opc">ftgenonce</emphasis> 		    0, 0, 65537, 10, 1 
-asignal 		<emphasis role="opc">vco</emphasis> 			    iamplitude, iHz, 1, 0.5, isine 
-kfco 			<emphasis role="opc">line</emphasis> 			    2000, p3, 200
-krez 			<emphasis role="op">=</emphasis> 			        0.8 
-asignal 		<emphasis role="opc">moogvcf</emphasis> 		    asignal, kfco, krez, 100000 
-asignal			<emphasis role="op">=</emphasis>			        asignal <emphasis role="op">*</emphasis> adamping
-aleft, aright	<emphasis role="opc">pan2</emphasis>			    asignal, p7
-			    <emphasis role="comment">; Stereo audio output to be routed in the orchestra header. </emphasis>
-			    <emphasis role="opc">outleta</emphasis> 		    "leftout", aleft
-			    <emphasis role="opc">outleta</emphasis> 		    "rightout", aright 
-			    <emphasis role="oblock">endin</emphasis> 
-			    <emphasis role="oblock">instr</emphasis> Reverberator 
-                <emphasis role="comment">;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</emphasis>
-			    <emphasis role="comment">; Stereo input. </emphasis>
-aleftin 		<emphasis role="opc">inleta</emphasis> 			    "leftin" 
-arightin 		<emphasis role="opc">inleta</emphasis> 			    "rightin" 
-idelay 			<emphasis role="op">=</emphasis> 			        p4 
-icutoff 		<emphasis role="op">=</emphasis> 			        p5 
-aleft, aright 	<emphasis role="opc">reverbsc</emphasis> 	        aleftin, arightin, idelay, icutoff 
-			    <emphasis role="comment">; Stereo output. </emphasis>
-			    <emphasis role="opc">outleta</emphasis> 	        "leftout", aleft 
-			    <emphasis role="opc">outleta</emphasis> 	        "rightout", aright 
-			    <emphasis role="oblock">endin</emphasis> 
-
-			    <emphasis role="oblock">instr</emphasis> Compressor 
-                <emphasis role="comment">;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</emphasis>
-			    <emphasis role="comment">; Stereo input. </emphasis>
-aleftin 		<emphasis role="opc">inleta</emphasis> 		        "leftin" 
-arightin 		<emphasis role="opc">inleta</emphasis> 		        "rightin" 
-kthreshold 		<emphasis role="op">=</emphasis> 		            25000 
-icomp1 			<emphasis role="op">=</emphasis> 		            0.5 
-icomp2 			<emphasis role="op">=</emphasis> 		            0.763 
-irtime 			<emphasis role="op">=</emphasis> 		            0.1 
-iftime 			<emphasis role="op">=</emphasis> 		            0.1 
-aleftout 		<emphasis role="opc">dam</emphasis> 		        aleftin, kthreshold, icomp1, icomp2, irtime, iftime 
-arightout 		<emphasis role="opc">dam</emphasis> 		        arightin, kthreshold, icomp1, icomp2, irtime, iftime 
-			    <emphasis role="comment">; Stereo output. </emphasis>
-			    <emphasis role="opc">outleta</emphasis> 	        "leftout", aleftout 
-			    <emphasis role="opc">outleta</emphasis> 	        "rightout", arightout 
-			    <emphasis role="oblock">endin</emphasis> 
-
-			    <emphasis role="oblock">instr</emphasis> Soundfile 
-                <emphasis role="comment">;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</emphasis>
-			    <emphasis role="comment">; Stereo input. </emphasis>
-aleftin 		<emphasis role="opc">inleta</emphasis> 		        "leftin" 
-arightin 		<emphasis role="opc">inleta</emphasis> 		        "rightin" 
-			    <emphasis role="opc">outs</emphasis> 		        aleftin, arightin 
-			    <emphasis role="oblock">endin</emphasis> 
+aInL   <emphasis role="opc">inleta</emphasis> "InL" 
+aInR   <emphasis role="opc">inleta</emphasis> "InR" 
 
+al, ar <emphasis role="opc">reverbsc</emphasis>	aInL, aInR, 0.7, 21000 
+ifxlev <emphasis role="op">=</emphasis> 0.5 
+al     <emphasis role="op">=</emphasis> (aInL<emphasis role="op">*</emphasis>ifxlev)<emphasis role="op">+</emphasis>(al<emphasis role="op">*</emphasis>(1<emphasis role="op">-</emphasis>ifxlev)) 
+ar     <emphasis role="op">=</emphasis> (aInR<emphasis role="op">*</emphasis>ifxlev)<emphasis role="op">+</emphasis>(ar<emphasis role="op">*</emphasis>(1<emphasis role="op">-</emphasis>ifxlev)) 
+       <emphasis role="opc">outs</emphasis> al, ar 
+                                
+<emphasis role="oblock">endin</emphasis> 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
- 
-
-<emphasis role="comment">; It is not necessary to activate "effects" or create f-tables in the score! </emphasis>
-<emphasis role="comment">; Overlapping notes create new instances of instruments with proper connections. </emphasis>
-
-<emphasis role="stamnt">i</emphasis> "S<emphasis role="stamnt">i</emphasis>mpleS<emphasis role="stamnt">i</emphasis>ne" 1 5 60 85 
-<emphasis role="stamnt">i</emphasis> "S<emphasis role="stamnt">i</emphasis>mpleS<emphasis role="stamnt">i</emphasis>ne" 2 5 64 80 
-<emphasis role="stamnt">i</emphasis> "Moogy" 3 5 67 75 
-<emphasis role="stamnt">i</emphasis> "Moogy" 4 5 71 70 
-<emphasis role="comment">;1 extra second after the performance</emphasis>
-<emphasis role="stamnt">e</emphasis> 1 
 
+<emphasis role="stamnt">i</emphasis> 1 0 3 
+<emphasis role="stamnt">e</emphasis>4
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/outletk.csd.xml b/examples-xml/outletk.csd.xml
new file mode 100644
index 0000000..5e6572e
--- /dev/null
+++ b/examples-xml/outletk.csd.xml
@@ -0,0 +1,46 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o inletk.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+ 
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="opc">connect</emphasis> "bend", "bendout", "guitar", "bendin" 
+
+<emphasis role="oblock">instr</emphasis> bend 
+
+kbend <emphasis role="opc">line</emphasis> p4, p3, p5 
+      <emphasis role="opc">outletk</emphasis> "bendout", kbend 
+<emphasis role="oblock">endin</emphasis> 
+
+<emphasis role="oblock">instr</emphasis> guitar 
+
+kbend <emphasis role="opc">inletk</emphasis> "bendin" 
+kpch <emphasis role="opc">pow</emphasis> 2, kbend<emphasis role="op">/</emphasis>12
+     <emphasis role="opc">printk2</emphasis> kpch
+asig <emphasis role="opc">oscili</emphasis> .4, 440<emphasis role="op">*</emphasis>kpch, 1 
+     <emphasis role="opc">outs</emphasis> asig, asig
+<emphasis role="oblock">endin</emphasis> 
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+ 
+<emphasis role="stamnt">f</emphasis>1 0 1024 10 1
+
+<emphasis role="stamnt">i</emphasis>"gu<emphasis role="stamnt">i</emphasis>tar" 0 5 8.00 
+<emphasis role="stamnt">i</emphasis>"bend" 3 .2 -12 12 
+<emphasis role="stamnt">i</emphasis>"bend" 4 .1 -17 40 
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/outq.csd.xml b/examples-xml/outq.csd.xml
new file mode 100644
index 0000000..e353122
--- /dev/null
+++ b/examples-xml/outq.csd.xml
@@ -0,0 +1,57 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o outq.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 4
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+asig <emphasis role="opc">vco2</emphasis> .01, 110	<emphasis role="comment">; sawtooth waveform at low volume</emphasis>
+
+<emphasis role="comment">;filter the first channel</emphasis>
+kcut1 <emphasis role="opc">line</emphasis> 60, p3, 300	<emphasis role="comment">; Vary cutoff frequency</emphasis>
+kresonance1 <emphasis role="op">=</emphasis> 3
+inumlayer1 <emphasis role="op">=</emphasis> 3
+asig1 <emphasis role="opc">lowresx</emphasis> asig, kcut1, kresonance1, inumlayer1
+
+<emphasis role="comment">;filter the second channel</emphasis>
+kcut2 <emphasis role="opc">line</emphasis> 300, p3, 60	<emphasis role="comment">; Vary cutoff frequency</emphasis>
+kresonance2 <emphasis role="op">=</emphasis> 3
+inumlayer2 <emphasis role="op">=</emphasis> 3
+asig2 <emphasis role="opc">lowresx</emphasis> asig, kcut2, kresonance2, inumlayer2
+
+<emphasis role="comment">;filter the third channel</emphasis>
+kcut3 <emphasis role="opc">line</emphasis> 30, p3, 100<emphasis role="comment">; Vary cutoff frequency</emphasis>
+kresonance3 <emphasis role="op">=</emphasis> 6
+inumlayer3 <emphasis role="op">=</emphasis> 3
+asig3 <emphasis role="opc">lowresx</emphasis> asig, kcut3, kresonance3, inumlayer3
+asig3 <emphasis role="op">=</emphasis> asig3<emphasis role="op">*</emphasis>.1	<emphasis role="comment">; lower volume</emphasis>
+
+<emphasis role="comment">;filter the fourth channel</emphasis>
+kcut4 <emphasis role="opc">line</emphasis> 100, p3, 30<emphasis role="comment">; Vary cutoff frequency</emphasis>
+kresonance4 <emphasis role="op">=</emphasis> 6
+inumlayer4 <emphasis role="op">=</emphasis> 3
+asig4 <emphasis role="opc">lowresx</emphasis> asig, kcut4, kresonance4, inumlayer4
+asig4 <emphasis role="op">=</emphasis> asig4<emphasis role="op">*</emphasis>.1	<emphasis role="comment">; lower volume</emphasis>
+
+      <emphasis role="opc">outq</emphasis> asig1, asig2, asig3, asig4<emphasis role="comment">; output channels 1, 2, 3 & 4</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/outq1.csd.xml b/examples-xml/outq1.csd.xml
new file mode 100644
index 0000000..b69fd62
--- /dev/null
+++ b/examples-xml/outq1.csd.xml
@@ -0,0 +1,36 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o outq1.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 4
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+asig <emphasis role="opc">vco2</emphasis> .05, 30	<emphasis role="comment">; sawtooth waveform at low volume</emphasis>
+
+kcut <emphasis role="opc">line</emphasis> 60, p3, 300	<emphasis role="comment">; Vary cutoff frequency</emphasis>
+kresonance <emphasis role="op">=</emphasis> 7
+inumlayer <emphasis role="op">=</emphasis> 2
+asig <emphasis role="opc">lowresx</emphasis> asig, kcut, kresonance, inumlayer
+
+      <emphasis role="opc">outq1</emphasis> asig	<emphasis role="comment">; output channel 1</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 3
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/outq2.csd.xml b/examples-xml/outq2.csd.xml
new file mode 100644
index 0000000..a901e4e
--- /dev/null
+++ b/examples-xml/outq2.csd.xml
@@ -0,0 +1,36 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o outq2.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 4
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+asig <emphasis role="opc">vco2</emphasis> .05, 30	<emphasis role="comment">; sawtooth waveform at low volume</emphasis>
+
+kcut <emphasis role="opc">line</emphasis> 300, p3, 60	<emphasis role="comment">; Vary cutoff frequency</emphasis>
+kresonance <emphasis role="op">=</emphasis> 7
+inumlayer <emphasis role="op">=</emphasis> 2
+asig <emphasis role="opc">lowresx</emphasis> asig, kcut, kresonance, inumlayer
+
+      <emphasis role="opc">outq2</emphasis> asig	<emphasis role="comment">; output channel 2</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 3
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/outq3.csd.xml b/examples-xml/outq3.csd.xml
new file mode 100644
index 0000000..f988fa5
--- /dev/null
+++ b/examples-xml/outq3.csd.xml
@@ -0,0 +1,36 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o outq3.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 4
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+asig <emphasis role="opc">vco2</emphasis> .05, 30	<emphasis role="comment">; sawtooth waveform at low volume</emphasis>
+
+kcut <emphasis role="opc">line</emphasis> 30, p3, 100	<emphasis role="comment">; Vary cutoff frequency</emphasis>
+kresonance <emphasis role="op">=</emphasis> 7
+inumlayer <emphasis role="op">=</emphasis> 2
+asig <emphasis role="opc">lowresx</emphasis> asig, kcut, kresonance, inumlayer
+
+      <emphasis role="opc">outq3</emphasis> asig	<emphasis role="comment">; output channel 3</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 3
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/outq4.csd.xml b/examples-xml/outq4.csd.xml
new file mode 100644
index 0000000..be912d1
--- /dev/null
+++ b/examples-xml/outq4.csd.xml
@@ -0,0 +1,36 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o outq4.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 4
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+asig <emphasis role="opc">vco2</emphasis> .05, 30	<emphasis role="comment">; sawtooth waveform at low volume</emphasis>
+
+kcut <emphasis role="opc">line</emphasis> 100, p3, 30	<emphasis role="comment">; Vary cutoff frequency</emphasis>
+kresonance <emphasis role="op">=</emphasis> 7
+inumlayer <emphasis role="op">=</emphasis> 2
+asig <emphasis role="opc">lowresx</emphasis> asig, kcut, kresonance, inumlayer
+
+      <emphasis role="opc">outq4</emphasis> asig	<emphasis role="comment">; output channel 4</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 3
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/outrg.csd.xml b/examples-xml/outrg.csd.xml
new file mode 100644
index 0000000..c0c149c
--- /dev/null
+++ b/examples-xml/outrg.csd.xml
@@ -0,0 +1,48 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o outrg.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 4        <emphasis role="comment">;quad</emphasis>
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kleft <emphasis role="opc">init</emphasis> 1
+asig  <emphasis role="opc">vco2</emphasis> .5, 220			<emphasis role="comment">;sawtooth</emphasis>
+idur <emphasis role="op">=</emphasis> p3<emphasis role="op">/</emphasis>(<emphasis role="ohdr">nchnls</emphasis><emphasis role="op">-</emphasis>1)
+knext <emphasis role="opc">init</emphasis> idur
+kpos <emphasis role="opc">init</emphasis> 0
+krate <emphasis role="opc">init</emphasis> 1<emphasis role="op">/</emphasis>idur
+kbase <emphasis role="opc">init</emphasis> 0
+ktime <emphasis role="opc">timeinsts</emphasis>
+<emphasis role="octrl">if</emphasis> ktime<emphasis role="op">>=</emphasis>knext then
+  kleft <emphasis role="op">=</emphasis> kleft <emphasis role="op">+</emphasis> 1
+  knext <emphasis role="op">=</emphasis> knext <emphasis role="op">+</emphasis> idur
+  kpos <emphasis role="op">=</emphasis> 0
+  kbase <emphasis role="op">=</emphasis> ktime
+<emphasis role="octrl">else</emphasis>
+  kpos <emphasis role="op">=</emphasis> (ktime<emphasis role="op">-</emphasis>kbase)<emphasis role="op">/</emphasis>idur
+<emphasis role="octrl">endif</emphasis>
+<emphasis role="opc">printks</emphasis> "speaker <emphasis role="op">%</emphasis>d position <emphasis role="op">%</emphasis>f\n", 0, kleft, kpos
+a1,a2 <emphasis role="opc">pan2</emphasis> asig, kpos
+      <emphasis role="opc">outrg</emphasis>  kleft, a1, a2
+kpos <emphasis role="op">=</emphasis> kbase<emphasis role="op">/</emphasis>idur
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 10
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/outs.csd.xml b/examples-xml/outs.csd.xml
new file mode 100644
index 0000000..4d0d45d
--- /dev/null
+++ b/examples-xml/outs.csd.xml
@@ -0,0 +1,41 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o outs.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+asig <emphasis role="opc">vco2</emphasis> .01, 110	<emphasis role="comment">; sawtooth waveform at low volume</emphasis>
+<emphasis role="comment">;filter a channel</emphasis>
+kcut1 <emphasis role="opc">line</emphasis> 60, p3, 300	<emphasis role="comment">; Vary cutoff frequency</emphasis>
+kresonance1 <emphasis role="op">=</emphasis> 3
+inumlayer1 <emphasis role="op">=</emphasis> 3
+asig1 <emphasis role="opc">lowresx</emphasis> asig, kcut1, kresonance1, inumlayer1
+<emphasis role="comment">;filter the other channel</emphasis>
+kcut2 <emphasis role="opc">line</emphasis> 300, p3, 60	<emphasis role="comment">; Vary cutoff frequency</emphasis>
+kresonance2 <emphasis role="op">=</emphasis> 3
+inumlayer2 <emphasis role="op">=</emphasis> 3
+asig2 <emphasis role="opc">lowresx</emphasis> asig, kcut2, kresonance2, inumlayer2
+
+      <emphasis role="opc">outs</emphasis> asig1, asig2	<emphasis role="comment">; output both channels 1 & 2</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 3
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/outs1.csd.xml b/examples-xml/outs1.csd.xml
new file mode 100644
index 0000000..caa9425
--- /dev/null
+++ b/examples-xml/outs1.csd.xml
@@ -0,0 +1,34 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o outs1.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+asig <emphasis role="opc">vco2</emphasis> .01, 110	<emphasis role="comment">; sawtooth waveform at low volume</emphasis>
+kcut <emphasis role="opc">line</emphasis> 60, p3, 300	<emphasis role="comment">; Vary cutoff frequency</emphasis>
+kresonance <emphasis role="op">=</emphasis> 3
+inumlayer <emphasis role="op">=</emphasis> 3
+asig <emphasis role="opc">lowresx</emphasis> asig, kcut, kresonance, inumlayer
+     <emphasis role="opc">outs1</emphasis> asig		<emphasis role="comment">; output stereo channel 1 only</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 3
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/outs2.csd.xml b/examples-xml/outs2.csd.xml
new file mode 100644
index 0000000..5a69c99
--- /dev/null
+++ b/examples-xml/outs2.csd.xml
@@ -0,0 +1,34 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o outs2.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+asig <emphasis role="opc">vco2</emphasis> .01, 110	<emphasis role="comment">; sawtooth waveform at low volume</emphasis>
+kcut <emphasis role="opc">line</emphasis> 300, p3, 60	<emphasis role="comment">; Vary cutoff frequency</emphasis>
+kresonance <emphasis role="op">=</emphasis> 3
+inumlayer <emphasis role="op">=</emphasis> 3
+asig <emphasis role="opc">lowresx</emphasis> asig, kcut, kresonance, inumlayer
+     <emphasis role="opc">outs2</emphasis> asig		<emphasis role="comment">; output stereo channel 2 only</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 3
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/outvalue.csd.xml b/examples-xml/outvalue.csd.xml
new file mode 100644
index 0000000..6d0f8d0
--- /dev/null
+++ b/examples-xml/outvalue.csd.xml
@@ -0,0 +1,28 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="comment">;run this example in CsoundQt, a Csound editor that provides widgets</emphasis>
+<emphasis role="comment">;make the Widgets-panel visible, by clicking the Widgets symbol in the menu or pressing (Alt+1).</emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+<emphasis role="comment">; written by Alex Hofmann</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;move fader</emphasis>
+
+kMoveUp  <emphasis role="opc">linseg</emphasis> 0, 3, 1, 1, 1, 0.5, 0
+<emphasis role="opc">outvalue</emphasis> "movefader", kMoveUp
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/pan.csd.xml b/examples-xml/pan.csd.xml
index e4e6289..aa7de1f 100644
--- a/examples-xml/pan.csd.xml
+++ b/examples-xml/pan.csd.xml
@@ -2,38 +2,39 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   No messages  MIDI in</emphasis>
--odac           -iadc     -d         <emphasis role="comment">;;;RT audio I/O with MIDI in</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if real audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o pan.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
-<emphasis role="comment">; 4 channel</emphasis>
-<emphasis role="ohdr">sr</emphasis>	<emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis>	<emphasis role="op">=</emphasis> 441	
-<emphasis role="ohdr">ksmps</emphasis>	<emphasis role="op">=</emphasis> 100
-<emphasis role="ohdr">nchnls</emphasis>	<emphasis role="op">=</emphasis> 4
 
-	<emphasis role="oblock">instr</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 4
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-k1	<emphasis role="opc">phasor</emphasis>	.2			<emphasis role="comment">; "fraction" of circle - controls speed of rotation - can be negative</emphasis>
-k2	<emphasis role="opc">tablei</emphasis>	<emphasis role="opc">k</emphasis>	1, 1, 1 			<emphasis role="comment">; sin of angle (sinusoid in f1)</emphasis>
-k3 	<emphasis role="opc">tablei</emphasis>	<emphasis role="opc">k</emphasis>	1, 1, 1, .25, 1		<emphasis role="comment">; cos of angle (sin offset 1/4 circle)</emphasis>
-asig	<emphasis role="opc">rand</emphasis> 10000		<emphasis role="comment">; audio signal.. </emphasis>
+<emphasis role="oblock">instr</emphasis> 1
+
+kcps <emphasis role="op">=</emphasis> p4
+k1   <emphasis role="opc">phasor</emphasis> kcps		<emphasis role="comment">; "fraction" of circle - controls speed of rotation - can be negative</emphasis>
+k2   <emphasis role="opc">tablei</emphasis> k1, 1, 1 		<emphasis role="comment">; sin of angle (sinusoid in f1)</emphasis>
+k3   <emphasis role="opc">tablei</emphasis> k1, 1, 1, .25, 1	<emphasis role="comment">; cos of angle (sin offset 1/4 circle)</emphasis>
+arnd <emphasis role="opc">randomi</emphasis> 400, 1000, 50	<emphasis role="comment">; produce random values </emphasis>
+asig <emphasis role="opc">poscil</emphasis> .7, arnd, 1		<emphasis role="comment">; audio signal.. </emphasis>
 
 a1,a2,a3,a4 <emphasis role="opc">pan</emphasis>	asig, k2<emphasis role="op">/</emphasis>2, k3<emphasis role="op">/</emphasis>2, 2, 1, 1	<emphasis role="comment">; sent in a circle (f2=1st quad sin)</emphasis>
 	<emphasis role="opc">outq</emphasis>	a1, a2, a3, a4
 
-	<emphasis role="oblock">endin</emphasis>
-
-
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
 <emphasis role="stamnt">f</emphasis>1 0 8192 10 1
 <emphasis role="stamnt">f</emphasis>2 0 8193 9 .25 1 0
 
-<emphasis role="stamnt">i</emphasis>1 0 10
+<emphasis role="stamnt">i</emphasis>1 0 10 .2	<emphasis role="comment">;move to the tight</emphasis>
+<emphasis role="stamnt">i</emphasis>1 11 10 -.2	<emphasis role="comment">;move to the left</emphasis>
 <emphasis role="stamnt">e</emphasis>
 
 <emphasis role="csdtag"></CsScore></emphasis>
diff --git a/examples-xml/pan2.csd.xml b/examples-xml/pan2.csd.xml
index 82b6ca4..471c977 100644
--- a/examples-xml/pan2.csd.xml
+++ b/examples-xml/pan2.csd.xml
@@ -2,29 +2,28 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if real audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o pan2.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 20
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-giSine		<emphasis role="ohdr">ftgen</emphasis>	0, 0, 65537, 10, 1
+giSine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
 kline	<emphasis role="opc">line</emphasis>	0, p3, 1     <emphasis role="comment">; straight line</emphasis>
-ain	<emphasis role="opc">oscili</emphasis>	10000,440, giSine <emphasis role="comment">; audio signal..</emphasis>
-a1,a2	<emphasis role="opc">pan2</emphasis>	ain, kline   <emphasis role="comment">; sent across image</emphasis>
-	<emphasis role="opc">outs</emphasis>	a1, a2
-
+ain	<emphasis role="opc">oscili</emphasis>	.6, 440, giSine <emphasis role="comment">; audio signal..</emphasis>
+aL,aR	<emphasis role="opc">pan2</emphasis>	ain, kline   <emphasis role="comment">; sent across image</emphasis>
+	<emphasis role="opc">outs</emphasis>	aL, aR
 
 <emphasis role="oblock">endin</emphasis>
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 <emphasis role="stamnt">i</emphasis>1 0 5
diff --git a/examples-xml/partials.csd.xml b/examples-xml/partials.csd.xml
index dc89189..dfd4c4b 100644
--- a/examples-xml/partials.csd.xml
+++ b/examples-xml/partials.csd.xml
@@ -2,39 +2,33 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   No messages  MIDI in</emphasis>
--odac           -iadc     -d         <emphasis role="comment">;;;RT audio I/O with MIDI in</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if real audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o partials.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-<emphasis role="comment">;ain inch 1                  ; input signal</emphasis>
-ain	<emphasis role="opc">diskin2</emphasis>	"beats.wav", 1, 0, 1
-fs1,fsi2	<emphasis role="opc">pvsifd</emphasis>	ain,2048,512,1 <emphasis role="comment">; ifd analysis</emphasis>
-fst	<emphasis role="opc">partials</emphasis>	fs1,fsi2,.003,1,3,500 <emphasis role="comment">; partial tracking</emphasis>
-aout	<emphasis role="opc">resyn</emphasis>		fst, 1, 1.5, 500, 1 <emphasis role="comment">; resynthesis (up a 5th)</emphasis>
-	<emphasis role="opc">out</emphasis>	aout
-
-<emphasis role="oblock">endin</emphasis>
 
+ain  <emphasis role="opc">diskin2</emphasis> "fox.wav", 1
+fs1,fsi2 <emphasis role="opc">pvsifd</emphasis> ain,2048,512,1		<emphasis role="comment">; ifd analysis</emphasis>
+fst  <emphasis role="opc">partials</emphasis> fs1,fsi2,.003,1,3,500	<emphasis role="comment">; partial tracking</emphasis>
+aout <emphasis role="opc">resyn</emphasis> fst, 1, 1.5, 500, 1		<emphasis role="comment">; resynthesis (up a 5th)</emphasis>
+     <emphasis role="opc">outs</emphasis> aout, aout
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 4096 10 1
 
-<emphasis role="stamnt">i</emphasis> 1 0 5
+<emphasis role="stamnt">i</emphasis> 1 0 2.8
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/partikkel-2.csd.xml b/examples-xml/partikkel-2.csd.xml
new file mode 100644
index 0000000..2ad84aa
--- /dev/null
+++ b/examples-xml/partikkel-2.csd.xml
@@ -0,0 +1,152 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+<emphasis role="comment">; Audio out  </emphasis>
+-odac           <emphasis role="comment">;;;RT audio </emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o partikkel.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 20
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+
+<emphasis role="comment">; Example by Joachim Heintz and Oeyvind Brandtsegg 2008</emphasis>
+
+giCosine	<emphasis role="ohdr">ftgen</emphasis>	0, 0, 8193, 9, 1, 1, 90		<emphasis role="comment">; cosine</emphasis>
+giDisttab	<emphasis role="ohdr">ftgen</emphasis>	0, 0, 32768, 7, 0, 32768, 1	<emphasis role="comment">; for kdistribution</emphasis>
+giFile		<emphasis role="ohdr">ftgen</emphasis>	0, 0, 0, 1, "fox.wav", 0, 0, 0	<emphasis role="comment">; soundfile for source waveform</emphasis>
+giWin		<emphasis role="ohdr">ftgen</emphasis>	0, 0, 4096, 20, 9, 1		<emphasis role="comment">; grain envelope</emphasis>
+giPan		<emphasis role="ohdr">ftgen</emphasis>	0, 0, 32768, <emphasis role="op">-</emphasis>21, 1		<emphasis role="comment">; for panning (random values between 0 and 1)</emphasis>
+
+
+<emphasis role="comment">; *************************************************</emphasis>
+<emphasis role="comment">; partikkel example, processing of soundfile</emphasis>
+<emphasis role="comment">; uses the file "fox.wav" </emphasis>
+<emphasis role="comment">; *************************************************</emphasis>
+		<emphasis role="oblock">instr</emphasis> 1
+
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis>score parameters<emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+ispeed			<emphasis role="op">=</emphasis> p4		<emphasis role="comment">; 1 = original speed </emphasis>
+igrainrate		<emphasis role="op">=</emphasis> p5		<emphasis role="comment">; grain rate</emphasis>
+igrainsize		<emphasis role="op">=</emphasis> p6		<emphasis role="comment">; grain size in ms</emphasis>
+icent			<emphasis role="op">=</emphasis> p7		<emphasis role="comment">; transposition in cent</emphasis>
+iposrand		<emphasis role="op">=</emphasis> p8		<emphasis role="comment">; time position randomness (offset) of the pointer in ms</emphasis>
+icentrand		<emphasis role="op">=</emphasis> p9		<emphasis role="comment">; transposition randomness in cents</emphasis>
+ipan			<emphasis role="op">=</emphasis> p10		<emphasis role="comment">; panning narrow (0) to wide (1)</emphasis>
+idist			<emphasis role="op">=</emphasis> p11		<emphasis role="comment">; grain distribution (0=periodic, 1=scattered)</emphasis>
+
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis>get length of source wave file, needed for both transposition and time pointer<emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+ifilen			<emphasis role="opc">tableng</emphasis>	giFile
+ifildur			<emphasis role="op">=</emphasis> ifilen <emphasis role="op">/</emphasis> <emphasis role="ohdr">sr</emphasis>
+
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis>sync input (disabled)<emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+async			<emphasis role="op">=</emphasis> 0		
+
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis><emphasis role="opc">grain</emphasis> envelope<emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+kenv2amt		<emphasis role="op">=</emphasis> 1		<emphasis role="comment">; use only secondary envelope</emphasis>
+ienv2tab 		<emphasis role="op">=</emphasis> giWin		<emphasis role="comment">; grain (secondary) envelope</emphasis>
+ienv_attack		<emphasis role="op">=</emphasis> <emphasis role="op">-</emphasis>1 		<emphasis role="comment">; default attack envelope (flat)</emphasis>
+ienv_decay		<emphasis role="op">=</emphasis> <emphasis role="op">-</emphasis>1 		<emphasis role="comment">; default decay envelope (flat)</emphasis>
+ksustain_amount		<emphasis role="op">=</emphasis> 0.5		<emphasis role="comment">; no meaning in this case (use only secondary envelope, ienv2tab)</emphasis>
+ka_d_ratio		<emphasis role="op">=</emphasis> 0.5 		<emphasis role="comment">; no meaning in this case (use only secondary envelope, ienv2tab)</emphasis>
+
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis>amplitude<emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+kamp			<emphasis role="op">=</emphasis> 0.4<emphasis role="op">*</emphasis><emphasis role="ohdr">0dbfs</emphasis>	<emphasis role="comment">; grain amplitude</emphasis>
+igainmasks		<emphasis role="op">=</emphasis> <emphasis role="op">-</emphasis>1		<emphasis role="comment">; (default) no gain masking</emphasis>
+
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis>transposition<emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+kcentrand		<emphasis role="opc">rand</emphasis> icentrand	<emphasis role="comment">; random transposition</emphasis>
+iorig			<emphasis role="op">=</emphasis> 1 <emphasis role="op">/</emphasis> ifildur	<emphasis role="comment">; original pitch</emphasis>
+kwavfreq		<emphasis role="op">=</emphasis> iorig <emphasis role="op">*</emphasis> <emphasis role="opc">cent</emphasis>(icent <emphasis role="op">+</emphasis> kcentrand)
+
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis>other <emphasis role="opc">pitch</emphasis> related (disabled)<emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+ksweepshape		<emphasis role="op">=</emphasis> 0		<emphasis role="comment">; no frequency sweep</emphasis>
+iwavfreqstarttab 	<emphasis role="op">=</emphasis> <emphasis role="op">-</emphasis>1		<emphasis role="comment">; default frequency sweep start</emphasis>
+iwavfreqendtab		<emphasis role="op">=</emphasis> <emphasis role="op">-</emphasis>1		<emphasis role="comment">; default frequency sweep end</emphasis>
+awavfm			<emphasis role="op">=</emphasis> 0		<emphasis role="comment">; no FM input</emphasis>
+ifmamptab		<emphasis role="op">=</emphasis> <emphasis role="op">-</emphasis>1		<emphasis role="comment">; default FM scaling (=1)</emphasis>
+kfmenv			<emphasis role="op">=</emphasis> <emphasis role="op">-</emphasis>1		<emphasis role="comment">; default FM envelope (flat)</emphasis>
+
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis>trainlet related (disabled)<emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+icosine			<emphasis role="op">=</emphasis> giCosine	<emphasis role="comment">; cosine ftable</emphasis>
+kTrainCps		<emphasis role="op">=</emphasis> igrainrate	<emphasis role="comment">; set trainlet cps equal to grain rate for single-cycle trainlet in each grain</emphasis>
+knumpartials		<emphasis role="op">=</emphasis> 1		<emphasis role="comment">; number of partials in trainlet</emphasis>
+kchroma			<emphasis role="op">=</emphasis> 1		<emphasis role="comment">; balance of partials in trainlet</emphasis>
+
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis>panning, using channel masks<emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+imid			<emphasis role="op">=</emphasis> .5<emphasis role="comment">; center</emphasis>
+ileftmost		<emphasis role="op">=</emphasis> imid <emphasis role="op">-</emphasis> ipan<emphasis role="op">/</emphasis>2
+irightmost		<emphasis role="op">=</emphasis> imid <emphasis role="op">+</emphasis> ipan<emphasis role="op">/</emphasis>2
+giPanthis		<emphasis role="ohdr">ftgen</emphasis>	0, 0, 32768, <emphasis role="op">-</emphasis>24, giPan, ileftmost, irightmost	<emphasis role="comment">; rescales giPan according to ipan</emphasis>
+			<emphasis role="opc">tableiw</emphasis>		0, 0, giPanthis				<emphasis role="comment">; change index 0 ...</emphasis>
+			<emphasis role="opc">tableiw</emphasis>		32766, 1, giPanthis			<emphasis role="comment">; ... and 1 for ichannelmasks</emphasis>
+ichannelmasks		<emphasis role="op">=</emphasis> giPanthis		<emphasis role="comment">; ftable for panning</emphasis>
+
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis><emphasis role="opc">random</emphasis> <emphasis role="opc">gain</emphasis> masking (disabled)<emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+krandommask		<emphasis role="op">=</emphasis> 0	
+
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis>source waveforms<emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+kwaveform1		<emphasis role="op">=</emphasis> giFile	<emphasis role="comment">; source waveform</emphasis>
+kwaveform2		<emphasis role="op">=</emphasis> giFile	<emphasis role="comment">; all 4 sources are the same</emphasis>
+kwaveform3		<emphasis role="op">=</emphasis> giFile
+kwaveform4		<emphasis role="op">=</emphasis> giFile
+iwaveamptab		<emphasis role="op">=</emphasis> <emphasis role="op">-</emphasis>1		<emphasis role="comment">; (default) equal mix of source waveforms and no amplitude for trainlets</emphasis>
+
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis>time pointer<emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+afilposphas		<emphasis role="opc">phasor</emphasis> ispeed <emphasis role="op">/</emphasis> ifildur
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis>generate <emphasis role="opc">random</emphasis> deviation of the time pointer<emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+iposrandsec		<emphasis role="op">=</emphasis> iposrand <emphasis role="op">/</emphasis> 1000	<emphasis role="comment">; ms -> sec</emphasis>
+iposrand		<emphasis role="op">=</emphasis> iposrandsec <emphasis role="op">/</emphasis> ifildur	<emphasis role="comment">; phase values (0-1)</emphasis>
+krndpos			<emphasis role="opc">linrand</emphasis>	 iposrand	<emphasis role="comment">; random offset in phase values</emphasis>
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis>add <emphasis role="opc">random</emphasis> deviation to the time pointer<emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+asamplepos1		<emphasis role="op">=</emphasis> afilposphas <emphasis role="op">+</emphasis> krndpos<emphasis role="comment">; resulting phase values (0-1)</emphasis>
+asamplepos2		<emphasis role="op">=</emphasis> asamplepos1
+asamplepos3		<emphasis role="op">=</emphasis> asamplepos1	
+asamplepos4		<emphasis role="op">=</emphasis> asamplepos1	
+
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis>original key for each source waveform<emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+kwavekey1		<emphasis role="op">=</emphasis> 1
+kwavekey2		<emphasis role="op">=</emphasis> kwavekey1	
+kwavekey3		<emphasis role="op">=</emphasis> kwavekey1
+kwavekey4		<emphasis role="op">=</emphasis> kwavekey1
+
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> maximum number of grains per <emphasis role="opc">k</emphasis><emphasis role="op">-</emphasis>period<emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+imax_grains		<emphasis role="op">=</emphasis> 100		
+
+aL, aR		<emphasis role="opc">partikkel</emphasis> igrainrate, idist, giDisttab, async, kenv2amt, ienv2tab, \
+		ienv_attack, ienv_decay, ksustain_amount, ka_d_ratio, igrainsize, kamp, igainmasks, \
+		kwavfreq, ksweepshape, iwavfreqstarttab, iwavfreqendtab, awavfm, \
+		ifmamptab, kfmenv, icosine, kTrainCps, knumpartials, \
+		kchroma, ichannelmasks, krandommask, kwaveform1, kwaveform2, kwaveform3, kwaveform4, \
+		iwaveamptab, asamplepos1, asamplepos2, asamplepos3, asamplepos4, \
+		kwavekey1, kwavekey2, kwavekey3, kwavekey4, imax_grains
+
+		<emphasis role="opc">outs</emphasis>			aL, aR
+
+<emphasis role="oblock">endin</emphasis>
+
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">;i1	st	dur	speed	grate	gsize	cent	posrnd	cntrnd	pan	dist</emphasis>
+<emphasis role="stamnt">i</emphasis>1	0	2.757	1	200	15	0	0	0	0	0
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis>1	0	2.757	1	200	15	400	0	0	0	0
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis>1	0	2.757	1	15	450	400	0	0	0	0
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis>1	0	2.757	1	15	450	400	0	0	0	0.4
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis>1	0	2.757	1	200	15	0	400	0	0	1
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis>1	0	5.514	.5	200	20	0	0	600	.5	1
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis>1	0	11.028	.25	200	15	0	1000	400	1	1
+
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/partikkel.csd.xml b/examples-xml/partikkel.csd.xml
index af4f329..d86e270 100644
--- a/examples-xml/partikkel.csd.xml
+++ b/examples-xml/partikkel.csd.xml
@@ -2,8 +2,8 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if real audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o partikkel.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
@@ -59,7 +59,7 @@ kwavekey3	<emphasis role="op">=</emphasis> 1			<emphasis role="comment">;</empha
 kwavekey4	<emphasis role="op">=</emphasis> 1			<emphasis role="comment">;</emphasis>
 imax_grains	<emphasis role="op">=</emphasis> 100			<emphasis role="comment">; max grains per k period</emphasis>
 
-a1	<emphasis role="opc">partikkel</emphasis> kgrainfreq, kdistribution, idisttab, async, kenv2amt, ienv2tab, \
+asig	<emphasis role="opc">partikkel</emphasis> kgrainfreq, kdistribution, idisttab, async, kenv2amt, ienv2tab, \
                ienv_attack, ienv_decay, ksustain_amount, ka_d_ratio, kduration, kamp, igainmasks, \
                kwavfreq, ksweepshape, iwavfreqstarttab, iwavfreqendtab, awavfm, \
                ifmamptab, kfmenv, icosine, kTrainCps, knumpartials, \
@@ -67,7 +67,7 @@ a1	<emphasis role="opc">partikkel</emphasis> kgrainfreq, kdistribution, idisttab
                iwaveamptab, asamplepos1, asamplepos2, asamplepos3, asamplepos4, \
                kwavekey1, kwavekey2, kwavekey3, kwavekey4, imax_grains
 
-<emphasis role="opc">outs</emphasis>	a1, a1
+<emphasis role="opc">outs</emphasis>	asig, asig
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
diff --git a/examples-xml/partikkel_softsync.csd.xml b/examples-xml/partikkel_softsync.csd.xml
index ea1995d..28351fb 100644
--- a/examples-xml/partikkel_softsync.csd.xml
+++ b/examples-xml/partikkel_softsync.csd.xml
@@ -106,7 +106,7 @@ async1		<emphasis role="opc">partikkelsync</emphasis>	iopcode_id   <emphasis rol
                                              <emphasis role="comment">; partikkel instance above</emphasis>
 ksyncGravity 	<emphasis role="opc">line</emphasis> 0, p3, iMaxSync	     <emphasis role="comment">; strength of synchronization</emphasis>
 aphase2		<emphasis role="opc">init</emphasis> 0					
-asyncPolarity	<emphasis role="opc">limit</emphasis> (<emphasis role="opc">int</emphasis>(aphase2<emphasis role="op">*</emphasis>2)<emphasis role="op">*</emphasis>2)<emphasis role="op">-</emphasis>1, <emphasis role="op">-</emphasis>1, 1
+asyncPolarity	limit (<emphasis role="opc">int</emphasis>(aphase2<emphasis role="op">*</emphasis>2)<emphasis role="op">*</emphasis>2)<emphasis role="op">-</emphasis>1, <emphasis role="op">-</emphasis>1, 1
 <emphasis role="comment">; use the phase of partikkelsync instance 2 to find sync </emphasis>
 <emphasis role="comment">; polarity for partikkel instance 2.</emphasis>
 <emphasis role="comment">; If the phase of instance 2 is less than 0.5, we want to</emphasis>
diff --git a/examples-xml/partikkelsync.csd.xml b/examples-xml/partikkelsync.csd.xml
new file mode 100644
index 0000000..28351fb
--- /dev/null
+++ b/examples-xml/partikkelsync.csd.xml
@@ -0,0 +1,171 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+<emphasis role="comment">; Audio out  </emphasis>
+-odac           <emphasis role="comment">;;;RT audio </emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o partikkel_softsync.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 20
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+
+<emphasis role="comment">; Example by Oeyvind Brandtsegg 2007, revised 2008</emphasis>
+
+giSine		<emphasis role="ohdr">ftgen</emphasis>	0, 0, 65537, 10, 1
+giCosine	<emphasis role="ohdr">ftgen</emphasis>	0, 0, 8193, 9, 1, 1, 90
+giSigmoRise	<emphasis role="ohdr">ftgen</emphasis>		0, 0, 8193, 19, 0.5, 1, 270, 1			<emphasis role="comment">; rising sigmoid </emphasis>
+giSigmoFall	<emphasis role="ohdr">ftgen</emphasis>		0, 0, 8193, 19, 0.5, 1, 90, 1			<emphasis role="comment">; falling sigmoid </emphasis>
+
+<emphasis role="comment">; *************************************************</emphasis>
+<emphasis role="comment">; example of soft synchronization of two partikkel instances</emphasis>
+<emphasis role="comment">; *************************************************</emphasis>
+	<emphasis role="oblock">instr</emphasis> 1
+
+
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis>score parameters<emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+igrainrate	<emphasis role="op">=</emphasis> p4		<emphasis role="comment">; grain rate</emphasis>
+igrainsize	<emphasis role="op">=</emphasis> p5		<emphasis role="comment">; grain size in ms</emphasis>
+igrainFreq	<emphasis role="op">=</emphasis> p6		<emphasis role="comment">; fundamental frequency of source waveform</emphasis>
+iosc2Dev	<emphasis role="op">=</emphasis> p7		<emphasis role="comment">; partikkel instance 2 grain rate deviation factor</emphasis>
+iMaxSync	<emphasis role="op">=</emphasis> p8		<emphasis role="comment">; max soft sync amount (increasing to this value during length of note)</emphasis>
+
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis>overall envelope<emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+iattack		<emphasis role="op">=</emphasis> 0.001
+idecay		<emphasis role="op">=</emphasis> 0.2
+isustain	<emphasis role="op">=</emphasis> 0.7
+irelease	<emphasis role="op">=</emphasis> 0.2
+amp		<emphasis role="opc">linsegr</emphasis>	0, iattack, 1, idecay, isustain, 1, isustain, irelease, 0
+
+kgrainfreq	<emphasis role="op">=</emphasis> igrainrate		<emphasis role="comment">; grains per second</emphasis>
+kdistribution	<emphasis role="op">=</emphasis> 0			<emphasis role="comment">; periodic grain distribution</emphasis>
+idisttab	<emphasis role="op">=</emphasis> <emphasis role="op">-</emphasis>1			<emphasis role="comment">; (default) flat distribution used</emphasis>
+                                        <emphasis role="comment">; for grain distribution</emphasis>
+async		<emphasis role="op">=</emphasis> 0			<emphasis role="comment">; no sync input</emphasis>
+kenv2amt	<emphasis role="op">=</emphasis> 0			<emphasis role="comment">; no secondary enveloping</emphasis>
+ienv2tab	<emphasis role="op">=</emphasis> <emphasis role="op">-</emphasis>1			<emphasis role="comment">; default secondary envelope (flat)</emphasis>
+ienv_attack	<emphasis role="op">=</emphasis> giSigmoRise		<emphasis role="comment">; default attack envelope (flat)</emphasis>
+ienv_decay	<emphasis role="op">=</emphasis> giSigmoFall		<emphasis role="comment">; default decay envelope (flat)</emphasis>
+ksustain_amount	<emphasis role="op">=</emphasis> 0.3			<emphasis role="comment">; time (in fraction of grain dur) at</emphasis>
+                                        <emphasis role="comment">; sustain level for each grain</emphasis>
+ka_d_ratio	<emphasis role="op">=</emphasis> 0.2 			<emphasis role="comment">; balance between attack and decay time</emphasis>
+kduration	<emphasis role="op">=</emphasis> igrainsize		<emphasis role="comment">; set grain duration in ms</emphasis>
+kamp		<emphasis role="op">=</emphasis> 0.2<emphasis role="op">*</emphasis><emphasis role="ohdr">0dbfs</emphasis> 		<emphasis role="comment">; amp</emphasis>
+igainmasks	<emphasis role="op">=</emphasis> <emphasis role="op">-</emphasis>1			<emphasis role="comment">; (default) no gain masking</emphasis>
+kwavfreq	<emphasis role="op">=</emphasis> igrainFreq		<emphasis role="comment">; fundamental frequency of source waveform</emphasis>
+ksweepshape	<emphasis role="op">=</emphasis> 0			<emphasis role="comment">; shape of frequency sweep (0=no sweep)</emphasis>
+iwavfreqstarttab <emphasis role="op">=</emphasis> <emphasis role="op">-</emphasis>1			<emphasis role="comment">; default frequency sweep start</emphasis>
+                                        <emphasis role="comment">; (value in table = 1, which give</emphasis>
+                                        <emphasis role="comment">; no frequency modification)</emphasis>
+iwavfreqendtab	<emphasis role="op">=</emphasis> <emphasis role="op">-</emphasis>1			<emphasis role="comment">; default frequency sweep end</emphasis>
+                                        <emphasis role="comment">; (value in table = 1, which give</emphasis>
+                                        <emphasis role="comment">; no frequency modification)</emphasis>
+awavfm		<emphasis role="op">=</emphasis> 0			<emphasis role="comment">; no FM input</emphasis>
+ifmamptab	<emphasis role="op">=</emphasis> <emphasis role="op">-</emphasis>1			<emphasis role="comment">; default FM scaling (=1)</emphasis>
+kfmenv		<emphasis role="op">=</emphasis> <emphasis role="op">-</emphasis>1			<emphasis role="comment">; default FM envelope (flat)</emphasis>
+icosine		<emphasis role="op">=</emphasis> giCosine		<emphasis role="comment">; cosine ftable</emphasis>
+kTrainCps	<emphasis role="op">=</emphasis> kgrainfreq		<emphasis role="comment">; set trainlet cps equal to grain</emphasis>
+                                        <emphasis role="comment">; rate for single-cycle trainlet in</emphasis>
+                                        <emphasis role="comment">; each grain</emphasis>
+knumpartials	<emphasis role="op">=</emphasis> 3			<emphasis role="comment">; number of partials in trainlet</emphasis>
+kchroma		<emphasis role="op">=</emphasis> 1			<emphasis role="comment">; balance of partials in trainlet</emphasis>
+ichannelmasks	<emphasis role="op">=</emphasis> <emphasis role="op">-</emphasis>1			<emphasis role="comment">; (default) no channel masking,</emphasis>
+                                        <emphasis role="comment">; all grains to output 1</emphasis>
+krandommask	<emphasis role="op">=</emphasis> 0			<emphasis role="comment">; no random grain masking</emphasis>
+kwaveform1	<emphasis role="op">=</emphasis> giSine		<emphasis role="comment">; source waveforms</emphasis>
+kwaveform2	<emphasis role="op">=</emphasis> giSine		<emphasis role="comment">;</emphasis>
+kwaveform3	<emphasis role="op">=</emphasis> giSine		<emphasis role="comment">;</emphasis>
+kwaveform4	<emphasis role="op">=</emphasis> giSine		<emphasis role="comment">;</emphasis>
+iwaveamptab	<emphasis role="op">=</emphasis> <emphasis role="op">-</emphasis>1			<emphasis role="comment">; mix of 4 source waveforms and</emphasis>
+                                        <emphasis role="comment">; trainlets (set to default)</emphasis>
+asamplepos1	<emphasis role="op">=</emphasis> 0			<emphasis role="comment">; phase offset for reading source waveform</emphasis>
+asamplepos2	<emphasis role="op">=</emphasis> 0			<emphasis role="comment">;</emphasis>
+asamplepos3	<emphasis role="op">=</emphasis> 0			<emphasis role="comment">;</emphasis>
+asamplepos4	<emphasis role="op">=</emphasis> 0			<emphasis role="comment">;</emphasis>
+kwavekey1	<emphasis role="op">=</emphasis> 1			<emphasis role="comment">; original key for source waveform</emphasis>
+kwavekey2	<emphasis role="op">=</emphasis> 1			<emphasis role="comment">;</emphasis>
+kwavekey3	<emphasis role="op">=</emphasis> 1			<emphasis role="comment">;</emphasis>
+kwavekey4	<emphasis role="op">=</emphasis> 1			<emphasis role="comment">;</emphasis>
+imax_grains	<emphasis role="op">=</emphasis> 100			<emphasis role="comment">; max grains per k period</emphasis>
+iopcode_id	<emphasis role="op">=</emphasis> 1			<emphasis role="comment">; id of opcode, linking partikkel</emphasis>
+                                        <emphasis role="comment">; to partikkelsync</emphasis>
+
+a1  <emphasis role="opc">partikkel</emphasis> kgrainfreq, kdistribution, idisttab, async, kenv2amt, \
+       ienv2tab,ienv_attack, ienv_decay, ksustain_amount, ka_d_ratio, \
+       kduration, kamp, igainmasks, kwavfreq, ksweepshape, \
+       iwavfreqstarttab, iwavfreqendtab, awavfm, ifmamptab, kfmenv, \
+       icosine, kTrainCps, knumpartials, kchroma, ichannelmasks, \
+       krandommask, kwaveform1, kwaveform2, kwaveform3, kwaveform4, \
+       iwaveamptab, asamplepos1, asamplepos2, asamplepos3, asamplepos4, \
+       kwavekey1, kwavekey2, kwavekey3, kwavekey4, imax_grains, iopcode_id
+
+async1		<emphasis role="opc">partikkelsync</emphasis>	iopcode_id   <emphasis role="comment">; clock pulse output of the </emphasis>
+                                             <emphasis role="comment">; partikkel instance above</emphasis>
+ksyncGravity 	<emphasis role="opc">line</emphasis> 0, p3, iMaxSync	     <emphasis role="comment">; strength of synchronization</emphasis>
+aphase2		<emphasis role="opc">init</emphasis> 0					
+asyncPolarity	limit (<emphasis role="opc">int</emphasis>(aphase2<emphasis role="op">*</emphasis>2)<emphasis role="op">*</emphasis>2)<emphasis role="op">-</emphasis>1, <emphasis role="op">-</emphasis>1, 1
+<emphasis role="comment">; use the phase of partikkelsync instance 2 to find sync </emphasis>
+<emphasis role="comment">; polarity for partikkel instance 2.</emphasis>
+<emphasis role="comment">; If the phase of instance 2 is less than 0.5, we want to</emphasis>
+<emphasis role="comment">; nudge it down when synchronizing,</emphasis>
+<emphasis role="comment">; and if the phase is > 0.5 we want to nudge it upwards.</emphasis>
+async1		<emphasis role="op">=</emphasis> async1<emphasis role="op">*</emphasis>ksyncGravity<emphasis role="op">*</emphasis>asyncPolarity  <emphasis role="comment">; prepare sync signal</emphasis>
+                                                  <emphasis role="comment">; with polarity and strength</emphasis>
+
+kgrainfreq2	<emphasis role="op">=</emphasis> igrainrate <emphasis role="op">*</emphasis> iosc2Dev		<emphasis role="comment">; grains per second for second partikkel instance</emphasis>
+iopcode_id2	<emphasis role="op">=</emphasis> 2
+a2 <emphasis role="opc">partikkel</emphasis> kgrainfreq2, kdistribution, idisttab, async1, kenv2amt, \
+       ienv2tab, ienv_attack, ienv_decay, ksustain_amount, ka_d_ratio, \
+       kduration, kamp, igainmasks, kwavfreq, ksweepshape, \
+       iwavfreqstarttab, iwavfreqendtab, awavfm, ifmamptab, kfmenv, \
+       icosine, kTrainCps, knumpartials, kchroma, ichannelmasks, \
+       krandommask, kwaveform1, kwaveform2, kwaveform3, kwaveform4, \
+       iwaveamptab, asamplepos1, asamplepos2, asamplepos3, \ 
+       asamplepos4, kwavekey1, kwavekey2, kwavekey3, kwavekey4, \
+       imax_grains, iopcode_id2
+
+async2, aphase2	<emphasis role="opc">partikkelsync</emphasis>	iopcode_id2
+<emphasis role="comment">; clock pulse and phase </emphasis>
+<emphasis role="comment">; output of the partikkel instance above,</emphasis>
+<emphasis role="comment">; we will only use the phase</emphasis>
+
+<emphasis role="opc">outs</emphasis>	a1<emphasis role="op">*</emphasis>amp, a2<emphasis role="op">*</emphasis>amp
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+/*score parameters
+<emphasis role="stamnt">i</emphasis>gra<emphasis role="stamnt">i</emphasis>nrate	= p4		<emphasis role="comment">; grain rate</emphasis>
+<emphasis role="stamnt">i</emphasis>gra<emphasis role="stamnt">i</emphasis>ns<emphasis role="stamnt">i</emphasis>ze	= p5		<emphasis role="comment">; grain size in ms</emphasis>
+<emphasis role="stamnt">i</emphasis>gra<emphasis role="stamnt">i</emphasis>nFreq	= p6		<emphasis role="comment">; frequency of source wave within grain</emphasis>
+<emphasis role="stamnt">i</emphasis>osc2Dev	= p7		<emphasis role="comment">; partikkel instance 2 grain rate deviation factor</emphasis>
+<emphasis role="stamnt">i</emphasis>MaxSync	= p8		<emphasis role="comment">; max soft sync amount (increasing to this value during length of note)</emphasis>
+*/
+<emphasis role="comment">;		GrRate	GrSize	GrFund	Osc2Dev	MaxSync</emphasis>
+
+<emphasis role="stamnt">i</emphasis>1 0 	10	2	20	880	1.3	0.3
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 	10	5	20	440	0.8	0.3	
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 	6	55	15	660	1.8	0.45
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 	6	110	10	440	0.6	0.6	
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 	6	220	3	660	2.6	0.45
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 	6	220	3	660	2.1	0.45
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 	6	440	3	660	0.8	0.22
+<emphasis role="stamnt">s</emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/passign.csd.xml b/examples-xml/passign.csd.xml
index f316173..34aaac6 100644
--- a/examples-xml/passign.csd.xml
+++ b/examples-xml/passign.csd.xml
@@ -1,11 +1,20 @@
 <programlisting>
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
--odac
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if real audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o passign.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-          <emphasis role="oblock">instr</emphasis> 8
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 8
 
 idur,iamp,iskiptime,iattack,irelease,irvbtime,irvbgain  <emphasis role="opc">passign</emphasis>   3
 
@@ -14,8 +23,8 @@ asig      <emphasis role="opc">soundin</emphasis>   "fox.wav", iskiptime
 arampsig  <emphasis role="op">=</emphasis>         kamp <emphasis role="op">*</emphasis> asig
 aeffect   <emphasis role="opc">reverb</emphasis>    asig, irvbtime
 arvbretrn <emphasis role="op">=</emphasis>         aeffect <emphasis role="op">*</emphasis> irvbgain
-
-          <emphasis role="opc">out</emphasis>       arampsig <emphasis role="op">+</emphasis> arvbretrn
+<emphasis role="comment">;mix dry & wet signals</emphasis>
+          <emphasis role="opc">outs</emphasis>      arampsig <emphasis role="op">+</emphasis> arvbretrn, arampsig <emphasis role="op">+</emphasis> arvbretrn
 
           <emphasis role="oblock">endin</emphasis>
 
@@ -23,11 +32,11 @@ arvbretrn <emphasis role="op">=</emphasis>         aeffect <emphasis role="op">*
 <emphasis role="csdtag"><CsScore></emphasis>
 
 <emphasis role="comment">;ins strt dur  amp  skip atk  rel       rvbt rvbgain</emphasis>
-<emphasis role="stamnt">i</emphasis>8   0    2.28 .3   0    .03  .1        1.5  .3
-<emphasis role="stamnt">i</emphasis>8   4    1.6  .3   1.6  .1   .1        1.1  .4
-<emphasis role="stamnt">i</emphasis>8   5.5  2.28 .3   0    .5   .1        2.1  .2
-<emphasis role="stamnt">i</emphasis>8   6.5  2.28 .4   0    .01  .1        1.1  .1
-<emphasis role="stamnt">i</emphasis>8   8    2.28 .5   0.1  .01  .1        0.1  .1
+<emphasis role="stamnt">i</emphasis>8   0    4    .3   0    .03  .1        1.5  .3
+<emphasis role="stamnt">i</emphasis>8   4    4    .3   1.6  .1   .1        3.1  .7
+<emphasis role="stamnt">i</emphasis>8   8    4    .3   0    .5   .1        2.1  .2
+<emphasis role="stamnt">i</emphasis>8   12   4    .4   0    .01  .1        1.1  .1
+<emphasis role="stamnt">i</emphasis>8   16   4    .5   0.1  .01  .1        0.1  .1
 
 <emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
diff --git a/examples-xml/pcauchy.csd.xml b/examples-xml/pcauchy.csd.xml
index 8412988..e643429 100644
--- a/examples-xml/pcauchy.csd.xml
+++ b/examples-xml/pcauchy.csd.xml
@@ -2,51 +2,43 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if real audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o pcauchy.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Generate a random number between 0 and 1.</emphasis>
-  <emphasis role="comment">; kalpha = 1</emphasis>
+<emphasis role="oblock">instr</emphasis> 1  	<emphasis role="comment">; every run time same values</emphasis>
 
-  i1 <emphasis role="opc">pcauchy</emphasis> 1
-
-  <emphasis role="opc">print</emphasis> i1
+kalpha	<emphasis role="opc">pcauchy</emphasis>	1000
+	<emphasis role="opc">printk</emphasis>	.2, kalpha		<emphasis role="comment">; look</emphasis>
+aout	<emphasis role="opc">oscili</emphasis>	0.8, 440<emphasis role="op">+</emphasis>kalpha, 1	<emphasis role="comment">; & listen</emphasis>
+	<emphasis role="opc">outs</emphasis>	aout, aout
 <emphasis role="oblock">endin</emphasis>
 
-<emphasis role="comment">; Instrument #2.</emphasis>
-<emphasis role="oblock">instr</emphasis> 2
-  <emphasis role="comment">; Generate a random number between 0 and 1.</emphasis>
-  <emphasis role="comment">; kalpha = 1</emphasis>
-
-  <emphasis role="ohdr">seed</emphasis> 0
-
-  i1 <emphasis role="opc">pcauchy</emphasis> 1
+<emphasis role="oblock">instr</emphasis> 2		<emphasis role="comment">; every run time different values</emphasis>
 
-  <emphasis role="opc">print</emphasis> i1
+	<emphasis role="ohdr">seed</emphasis> 0
+kalpha	<emphasis role="opc">pcauchy</emphasis>	1000
+	<emphasis role="opc">printk</emphasis>	.2, kalpha		<emphasis role="comment">; look </emphasis>
+aout	<emphasis role="opc">oscili</emphasis>	0.8, 440<emphasis role="op">+</emphasis>kalpha, 1	<emphasis role="comment">; & listen</emphasis>
+	<emphasis role="opc">outs</emphasis>	aout, aout
 <emphasis role="oblock">endin</emphasis>
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">; sine wave</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
 
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
-<emphasis role="comment">; Play Instrument #2 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 2 1 1
+<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 2 3 2
 <emphasis role="stamnt">e</emphasis>
 
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/pchbend.csd.xml b/examples-xml/pchbend.csd.xml
index 8f2f5ed..2a01098 100644
--- a/examples-xml/pchbend.csd.xml
+++ b/examples-xml/pchbend.csd.xml
@@ -2,35 +2,34 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   No messages  MIDI in</emphasis>
--odac           -iadc     -d         -M0  <emphasis role="comment">;;;RT audio I/O with MIDI in</emphasis>
+-odac -Q1 -Ma  <emphasis role="comment">;;;realtime audio out and midi in (on all inputs) and out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o pchbend.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
+ 
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  i1 <emphasis role="opc">pchbend</emphasis>
-
-  <emphasis role="opc">print</emphasis> i1
-<emphasis role="oblock">endin</emphasis>
+<emphasis role="oblock">instr</emphasis>   1	<emphasis role="comment">;use external midi keyboard</emphasis>
 
+icps <emphasis role="opc">cpsmidi</emphasis>
+kbnd <emphasis role="opc">pchbend</emphasis> 0, 100					<emphasis role="comment">;one octave lower and higher</emphasis>
+kenv <emphasis role="opc">linsegr</emphasis> 0,.001, 1, .1, 0				<emphasis role="comment">;amplitude envelope </emphasis>
+asig <emphasis role="opc">pluck</emphasis> .8 <emphasis role="op">*</emphasis> kenv, icps<emphasis role="op">+</emphasis>kbnd, 440, 0, 1
+     <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis> 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+ 
 
-<emphasis role="comment">; Play Instrument #1 for 12 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 12
-<emphasis role="stamnt">e</emphasis>
-
-
+<emphasis role="stamnt">f</emphasis> 0 30	<emphasis role="comment">;runs 30 seconds</emphasis>
+ 
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/pconvolve.csd.xml b/examples-xml/pconvolve.csd.xml
new file mode 100644
index 0000000..12d70a0
--- /dev/null
+++ b/examples-xml/pconvolve.csd.xml
@@ -0,0 +1,76 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+-iadc    <emphasis role="comment">;;;uncomment -iadc if real audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o pconvolve.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis>   1
+
+kmix <emphasis role="op">=</emphasis> .5	<emphasis role="comment">; Wet/dry mix. Vary as desired.</emphasis>
+kvol  <emphasis role="op">=</emphasis> .05<emphasis role="op">*</emphasis>kmix	<emphasis role="comment">; Overall volume level of reverb. May need to adjust</emphasis>
+		<emphasis role="comment">; when wet/dry mix is changed, to avoid clipping.</emphasis>
+                     			
+<emphasis role="comment">; do some safety checking to make sure we the parameters a good</emphasis>
+kmix <emphasis role="op">=</emphasis> (kmix <emphasis role="op"><</emphasis> 0 <emphasis role="op">||</emphasis> kmix <emphasis role="op">></emphasis> 1 <emphasis role="op">?</emphasis> .5 <emphasis role="op">:</emphasis> kmix)
+kvol  <emphasis role="op">=</emphasis> (kvol <emphasis role="op"><</emphasis> 0 <emphasis role="op">?</emphasis> 0 <emphasis role="op">:</emphasis> .5<emphasis role="op">*</emphasis>kvol<emphasis role="op">*</emphasis>kmix)
+
+<emphasis role="comment">; size of each convolution partion -- for best performance, this parameter needs to be tweaked</emphasis>
+ipartitionsize <emphasis role="op">=</emphasis> p4
+
+<emphasis role="comment">; calculate latency of pconvolve opcode</emphasis>
+idel <emphasis role="op">=</emphasis> (<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op"><</emphasis> ipartitionsize <emphasis role="op">?</emphasis> ipartitionsize <emphasis role="op">+</emphasis> <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">:</emphasis> ipartitionsize)<emphasis role="op">/</emphasis><emphasis role="ohdr">sr</emphasis>
+<emphasis role="opc">prints</emphasis> "Convolving with <emphasis role="opc">a</emphasis> latency of <emphasis role="op">%</emphasis>f seconds<emphasis role="op">%</emphasis>n", idel
+
+<emphasis role="comment">; actual processing</emphasis>
+al, ar <emphasis role="opc">ins</emphasis>	<emphasis role="comment">;get live input</emphasis>
+awetl, awetr <emphasis role="opc">pconvolve</emphasis> kvol<emphasis role="op">*</emphasis>(al<emphasis role="op">+</emphasis>ar), "kickroll.wav", ipartitionsize
+<emphasis role="comment">; Delay dry signal, to align it with the convoled sig</emphasis>
+adryl <emphasis role="opc">delay</emphasis> (1<emphasis role="op">-</emphasis>kmix)<emphasis role="op">*</emphasis>al, idel
+adryr <emphasis role="opc">delay</emphasis> (1<emphasis role="op">-</emphasis>kmix)<emphasis role="op">*</emphasis>al, idel
+      <emphasis role="opc">outs</emphasis> adryl<emphasis role="op">+</emphasis>awetl, adryr<emphasis role="op">+</emphasis>awetr
+
+<emphasis role="oblock">endin</emphasis>
+    
+<emphasis role="oblock">instr</emphasis> 2
+
+imix <emphasis role="op">=</emphasis> 0.5          	<emphasis role="comment">; Wet/dry mix. Vary as desired.</emphasis>
+ivol <emphasis role="op">=</emphasis> .05<emphasis role="op">*</emphasis>imix     	<emphasis role="comment">; Overall volume level of reverb. May need to adjust</emphasis>
+                	<emphasis role="comment">; when wet/dry mix is changed, to avoid clipping.</emphasis>
+ipartitionsize <emphasis role="op">=</emphasis> 1024	<emphasis role="comment">; size of each convolution partion</emphasis>
+idel <emphasis role="op">=</emphasis> (<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op"><</emphasis> ipartitionsize <emphasis role="op">?</emphasis> ipartitionsize <emphasis role="op">+</emphasis> <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">:</emphasis> ipartitionsize)<emphasis role="op">/</emphasis><emphasis role="ohdr">sr</emphasis>   <emphasis role="comment">; latency of pconvolve opcode</emphasis>
+
+kcount	<emphasis role="opc">init</emphasis>	idel<emphasis role="op">*</emphasis><emphasis role="ohdr">kr</emphasis>
+<emphasis role="comment">; since we are using a soundin [instead of ins] we can</emphasis>
+<emphasis role="comment">; do a kind of "look ahead" by looping during one k-pass</emphasis>
+<emphasis role="comment">; without output, creating zero-latency</emphasis>
+<emphasis role="olabel">loop</emphasis><emphasis role="op">:</emphasis>
+    asig <emphasis role="opc">soundin</emphasis> p4, 0
+    awetl, awetr <emphasis role="opc">pconvolve</emphasis> ivol<emphasis role="op">*</emphasis>(asig),"rv_stereo.wav", ipartitionsize
+    adry <emphasis role="opc">delay</emphasis>	(1<emphasis role="op">-</emphasis>imix)<emphasis role="op">*</emphasis>asig,idel  <emphasis role="comment">; Delay dry signal, to align it with</emphasis>
+    kcount <emphasis role="op">=</emphasis> kcount <emphasis role="op">-</emphasis> 1
+ <emphasis role="octrl">if</emphasis> kcount <emphasis role="op">></emphasis> 0 <emphasis role="octrl">kgoto</emphasis> <emphasis role="olabel">loop</emphasis>
+    <emphasis role="opc">outs</emphasis> awetl<emphasis role="op">+</emphasis>adry, awetr<emphasis role="op">+</emphasis>adry
+		
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 20 1024		<emphasis role="comment">;play live for 20 seconds</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 2 20 5 "fox.wav"
+<emphasis role="stamnt">i</emphasis> 2 25 5 "flute.a<emphasis role="stamnt">i</emphasis>ff"
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/pcount.csd.xml b/examples-xml/pcount.csd.xml
index 55ad4e9..7c1714f 100644
--- a/examples-xml/pcount.csd.xml
+++ b/examples-xml/pcount.csd.xml
@@ -2,23 +2,86 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   No messages  MIDI in</emphasis>
--odac           -iadc    <emphasis role="comment">; -d         -M0  ;;;RT audio I/O with MIDI in</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">;-o pcount.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">; -o pcount.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
-<emphasis role="comment">;Example by Anthony Kozar Dec 2006</emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="comment">; This UDO returns a pfield value but returns 0 if it does not exist.</emphasis>
+<emphasis role="oblock">opcode</emphasis>  mypvalue, i, <emphasis role="opc">i</emphasis>
+	index  <emphasis role="opc">xin</emphasis>
+	inum   <emphasis role="opc">pcount</emphasis>
+	<emphasis role="octrl">if</emphasis>	  (index <emphasis role="op">></emphasis> inum)  then
+		iout <emphasis role="op">=</emphasis> 0.0
+	<emphasis role="octrl">else</emphasis>
+		iout <emphasis role="opc">pindex</emphasis> index
+	<emphasis role="octrl">endif</emphasis>
+	
+	<emphasis role="opc">xout</emphasis>	iout
+<emphasis role="oblock">endop</emphasis>
+	
+<emphasis role="comment">; Envelope UDO that reads parameters from a flexible number of pfields</emphasis>
+<emphasis role="comment">; Syntax:   kenv  flexlinseg  ipstart</emphasis>
+<emphasis role="comment">;           ipstart is the first pfield of the envelope</emphasis>
+<emphasis role="comment">;               parameters.  Reads remaining pfields (up to 21 of them).</emphasis>
+<emphasis role="comment">;           kenv is the output envelope.</emphasis>
+
+<emphasis role="oblock">opcode</emphasis>  flexlinseg, k, <emphasis role="opc">i</emphasis>
+	ipstart <emphasis role="opc">xin</emphasis>
+	
+	iep1   mypvalue	ipstart
+	iep2   mypvalue	ipstart <emphasis role="op">+</emphasis> 1
+	iep3   mypvalue	ipstart <emphasis role="op">+</emphasis> 2
+	iep4   mypvalue	ipstart <emphasis role="op">+</emphasis> 3
+	iep5   mypvalue	ipstart <emphasis role="op">+</emphasis> 4
+	iep6   mypvalue	ipstart <emphasis role="op">+</emphasis> 5
+	iep7   mypvalue	ipstart <emphasis role="op">+</emphasis> 6
+	iep8   mypvalue	ipstart <emphasis role="op">+</emphasis> 7
+	iep9   mypvalue	ipstart <emphasis role="op">+</emphasis> 8
+	iepa   mypvalue	ipstart <emphasis role="op">+</emphasis> 9
+	iepb   mypvalue	ipstart <emphasis role="op">+</emphasis> 10
+	iepc   mypvalue	ipstart <emphasis role="op">+</emphasis> 11
+	iepd   mypvalue	ipstart <emphasis role="op">+</emphasis> 12
+	iepe   mypvalue	ipstart <emphasis role="op">+</emphasis> 13
+	iepf   mypvalue	ipstart <emphasis role="op">+</emphasis> 14
+	iepg   mypvalue	ipstart <emphasis role="op">+</emphasis> 15
+	ieph   mypvalue	ipstart <emphasis role="op">+</emphasis> 16
+	iepi   mypvalue	ipstart <emphasis role="op">+</emphasis> 17
+	iepj   mypvalue	ipstart <emphasis role="op">+</emphasis> 18
+	iepk   mypvalue	ipstart <emphasis role="op">+</emphasis> 19
+	iepl   mypvalue	ipstart <emphasis role="op">+</emphasis> 20
+
+	kenv   <emphasis role="opc">linseg</emphasis>	 iep1, iep2, iep3, iep4, iep5, iep6, iep7, iep8, \
+	                   iep9, iepa, iepb, iepc, iepd, iepe, iepf, iepg, \
+	                   ieph, iepi, iepj, iepk, iepl	
+	<emphasis role="opc">xout</emphasis>   kenv
+<emphasis role="oblock">endop</emphasis>
+	
 <emphasis role="oblock">instr</emphasis> 1
-    inum  <emphasis role="opc">pcount</emphasis>
-    <emphasis role="opc">print</emphasis> inum
-<emphasis role="oblock">endin</emphasis>
+<emphasis role="comment">; This instrument only requires 3 pfields but can accept up to 24.</emphasis>
+<emphasis role="comment">; (You will still get warnings about more than 3).	</emphasis>
+kenv flexlinseg  4		<emphasis role="comment">; envelope params start at p4</emphasis>
+aout <emphasis role="opc">oscili</emphasis> kenv<emphasis role="op">*</emphasis>.5, 256, 1
+     <emphasis role="opc">outs</emphasis> aout, aout
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="stamnt">i</emphasis>1  0 3 4 5       <emphasis role="comment">; has 5 pfields</emphasis>
-<emphasis role="stamnt">i</emphasis>1  1 3           <emphasis role="comment">; has 5 due to carry</emphasis>
-<emphasis role="stamnt">i</emphasis>1  2 3 4 5 6 7   <emphasis role="comment">; has 7</emphasis>
+<emphasis role="stamnt">f</emphasis>1  0 8192 10 1
+
+<emphasis role="stamnt">i</emphasis>1  0 2  0.0 1.0 1.0 1.0 0.0
+<emphasis role="stamnt">i</emphasis>1  2 2  0.0 0.1 1.0 1.0 1.0 0.1 0.0
+<emphasis role="stamnt">i</emphasis>1  4 2  0.0 0.5 0.0	  			<emphasis role="comment">; one problem is that "missing" pfields carry</emphasis>
+<emphasis role="stamnt">i</emphasis>1  6 2  0.0 0.5 0.0 !	  			<emphasis role="comment">; now we can fix this problem with !</emphasis>
+<emphasis role="stamnt">i</emphasis>1  8 10  0.0  3.0 1.0  0.3 0.1  0.3 1.0  0.3 0.1  0.3 1.0  0.3 0.1  0.8 0.9  5.0 0.0
+
 <emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
diff --git a/examples-xml/pdhalf.csd.xml b/examples-xml/pdhalf.csd.xml
index e582ed5..bd938a0 100644
--- a/examples-xml/pdhalf.csd.xml
+++ b/examples-xml/pdhalf.csd.xml
@@ -2,13 +2,18 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o abs.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">; -o pdhalf.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
-<emphasis role="comment">; test instrument for pdhalf opcode</emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
 <emphasis role="oblock">instr</emphasis> 4
 
     idur        <emphasis role="op">=</emphasis> p3
@@ -22,7 +27,7 @@
     apd         <emphasis role="opc">pdhalf</emphasis>      aosc, kamount
     aout        <emphasis role="opc">tablei</emphasis>      apd, itable, 1
     
-                <emphasis role="opc">out</emphasis>         aenv<emphasis role="op">*</emphasis>aout<emphasis role="op">*</emphasis>iamp      
+                <emphasis role="opc">outs</emphasis>         aenv<emphasis role="op">*</emphasis>aout<emphasis role="op">*</emphasis>iamp, aenv<emphasis role="op">*</emphasis>aout<emphasis role="op">*</emphasis>iamp     
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
@@ -36,13 +41,33 @@
 <emphasis role="comment">; pdhalf with cosine table</emphasis>
 <emphasis role="comment">; (imitates the CZ-101 "sawtooth waveform")</emphasis>
 <emphasis role="stamnt">t</emphasis> 0 100
-<emphasis role="stamnt">i</emphasis>4 0 .333 10000 512     3
+<emphasis role="stamnt">i</emphasis>4 0 3   .6     512     3
+<emphasis role="stamnt">i</emphasis>. + .    .     448
+<emphasis role="stamnt">i</emphasis>. + .    .     384
+<emphasis role="stamnt">i</emphasis>. + .    .     358.4
+<emphasis role="stamnt">i</emphasis>. + .    .     341.33
+<emphasis role="stamnt">i</emphasis>. + .    .     298.67
+<emphasis role="stamnt">i</emphasis>. + 5    .     256
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="comment">; pdhalf with a sine table</emphasis>
+<emphasis role="stamnt">t</emphasis> 0 120
+<emphasis role="stamnt">i</emphasis>4 0 3   .6     512     1
+<emphasis role="stamnt">i</emphasis>. + .    .     448
+<emphasis role="stamnt">i</emphasis>. + .    .     384
+<emphasis role="stamnt">i</emphasis>. + .    .     358.4
+<emphasis role="stamnt">i</emphasis>. + .    .     341.33
+<emphasis role="stamnt">i</emphasis>. + .    .     298.67
+<emphasis role="stamnt">i</emphasis>. + 5    .     256
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="comment">; pdhalf with a sawtooth-like table</emphasis>
+<emphasis role="stamnt">t</emphasis> 0 150
+<emphasis role="stamnt">i</emphasis>4 0 3   .6     512     2
 <emphasis role="stamnt">i</emphasis>. + .    .     448
 <emphasis role="stamnt">i</emphasis>. + .    .     384
 <emphasis role="stamnt">i</emphasis>. + .    .     358.4
 <emphasis role="stamnt">i</emphasis>. + .    .     341.33
 <emphasis role="stamnt">i</emphasis>. + .    .     298.67
-<emphasis role="stamnt">i</emphasis>. + 2    .     256
+<emphasis role="stamnt">i</emphasis>. + 5    .     256
 <emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
diff --git a/examples-xml/pdhalfy.csd.xml b/examples-xml/pdhalfy.csd.xml
index ab6b4a4..6bc8fcd 100644
--- a/examples-xml/pdhalfy.csd.xml
+++ b/examples-xml/pdhalfy.csd.xml
@@ -2,13 +2,18 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o abs.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">; -o pdhalfy.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
-<emphasis role="comment">; test instrument for pdhalfy opcode</emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
 <emphasis role="oblock">instr</emphasis> 5
 
     idur        <emphasis role="op">=</emphasis> p3
@@ -30,7 +35,7 @@
     apd         <emphasis role="opc">pdhalfy</emphasis>     aosc, kamount
     aout        <emphasis role="opc">tablei</emphasis>      apd, itable, 1
     
-                <emphasis role="opc">out</emphasis>         aenv<emphasis role="op">*</emphasis>aout<emphasis role="op">*</emphasis>iamp      
+                <emphasis role="opc">outs</emphasis>        aenv<emphasis role="op">*</emphasis>aout<emphasis role="op">*</emphasis>iamp, aenv<emphasis role="op">*</emphasis>aout<emphasis role="op">*</emphasis>iamp       
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
@@ -42,7 +47,7 @@
 
 <emphasis role="comment">; pdhalfy with cosine table</emphasis>
 <emphasis role="stamnt">t</emphasis> 0 100
-<emphasis role="stamnt">i</emphasis>5 0 .333 10000 512     1.0   .02  0.5  .12   3
+<emphasis role="stamnt">i</emphasis>5 0 .333 .6    512     1.0   .02  0.5  .12   3
 <emphasis role="stamnt">i</emphasis>. + .    .     448     <
 <emphasis role="stamnt">i</emphasis>. + .    .     384     <
 <emphasis role="stamnt">i</emphasis>. + .    .     358.4   <
@@ -53,7 +58,7 @@
 
 <emphasis role="comment">; pdhalfy with sine table</emphasis>
 <emphasis role="stamnt">t</emphasis> 0 100
-<emphasis role="stamnt">i</emphasis>5 0 .333 10000 512     1.0   .001 0.1  .07   1
+<emphasis role="stamnt">i</emphasis>5 0 .333 .6    512     1.0   .001 0.1  .07   1
 <emphasis role="stamnt">i</emphasis>. + .    .     448     <
 <emphasis role="stamnt">i</emphasis>. + .    .     384     <
 <emphasis role="stamnt">i</emphasis>. + .    .     358.4   <
diff --git a/examples-xml/pgmassign_advanced.csd.xml b/examples-xml/pgmassign_advanced.csd.xml
index 583fde1..50dfba3 100644
--- a/examples-xml/pgmassign_advanced.csd.xml
+++ b/examples-xml/pgmassign_advanced.csd.xml
@@ -2,22 +2,24 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   No messages  MIDI in</emphasis>
--odac           -iadc     -d         -M0  <emphasis role="comment">;;;RT audio I/O with MIDI in</emphasis>
+-odac   -F   pgmassign_advanced.mid  <emphasis role="comment">;;;realtime audio out with midifile in</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if real audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o pgmassign_advanced.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="ohdr">sr</emphasis>	<emphasis role="op">=</emphasis>  44100
-<emphasis role="ohdr">ksmps</emphasis>	<emphasis role="op">=</emphasis>  10
-<emphasis role="ohdr">nchnls</emphasis>	<emphasis role="op">=</emphasis>  1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 	<emphasis role="ohdr">massign</emphasis> 1, 1	<emphasis role="comment">; channels 1 to 4 use instr 1 by default</emphasis>
 	<emphasis role="ohdr">massign</emphasis> 2, 1
 	<emphasis role="ohdr">massign</emphasis> 3, 1
 	<emphasis role="ohdr">massign</emphasis> 4, 1
 
+<emphasis role="comment">; pgmassign_advanced.mid can be found in /manual/examples</emphasis>
 <emphasis role="comment">; pgmassign.mid has 4 notes with these parameters:</emphasis>
 <emphasis role="comment">;</emphasis>
 <emphasis role="comment">;	    Start time	Channel	Program</emphasis>
@@ -39,24 +41,24 @@ itmp	<emphasis role="ohdr">ftgen</emphasis> 3, 0, 1024, 10, 1, 0, 0.3333, 0, 0.2
 	<emphasis role="oblock">instr</emphasis> 1		<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> sine <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
 
 kcps	<emphasis role="opc">cpsmidib</emphasis> 2	<emphasis role="comment">; note frequency</emphasis>
-asnd	<emphasis role="opc">oscili</emphasis> 30000, kcps, 1
-	<emphasis role="opc">out</emphasis> asnd
+asnd	<emphasis role="opc">oscili</emphasis> .6, kcps, 1
+	<emphasis role="opc">outs</emphasis> asnd, asnd
 
 	<emphasis role="oblock">endin</emphasis>
 
 	<emphasis role="oblock">instr</emphasis> 2		<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> band<emphasis role="op">-</emphasis>limited sawtooth <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
 
 kcps	<emphasis role="opc">cpsmidib</emphasis> 2	<emphasis role="comment">; note frequency</emphasis>
-asnd	<emphasis role="opc">oscili</emphasis> 30000, kcps, 2
-	<emphasis role="opc">out</emphasis> asnd
+asnd	<emphasis role="opc">oscili</emphasis> .6, kcps, 2
+	<emphasis role="opc">outs</emphasis> asnd, asnd
 
 	<emphasis role="oblock">endin</emphasis>
 
 	<emphasis role="oblock">instr</emphasis> 3		<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> band<emphasis role="op">-</emphasis>limited square <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
 
 kcps	<emphasis role="opc">cpsmidib</emphasis> 2	<emphasis role="comment">; note frequency</emphasis>
-asnd	<emphasis role="opc">oscili</emphasis> 30000, kcps, 3
-	<emphasis role="opc">out</emphasis> asnd
+asnd	<emphasis role="opc">oscili</emphasis> .6, kcps, 3
+	<emphasis role="opc">outs</emphasis> asnd, asnd
 
 	<emphasis role="oblock">endin</emphasis>
 
diff --git a/examples-xml/phasor.csd.xml b/examples-xml/phasor.csd.xml
index f6bbbbf..14dac50 100644
--- a/examples-xml/phasor.csd.xml
+++ b/examples-xml/phasor.csd.xml
@@ -2,50 +2,37 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if real audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o phasor.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Create an index that repeats once per second.</emphasis>
-  kcps <emphasis role="opc">init</emphasis> 1
-  kndx <emphasis role="opc">phasor</emphasis> kcps
 
-  <emphasis role="comment">; Read Table #1 with our index.</emphasis>
-  ifn <emphasis role="op">=</emphasis> 1
-  ixmode <emphasis role="op">=</emphasis> 1
-  kfreq <emphasis role="opc">table</emphasis> kndx, ifn, ixmode
+ifn <emphasis role="op">=</emphasis> 1			<emphasis role="comment">;read table 1 with our index</emphasis>
+ixmode <emphasis role="op">=</emphasis> 1
+kndx <emphasis role="opc">phasor</emphasis> p4
+kfrq <emphasis role="opc">table</emphasis> kndx, ifn, ixmode
+asig <emphasis role="opc">poscil</emphasis> .6, kfrq, 2	<emphasis role="comment">;re-synthesize with sine</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
 
-  <emphasis role="comment">; Generate a sine waveform, use our table values </emphasis>
-  <emphasis role="comment">; to vary its frequency.</emphasis>
-  a1 <emphasis role="opc">oscil</emphasis> 20000, kfreq, 2
-  <emphasis role="opc">out</emphasis> a1
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 1025 -7 200 1024 2000 <emphasis role="comment">;a line from 200 to 2,000	</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 16384 10 1<emphasis role="comment">;sine wave</emphasis>
 
-<emphasis role="comment">; Table #1, a line from 200 to 2,000.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 1025 -7 200 1024 2000
-<emphasis role="comment">; Table #2, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 2 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for 2 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 1 0 1 1	<emphasis role="comment">;once per second</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 2 2 .5	<emphasis role="comment">;once per 2 seconds</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 5 1 2	<emphasis role="comment">;twice per second</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/pindex-2.csd.xml b/examples-xml/pindex-2.csd.xml
new file mode 100644
index 0000000..eab3164
--- /dev/null
+++ b/examples-xml/pindex-2.csd.xml
@@ -0,0 +1,88 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o pindex-2.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="comment">; This UDO returns a pfield value but returns 0 if it does not exist.</emphasis>
+<emphasis role="oblock">opcode</emphasis>  mypvalue, i, <emphasis role="opc">i</emphasis>
+	index  <emphasis role="opc">xin</emphasis>
+	inum   <emphasis role="opc">pcount</emphasis>
+	<emphasis role="octrl">if</emphasis>	  (index <emphasis role="op">></emphasis> inum)  then
+		iout <emphasis role="op">=</emphasis> 0.0
+	<emphasis role="octrl">else</emphasis>
+		iout <emphasis role="opc">pindex</emphasis> index
+	<emphasis role="octrl">endif</emphasis>
+	
+	<emphasis role="opc">xout</emphasis>	iout
+<emphasis role="oblock">endop</emphasis>
+	
+<emphasis role="comment">; Envelope UDO that reads parameters from a flexible number of pfields</emphasis>
+<emphasis role="comment">; Syntax:   kenv  flexlinseg  ipstart</emphasis>
+<emphasis role="comment">;           ipstart is the first pfield of the envelope</emphasis>
+<emphasis role="comment">;               parameters.  Reads remaining pfields (up to 21 of them).</emphasis>
+<emphasis role="comment">;           kenv is the output envelope.</emphasis>
+
+<emphasis role="oblock">opcode</emphasis>  flexlinseg, k, <emphasis role="opc">i</emphasis>
+	ipstart <emphasis role="opc">xin</emphasis>
+	
+	iep1   mypvalue	ipstart
+	iep2   mypvalue	ipstart <emphasis role="op">+</emphasis> 1
+	iep3   mypvalue	ipstart <emphasis role="op">+</emphasis> 2
+	iep4   mypvalue	ipstart <emphasis role="op">+</emphasis> 3
+	iep5   mypvalue	ipstart <emphasis role="op">+</emphasis> 4
+	iep6   mypvalue	ipstart <emphasis role="op">+</emphasis> 5
+	iep7   mypvalue	ipstart <emphasis role="op">+</emphasis> 6
+	iep8   mypvalue	ipstart <emphasis role="op">+</emphasis> 7
+	iep9   mypvalue	ipstart <emphasis role="op">+</emphasis> 8
+	iepa   mypvalue	ipstart <emphasis role="op">+</emphasis> 9
+	iepb   mypvalue	ipstart <emphasis role="op">+</emphasis> 10
+	iepc   mypvalue	ipstart <emphasis role="op">+</emphasis> 11
+	iepd   mypvalue	ipstart <emphasis role="op">+</emphasis> 12
+	iepe   mypvalue	ipstart <emphasis role="op">+</emphasis> 13
+	iepf   mypvalue	ipstart <emphasis role="op">+</emphasis> 14
+	iepg   mypvalue	ipstart <emphasis role="op">+</emphasis> 15
+	ieph   mypvalue	ipstart <emphasis role="op">+</emphasis> 16
+	iepi   mypvalue	ipstart <emphasis role="op">+</emphasis> 17
+	iepj   mypvalue	ipstart <emphasis role="op">+</emphasis> 18
+	iepk   mypvalue	ipstart <emphasis role="op">+</emphasis> 19
+	iepl   mypvalue	ipstart <emphasis role="op">+</emphasis> 20
+
+	kenv   <emphasis role="opc">linseg</emphasis>	 iep1, iep2, iep3, iep4, iep5, iep6, iep7, iep8, \
+	                   iep9, iepa, iepb, iepc, iepd, iepe, iepf, iepg, \
+	                   ieph, iepi, iepj, iepk, iepl	
+	<emphasis role="opc">xout</emphasis>   kenv
+<emphasis role="oblock">endop</emphasis>
+	
+<emphasis role="oblock">instr</emphasis> 1
+<emphasis role="comment">; This instrument only requires 3 pfields but can accept up to 24.</emphasis>
+<emphasis role="comment">; (You will still get warnings about more than 3).	</emphasis>
+kenv flexlinseg  4		<emphasis role="comment">; envelope params start at p4</emphasis>
+aout <emphasis role="opc">oscili</emphasis> kenv<emphasis role="op">*</emphasis>.5, 256, 1
+     <emphasis role="opc">outs</emphasis> aout, aout
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1  0 8192 10 1
+
+<emphasis role="stamnt">i</emphasis>1  0 2  0.0 1.0 1.0 1.0 0.0
+<emphasis role="stamnt">i</emphasis>1  2 2  0.0 0.1 1.0 1.0 1.0 0.1 0.0
+<emphasis role="stamnt">i</emphasis>1  4 2  0.0 0.5 0.0	  			<emphasis role="comment">; one problem is that "missing" pfields carry</emphasis>
+<emphasis role="stamnt">i</emphasis>1  6 2  0.0 0.5 0.0 !	  			<emphasis role="comment">; now we can fix this problem with !</emphasis>
+<emphasis role="stamnt">i</emphasis>1  8 10  0.0  3.0 1.0  0.3 0.1  0.3 1.0  0.3 0.1  0.3 1.0  0.3 0.1  0.8 0.9  5.0 0.0
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/pitch.csd.xml b/examples-xml/pitch.csd.xml
index 26cf8a2..7d07a3c 100644
--- a/examples-xml/pitch.csd.xml
+++ b/examples-xml/pitch.csd.xml
@@ -2,62 +2,53 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if real audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o pitch.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 1
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
-
-<emphasis role="comment">; Instrument #1 - play an audio file without effects.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  asig <emphasis role="opc">soundin</emphasis> "mary.wav"
-  <emphasis role="opc">out</emphasis> asig
-<emphasis role="oblock">endin</emphasis>
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #2 - track the pitch of an audio file.</emphasis>
-<emphasis role="oblock">instr</emphasis> 2
-  iupdte <emphasis role="op">=</emphasis> 0.01
-  ilo <emphasis role="op">=</emphasis> 7
-  ihi <emphasis role="op">=</emphasis> 9
-  idbthresh <emphasis role="op">=</emphasis> 10
-  ifrqs <emphasis role="op">=</emphasis> 12
-  iconf <emphasis role="op">=</emphasis> 10
-  istrt <emphasis role="op">=</emphasis> 8
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;clean audio</emphasis>
 
-  asig <emphasis role="opc">soundin</emphasis> "mary.wav"
+asig <emphasis role="opc">soundin</emphasis> p4
+     <emphasis role="opc">outs</emphasis> asig, asig
+<emphasis role="oblock">endin</emphasis>
 
-  <emphasis role="comment">; Follow the audio file, get its pitch and amplitude.</emphasis>
-  koct, kamp <emphasis role="opc">pitch</emphasis> asig, iupdte, ilo, ihi, idbthresh, ifrqs, iconf, istrt
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">;use pitch</emphasis>
 
-  <emphasis role="comment">; Re-synthesize the audio file with a different sounding waveform.</emphasis>
-  kamp2 <emphasis role="op">=</emphasis> kamp <emphasis role="op">*</emphasis> 10
-  kcps <emphasis role="op">=</emphasis> <emphasis role="opc">cpsoct</emphasis>(koct)
-  a1 <emphasis role="opc">oscil</emphasis> kamp2, kcps, 1
-
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
+iupdte <emphasis role="op">=</emphasis> 0.001	<emphasis role="comment">;high definition</emphasis>
+ilo <emphasis role="op">=</emphasis> 6
+ihi <emphasis role="op">=</emphasis> 10
+idbthresh <emphasis role="op">=</emphasis> 10
+ifrqs <emphasis role="op">=</emphasis> 12
+iconf <emphasis role="op">=</emphasis> 10
+istrt <emphasis role="op">=</emphasis> 8
 
+asig <emphasis role="opc">soundin</emphasis> p4
+koct, kamp <emphasis role="opc">pitch</emphasis> asig, iupdte, ilo, ihi, idbthresh, ifrqs, iconf, istrt
+kamp <emphasis role="op">=</emphasis> kamp<emphasis role="op">*</emphasis>.00005		<emphasis role="comment">;lower volume</emphasis>
+kcps <emphasis role="op">=</emphasis> <emphasis role="opc">cpsoct</emphasis>(koct)
+asig <emphasis role="opc">poscil</emphasis> kamp, kcps, 1	<emphasis role="comment">;re-synthesize with sawtooth</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1: A different sounding waveform.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 32768 11 7 3 .7
-
-<emphasis role="comment">; Play Instrument #1, the audio file, for three seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 3
-<emphasis role="comment">; Play Instrument #2, the "re-synthesized" waveform, for three seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 2 3 3
+<emphasis role="stamnt">f</emphasis>1 0 16384 10 1 0.5 0.3 0.25 0.2 0.167 0.14 0.125 .111   <emphasis role="comment">;sawtooth</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0  3 "fox.wav"
+<emphasis role="stamnt">i</emphasis> 2 3  3 "fox.wav"
+<emphasis role="stamnt">i</emphasis> 1 6  3 "mary.wav"
+<emphasis role="stamnt">i</emphasis> 2 9  3 "mary.wav"
+<emphasis role="stamnt">i</emphasis> 1 12 3 "beats.wav"
+<emphasis role="stamnt">i</emphasis> 2 15 3 "beats.wav"
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/pitchamdf.csd.xml b/examples-xml/pitchamdf.csd.xml
index dc7e26b..7028d9f 100644
--- a/examples-xml/pitchamdf.csd.xml
+++ b/examples-xml/pitchamdf.csd.xml
@@ -2,57 +2,44 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if real audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o pitchamdf.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; synth waveform</emphasis>
-giwave <emphasis role="ohdr">ftgen</emphasis> 2, 0, 1024, 10, 1, 1, 1, 1
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;clean audio</emphasis>
 
-<emphasis role="comment">; Instrument #1 - play an audio file with no effects.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; get input signal with original freq.</emphasis>
-  asig <emphasis role="opc">soundin</emphasis> "mary.wav"
-
-  <emphasis role="opc">out</emphasis> asig
+asig <emphasis role="opc">soundin</emphasis> p4
+     <emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
-<emphasis role="comment">; Instrument #2 - play the synth waveform using the</emphasis>
-<emphasis role="comment">; same pitch and amplitude as the audio file.</emphasis>
-<emphasis role="oblock">instr</emphasis> 2
-  <emphasis role="comment">; get input signal with original freq.</emphasis>
-  asig <emphasis role="opc">soundin</emphasis> "mary.wav"
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">;use pitch</emphasis>
 
-  <emphasis role="comment">; lowpass-filter</emphasis>
-  asig <emphasis role="opc">tone</emphasis> asig, 1000
-  <emphasis role="comment">; extract pitch and envelope</emphasis>
-  kcps, krms <emphasis role="opc">pitchamdf</emphasis> asig, 150, 500, 200
-  <emphasis role="comment">; "re-synthesize" with the synth waveform, giwave.</emphasis>
-  asig1 <emphasis role="opc">oscil</emphasis> krms, kcps, giwave
+asig <emphasis role="opc">soundin</emphasis> p4
+asig <emphasis role="opc">tone</emphasis> asig, 1000		<emphasis role="comment">;lowpass-filter</emphasis>
+kcps, krms <emphasis role="opc">pitchamdf</emphasis> asig, 100, 500, 200
+asig <emphasis role="opc">poscil</emphasis> krms, kcps, 1	<emphasis role="comment">;re-synthesize with sawtooth</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
 
-  <emphasis role="opc">out</emphasis> asig1
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Play Instrument #1, the audio file, for three seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 3
-<emphasis role="comment">; Play Instrument #2, the "re-synthesized" waveform, for three seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 2 3 3
+<emphasis role="stamnt">f</emphasis>1 0 16384 10 1 0.5 0.3 0.25 0.2 0.167 0.14 0.125 .111   <emphasis role="comment">;sawtooth</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0  3 "fox.wav"
+<emphasis role="stamnt">i</emphasis> 2 3  3 "fox.wav"
+<emphasis role="stamnt">i</emphasis> 1 6  3 "mary.wav"
+<emphasis role="stamnt">i</emphasis> 2 9  3 "mary.wav"
+<emphasis role="stamnt">i</emphasis> 1 12 3 "beats.wav"
+<emphasis role="stamnt">i</emphasis> 2 15 3 "beats.wav"
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/plate.csd.xml b/examples-xml/plate.csd.xml
new file mode 100644
index 0000000..3388a22
--- /dev/null
+++ b/examples-xml/plate.csd.xml
@@ -0,0 +1,34 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+<emphasis role="comment">;-odac    ;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+ -o plate.wav -W <emphasis role="comment">;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="comment">; Note: this example is heavy on CPU</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ab    <emphasis role="opc">diskin2</emphasis>  "beats.wav", 1
+al,ar <emphasis role="opc">platerev</emphasis> 1, 2, p4, 0.73, 1.0, 5.0, 0.001, ab,ab
+      <emphasis role="opc">outs</emphasis>      al<emphasis role="op">*</emphasis>.25,ar<emphasis role="op">*</emphasis>.25
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 8 -2   0.3   0.3875    0.39274  0.32   0.85714 0.78548
+<emphasis role="stamnt">f</emphasis>2 0 8 -2   0.2   0.666667  1.57097  0.24   0.75    0.78548
+<emphasis role="stamnt">i</emphasis>1 0 4 1
+<emphasis role="stamnt">i</emphasis>1 + 4 2
+<emphasis role="stamnt">e</emphasis>
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/plltrack.csd.xml b/examples-xml/plltrack.csd.xml
new file mode 100644
index 0000000..a6bc78a
--- /dev/null
+++ b/examples-xml/plltrack.csd.xml
@@ -0,0 +1,38 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o plltrack.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kd <emphasis role="op">=</emphasis> p4
+a1 <emphasis role="opc">diskin2</emphasis> "fox.wav", 1,0,1
+apitch, aloc <emphasis role="opc">plltrack</emphasis> a1, kd
+krms <emphasis role="opc">rms</emphasis> a1
+krms <emphasis role="opc">port</emphasis> krms, 0.01
+asig <emphasis role="opc">buzz</emphasis> krms, apitch, 10, 1
+     <emphasis role="opc">outs</emphasis> asig, asig		<emphasis role="comment">;mix in some dry signal as well</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 65536 10 1	<emphasis role="comment">;sine wave</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 6 0.1
+<emphasis role="stamnt">i</emphasis> 1 7 6 0.3	<emphasis role="comment">;more feedback</emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/pluck.csd.xml b/examples-xml/pluck.csd.xml
index 5a7f1be..9028631 100644
--- a/examples-xml/pluck.csd.xml
+++ b/examples-xml/pluck.csd.xml
@@ -2,40 +2,36 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if real audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o pluck.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 20000
-  kcps <emphasis role="op">=</emphasis> 440
-  icps <emphasis role="op">=</emphasis> 440
-  ifn <emphasis role="op">=</emphasis> 0
-  imeth <emphasis role="op">=</emphasis> 1
 
-  a1 <emphasis role="opc">pluck</emphasis> kamp, kcps, icps, ifn, imeth
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
+kcps <emphasis role="op">=</emphasis> 220
+icps <emphasis role="op">=</emphasis> 220
+ifn  <emphasis role="op">=</emphasis> 0
+imeth <emphasis role="op">=</emphasis> p4
 
+asig <emphasis role="opc">pluck</emphasis> 0.7, 220, 220, ifn, imeth, .1, 10
+     <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for two seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 1 0  5 1
+<emphasis role="stamnt">i</emphasis> 1 5  5 4	<emphasis role="comment">;needs 2 extra parameters (iparm1, iparm2)</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 10 5 6
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/polynomial.csd.xml b/examples-xml/polynomial.csd.xml
index fa82a95..986eb69 100644
--- a/examples-xml/polynomial.csd.xml
+++ b/examples-xml/polynomial.csd.xml
@@ -1,33 +1,108 @@
 <programlisting>
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
-<emphasis role="comment">; no sound output</emphasis>
- -n
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o polynomial.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100	<emphasis role="comment">; audio rate is not important</emphasis>
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 10	<emphasis role="comment">; execute the statements in instr 1 ten times per second</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="oblock">instr</emphasis> 1
-	<emphasis role="comment">; ax will vary from 1 to 10</emphasis>
-	ax         <emphasis role="opc">init</emphasis>        1
-	
-	<emphasis role="comment">; ay = ax^3 + 2ax^2 + 3ax + 4</emphasis>
-	ay         <emphasis role="opc">polynomial</emphasis>  ax, 4, 3, 2, 1
+<emphasis role="comment">; The polynomial y=x^n where n is odd always produces a curve</emphasis>
+<emphasis role="comment">; that traverses the range [-1, 1] when the input is within</emphasis>
+<emphasis role="comment">; the same range.  Therefore, we can use one of these curves</emphasis>
+<emphasis role="comment">; to make a nonlinear phasor that repeatedly reads a table </emphasis>
+<emphasis role="comment">; from beginning to end like a linear phasor (maintaining </emphasis>
+<emphasis role="comment">; continuity) but that distorts the waveform in the table.</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 4	<emphasis role="comment">; This instrument demonstrates phase distortion with x^3</emphasis>
+
+idur   <emphasis role="op">=</emphasis> p3
+iamp   <emphasis role="op">=</emphasis> p4
+ifreq  <emphasis role="op">=</emphasis> p5
+itable <emphasis role="op">=</emphasis> p6
 	
-	<emphasis role="comment">; convert our a-rate signals to k-rate values so that we can print</emphasis>
-	ky         <emphasis role="opc">downsamp</emphasis>    ay
-	kx         <emphasis role="opc">downsamp</emphasis>    ax
-	           <emphasis role="opc">printf</emphasis>      "<emphasis role="op">%</emphasis>d<emphasis role="op">:</emphasis>  <emphasis role="op">%</emphasis>d\n", kx, kx, ky
+aenv <emphasis role="opc">linseg</emphasis> 0, .001, 1.0, idur <emphasis role="op">-</emphasis> .051, 1.0, .05, 0	<emphasis role="comment">; declicking envelope</emphasis>
+aosc <emphasis role="opc">phasor</emphasis> ifreq					<emphasis role="comment">; create a linear phasor</emphasis>
+apd  <emphasis role="opc">polynomial</emphasis> aosc, 0, 0, 0, 1			<emphasis role="comment">; distort the phasor with x^3</emphasis>
+aout <emphasis role="opc">tablei</emphasis> apd, itable, 1				<emphasis role="comment">; read a sine table with the nonlinear phasor</emphasis>
+     <emphasis role="opc">outs</emphasis> aenv<emphasis role="op">*</emphasis>aout<emphasis role="op">*</emphasis>iamp, aenv<emphasis role="op">*</emphasis>aout<emphasis role="op">*</emphasis>iamp
+		
+<emphasis role="oblock">endin</emphasis>
 
-	ax         <emphasis role="op">=</emphasis>           ax <emphasis role="op">+</emphasis> 1
+<emphasis role="oblock">instr</emphasis> 5	<emphasis role="comment">; This instrument demonstrates phase distortion with x^11</emphasis>
+
+idur   <emphasis role="op">=</emphasis> p3
+iamp   <emphasis role="op">=</emphasis> p4
+ifreq  <emphasis role="op">=</emphasis> p5
+itable <emphasis role="op">=</emphasis> p6
+
+aenv <emphasis role="opc">linseg</emphasis> 0, .001, 1.0, idur <emphasis role="op">-</emphasis> .051, 1.0, .05, 0	<emphasis role="comment">; declicking envelope</emphasis>
+aosc <emphasis role="opc">phasor</emphasis> ifreq					<emphasis role="comment">; create a linear phasor</emphasis>
+apd  <emphasis role="opc">polynomial</emphasis> aosc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 <emphasis role="comment">; distort the phasor with x^11</emphasis>
+aout <emphasis role="opc">tablei</emphasis> apd, itable, 1				<emphasis role="comment">; read a sine table with the nonlinear phasor</emphasis>
+     <emphasis role="opc">outs</emphasis> aenv<emphasis role="op">*</emphasis>aout<emphasis role="op">*</emphasis>iamp, aenv<emphasis role="op">*</emphasis>aout<emphasis role="op">*</emphasis>iamp
+		
 <emphasis role="oblock">endin</emphasis>
 
+<emphasis role="oblock">instr</emphasis> 6 <emphasis role="comment">; This instrument crossfades between a pure sine and one distorted with x^11</emphasis>
+
+idur   <emphasis role="op">=</emphasis> p3
+iamp   <emphasis role="op">=</emphasis> p4
+ifreq  <emphasis role="op">=</emphasis> p5
+itable <emphasis role="op">=</emphasis> p6
+	
+aenv	<emphasis role="opc">linseg</emphasis>	0, .001, 1.0, idur <emphasis role="op">-</emphasis> .051, 1.0, .05, 0	<emphasis role="comment">; declicking envelope</emphasis>
+aosc	<emphasis role="opc">phasor</emphasis>	ifreq					<emphasis role="comment">; create a linear phasor</emphasis>
+aout3	<emphasis role="opc">tablei</emphasis>	aosc, itable, 1				<emphasis role="comment">; read a sine table without the linear phasor</emphasis>
+apd11	<emphasis role="opc">polynomial</emphasis> aosc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 <emphasis role="comment">; distort the phasor with x^11</emphasis>
+aout11	<emphasis role="opc">tablei</emphasis>	apd11, itable, 1			<emphasis role="comment">; read a sine table with the nonlinear phasor</emphasis>
+kamount	<emphasis role="opc">linseg</emphasis>	1.0, 0.05, 0.9, 1.0, 0.0		<emphasis role="comment">; crossfade between two outputs</emphasis>
+aout	<emphasis role="op">=</emphasis> aout3<emphasis role="op">*</emphasis>kamount <emphasis role="op">+</emphasis> aout11<emphasis role="op">*</emphasis>(1.0 <emphasis role="op">-</emphasis> kamount)
+        <emphasis role="opc">outs</emphasis> aenv<emphasis role="op">*</emphasis>aout<emphasis role="op">*</emphasis>iamp, aenv<emphasis role="op">*</emphasis>aout<emphasis role="op">*</emphasis>iamp	
+	
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 16385 10 1	<emphasis role="comment">; sine wave</emphasis>
+
+<emphasis role="comment">; descending "just blues" scale</emphasis>
+
+<emphasis role="stamnt">t</emphasis> 0 100
+<emphasis role="stamnt">i</emphasis>4 0 .333 .7 512     1
+<emphasis role="stamnt">i</emphasis>. + .    .  448
+<emphasis role="stamnt">i</emphasis>. + .    .  384
+<emphasis role="stamnt">i</emphasis>. + .    .  360
+<emphasis role="stamnt">i</emphasis>. + .    .  341.33
+<emphasis role="stamnt">i</emphasis>. + .    .  298.67
+<emphasis role="stamnt">i</emphasis>. + 2    .  256
+<emphasis role="stamnt">s</emphasis>
+
+<emphasis role="stamnt">t</emphasis> 0 100
+<emphasis role="stamnt">i</emphasis>5 0 .333 .7 512     1
+<emphasis role="stamnt">i</emphasis>. + .    .  448
+<emphasis role="stamnt">i</emphasis>. + .    .  384
+<emphasis role="stamnt">i</emphasis>. + .    .  360
+<emphasis role="stamnt">i</emphasis>. + .    .  341.33
+<emphasis role="stamnt">i</emphasis>. + .    .  298.67
+<emphasis role="stamnt">i</emphasis>. + 2    .  256
+<emphasis role="stamnt">s</emphasis>
+
+<emphasis role="stamnt">t</emphasis> 0 100
+<emphasis role="stamnt">i</emphasis>6 0 .333 .7 512     1
+<emphasis role="stamnt">i</emphasis>. + .    .  448
+<emphasis role="stamnt">i</emphasis>. + .    .  384
+<emphasis role="stamnt">i</emphasis>. + .    .  360
+<emphasis role="stamnt">i</emphasis>. + .    .  341.33
+<emphasis role="stamnt">i</emphasis>. + .    .  298.67
+<emphasis role="stamnt">i</emphasis>. + 2    .  256
 
-<emphasis role="stamnt">i</emphasis>1 0 1
 <emphasis role="stamnt">e</emphasis>
 
 <emphasis role="csdtag"></CsScore></emphasis>
diff --git a/examples-xml/pop.csd.xml b/examples-xml/pop.csd.xml
new file mode 100644
index 0000000..7866ae8
--- /dev/null
+++ b/examples-xml/pop.csd.xml
@@ -0,0 +1,43 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o pop.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+ 
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+
+<emphasis role="opc">stack</emphasis> 100000 
+
+<emphasis role="oblock">instr</emphasis> 1 
+
+a1	<emphasis role="opc">oscils</emphasis> 0.7, 220, 0 
+k1	<emphasis role="opc">line</emphasis> 0, p3, 1 
+        <emphasis role="opc">push</emphasis> "blah", 123.45, a1, k1 
+        <emphasis role="opc">push</emphasis> <emphasis role="opc">rnd</emphasis>(k1) 
+
+k_rnd	<emphasis role="opc">pop</emphasis> 
+S01, i01, a01, k01 <emphasis role="opc">pop</emphasis> 
+        <emphasis role="opc">printf_i</emphasis> "S01 <emphasis role="op">=</emphasis> '<emphasis role="op">%</emphasis>s', i01 <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>g\n", 1, S01, i01 
+ktrig	<emphasis role="opc">metro</emphasis> 5.0 
+        <emphasis role="opc">printf</emphasis> "k01 <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>.3f, k_rnd <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>.3f\n", ktrig, k01, k_rnd 
+        <emphasis role="opc">outs</emphasis> a01, a01 
+
+<emphasis role="oblock">endin</emphasis> 
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+ 
+
+<emphasis role="stamnt">i</emphasis> 1 0 5 
+<emphasis role="stamnt">e</emphasis> 
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/port.csd.xml b/examples-xml/port.csd.xml
new file mode 100644
index 0000000..25240b6
--- /dev/null
+++ b/examples-xml/port.csd.xml
@@ -0,0 +1,37 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o port.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+
+<emphasis role="oblock">instr</emphasis> 1
+
+aout  <emphasis role="opc">diskin2</emphasis> "fox.wav",1, 0, 1
+kf,ka <emphasis role="opc">ptrack</emphasis> aout, 512	<emphasis role="comment">; pitch track with winsize=1024</emphasis>
+kcps  <emphasis role="opc">port</emphasis> kf, 0.01	<emphasis role="comment">; smooth freq</emphasis>
+kamp  <emphasis role="opc">port</emphasis> ka, 0.01	<emphasis role="comment">; smooth amp</emphasis>
+<emphasis role="comment">; drive an oscillator</emphasis>
+asig  <emphasis role="opc">poscil</emphasis> <emphasis role="opc">ampdb</emphasis>(kamp)<emphasis role="op">*</emphasis>0dbfs, kcps, 1
+      <emphasis role="opc">outs</emphasis>  asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">; simple sine wave</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 4096 10 1
+
+<emphasis role="stamnt">i</emphasis> 1 0  5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/poscil.csd.xml b/examples-xml/poscil.csd.xml
index 31efa09..8170c1e 100644
--- a/examples-xml/poscil.csd.xml
+++ b/examples-xml/poscil.csd.xml
@@ -2,41 +2,37 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o poscil.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="ohdr">seed</emphasis> 0
+gisine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
 
-<emphasis role="comment">; Instrument #1 - a basic oscillator.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 10000
-  kcps <emphasis role="op">=</emphasis> 440
-  ifn <emphasis role="op">=</emphasis> 1
 
-  a1 <emphasis role="opc">poscil</emphasis> kamp, kcps, ifn
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
+ipeak <emphasis role="opc">random</emphasis> 0, 1 		<emphasis role="comment">;where is the envelope peak</emphasis>
+asig  <emphasis role="opc">poscil</emphasis> .8, 220, gisine
+aenv  <emphasis role="opc">transeg</emphasis> 0, p3<emphasis role="op">*</emphasis>ipeak, 6, 1, p3<emphasis role="op">-</emphasis>p3<emphasis role="op">*</emphasis>ipeak, <emphasis role="op">-</emphasis>6, 0
+aL,aR <emphasis role="opc">pan2</emphasis> asig<emphasis role="op">*</emphasis>aenv, ipeak	<emphasis role="comment">;pan according to random value</emphasis>
+      <emphasis role="opc">outs</emphasis> aL, aR
 
+<emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for 2 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis>1 0 5
+<emphasis role="stamnt">i</emphasis>1 4 5
+<emphasis role="stamnt">i</emphasis>1 8 5
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/poscil3.csd.xml b/examples-xml/poscil3.csd.xml
index 75c9c50..9e39667 100644
--- a/examples-xml/poscil3.csd.xml
+++ b/examples-xml/poscil3.csd.xml
@@ -2,41 +2,33 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if real audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o poscil3.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1 - a basic oscillator.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 10000
-  kcps <emphasis role="op">=</emphasis> 440
-  ifn <emphasis role="op">=</emphasis> 1
+giSine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
 
-  a1 <emphasis role="opc">poscil3</emphasis> kamp, kcps, ifn
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
+<emphasis role="oblock">instr</emphasis> 1
 
+krnd  <emphasis role="opc">randomh</emphasis> 40, 440, 1	<emphasis role="comment">; produce random values</emphasis>
+ain   <emphasis role="opc">poscil3</emphasis> .6, krnd, giSine
+kline <emphasis role="opc">line</emphasis>    1, p3, 0    	<emphasis role="comment">; straight line</emphasis>
+aL,aR <emphasis role="opc">pan2</emphasis>    ain, kline	<emphasis role="comment">; sent across image</emphasis>
+      <emphasis role="opc">outs</emphasis>    aL, aR
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for 2 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis>1 0 10
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/pow.csd.xml b/examples-xml/pow.csd.xml
index 2563de1..a9530a9 100644
--- a/examples-xml/pow.csd.xml
+++ b/examples-xml/pow.csd.xml
@@ -2,36 +2,36 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o pow.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">;-o pow.wav        ; output to audio file</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+    
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; Lo-Fi sound</emphasis>
+
+kpow	  <emphasis role="op">=</emphasis> 10						<emphasis role="comment">;exponent</emphasis>
+kbase	  <emphasis role="opc">line</emphasis> 1, p3, 1.4				<emphasis role="comment">;vary the base</emphasis>
+kQuantize <emphasis role="opc">pow</emphasis> kbase, kpow
+kQuantize <emphasis role="op">=</emphasis> kQuantize<emphasis role="op">*</emphasis>0.5				<emphasis role="comment">;half the number of steps for each side of a bipolar signal</emphasis>
+<emphasis role="opc">printk2</emphasis>	  kQuantize
+asig	  <emphasis role="opc">diskin2</emphasis> "fox.wav", 1, 0, 1			<emphasis role="comment">;loop the fox</emphasis>
+asig	  <emphasis role="op">=</emphasis> <emphasis role="opc">round</emphasis>(asig <emphasis role="op">*</emphasis> kQuantize) <emphasis role="op">/</emphasis> kQuantize		<emphasis role="comment">;quantize and scale audio signal</emphasis>
+    	  <emphasis role="opc">outs</emphasis> asig, asig  
 
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; This could also be expressed as: i1 = 2 ^ 12</emphasis>
-  i1 <emphasis role="opc">pow</emphasis> 2, 12
-
-  <emphasis role="opc">print</emphasis> i1
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
-<emphasis role="stamnt">e</emphasis>
-
+<emphasis role="stamnt">i</emphasis>1 0 19.2
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/powoftwo.csd.xml b/examples-xml/powoftwo.csd.xml
index e2ae21d..4191260 100644
--- a/examples-xml/powoftwo.csd.xml
+++ b/examples-xml/powoftwo.csd.xml
@@ -2,34 +2,40 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o powoftwo.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">; -o poweroftwo.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  i1 <emphasis role="op">=</emphasis> <emphasis role="opc">powoftwo</emphasis>(12)
-  <emphasis role="opc">print</emphasis> i1
-<emphasis role="oblock">endin</emphasis>
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; bit reduction for Lo-Fi sound</emphasis>
 
+iBits	  <emphasis role="op">=</emphasis> p5						<emphasis role="comment">;bit depth</emphasis>
+iQuantize <emphasis role="op">=</emphasis> <emphasis role="opc">powoftwo</emphasis>(iBits)				<emphasis role="comment">;find number of discrete steps for this bit depth</emphasis>
+iQuantize <emphasis role="op">=</emphasis> iQuantize<emphasis role="op">*</emphasis>0.5				<emphasis role="comment">;half the number of steps for each side of a bipolar signal</emphasis>
+<emphasis role="opc">print</emphasis>	  iQuantize
+asig	  <emphasis role="opc">soundin</emphasis> "fox.wav"
+asig	  <emphasis role="op">=</emphasis> <emphasis role="opc">round</emphasis>(asig <emphasis role="op">*</emphasis> iQuantize) <emphasis role="op">/</emphasis> iQuantize		<emphasis role="comment">;quantize audio signal (bit reduce)</emphasis>
+	  <emphasis role="opc">outs</emphasis> asig, asig         
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">;        bits</emphasis>
+<emphasis role="stamnt">i</emphasis>1 0   3  16
+<emphasis role="stamnt">i</emphasis>1 ^+3 .  12
+<emphasis role="stamnt">i</emphasis>1 ^+3 .   8
+<emphasis role="stamnt">i</emphasis>1 ^+3 .   4
+<emphasis role="stamnt">i</emphasis>1 ^+3 .   2
+<emphasis role="stamnt">i</emphasis>1 ^+3 .   1
 
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/prepiano.csd.xml b/examples-xml/prepiano.csd.xml
index 305915d..b7029cf 100644
--- a/examples-xml/prepiano.csd.xml
+++ b/examples-xml/prepiano.csd.xml
@@ -2,34 +2,33 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if real audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o prepiano.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2<emphasis role="comment">;</emphasis>
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
 <emphasis role="comment">;;          fund NS detune stiffness decay loss (bndry) (hammer) scan prep</emphasis>
 aa,ab <emphasis role="opc">prepiano</emphasis> 60, 3, 10, p4, 3, 0.002, 2, 2, 1, 5000, <emphasis role="op">-</emphasis>0.01, p5, p6, 0, 0.1, 1, 2
-      <emphasis role="opc">outs</emphasis> aa<emphasis role="op">*</emphasis>.75, ab<emphasis role="op">*</emphasis>.75
+      <emphasis role="opc">outs</emphasis> aa<emphasis role="op">*</emphasis>.2, ab<emphasis role="op">*</emphasis>.2
+
 <emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 <emphasis role="stamnt">f</emphasis>1 0 8 2 1 0.6 10 100 0.001 <emphasis role="comment">;; 1 rattle</emphasis>
 <emphasis role="stamnt">f</emphasis>2 0 8 2 1 0.7 50 500 1000  <emphasis role="comment">;; 1 rubber</emphasis>
-<emphasis role="stamnt">i</emphasis>1 0.0 0.5 1 0.09 20
-<emphasis role="stamnt">i</emphasis>1 0.5 .  -1 0.09 40        <emphasis role="comment">;; 1 -> skip initialisation</emphasis>
-<emphasis role="stamnt">i</emphasis>1 1.0 .  -1 0.09 60
-<emphasis role="stamnt">i</emphasis>1 1.5 .  -1 0.09 80
-<emphasis role="stamnt">i</emphasis>1 2.0 1.8  -1 0.09 100
+<emphasis role="stamnt">i</emphasis>1 0.0 1 1 0.09 20
+<emphasis role="stamnt">i</emphasis>1 1 .  -1 0.09 40        <emphasis role="comment">;; 1 -> skip initialisation</emphasis>
+<emphasis role="stamnt">i</emphasis>1 2 .  -1 0.09 60
+<emphasis role="stamnt">i</emphasis>1 3 .  -1 0.09 80
+<emphasis role="stamnt">i</emphasis>1 4 1.8  -1 0.09 100
 <emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
diff --git a/examples-xml/print.csd.xml b/examples-xml/print.csd.xml
index 8dd462e..91625ec 100644
--- a/examples-xml/print.csd.xml
+++ b/examples-xml/print.csd.xml
@@ -2,39 +2,34 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o print.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Print the fourth p-field.</emphasis>
-  <emphasis role="opc">print</emphasis> p4
-<emphasis role="oblock">endin</emphasis>
 
+irand <emphasis role="op">=</emphasis> <emphasis role="opc">rnd</emphasis>(3)			<emphasis role="comment">;generate a random number from 0 to 3</emphasis>
+<emphasis role="opc">print</emphasis> irand			<emphasis role="comment">;print it</emphasis>
+asig  <emphasis role="opc">poscil</emphasis> .7, 440<emphasis role="op">*</emphasis>irand, 1
+      <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 16384 10 1	<emphasis role="comment">;sine wave</emphasis>
 
-<emphasis role="comment">; p4 = value to be printed.</emphasis>
-<emphasis role="comment">; Play Instrument #1 for one second, p4 = 50.375.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1 50.375
-<emphasis role="comment">; Play Instrument #1 for one second, p4 = 300.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 1 1 300
-<emphasis role="comment">; Play Instrument #1 for one second, p4 = -999.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 2 1 -999
+<emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="stamnt">i</emphasis> 1 2 1
+<emphasis role="stamnt">i</emphasis> 1 4 1
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/printf.csd.xml b/examples-xml/printf.csd.xml
new file mode 100644
index 0000000..151cfd9
--- /dev/null
+++ b/examples-xml/printf.csd.xml
@@ -0,0 +1,39 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">;-o printf.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+Sfile     <emphasis role="opc">strget</emphasis>    p4
+ivld      <emphasis role="opc">filevalid</emphasis> Sfile
+
+<emphasis role="octrl">if</emphasis> ivld<emphasis role="op">=</emphasis>0 then
+          <emphasis role="opc">printf_i</emphasis>  "Audiofile '<emphasis role="op">%</emphasis>s' does not exist!\n", 1, Sfile
+<emphasis role="octrl">else</emphasis>
+asig      <emphasis role="opc">diskin2</emphasis>   Sfile, 1
+          <emphasis role="opc">outs</emphasis>      asig, asig
+<emphasis role="octrl">endif</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 3 "frox.wav"<emphasis role="comment">;file does not exist!!!</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 3 "fox.wav"<emphasis role="comment">;but this one certainly does...</emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/printk2.csd.xml b/examples-xml/printk2.csd.xml
index d7b780a..21ec464 100644
--- a/examples-xml/printk2.csd.xml
+++ b/examples-xml/printk2.csd.xml
@@ -2,42 +2,40 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o printk2.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 1
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Change a value linearly from 0 to 10,</emphasis>
-  <emphasis role="comment">; over the period defined by p3.</emphasis>
-  kval1 <emphasis role="opc">line</emphasis> 0, p3, 10
 
-  <emphasis role="comment">; If kval1 is greater than or equal to 5, </emphasis>
-  <emphasis role="comment">; then kval=2, else kval=1.</emphasis>
-  kval2 <emphasis role="op">=</emphasis> (kval1 <emphasis role="op">>=</emphasis> 5 <emphasis role="op">?</emphasis> 2 <emphasis role="op">:</emphasis> 1)
-
-  <emphasis role="comment">; Print the value of kval2 when it changes.</emphasis>
-  <emphasis role="opc">printk2</emphasis> kval2
-<emphasis role="oblock">endin</emphasis>
+kval    <emphasis role="opc">randomh</emphasis> 0, 1.2, 20		<emphasis role="comment">;choose between 0 and 1.2</emphasis>
+<emphasis role="octrl">if</emphasis> kval <emphasis role="op">></emphasis>0 <emphasis role="op">&&</emphasis> kval<emphasis role="op"><=</emphasis>.5 then		<emphasis role="comment">;3 possible outcomes</emphasis>
+	kval <emphasis role="op">=</emphasis> 1			
+<emphasis role="octrl">elseif</emphasis> kval <emphasis role="op">></emphasis>.5 <emphasis role="op">&&</emphasis> kval<emphasis role="op"><=</emphasis>1 then
+	kval <emphasis role="op">=</emphasis>2
+<emphasis role="octrl">elseif</emphasis> kval <emphasis role="op">></emphasis>1 then
+	kval <emphasis role="op">=</emphasis>3
+<emphasis role="octrl">endif</emphasis>
 
+<emphasis role="opc">printk2</emphasis> kval				<emphasis role="comment">;print value when it changes</emphasis>
+asig    <emphasis role="opc">poscil</emphasis> .7, 440<emphasis role="op">*</emphasis>kval, 1
+        <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 16384 10 1
 
-<emphasis role="comment">; Play Instrument #1 for 5 seconds.</emphasis>
 <emphasis role="stamnt">i</emphasis> 1 0 5
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/product.csd.xml b/examples-xml/product.csd.xml
new file mode 100644
index 0000000..195fdca
--- /dev/null
+++ b/examples-xml/product.csd.xml
@@ -0,0 +1,38 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o product.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+gisine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+a1   <emphasis role="opc">oscili</emphasis> 1, 10.0, gisine		<emphasis role="comment">;combine 3 sinusses</emphasis>
+a2   <emphasis role="opc">oscili</emphasis> 1, 1.0, gisine		<emphasis role="comment">;at different rates</emphasis>
+a3   <emphasis role="opc">oscili</emphasis> 1, 3.0, gisine
+ares <emphasis role="opc">product</emphasis> a1, a2, a3
+
+ares <emphasis role="op">=</emphasis> ares<emphasis role="op">*</emphasis>10000			<emphasis role="comment">;scale result and</emphasis>
+asig <emphasis role="opc">poscil</emphasis> .5, ares<emphasis role="op">+</emphasis>110, gisine	<emphasis role="comment">;add to frequency			</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis>1 0 5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/pset-midi.csd.xml b/examples-xml/pset-midi.csd.xml
new file mode 100644
index 0000000..ff6a45f
--- /dev/null
+++ b/examples-xml/pset-midi.csd.xml
@@ -0,0 +1,45 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+ 
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac -+rtmidi=virtual -M0 --midi-key-oct=4 --midi-velocity=5   <emphasis role="comment">;;;realtime audio out and virtual midi keyboard</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o pset-midi.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+ 
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2 
+
+<emphasis role="oblock">instr</emphasis> 1
+
+            <emphasis role="opc">pset</emphasis> 0, 0, 3600, 0, 0, 0
+iinstrument <emphasis role="op">=</emphasis> p1
+istarttime  <emphasis role="op">=</emphasis> p2
+iattack     <emphasis role="op">=</emphasis> 0.005
+isustain    <emphasis role="op">=</emphasis> p3
+irelease    <emphasis role="op">=</emphasis> 0.06
+p3          <emphasis role="op">=</emphasis> isustain <emphasis role="op">+</emphasis> iattack <emphasis role="op">+</emphasis> irelease
+kdamping    <emphasis role="opc">linsegr</emphasis> 0.0, iattack, 1.0, isustain, 1.0, irelease, 0.0
+
+ioctave     <emphasis role="op">=</emphasis> p4
+ifrequency  <emphasis role="op">=</emphasis> <emphasis role="opc">cpsoct</emphasis>(ioctave)
+iamplitude  <emphasis role="op">=</emphasis> p5<emphasis role="op">*</emphasis>.15			<emphasis role="comment">;lower volume</emphasis>
+
+<emphasis role="opc">print</emphasis> p1, p2, p3, p4, p5
+asig <emphasis role="opc">STKBandedWG</emphasis> ifrequency, iamplitude
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 0 60	<emphasis role="comment">; runs 69 seconds</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/pset.csd.xml b/examples-xml/pset.csd.xml
new file mode 100644
index 0000000..1b4148f
--- /dev/null
+++ b/examples-xml/pset.csd.xml
@@ -0,0 +1,37 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+ 
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o pset.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+ 
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2 
+
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">;this shows an example with non-midi use</emphasis>
+
+<emphasis role="opc">pset</emphasis> 1, 0, 1, 220, 0.5 
+asig <emphasis role="opc">poscil</emphasis> p5, p4, 1 
+     <emphasis role="opc">outs</emphasis> asig, asig
+ 
+<emphasis role="oblock">endin</emphasis> 
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+ 
+<emphasis role="stamnt">f</emphasis> 1 0 1024 10 1	<emphasis role="comment">;sine wave</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 1 
+<emphasis role="stamnt">i</emphasis> 1 1 1 440 
+<emphasis role="stamnt">i</emphasis> 1 2 1 440 0.1 
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/ptable.csd.xml b/examples-xml/ptable.csd.xml
new file mode 100644
index 0000000..5660015
--- /dev/null
+++ b/examples-xml/ptable.csd.xml
@@ -0,0 +1,50 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
+-odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o table.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="comment">; Initialize the global variables.</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+
+<emphasis role="comment">; Instrument #1.</emphasis>
+<emphasis role="oblock">instr</emphasis> 1
+  <emphasis role="comment">; Vary our index linearly from 0 to 1.</emphasis>
+  kndx <emphasis role="opc">line</emphasis> 0, p3, 1
+
+  <emphasis role="comment">; Read Table #1 with our index.</emphasis>
+  ifn <emphasis role="op">=</emphasis> 1
+  ixmode <emphasis role="op">=</emphasis> 1
+  kfreq <emphasis role="opc">ptable</emphasis> kndx, ifn, ixmode
+
+  <emphasis role="comment">; Generate a sine waveform, use our table values </emphasis>
+  <emphasis role="comment">; to vary its frequency.</emphasis>
+  a1 <emphasis role="opc">oscil</emphasis> 20000, kfreq, 2
+  <emphasis role="opc">out</emphasis> a1
+<emphasis role="oblock">endin</emphasis>
+
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="comment">; Table #1, a line from 200 to 2,000.</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 1025 -7 200 1024 2000
+<emphasis role="comment">; Table #2, a sine wave.</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 16384 10 1
+
+<emphasis role="comment">; Play Instrument #1 for 2 seconds.</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">e</emphasis>
+
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/ptablei.csd.xml b/examples-xml/ptablei.csd.xml
new file mode 100644
index 0000000..9a75637
--- /dev/null
+++ b/examples-xml/ptablei.csd.xml
@@ -0,0 +1,68 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o tablei.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="ohdr">seed</emphasis> 0	<emphasis role="comment">;generate new values every time the instr is played</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ifn <emphasis role="op">=</emphasis> p4
+isize <emphasis role="op">=</emphasis> p5
+ithresh <emphasis role="op">=</emphasis> 0.5
+    
+itemp <emphasis role="ohdr">ftgen</emphasis> ifn, 0, isize, 21, 2
+
+iwrite_value <emphasis role="op">=</emphasis> 0
+i_index <emphasis role="op">=</emphasis> 0
+    
+<emphasis role="olabel">loop_start</emphasis><emphasis role="op">:</emphasis>
+    iread_value <emphasis role="opc">ptablei</emphasis> i_index, ifn
+    
+    <emphasis role="octrl">if</emphasis> iread_value <emphasis role="op">></emphasis> ithresh then
+         iwrite_value <emphasis role="op">=</emphasis> 1
+    <emphasis role="octrl">else</emphasis>
+         iwrite_value <emphasis role="op">=</emphasis> <emphasis role="op">-</emphasis>1
+    <emphasis role="octrl">endif</emphasis>
+<emphasis role="opc">ptableiw</emphasis> iwrite_value, i_index, ifn
+<emphasis role="octrl">loop_lt</emphasis> i_index, 1, isize, <emphasis role="olabel">loop_start</emphasis>
+    <emphasis role="opc">turnoff</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+
+ifn <emphasis role="op">=</emphasis> p4
+isize <emphasis role="op">=</emphasis> <emphasis role="opc">ftlen</emphasis>(ifn)    
+<emphasis role="opc">prints</emphasis> "Index\tValue\n"
+    
+i_index <emphasis role="op">=</emphasis> 0
+<emphasis role="olabel">loop_start</emphasis><emphasis role="op">:</emphasis>
+    ivalue <emphasis role="opc">tablei</emphasis> i_index, ifn
+    <emphasis role="opc">prints</emphasis> "<emphasis role="op">%</emphasis>d<emphasis role="op">:</emphasis>\t<emphasis role="op">%</emphasis>f\n", i_index, ivalue
+
+  <emphasis role="octrl">loop_lt</emphasis> i_index, 1, isize, <emphasis role="olabel">loop_start</emphasis>		<emphasis role="comment">;read table 1 with our index</emphasis>
+
+aout <emphasis role="opc">oscili</emphasis> .5, 100, ifn			<emphasis role="comment">;use table to play the polypulse</emphasis>
+     <emphasis role="opc">outs</emphasis>   aout, aout
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 1 100 16
+<emphasis role="stamnt">i</emphasis> 2 0 2 100
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/ptrack.csd.xml b/examples-xml/ptrack.csd.xml
index be5358d..f9dea13 100644
--- a/examples-xml/ptrack.csd.xml
+++ b/examples-xml/ptrack.csd.xml
@@ -2,35 +2,38 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No display</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o ptrack.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="ohdr">sr</emphasis><emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 16
-<emphasis role="ohdr">nchnls</emphasis><emphasis role="op">=</emphasis> 1
-
-<emphasis role="comment">;Example by Victor Lazzarini 2007</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
 <emphasis role="oblock">instr</emphasis> 1
-  a1 <emphasis role="opc">inch</emphasis> 1              <emphasis role="comment">; take an input signal</emphasis>
-  kf,ka <emphasis role="opc">ptrack</emphasis> a1, 512   <emphasis role="comment">; pitch track with winsize=1024</emphasis>
-  kcps <emphasis role="opc">port</emphasis> kf, 0.01     <emphasis role="comment">; smooth freq</emphasis>
-  kamp <emphasis role="opc">port</emphasis> ka, 0.01     <emphasis role="comment">; smooth amp</emphasis>
 
-  <emphasis role="comment">; drive an oscillator</emphasis>
-  aout <emphasis role="opc">oscili</emphasis> <emphasis role="opc">ampdb</emphasis>(kamp)<emphasis role="op">*</emphasis>0dbfs, kcps, 1
+ihop  <emphasis role="op">=</emphasis> p4
+aout  <emphasis role="opc">diskin2</emphasis> "fox.wav",1, 0, 1
+kf,ka <emphasis role="opc">ptrack</emphasis> aout, ihop	<emphasis role="comment">; pitch track with different hopsizes</emphasis>
+kcps  <emphasis role="opc">port</emphasis> kf, 0.01	<emphasis role="comment">; smooth freq</emphasis>
+kamp  <emphasis role="opc">port</emphasis> ka, 0.01	<emphasis role="comment">; smooth amp</emphasis>
+<emphasis role="comment">; drive an oscillator</emphasis>
+asig  <emphasis role="opc">poscil</emphasis> <emphasis role="opc">ampdb</emphasis>(kamp)<emphasis role="op">*</emphasis>0dbfs, kcps, 1
+      <emphasis role="opc">outs</emphasis>  asig, asig
 
-  <emphasis role="opc">out</emphasis>  aout
 <emphasis role="oblock">endin</emphasis>
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 <emphasis role="comment">; simple sine wave</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 4096 10 1
 
-<emphasis role="stamnt">i</emphasis> 1 0 3600
+<emphasis role="stamnt">i</emphasis> 1 0  5 128
+<emphasis role="stamnt">i</emphasis> 1 6  5 512
+<emphasis role="stamnt">i</emphasis> 1 12 5 1024
 <emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
diff --git a/examples-xml/push.csd.xml b/examples-xml/push.csd.xml
new file mode 100644
index 0000000..a291a72
--- /dev/null
+++ b/examples-xml/push.csd.xml
@@ -0,0 +1,43 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o push.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+ 
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+
+<emphasis role="opc">stack</emphasis> 100000 
+
+<emphasis role="oblock">instr</emphasis> 1 
+
+a1	<emphasis role="opc">oscils</emphasis> 0.7, 220, 0 
+k1	<emphasis role="opc">line</emphasis> 0, p3, 1 
+        <emphasis role="opc">push</emphasis> "blah", 123.45, a1, k1 
+        <emphasis role="opc">push</emphasis> <emphasis role="opc">rnd</emphasis>(k1) 
+
+k_rnd	<emphasis role="opc">pop</emphasis> 
+S01, i01, a01, k01 <emphasis role="opc">pop</emphasis> 
+        <emphasis role="opc">printf_i</emphasis> "S01 <emphasis role="op">=</emphasis> '<emphasis role="op">%</emphasis>s', i01 <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>g\n", 1, S01, i01 
+ktrig	<emphasis role="opc">metro</emphasis> 5.0 
+        <emphasis role="opc">printf</emphasis> "k01 <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>.3f, k_rnd <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>.3f\n", ktrig, k01, k_rnd 
+        <emphasis role="opc">outs</emphasis> a01, a01 
+
+<emphasis role="oblock">endin</emphasis> 
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+ 
+
+<emphasis role="stamnt">i</emphasis> 1 0 5 
+<emphasis role="stamnt">e</emphasis> 
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/puts.csd.xml b/examples-xml/puts.csd.xml
new file mode 100644
index 0000000..5dc226e
--- /dev/null
+++ b/examples-xml/puts.csd.xml
@@ -0,0 +1,36 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o puts.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis>	1
+
+kcount <emphasis role="opc">init</emphasis> 440
+ktrig  <emphasis role="opc">metro</emphasis> 10
+kcount <emphasis role="op">=</emphasis> kcount <emphasis role="op">+</emphasis> ktrig
+String <emphasis role="opc">sprintfk</emphasis> "frequency <emphasis role="opc">in</emphasis> Hertz <emphasis role="op">:</emphasis> <emphasis role="op">%</emphasis>d \n", kcount
+       <emphasis role="opc">puts</emphasis>	String, kcount
+       asig <emphasis role="opc">poscil</emphasis> .7, kcount, 1
+       <emphasis role="opc">outs</emphasis> asig, asig
+	
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 16384 10 1
+
+<emphasis role="stamnt">i</emphasis> 1 0 10
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/pvadd.csd.xml b/examples-xml/pvadd.csd.xml
index 487c6a7..7f8e16b 100644
--- a/examples-xml/pvadd.csd.xml
+++ b/examples-xml/pvadd.csd.xml
@@ -2,44 +2,35 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o pvadd.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
 <emphasis role="comment">; analyze "fox.wav" with PVANAL first</emphasis>
- igatefn <emphasis role="op">=</emphasis> p4
- ktime <emphasis role="opc">line</emphasis> 0, p3, p3
-asig <emphasis role="opc">pvadd</emphasis>	ktime, 1, "fox.pvoc", 1, 300, 2, 2, 0, 0, igatefn
+igatefn <emphasis role="op">=</emphasis> p4
+ktime <emphasis role="opc">line</emphasis> 0, p3, p3
+asig  <emphasis role="opc">pvadd</emphasis> ktime, 1, "fox.pvx", 1, 300, 2, 2, 0, 0, igatefn
+      <emphasis role="opc">outs</emphasis> asig<emphasis role="op">*</emphasis>3, asig<emphasis role="op">*</emphasis>3
 
-  <emphasis role="opc">out</emphasis> asig<emphasis role="op">*</emphasis>3
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1, an ordinary sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1	<emphasis role="comment">;sine wave</emphasis>
 <emphasis role="stamnt">f</emphasis> 2 0 512 5 1 256 .001
 <emphasis role="stamnt">f</emphasis> 3 0 512 7 0 256 1 256 1
 
-<emphasis role="comment">; Play Instrument #1 for three seconds.</emphasis>
 <emphasis role="stamnt">i</emphasis> 1 0 2.8 2 
 <emphasis role="stamnt">i</emphasis> 1 + 2.8 3
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/pvbufread.csd.xml b/examples-xml/pvbufread.csd.xml
index e0345f9..d66b5e3 100644
--- a/examples-xml/pvbufread.csd.xml
+++ b/examples-xml/pvbufread.csd.xml
@@ -2,38 +2,32 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o pvbufread.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-<emphasis role="comment">; analyze "fox.wav" and "mary.wav" with PVANAL first</emphasis>
+<emphasis role="comment">; analyze "fox.wav" and "flute.aiff" with PVANAL first</emphasis>
+ktime1 <emphasis role="opc">line</emphasis>  0, p3, .8		<emphasis role="comment">; use a part of "flute.pvx" file</emphasis>
+ktime2 <emphasis role="opc">line</emphasis>  0, p3, 1.2		<emphasis role="comment">; use a part of "beats.pvx" file</emphasis>
+kcross <emphasis role="opc">expon</emphasis> .03, p3, 1
+       <emphasis role="opc">pvbufread</emphasis> ktime1, "flute.pvx"
+asig   <emphasis role="opc">pvcross</emphasis>   ktime2, 1, "beats.pvx", 1<emphasis role="op">-</emphasis>kcross, kcross
+       <emphasis role="opc">outs</emphasis> asig, asig
 
-ktime1 <emphasis role="opc">line</emphasis>    0, p3, 2.8		 <emphasis role="comment">; used as index in the "mary.pvoc" file</emphasis>
-ktime2 <emphasis role="opc">line</emphasis>    0, p3, 3		 <emphasis role="comment">; used as index in the "fox.pvoc" file</emphasis>
-kcross	<emphasis role="opc">expon</emphasis>	.001, p3, 1
-	<emphasis role="opc">pvbufread</emphasis>	ktime1, "mary.pvoc"
-apv	<emphasis role="opc">pvcross</emphasis>	ktime2, 1, "fox.pvoc", 1<emphasis role="op">-</emphasis>kcross, kcross
-
-	<emphasis role="opc">out</emphasis> apv
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-.
 <emphasis role="stamnt">i</emphasis> 1 0 3
-<emphasis role="stamnt">i</emphasis> 1 + 1.5
+<emphasis role="stamnt">i</emphasis> 1 + 10
 
 <emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
diff --git a/examples-xml/pvcross.csd.xml b/examples-xml/pvcross.csd.xml
index b41e83c..3ef2bdd 100644
--- a/examples-xml/pvcross.csd.xml
+++ b/examples-xml/pvcross.csd.xml
@@ -2,38 +2,37 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o pvcross.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-<emphasis role="comment">; analyze "fox.wav" and "mary.wav" with PVANAL first</emphasis>
+<emphasis role="comment">; analyze "beats.wav", "flute.aiff" and "mary.wav" with PVANAL first</emphasis>
+ktime1 <emphasis role="opc">line</emphasis> 0, p3, 2			<emphasis role="comment">; used as index in the "beats.pvx" file</emphasis>
+ktime2 <emphasis role="opc">line</emphasis> 0, p3, 2.6			<emphasis role="comment">; used as index in the "flute.pvx" or "mary.pvx"	</emphasis>
+       <emphasis role="opc">pvbufread</emphasis> ktime1, "beats.pvx"	<emphasis role="comment">;take only amplitude from "beats.pvx"</emphasis>
+<emphasis role="octrl">if</emphasis> p4 <emphasis role="op">=</emphasis> 0 then
+asig   <emphasis role="opc">pvcross</emphasis>	ktime2, 1, "flute.pvx", 1, 0 <emphasis role="comment">;and keep freqs of "flute.aiff"</emphasis>
+asig   <emphasis role="op">=</emphasis> asig<emphasis role="op">*</emphasis>.8			<emphasis role="comment">;scale output</emphasis>
+<emphasis role="octrl">else</emphasis>
+asig   <emphasis role="opc">pvcross</emphasis>	ktime2, 1, "mary.pvx", 1, 0 <emphasis role="comment">;and keep freqs of "mary.wav"</emphasis>
+asig   <emphasis role="op">=</emphasis> asig<emphasis role="op">*</emphasis>.4			<emphasis role="comment">;scale output</emphasis>
+<emphasis role="octrl">endif</emphasis>
+       <emphasis role="opc">outs</emphasis> asig, asig
 
-ktime1 <emphasis role="opc">line</emphasis>    0, p3, 2.8		 <emphasis role="comment">; used as index in the "fox.pvoc" file</emphasis>
-ktime2 <emphasis role="opc">line</emphasis>    0, p3, 3		 <emphasis role="comment">; used as index in the "mary.pvoc" file</emphasis>
-kcross	<emphasis role="opc">expon</emphasis>	.001, p3, 1
-	<emphasis role="opc">pvbufread</emphasis>	ktime1, "fox.pvoc"
-apv	<emphasis role="opc">pvcross</emphasis>	ktime2, 1, "mary.pvoc", 1<emphasis role="op">-</emphasis>kcross, kcross
-
-	<emphasis role="opc">out</emphasis> apv
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-.
-<emphasis role="stamnt">i</emphasis> 1 0 3
-<emphasis role="stamnt">i</emphasis> 1 + 1.5
+<emphasis role="stamnt">i</emphasis> 1 0 3 0
+<emphasis role="stamnt">i</emphasis> 1 + 3 1
 
 <emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
diff --git a/examples-xml/pvinterp.csd.xml b/examples-xml/pvinterp.csd.xml
index 39dbb21..365ba63 100644
--- a/examples-xml/pvinterp.csd.xml
+++ b/examples-xml/pvinterp.csd.xml
@@ -2,38 +2,32 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o pvinterp.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-<emphasis role="comment">; analyze "fox.wav" and "mary.wav" with PVANAL first</emphasis>
+<emphasis role="comment">; analyze "fox.wav" and "flute.aiff" with PVANAL first</emphasis>
+ktime1 <emphasis role="opc">line</emphasis> 0, p3, 2.8		 <emphasis role="comment">; used as index in the "fox.pvx" file</emphasis>
+ktime2 <emphasis role="opc">line</emphasis> 0, p3, 3		 <emphasis role="comment">; used as index in the "flute.pvx" file</emphasis>
+kinterp <emphasis role="opc">line</emphasis> 1, p3, 0
+	<emphasis role="opc">pvbufread</emphasis> ktime1, "fox.pvx"
+asig	<emphasis role="opc">pvinterp</emphasis> ktime2,1,"flute.pvx",.9, 3, .6, 1, kinterp,1<emphasis role="op">-</emphasis>kinterp
+        <emphasis role="opc">outs</emphasis> asig, asig
 
-ktime1 <emphasis role="opc">line</emphasis>    0, p3, 2.8		 <emphasis role="comment">; used as index in the "fox.pvoc" file</emphasis>
-ktime2 <emphasis role="opc">line</emphasis>    0, p3, 3		 <emphasis role="comment">; used as index in the "mary.pvoc" file</emphasis>
-kinterp <emphasis role="opc">linseg</emphasis>    1, p3<emphasis role="op">*</emphasis>.15, 1, p3<emphasis role="op">*</emphasis>.35, 0, p3<emphasis role="op">*</emphasis>.25, 0, p3<emphasis role="op">*</emphasis>.15, 1, p3<emphasis role="op">*</emphasis>.1, 1
-	<emphasis role="opc">pvbufread</emphasis>	ktime1, "fox.pvoc"
-apv	<emphasis role="opc">pvinterp</emphasis>	ktime2,1,"mary.pvoc",1,1.065,1,.75,1<emphasis role="op">-</emphasis>kinterp,1<emphasis role="op">-</emphasis>kinterp
-
-	<emphasis role="opc">out</emphasis> apv
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-.
 <emphasis role="stamnt">i</emphasis> 1 0 3
-<emphasis role="stamnt">i</emphasis> 1 + 5
+<emphasis role="stamnt">i</emphasis> 1 + 10
 
 <emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
diff --git a/examples-xml/pvoc.csd.xml b/examples-xml/pvoc.csd.xml
index 61136bb..0ff0bc7 100644
--- a/examples-xml/pvoc.csd.xml
+++ b/examples-xml/pvoc.csd.xml
@@ -2,37 +2,33 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o pvoc.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
 <emphasis role="comment">; analyze "fox.wav" with PVANAL first</emphasis>
+ispec <emphasis role="op">=</emphasis> p4
+ktime <emphasis role="opc">line</emphasis> 0, p3, 1.55
+kfrq  <emphasis role="opc">line</emphasis> .8, p3, 2
+asig  <emphasis role="opc">pvoc</emphasis> ktime, kfrq, "fox.pvx", ispec 
+      <emphasis role="opc">outs</emphasis> asig, asig
 
-ktime	<emphasis role="opc">line</emphasis>	0, p3, 1.6
-asig	<emphasis role="opc">pvoc</emphasis>	ktime, 1, "fox.pvoc", 1
-
-  <emphasis role="opc">out</emphasis> asig
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="stamnt">i</emphasis> 1 0 6
+<emphasis role="stamnt">i</emphasis> 1 0 6 0
+<emphasis role="stamnt">i</emphasis> 1 + 6 1	<emphasis role="comment">;preserve spectral envelope</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/pvread.csd.xml b/examples-xml/pvread.csd.xml
index e0de6bb..9d0f2aa 100644
--- a/examples-xml/pvread.csd.xml
+++ b/examples-xml/pvread.csd.xml
@@ -2,40 +2,36 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o pvread.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
 <emphasis role="comment">; analyze "fox.wav" with PVANAL first</emphasis>
+ibin  <emphasis role="op">=</emphasis> p4
+ktime <emphasis role="opc">line</emphasis> 0, p3, 2.8
+kfreq, kamp <emphasis role="opc">pvread</emphasis> ktime, "fox.pvx", ibin	<emphasis role="comment">;read data from 7th analysis bin.</emphasis>
+asig  <emphasis role="opc">poscil</emphasis> kamp, kfreq, 1 			<emphasis role="comment">;function 1 is a stored sine</emphasis>
+      <emphasis role="opc">outs</emphasis> asig<emphasis role="op">*</emphasis>5, asig<emphasis role="op">*</emphasis>5			<emphasis role="comment">;compensate loss of volume</emphasis>
 
-ktime	<emphasis role="opc">line</emphasis>	0, p3, 2.8
-kfreq, kamp	<emphasis role="opc">pvread</emphasis> ktime, "fox.pvoc", 7	<emphasis role="comment">; read data from 7th analysis bin.</emphasis>
-asig	<emphasis role="opc">oscili</emphasis>	kamp, kfreq, 1 			<emphasis role="comment">; function 1 is a stored sine</emphasis>
-
-  <emphasis role="opc">out</emphasis> asig<emphasis role="op">*</emphasis>8
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="comment">;sine</emphasis>
+<emphasis role="comment">;sine wave</emphasis>
 <emphasis role="stamnt">f</emphasis>1 0 4096 10 1
 
-<emphasis role="stamnt">i</emphasis> 1 0 6
+<emphasis role="stamnt">i</emphasis> 1 0 6 7
+<emphasis role="stamnt">i</emphasis> 1 + 6 15
+<emphasis role="stamnt">i</emphasis> 1 + 2 25
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/pvsanal.csd.xml b/examples-xml/pvsanal.csd.xml
index ec61058..7481b3a 100644
--- a/examples-xml/pvsanal.csd.xml
+++ b/examples-xml/pvsanal.csd.xml
@@ -2,39 +2,44 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   No messages  MIDI in</emphasis>
--odac           -iadc     -d       <emphasis role="comment">;;;RT audio I/O with MIDI in</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o pvsanal.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 16
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 <emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">;; example written by joachim heintz 2009</emphasis>
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;pvsanal has no influence when there is no transformation of original sound</emphasis>
 
-<emphasis role="oblock">instr</emphasis> 1
-ifftsize	<emphasis role="op">=</emphasis>		1024
-ioverlap	<emphasis role="op">=</emphasis>		ifftsize <emphasis role="op">/</emphasis> 4
-iwinsize	<emphasis role="op">=</emphasis>		ifftsize
-iwinshape	<emphasis role="op">=</emphasis>		1<emphasis role="comment">; von-Hann window</emphasis>
-Sfile		<emphasis role="op">=</emphasis>		"fox.wav"
-ain		<emphasis role="opc">soundin</emphasis>	Sfile
-fftin		<emphasis role="opc">pvsanal</emphasis>	ain, ifftsize, ioverlap, iwinsize, iwinshape<emphasis role="comment">; fft-analysis of the audio-signal</emphasis>
-fftblur		<emphasis role="opc">pvscale</emphasis>	fftin, p4, p5, p6<emphasis role="comment">; scale</emphasis>
-aout		<emphasis role="opc">pvsynth</emphasis>	fftblur<emphasis role="comment">; resynthesis</emphasis>
-		<emphasis role="opc">out</emphasis>		aout
+ifftsize  <emphasis role="op">=</emphasis> p4
+ioverlap  <emphasis role="op">=</emphasis> ifftsize <emphasis role="op">/</emphasis> 4
+iwinsize  <emphasis role="op">=</emphasis> ifftsize
+iwinshape <emphasis role="op">=</emphasis> 1							<emphasis role="comment">;von-Hann window</emphasis>
+Sfile     <emphasis role="op">=</emphasis> "fox.wav"
+ain       <emphasis role="opc">soundin</emphasis> Sfile
+fftin     <emphasis role="opc">pvsanal</emphasis> ain, ifftsize, ioverlap, iwinsize, iwinshape	<emphasis role="comment">;fft-analysis of the audio-signal</emphasis>
+fftblur   <emphasis role="opc">pvscale</emphasis> fftin, p5					<emphasis role="comment">;scale</emphasis>
+aout      <emphasis role="opc">pvsynth</emphasis> fftblur					<emphasis role="comment">;resynthesis</emphasis>
+          <emphasis role="opc">outs</emphasis>	  aout, aout
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 3 1 0 1<emphasis role="comment">; original sound</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 3 3 1.5 0 2<emphasis role="comment">; fifth higher without ...</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 6 3 1.5 1 2<emphasis role="comment">; ... and with different ...</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 9 3 1.5 2 5<emphasis role="comment">; ... kinds of formant preservation</emphasis>
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 3 512 1		<emphasis role="comment">;original sound - ifftsize of pvsanal does not have any influence</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 3 3 1024 1		<emphasis role="comment">;even with different</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 6 3 2048 1		<emphasis role="comment">;settings</emphasis>
+
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 3 512 1.5		<emphasis role="comment">;but transformation - here a fifth higher</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 3 3 1024 1.5	<emphasis role="comment">;but with different settings</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 6 3 2048 1.5	<emphasis role="comment">;for ifftsize of pvsanal</emphasis>
+
 <emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
diff --git a/examples-xml/pvsbufread2.csd.xml b/examples-xml/pvsbufread2.csd.xml
new file mode 100644
index 0000000..4d777f2
--- /dev/null
+++ b/examples-xml/pvsbufread2.csd.xml
@@ -0,0 +1,37 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="ohdr">ksmps</emphasis>  <emphasis role="op">=</emphasis> 64
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+
+<emphasis role="oblock">instr</emphasis> 1
+kcnt     <emphasis role="opc">init</emphasis>         0
+ifftsize <emphasis role="op">=</emphasis>            2048
+ihop     <emphasis role="op">=</emphasis>            ifftsize<emphasis role="op">/</emphasis>4
+
+a1       <emphasis role="opc">diskin2</emphasis>      "beats.wav", 1, 0, 1
+a1       <emphasis role="op">=</emphasis>            a1<emphasis role="op">*</emphasis>0.5
+fsig1    <emphasis role="opc">pvsanal</emphasis>      a1, ifftsize, ihop, ifftsize, 1
+ih, kt   <emphasis role="opc">pvsbuffer</emphasis>    fsig1, 10
+
+fsig2    <emphasis role="opc">pvsbufread2</emphasis>  kt, ih, 1, 1
+fsig3    <emphasis role="opc">pvsbufread2</emphasis>  kt, ih, 2, 2
+
+a2       <emphasis role="opc">pvsynth</emphasis>      fsig3
+a3       <emphasis role="opc">pvsynth</emphasis>      fsig2
+
+         <emphasis role="opc">outs</emphasis>         a2, a3
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 2048 -7 0 128 1.1 128 0.5  256 1.8 512 1.1 1024 0.1
+<emphasis role="stamnt">f</emphasis>2 0 2048 -7 1 128 0.2 128 0.05 256 0.5 512 0.9 1024 0.1
+
+<emphasis role="stamnt">i</emphasis>1 0 60
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/pvsdiskin.csd.xml b/examples-xml/pvsdiskin.csd.xml
index 9c4a342..512cb4a 100644
--- a/examples-xml/pvsdiskin.csd.xml
+++ b/examples-xml/pvsdiskin.csd.xml
@@ -2,33 +2,31 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   No messages  MIDI in</emphasis>
--odac           -iadc     -d       <emphasis role="comment">;;;RT audio I/O with MIDI in</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o pvsdiskin.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
 <emphasis role="oblock">instr</emphasis> 1
 <emphasis role="comment">; create a PVOC-EX (*.pvx) file with PVANAL first</emphasis>
-ktscale	<emphasis role="opc">line</emphasis>	1, p3, .05
-fsigr	<emphasis role="opc">pvsdiskin</emphasis>	"fox.pvx", ktscale, 1	<emphasis role="comment">; read PVOCEX file with tscale and gain = 1</emphasis>
-aout	<emphasis role="opc">pvsynth</emphasis>	fsigr						<emphasis role="comment">; resynthesise it</emphasis>
-	<emphasis role="opc">out</emphasis>	aout
-<emphasis role="oblock">endin</emphasis>
+ktscale	<emphasis role="opc">line</emphasis> 1, p3, .05			<emphasis role="comment">;change speed </emphasis>
+fsigr	<emphasis role="opc">pvsdiskin</emphasis> "fox.pvx", ktscale, 1	<emphasis role="comment">;read PVOCEX file</emphasis>
+aout	<emphasis role="opc">pvsynth</emphasis>	fsigr			<emphasis role="comment">;resynthesise it</emphasis>
+	<emphasis role="opc">outs</emphasis>	aout, aout
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="stamnt">i</emphasis> 1 0 3
+<emphasis role="stamnt">i</emphasis> 1 0 10
 <emphasis role="stamnt">e</emphasis>
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/pvsfread.csd.xml b/examples-xml/pvsfread.csd.xml
new file mode 100644
index 0000000..96bcaa8
--- /dev/null
+++ b/examples-xml/pvsfread.csd.xml
@@ -0,0 +1,34 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o pvsfread.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+
+<emphasis role="oblock">instr</emphasis> 1
+<emphasis role="comment">; create a PVOC-EX (*.pvx) file with PVANAL first</emphasis>
+idur  <emphasis role="opc">filelen</emphasis>   "kickroll.pvx"		<emphasis role="comment">;find duration of (stereo) analysis file</emphasis>
+kpos  <emphasis role="opc">line</emphasis>      0,p3,idur		<emphasis role="comment">;to ensure we process whole file</emphasis>
+fsigr <emphasis role="opc">pvsfread</emphasis>  kpos,"kickroll.pvx", 1	<emphasis role="comment">;create fsig from right channel</emphasis>
+aout  <emphasis role="opc">pvsynth</emphasis>	fsigr			<emphasis role="comment">;resynthesise it</emphasis>
+      <emphasis role="opc">outs</emphasis>	aout, aout
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 10
+<emphasis role="stamnt">i</emphasis> 1 11 1
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/pvsftr.csd.xml b/examples-xml/pvsftr.csd.xml
index 7fbbb7e..4d1702b 100644
--- a/examples-xml/pvsftr.csd.xml
+++ b/examples-xml/pvsftr.csd.xml
@@ -2,47 +2,47 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   No messages  MIDI in</emphasis>
--odac           -iadc     -d       <emphasis role="comment">;;;RT audio I/O with MIDI in</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o pvsftr.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+gifil <emphasis role="ohdr">ftgen</emphasis> 0, 0, 0, <emphasis role="op">-</emphasis>1, "fox.wav", 0, 0, 1
 
 <emphasis role="oblock">instr</emphasis> 1
-inbins	<emphasis role="op">=</emphasis>	512
-ifn	<emphasis role="ohdr">ftgen</emphasis>		0,0,inbins,10,1		<emphasis role="comment">; make ftable</emphasis>
 
-fsrc	<emphasis role="opc">pvsdiskin</emphasis>	"fox2.pvx", 1, 1	<emphasis role="comment">; read PVOCEX file with tscale and gain = 1</emphasis>
-kflag	<emphasis role="opc">pvsftw</emphasis>	fsrc,ifn			<emphasis role="comment">; export amps to table,</emphasis>
-kamp	<emphasis role="opc">init</emphasis>	0
-<emphasis role="octrl">if</emphasis>      kflag<emphasis role="op">==</emphasis>0   <emphasis role="octrl">kgoto</emphasis> <emphasis role="olabel">contin</emphasis>			<emphasis role="comment">; only proc when frame is ready</emphasis>
-							<emphasis role="comment">; kill lowest bins, for obvious effect</emphasis>
-	<emphasis role="opc">tablew</emphasis>	kamp,1,ifn
-	<emphasis role="opc">tablew</emphasis>	kamp,2,ifn
-	<emphasis role="opc">tablew</emphasis>	kamp,3,ifn
-	<emphasis role="opc">tablew</emphasis>	kamp,4,ifn
-<emphasis role="comment">; read modified data back to fsrc</emphasis>
-	<emphasis role="opc">pvsftr</emphasis>	fsrc,ifn
-<emphasis role="olabel">contin</emphasis><emphasis role="op">:</emphasis>
-<emphasis role="comment">; and resynth</emphasis>
-aout	<emphasis role="opc">pvsynth</emphasis>	fsrc
-	<emphasis role="opc">out</emphasis>	aout
+ifftsize <emphasis role="op">=</emphasis> 1024				<emphasis role="comment">;fft size</emphasis>
+ioverlap <emphasis role="op">=</emphasis> 256				<emphasis role="comment">;overlap</emphasis>
+knewamp  <emphasis role="op">=</emphasis> 0				<emphasis role="comment">;new value for amplitudes</emphasis>
 
-<emphasis role="oblock">endin</emphasis>
+<emphasis role="comment">;create fsig stream from function table</emphasis>
+fsrc	<emphasis role="opc">pvstanal</emphasis> 1, 1, 1, gifil, 0, 0, 0, ifftsize, ioverlap, 0
+ifn	<emphasis role="ohdr">ftgen</emphasis>	0, 0, ifftsize<emphasis role="op">/</emphasis>2, 2, 0	<emphasis role="comment">;create empty function table</emphasis>
+kflag	<emphasis role="opc">pvsftw</emphasis>	fsrc,ifn		<emphasis role="comment">;export amps to table	</emphasis>
+<emphasis role="comment">;overwrite the first 10 bins each time the table has been filled new</emphasis>
+<emphasis role="octrl">if</emphasis> kflag <emphasis role="op">==</emphasis> 1 then
+kndx <emphasis role="op">=</emphasis> 0
+kmaxbin <emphasis role="op">=</emphasis> 10
+<emphasis role="olabel">loop</emphasis><emphasis role="op">:</emphasis>
+<emphasis role="opc">tablew</emphasis> knewamp, kndx, ifn
+<emphasis role="octrl">loop_le</emphasis> kndx, 1, kmaxbin, <emphasis role="olabel">loop</emphasis>
+<emphasis role="octrl">endif</emphasis>
+	<emphasis role="opc">pvsftr</emphasis>	fsrc,ifn		<emphasis role="comment">;read modified data back to fsrc</emphasis>
+aout	<emphasis role="opc">pvsynth</emphasis>	fsrc			<emphasis role="comment">;and resynth</emphasis>
+	<emphasis role="opc">outs</emphasis>	aout, aout
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="stamnt">i</emphasis> 1 0 3
+<emphasis role="stamnt">i</emphasis> 1 0 4
 <emphasis role="stamnt">e</emphasis>
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/pvsftw.csd.xml b/examples-xml/pvsftw.csd.xml
index 51ace60..427979e 100644
--- a/examples-xml/pvsftw.csd.xml
+++ b/examples-xml/pvsftw.csd.xml
@@ -2,29 +2,27 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   No messages  MIDI in</emphasis>
--odac           -iadc     -d       <emphasis role="comment">;;;RT audio I/O with MIDI in</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o pvsftw.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
-inbins	<emphasis role="op">=</emphasis>	512
-ifn	<emphasis role="ohdr">ftgen</emphasis>		0,0,inbins,10,1		<emphasis role="comment">; make ftable</emphasis>
 
-fsrc	<emphasis role="opc">pvsdiskin</emphasis>	"fox2.pvx", 1, 1	<emphasis role="comment">; read PVOCEX file with tscale and gain = 1</emphasis>
-kflag	<emphasis role="opc">pvsftw</emphasis>	fsrc,ifn			<emphasis role="comment">; export amps to table,</emphasis>
+inbins	<emphasis role="op">=</emphasis>	512
+ifn	<emphasis role="ohdr">ftgen</emphasis>	0,0,inbins,10,1		<emphasis role="comment">; make ftable</emphasis>
+fsrc	<emphasis role="opc">pvsdiskin</emphasis> "fox.pvx", 1, 1	<emphasis role="comment">; read PVOCEX file</emphasis>
+kflag	<emphasis role="opc">pvsftw</emphasis>	fsrc,ifn		<emphasis role="comment">; export amps to table,</emphasis>
 kamp	<emphasis role="opc">init</emphasis>	0
-<emphasis role="octrl">if</emphasis>      kflag<emphasis role="op">==</emphasis>0   <emphasis role="octrl">kgoto</emphasis> <emphasis role="olabel">contin</emphasis>			<emphasis role="comment">; only proc when frame is ready</emphasis>
-							<emphasis role="comment">; kill lowest bins, for obvious effect</emphasis>
-	<emphasis role="opc">tablew</emphasis>	kamp,1,ifn
+<emphasis role="octrl">if</emphasis>      kflag<emphasis role="op">==</emphasis>0   <emphasis role="octrl">kgoto</emphasis> <emphasis role="olabel">contin</emphasis>		<emphasis role="comment">; only proc when frame is ready							</emphasis>
+	<emphasis role="opc">tablew</emphasis>	kamp,1,ifn		<emphasis role="comment">; kill lowest bins, for obvious effect</emphasis>
 	<emphasis role="opc">tablew</emphasis>	kamp,2,ifn
 	<emphasis role="opc">tablew</emphasis>	kamp,3,ifn
 	<emphasis role="opc">tablew</emphasis>	kamp,4,ifn
@@ -33,7 +31,7 @@ kamp	<emphasis role="opc">init</emphasis>	0
 <emphasis role="olabel">contin</emphasis><emphasis role="op">:</emphasis>
 <emphasis role="comment">; and resynth</emphasis>
 aout	<emphasis role="opc">pvsynth</emphasis>	fsrc
-	<emphasis role="opc">out</emphasis>	aout
+	<emphasis role="opc">outs</emphasis>	aout, aout
 
 <emphasis role="oblock">endin</emphasis>
 
diff --git a/examples-xml/pvsgain.csd.xml b/examples-xml/pvsgain.csd.xml
new file mode 100644
index 0000000..c548eba
--- /dev/null
+++ b/examples-xml/pvsgain.csd.xml
@@ -0,0 +1,36 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o pvsgain.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kgain <emphasis role="op">=</emphasis> p4
+asig  <emphasis role="opc">diskin2</emphasis>	"beats.wav", 1
+fsig  <emphasis role="opc">pvsanal</emphasis>   asig, 1024, 256, 1024, 1<emphasis role="comment">; analyse it</emphasis>
+ftps  <emphasis role="opc">pvsgain</emphasis>   fsig, kgain		<emphasis role="comment">; amplify it</emphasis>
+atps  <emphasis role="opc">pvsynth</emphasis>   ftps			<emphasis role="comment">; synthesise it</emphasis>
+      <emphasis role="opc">outs</emphasis>      atps, atps
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+	
+<emphasis role="stamnt">i</emphasis>1 0 2 .5
+<emphasis role="stamnt">i</emphasis>1 + 2  1
+	
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/pvsifd.csd.xml b/examples-xml/pvsifd.csd.xml
index 0477058..1cc58c5 100644
--- a/examples-xml/pvsifd.csd.xml
+++ b/examples-xml/pvsifd.csd.xml
@@ -2,29 +2,27 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   No messages  MIDI in</emphasis>
--odac           -iadc     -d       <emphasis role="comment">;;;RT audio I/O with MIDI in</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o pvsifd.wav -W ;;; for file output any platform</emphasis>
-<emphasis role="comment">;heavy on CPU</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
-ain	<emphasis role="opc">diskin2</emphasis>	"beats.wav", 1, 0, 1                  
-fs1,fsi2 <emphasis role="opc">pvsifd</emphasis>	ain, 2048, 512, 1		<emphasis role="comment">; pvsifd analysis</emphasis>
-fst	<emphasis role="opc">partials</emphasis>	fs1, fsi2, .003, 1,3, 500	<emphasis role="comment">; partial tracking</emphasis>
-aout	<emphasis role="opc">resyn</emphasis>		fst, 1, 1.5, 500, 1		<emphasis role="comment">; resynthesis (up a 5th)</emphasis>
-	<emphasis role="opc">out</emphasis>	aout
 
-<emphasis role="oblock">endin</emphasis>
+ain	<emphasis role="opc">diskin2</emphasis>  "beats.wav", 1, 0, 1                  
+fs1,fsi2 <emphasis role="opc">pvsifd</emphasis>  ain, 2048, 512, 1		<emphasis role="comment">; pvsifd analysis</emphasis>
+fst	<emphasis role="opc">partials</emphasis> fs1, fsi2, .1, 1,3, 500	<emphasis role="comment">; partial tracking</emphasis>
+aout	<emphasis role="opc">resyn</emphasis>    fst, 1, 1.5, 500, 1		<emphasis role="comment">; resynthesis (up a 5th)</emphasis>
+	<emphasis role="opc">outs</emphasis>	aout, aout
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 <emphasis role="comment">;sine</emphasis>
@@ -32,7 +30,6 @@ aout	<emphasis role="opc">resyn</emphasis>		fst, 1, 1.5, 500, 1		<emphasis role=
 
 <emphasis role="stamnt">i</emphasis> 1 0 2
 <emphasis role="stamnt">e</emphasis>
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/pvsinfo.csd.xml b/examples-xml/pvsinfo.csd.xml
index 9e7b844..4acb1ed 100644
--- a/examples-xml/pvsinfo.csd.xml
+++ b/examples-xml/pvsinfo.csd.xml
@@ -2,39 +2,36 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   No messages  MIDI in</emphasis>
--odac           -iadc     -d       <emphasis role="comment">;;;RT audio I/O with MIDI in</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o pvsinfo.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 <emphasis role="comment">; create a PVOC-EX (*.pvx) file with PVANAL first</emphasis>
-idur	<emphasis role="opc">filelen</emphasis>   "fox.pvx"		<emphasis role="comment">; find dur of (stereo) analysis file</emphasis>
-kpos	<emphasis role="opc">line</emphasis>      0,p3,idur				<emphasis role="comment">; to ensure we process whole file</emphasis>
-fsrc	<emphasis role="opc">pvsfread</emphasis> kpos, "fox.pvx"	<emphasis role="comment">; create fsig from R channel</emphasis>
+idur <emphasis role="opc">filelen</emphasis>  "fox.pvx"		<emphasis role="comment">;find duration of analysis file</emphasis>
+kpos <emphasis role="opc">line</emphasis>     0,p3,idur		<emphasis role="comment">;to ensure we process whole file</emphasis>
+fsrc <emphasis role="opc">pvsfread</emphasis> kpos, "fox.pvx"	<emphasis role="comment">;create fsig from (mono) file</emphasis>
 
-iovl,inb,iws,ifmt <emphasis role="opc">pvsinfo</emphasis>	fsrc        		<emphasis role="comment">; get inumbins info</emphasis>
-<emphasis role="opc">print</emphasis> iovl,inb,iws,ifmt				<emphasis role="comment">; print the info</emphasis>
+iovl,inb,iws,ifmt <emphasis role="opc">pvsinfo</emphasis> fsrc	<emphasis role="comment">;get info</emphasis>
+<emphasis role="opc">print</emphasis> iovl,inb,iws,ifmt		<emphasis role="comment">;print info</emphasis>
 
-aout	<emphasis role="opc">pvsynth</emphasis>	fsrc
-	<emphasis role="opc">out</emphasis>	aout
+aout <emphasis role="opc">pvsynth</emphasis> fsrc
+     <emphasis role="opc">outs</emphasis> aout, aout
 
 <emphasis role="oblock">endin</emphasis>
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
 <emphasis role="stamnt">i</emphasis> 1 0 3
 <emphasis role="stamnt">e</emphasis>
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/pvslock.csd.xml b/examples-xml/pvslock.csd.xml
new file mode 100644
index 0000000..aafe725
--- /dev/null
+++ b/examples-xml/pvslock.csd.xml
@@ -0,0 +1,37 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o pvslock.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+gifil <emphasis role="ohdr">ftgen</emphasis> 0, 0, 0, 1, "fox.wav", 0, 0, 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+klock	<emphasis role="op">=</emphasis> p4
+fsig    <emphasis role="opc">pvstanal</emphasis> 1, 1, 1, gifil	<emphasis role="comment">; no further transformations		</emphasis>
+fsigout	<emphasis role="opc">pvslock</emphasis>  fsig, klock	<emphasis role="comment">; lock frequency </emphasis>
+aout    <emphasis role="opc">pvsynth</emphasis>  fsigout
+        <emphasis role="opc">outs</emphasis>     aout, aout
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+          
+<emphasis role="stamnt">i</emphasis> 1 0 2.6 1	<emphasis role="comment">; locked</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 3 2.6 0	<emphasis role="comment">; not locked     </emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/pvsmix.csd.xml b/examples-xml/pvsmix.csd.xml
new file mode 100644
index 0000000..6c847ff
--- /dev/null
+++ b/examples-xml/pvsmix.csd.xml
@@ -0,0 +1,37 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o pvsmix.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+gisin	<emphasis role="ohdr">ftgen</emphasis>	1, 0, 2048, 10, 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+asig1 <emphasis role="opc">diskin2</emphasis> "fox.wav", 1		<emphasis role="comment">;signal in 1</emphasis>
+asig2 <emphasis role="opc">oscil</emphasis>   .3, 100, gisin		<emphasis role="comment">;signal in 2</emphasis>
+fsig1 <emphasis role="opc">pvsanal</emphasis> asig1,1024,256,1024,0	<emphasis role="comment">;pvoc analysis </emphasis>
+fsig2 <emphasis role="opc">pvsanal</emphasis> asig2,1024,256,1024,0	<emphasis role="comment">;of both signals</emphasis>
+fsall <emphasis role="opc">pvsmix</emphasis>  fsig1, fsig2 
+asig  <emphasis role="opc">pvsynth</emphasis> fsall
+      <emphasis role="opc">outs</emphasis> asig, asig 
+
+<emphasis role="oblock">endin</emphasis> 
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 3
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/pvsmooth.csd.xml b/examples-xml/pvsmooth.csd.xml
new file mode 100644
index 0000000..71eac24
--- /dev/null
+++ b/examples-xml/pvsmooth.csd.xml
@@ -0,0 +1,38 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o pvsmooth.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kacf <emphasis role="op">=</emphasis> p4
+kfcf <emphasis role="op">=</emphasis> p5
+asig <emphasis role="opc">soundin</emphasis> "fox.wav"
+fsig <emphasis role="opc">pvsanal</emphasis> asig, 1024, 256, 1024, 1	<emphasis role="comment">; analyse it</emphasis>
+ftps <emphasis role="opc">pvsmooth</emphasis> fsig, kacf, kfcf
+atps <emphasis role="opc">pvsynth</emphasis> ftps			<emphasis role="comment">; synthesise it                      </emphasis>
+     <emphasis role="opc">outs</emphasis> atps<emphasis role="op">*</emphasis>3, atps<emphasis role="op">*</emphasis>3
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">;       amp  freq </emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 3 0.01 0.01	<emphasis role="comment">;smooth amplitude and frequency with cutoff frequency of filter at 1% of 1/2 frame-rate (ca 0.86 Hz)</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 3  1   0.01	<emphasis role="comment">;no smoothing on amplitude, but frequency with cf at 1% of 1/2 frame-rate (ca 0.86 Hz)</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 10 .001  1	<emphasis role="comment">;smooth amplitude with cf at 0.1% of 1/2 frame-rate (ca 0.086 Hz)</emphasis>
+			<emphasis role="comment">;and no smoothing of frequency</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/pvstanal.csd.xml b/examples-xml/pvstanal.csd.xml
new file mode 100644
index 0000000..f6c50ba
--- /dev/null
+++ b/examples-xml/pvstanal.csd.xml
@@ -0,0 +1,46 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o pvstanal.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+gifil     <emphasis role="ohdr">ftgen</emphasis>     0, 0, 0, 1, "fox.wav", 0, 0, 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+fsig      <emphasis role="opc">pvstanal</emphasis>  p4, 1, p5, gifil, p6, p7
+aout      <emphasis role="opc">pvsynth</emphasis>   fsig
+          <emphasis role="opc">outs</emphasis>      aout, aout
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+
+kspeed    <emphasis role="opc">randi</emphasis>     2, 2, 2 <emphasis role="comment">;speed randomly between -2 and 2</emphasis>
+kpitch    <emphasis role="opc">randi</emphasis>     2, 2, 2 <emphasis role="comment">;pitch between 2 octaves lower or higher</emphasis>
+fsig      <emphasis role="opc">pvstanal</emphasis>  kspeed, 1, <emphasis role="opc">octave</emphasis>(kpitch), gifil
+aout      <emphasis role="opc">pvsynth</emphasis>   fsig
+          <emphasis role="opc">outs</emphasis>      aout, aout
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">;           speed pch det wrap</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 2.757 1     1   0   0
+<emphasis role="stamnt">i</emphasis> 1 3 .     2     1   0   0
+<emphasis role="stamnt">i</emphasis> 1 6 .     2     1   0   1
+<emphasis role="stamnt">i</emphasis> 1 9 .     1     .75
+<emphasis role="stamnt">i</emphasis> 2 12 10 <emphasis role="comment">;random scratching</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/pvsvoc.csd.xml b/examples-xml/pvsvoc.csd.xml
new file mode 100644
index 0000000..bf8361b
--- /dev/null
+++ b/examples-xml/pvsvoc.csd.xml
@@ -0,0 +1,38 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o pvsvoc.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+gisaw	<emphasis role="ohdr">ftgen</emphasis>	1, 0, 2048, 10, 1, 0.5, 0.3, 0.25, 0.2	<emphasis role="comment">;sawtooth-like</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1
+
+asig <emphasis role="opc">in</emphasis>					<emphasis role="comment">;get the signal in</emphasis>
+asyn <emphasis role="opc">poscil</emphasis> .6, 150, gisaw		<emphasis role="comment">;excitation signal of 150 Hz</emphasis>
+
+famp <emphasis role="opc">pvsanal</emphasis> asig, 1024, 256, 1024, 1	<emphasis role="comment">;analyse in signal</emphasis>
+fexc <emphasis role="opc">pvsanal</emphasis> asyn, 1024, 256, 1024, 1	<emphasis role="comment">;analyse excitation signal</emphasis>
+ftps <emphasis role="opc">pvsvoc</emphasis>  famp, fexc, 1, 1		<emphasis role="comment">;cross it</emphasis>
+atps <emphasis role="opc">pvsynth</emphasis> ftps			<emphasis role="comment">;synthesise it                      </emphasis>
+     <emphasis role="opc">outs</emphasis> atps, atps
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 10
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/pvswarp.csd.xml b/examples-xml/pvswarp.csd.xml
new file mode 100644
index 0000000..87d4b43
--- /dev/null
+++ b/examples-xml/pvswarp.csd.xml
@@ -0,0 +1,37 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o pvswarp.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kscal <emphasis role="op">=</emphasis> p4
+asig  <emphasis role="opc">soundin</emphasis> "fox.wav"			<emphasis role="comment">; get the signal in</emphasis>
+fsig  <emphasis role="opc">pvsanal</emphasis> asig, 1024, 256, 1024, 1	<emphasis role="comment">; analyse it</emphasis>
+ftps  <emphasis role="opc">pvswarp</emphasis> fsig, kscal, 0		<emphasis role="comment">; warp it</emphasis>
+atps  <emphasis role="opc">pvsynth</emphasis> ftps			<emphasis role="comment">; synthesise it                      </emphasis>
+      <emphasis role="opc">outs</emphasis> atps, atps
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 3 1
+<emphasis role="stamnt">i</emphasis> 1 + 3 1.5
+<emphasis role="stamnt">i</emphasis> 1 + 3 3
+<emphasis role="stamnt">i</emphasis> 1 + 3 .25
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/pwd.csd.xml b/examples-xml/pwd.csd.xml
new file mode 100644
index 0000000..3316d96
--- /dev/null
+++ b/examples-xml/pwd.csd.xml
@@ -0,0 +1,34 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+<emphasis role="comment">; Audio out   Audio in</emphasis>
+-odac          <emphasis role="comment">; -iadc    ;;;RT audio I/O</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o system.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="comment">; Initialize the global variables.</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+<emphasis role="comment">; Waits for command to execute before continuing</emphasis>
+Swd <emphasis role="opc">pwd</emphasis>
+<emphasis role="opc">puts</emphasis> Swd, 1
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="comment">; Play Instrument #1 for minimal time.</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 0.1
+<emphasis role="stamnt">e</emphasis>
+
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/q.csd.xml b/examples-xml/q.csd.xml
new file mode 100644
index 0000000..59b6833
--- /dev/null
+++ b/examples-xml/q.csd.xml
@@ -0,0 +1,43 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o q.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+aenv <emphasis role="opc">expseg</emphasis> .01, p3<emphasis role="op">*</emphasis>0.25, 1, p3<emphasis role="op">*</emphasis>0.75, 0.01
+asig <emphasis role="opc">poscil3</emphasis> .8<emphasis role="op">*</emphasis>aenv, p4, 1
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1<emphasis role="comment">;sine wave</emphasis>
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">q</emphasis> 1 6 0		<emphasis role="comment">;mute at 6 seconds in this section</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 2 110
+<emphasis role="stamnt">i</emphasis> 1 3 2 220
+<emphasis role="stamnt">i</emphasis> 1 6 2 440
+<emphasis role="stamnt">i</emphasis> 1 9 2 880
+
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">q</emphasis> 1 6 1		<emphasis role="comment">;unmute again at 6 seconds in this section</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 2 110
+<emphasis role="stamnt">i</emphasis> 1 3 2 220
+<emphasis role="stamnt">i</emphasis> 1 6 2 440
+<emphasis role="stamnt">i</emphasis> 1 9 2 880
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/qinf.csd.xml b/examples-xml/qinf.csd.xml
new file mode 100644
index 0000000..22d0900
--- /dev/null
+++ b/examples-xml/qinf.csd.xml
@@ -0,0 +1,48 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+-+rtaudio=alsa -o dac:hw:0
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 400
+
+<emphasis role="omacro">#define</emphasis> WII_B           #3#
+<emphasis role="omacro">#define</emphasis> WII_A           #4#
+<emphasis role="omacro">#define</emphasis> WII_R_A         #304#
+<emphasis role="omacro">#define</emphasis> WII_PITCH       #20#
+<emphasis role="omacro">#define</emphasis> WII_ROLL        #21#
+
+gkcnt <emphasis role="opc">init</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1  
+  i1  wiiconnect 3,1
+
+      wiirange   $WII_PITCH., <emphasis role="op">-</emphasis>20, 0
+  kt  wiidata    $WII_B.
+  ka  wiidata    $WII_A.
+  kra wiidata    $WII_R_A.
+  gka wiidata    $WII_PITCH.
+  gkp wiidata    $WII_ROLL.
+<emphasis role="comment">; If the B (trigger) button is pressed then activate a note</emphasis>
+  <emphasis role="octrl">if</emphasis>  (kt<emphasis role="op">==</emphasis>0)    <emphasis role="octrl">goto</emphasis> ee
+  <emphasis role="octrl">if</emphasis> (<emphasis role="opc">qinf</emphasis>(gka)) <emphasis role="octrl">goto</emphasis> ee
+  <emphasis role="octrl">if</emphasis> (<emphasis role="opc">qinf</emphasis>(gkp)) <emphasis role="octrl">goto</emphasis> ee
+  <emphasis role="opc">event</emphasis> "i", 2, 0, 5
+  gkcnt <emphasis role="op">=</emphasis> gkcnt <emphasis role="op">+</emphasis> 1
+  <emphasis role="opc">printk2</emphasis>  kb
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+  a1 <emphasis role="opc">oscil</emphasis>  <emphasis role="opc">ampdbfs</emphasis>(gka), 440<emphasis role="op">+</emphasis>gkp, 1
+     <emphasis role="opc">outs</emphasis>   a1, a1
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 4096 10 1
+<emphasis role="stamnt">i</emphasis>1 0 300
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/qnan.csd.xml b/examples-xml/qnan.csd.xml
new file mode 100644
index 0000000..3743fcd
--- /dev/null
+++ b/examples-xml/qnan.csd.xml
@@ -0,0 +1,48 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+-+rtaudio=alsa -o dac:hw:0
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 400
+
+<emphasis role="omacro">#define</emphasis> WII_B           #3#
+<emphasis role="omacro">#define</emphasis> WII_A           #4#
+<emphasis role="omacro">#define</emphasis> WII_R_A         #304#
+<emphasis role="omacro">#define</emphasis> WII_PITCH       #20#
+<emphasis role="omacro">#define</emphasis> WII_ROLL        #21#
+
+gkcnt <emphasis role="opc">init</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1  
+  i1  wiiconnect 3,1
+
+      wiirange   $WII_PITCH., <emphasis role="op">-</emphasis>20, 0
+  kt  wiidata    $WII_B.
+  ka  wiidata    $WII_A.
+  kra wiidata    $WII_R_A.
+  gka wiidata    $WII_PITCH.
+  gkp wiidata    $WII_ROLL.
+<emphasis role="comment">; If the B (trigger) button is pressed then activate a note</emphasis>
+  <emphasis role="octrl">if</emphasis>  (kt<emphasis role="op">==</emphasis>0)    <emphasis role="octrl">goto</emphasis> ee
+  <emphasis role="octrl">if</emphasis> (<emphasis role="opc">qnan</emphasis>(gka)) <emphasis role="octrl">goto</emphasis> ee
+  <emphasis role="octrl">if</emphasis> (<emphasis role="opc">qnan</emphasis>(gkp)) <emphasis role="octrl">goto</emphasis> ee
+  <emphasis role="opc">event</emphasis> "i", 2, 0, 5
+  gkcnt <emphasis role="op">=</emphasis> gkcnt <emphasis role="op">+</emphasis> 1
+  <emphasis role="opc">printk2</emphasis>  kb
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+  a1 <emphasis role="opc">oscil</emphasis>  <emphasis role="opc">ampdbfs</emphasis>(gka), 440<emphasis role="op">+</emphasis>gkp, 1
+     <emphasis role="opc">outs</emphasis>   a1, a1
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 4096 10 1
+<emphasis role="stamnt">i</emphasis>1 0 300
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/raises.csd.xml b/examples-xml/raises.csd.xml
index faaf757..59fadfb 100644
--- a/examples-xml/raises.csd.xml
+++ b/examples-xml/raises.csd.xml
@@ -2,34 +2,36 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o raises.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">;-o ^.wav        ; output to audio file</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
-
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  i1 <emphasis role="op">=</emphasis> 2 <emphasis role="op">^</emphasis> 12
-  <emphasis role="opc">print</emphasis> i1
-<emphasis role="oblock">endin</emphasis>
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+  
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; Lo-Fi sound</emphasis>
 
+kpow	  <emphasis role="op">=</emphasis> 10						<emphasis role="comment">;exponent</emphasis>
+kbase	  <emphasis role="opc">line</emphasis> 1, p3, 2.2				<emphasis role="comment">;vary the base</emphasis>
+kQuantize <emphasis role="op">=</emphasis> kbase^kpow
+kQuantize <emphasis role="op">=</emphasis> kQuantize<emphasis role="op">*</emphasis>0.5				<emphasis role="comment">;half the number of steps for each side of a bipolar signal</emphasis>
+<emphasis role="opc">printk2</emphasis>	  kQuantize
+asig	  <emphasis role="opc">diskin2</emphasis> "fox.wav", 1, 0, 1			<emphasis role="comment">;loop the fox</emphasis>
+asig	  <emphasis role="op">=</emphasis> <emphasis role="opc">round</emphasis>(asig <emphasis role="op">*</emphasis> kQuantize) <emphasis role="op">/</emphasis> kQuantize		<emphasis role="comment">;quantize and scale audio signal</emphasis>
+	  <emphasis role="opc">outs</emphasis> asig, asig  
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
-<emphasis role="stamnt">e</emphasis>
-
+<emphasis role="stamnt">i</emphasis>1 0 19.2
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/rand.csd.xml b/examples-xml/rand.csd.xml
index 5c23d71..522b0fc 100644
--- a/examples-xml/rand.csd.xml
+++ b/examples-xml/rand.csd.xml
@@ -2,41 +2,43 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o rand.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
-
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Choose a random frequency between 4,100 and 44,100.</emphasis>
-  kfreq <emphasis role="opc">rand</emphasis> 20000
-  kcps <emphasis role="op">=</emphasis> kfreq <emphasis role="op">+</emphasis> 24100
-
-  a1 <emphasis role="opc">oscil</emphasis> 30000, kcps, 1
-  <emphasis role="opc">out</emphasis> a1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;same values every time</emphasis>
+
+krnd <emphasis role="opc">rand</emphasis> 100
+     <emphasis role="opc">printk</emphasis> .5, krnd			<emphasis role="comment">; look </emphasis>
+aout <emphasis role="opc">oscili</emphasis> 0.8, 440<emphasis role="op">+</emphasis>krnd, 1		<emphasis role="comment">; & listen</emphasis>
+     <emphasis role="opc">outs</emphasis> aout, aout
+
 <emphasis role="oblock">endin</emphasis>
 
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">;different values every time</emphasis>
+
+krnd <emphasis role="opc">rand</emphasis> 100, 10			<emphasis role="comment">; seed from system clock</emphasis>
+     <emphasis role="opc">printk</emphasis> .5, krnd			<emphasis role="comment">; look </emphasis>
+aout <emphasis role="opc">oscili</emphasis> 0.8, 440<emphasis role="op">+</emphasis>krnd, 1		<emphasis role="comment">; & listen</emphasis>
+     <emphasis role="opc">outs</emphasis> aout, aout
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1	<emphasis role="comment">;sine wave.</emphasis>
 
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
 <emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="stamnt">i</emphasis> 2 2 1
 <emphasis role="stamnt">e</emphasis>
 
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/randh.csd.xml b/examples-xml/randh.csd.xml
index d86cad8..0197341 100644
--- a/examples-xml/randh.csd.xml
+++ b/examples-xml/randh.csd.xml
@@ -2,48 +2,42 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o randh.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
-
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Choose a random frequency between 200 and 1000.</emphasis>
-  <emphasis role="comment">; Generate new random numbers at 4 Hz.</emphasis>
-  <emphasis role="comment">; kamp = 400</emphasis>
-  <emphasis role="comment">; kcps = 4</emphasis>
-  <emphasis role="comment">; iseed = 0.5</emphasis>
-  <emphasis role="comment">; isize = 0</emphasis>
-  <emphasis role="comment">; ioffset = 600</emphasis>
-
-  kcps <emphasis role="opc">randh</emphasis> 400, 4, 0.5, 0, 600
-  <emphasis role="opc">printk2</emphasis> kcps
-
-  a1 <emphasis role="opc">oscil</emphasis> 30000, kcps, 1
-  <emphasis role="opc">out</emphasis> a1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;same values every time</emphasis>
+
+krnd <emphasis role="opc">randh</emphasis> 100, 10
+     <emphasis role="opc">printk2</emphasis> krnd			<emphasis role="comment">; look </emphasis>
+aout <emphasis role="opc">oscili</emphasis> 0.8, 440<emphasis role="op">+</emphasis>krnd, 1		<emphasis role="comment">; & listen</emphasis>
+     <emphasis role="opc">outs</emphasis> aout, aout
+
 <emphasis role="oblock">endin</emphasis>
 
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">;different values every time</emphasis>
+
+krnd <emphasis role="opc">randh</emphasis> 100, 10, 10			<emphasis role="comment">; seed from system clock</emphasis>
+     <emphasis role="opc">printk2</emphasis> krnd			<emphasis role="comment">; look </emphasis>
+aout <emphasis role="opc">oscili</emphasis> 0.8, 440<emphasis role="op">+</emphasis>krnd, 1		<emphasis role="comment">; & listen</emphasis>
+     <emphasis role="opc">outs</emphasis> aout, aout
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1	<emphasis role="comment">;sine wave.</emphasis>
 
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 5
+<emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="stamnt">i</emphasis> 2 2 1
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/randi.csd.xml b/examples-xml/randi.csd.xml
index 3e49961..7f04eb3 100644
--- a/examples-xml/randi.csd.xml
+++ b/examples-xml/randi.csd.xml
@@ -2,47 +2,42 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o randi.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
-
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Choose a random frequency between 4,100 and 44,100.</emphasis>
-  <emphasis role="comment">; Generate new random numbers at 10 Hz.</emphasis>
-  <emphasis role="comment">; kamp = 40000</emphasis>
-  <emphasis role="comment">; kcps = 10</emphasis>
-  <emphasis role="comment">; iseed = 0.5</emphasis>
-  <emphasis role="comment">; isize = 0</emphasis>
-  <emphasis role="comment">; ioffset = 4100</emphasis>
-
-  kcps <emphasis role="opc">randi</emphasis> 40000, 10, 0.5, 0, 4100
-
-  a1 <emphasis role="opc">oscil</emphasis> 30000, kcps, 1
-  <emphasis role="opc">out</emphasis> a1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;same values every time</emphasis>
+
+krnd <emphasis role="opc">randi</emphasis> 100, 10
+     <emphasis role="opc">printk</emphasis> .5, krnd			<emphasis role="comment">; look </emphasis>
+aout <emphasis role="opc">oscili</emphasis> 0.8, 440<emphasis role="op">+</emphasis>krnd, 1		<emphasis role="comment">; & listen</emphasis>
+     <emphasis role="opc">outs</emphasis> aout, aout
+
 <emphasis role="oblock">endin</emphasis>
 
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">;different values every time</emphasis>
+
+krnd <emphasis role="opc">randi</emphasis> 100, 10, 10			<emphasis role="comment">; seed from system clock</emphasis>
+     <emphasis role="opc">printk</emphasis> .5, krnd			<emphasis role="comment">; look </emphasis>
+aout <emphasis role="opc">oscili</emphasis> 0.8, 440<emphasis role="op">+</emphasis>krnd, 1		<emphasis role="comment">; & listen</emphasis>
+     <emphasis role="opc">outs</emphasis> aout, aout
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1	<emphasis role="comment">;sine wave.</emphasis>
 
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
 <emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="stamnt">i</emphasis> 2 2 1
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/random.csd.xml b/examples-xml/random.csd.xml
index ec5c040..448a797 100644
--- a/examples-xml/random.csd.xml
+++ b/examples-xml/random.csd.xml
@@ -2,38 +2,43 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o random.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
-
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Generate a random number between 220 and 440.</emphasis>
-  kmin <emphasis role="opc">init</emphasis> 220
-  kmax <emphasis role="opc">init</emphasis> 440
-  k1 <emphasis role="opc">random</emphasis> kmin, kmax
-
-  <emphasis role="opc">printks</emphasis> "k1 <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\\n", 0.1, k1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;same values every time</emphasis>
+
+krnd <emphasis role="opc">random</emphasis> 100, 1000
+     <emphasis role="opc">printk</emphasis> .5, krnd			<emphasis role="comment">; look </emphasis>
+aout <emphasis role="opc">oscili</emphasis> 0.8, 440<emphasis role="op">+</emphasis>krnd, 1		<emphasis role="comment">; & listen</emphasis>
+     <emphasis role="opc">outs</emphasis> aout, aout
+
 <emphasis role="oblock">endin</emphasis>
 
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">;different values every time</emphasis>
+
+<emphasis role="ohdr">seed</emphasis> 0
+krnd <emphasis role="opc">random</emphasis> 100, 1000			<emphasis role="comment">; seed from system clock</emphasis>
+     <emphasis role="opc">printk</emphasis> .5, krnd			<emphasis role="comment">; look </emphasis>
+aout <emphasis role="opc">oscili</emphasis> 0.8, 440<emphasis role="op">+</emphasis>krnd, 1		<emphasis role="comment">; & listen</emphasis>
+     <emphasis role="opc">outs</emphasis> aout, aout
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1	<emphasis role="comment">;sine wave.</emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
 <emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="stamnt">i</emphasis> 2 2 1
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/randomh.csd.xml b/examples-xml/randomh.csd.xml
index 37263fc..04ae7a9 100644
--- a/examples-xml/randomh.csd.xml
+++ b/examples-xml/randomh.csd.xml
@@ -15,31 +15,33 @@
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
 
+     <emphasis role="ohdr">seed</emphasis> 0
+     
 <emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
   <emphasis role="comment">; Choose a random frequency between 220 and 440 Hz.</emphasis>
   <emphasis role="comment">; Generate new random numbers at 10 Hz.</emphasis>
-  kmin <emphasis role="op">=</emphasis> 220
-  kmax <emphasis role="op">=</emphasis> 440
-  kcps <emphasis role="op">=</emphasis> 10
-
-  k1 <emphasis role="opc">randomh</emphasis> kmin, kmax, kcps
-
-  <emphasis role="opc">printks</emphasis> "k1 <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\\n", 0.1, k1
+  kmin    <emphasis role="opc">init</emphasis> 220
+  kmax    <emphasis role="opc">init</emphasis> 440
+  kcps    <emphasis role="opc">init</emphasis> 10
+  imode   <emphasis role="op">=</emphasis>    p4
+  ifstval <emphasis role="op">=</emphasis>    p5
+  
+     <emphasis role="opc">printf_i</emphasis> "\nMode<emphasis role="op">:</emphasis> <emphasis role="op">%</emphasis>d\n", 1, imode
+  k1 <emphasis role="opc">randomh</emphasis> kmin, kmax, kcps, imode, ifstval
+     <emphasis role="opc">printk2</emphasis> k1
 <emphasis role="oblock">endin</emphasis>
 
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
+<emphasis role="comment">; Play Instrument #1 for one second,</emphasis>
+<emphasis role="comment">; each time with a different mode.</emphasis>
 <emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="stamnt">i</emphasis> 1 1 1 2 330
+<emphasis role="stamnt">i</emphasis> 1 2 1 3
 <emphasis role="stamnt">e</emphasis>
 
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/randomi.csd.xml b/examples-xml/randomi.csd.xml
index 53a1f61..44c967e 100644
--- a/examples-xml/randomi.csd.xml
+++ b/examples-xml/randomi.csd.xml
@@ -15,28 +15,34 @@
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
 
+     <emphasis role="ohdr">seed</emphasis> 0
+     
 <emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
   <emphasis role="comment">; Choose a random frequency between 220 and 440.</emphasis>
   <emphasis role="comment">; Generate new random numbers at 10 Hz.</emphasis>
-  kmin <emphasis role="opc">init</emphasis> 220
-  kmax <emphasis role="opc">init</emphasis> 440
-  kcps <emphasis role="opc">init</emphasis> 10
-
-  k1 <emphasis role="opc">randomi</emphasis> kmin, kmax, kcps
-
-  <emphasis role="opc">printks</emphasis> "k1 <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\\n", 0.1, k1
+  kmin    <emphasis role="opc">init</emphasis> 220
+  kmax    <emphasis role="opc">init</emphasis> 440
+  kcps    <emphasis role="opc">init</emphasis> 10
+  imode   <emphasis role="op">=</emphasis>    p4
+  ifstval <emphasis role="op">=</emphasis>    p5
+  
+     <emphasis role="opc">printf_i</emphasis> "\nMode<emphasis role="op">:</emphasis> <emphasis role="op">%</emphasis>d\n", 1, imode
+  k1 <emphasis role="opc">randomi</emphasis> kmin, kmax, kcps, imode, ifstval
+     <emphasis role="opc">printks</emphasis> "k1 <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", 0.1, k1
 <emphasis role="oblock">endin</emphasis>
 
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
 <emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
+<emphasis role="comment">; each time with a different mode.</emphasis>
 <emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="stamnt">i</emphasis> 1 1 1 1
+<emphasis role="stamnt">i</emphasis> 1 2 1 2 330
+<emphasis role="stamnt">i</emphasis> 1 3 1 3
 <emphasis role="stamnt">e</emphasis>
 
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/rbjeq.csd.xml b/examples-xml/rbjeq.csd.xml
index 9ad132c..19404db 100644
--- a/examples-xml/rbjeq.csd.xml
+++ b/examples-xml/rbjeq.csd.xml
@@ -2,34 +2,36 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o rbjeq.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="ohdr">sr</emphasis>      <emphasis role="op">=</emphasis>  44100
-<emphasis role="ohdr">ksmps</emphasis>   <emphasis role="op">=</emphasis>  10
-<emphasis role="ohdr">nchnls</emphasis>  <emphasis role="op">=</emphasis>  1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-        <emphasis role="oblock">instr</emphasis> 1
-
-a1      <emphasis role="opc">vco2</emphasis>    10000, 155.6            <emphasis role="comment">; sawtooth wave</emphasis>
-kfco    <emphasis role="opc">expon</emphasis>   8000, p3, 200           <emphasis role="comment">; filter frequency</emphasis>
-a1      <emphasis role="opc">rbjeq</emphasis>   a1, kfco, 1, kfco <emphasis role="op">*</emphasis> 0.005, 1, 0 <emphasis role="comment">; resonant lowpass</emphasis>
-        <emphasis role="opc">out</emphasis> a1
-
-        <emphasis role="oblock">endin</emphasis>
+<emphasis role="oblock">instr</emphasis> 1
 
+imode <emphasis role="op">=</emphasis> p4
+a1    <emphasis role="opc">vco2</emphasis>    .3, 155.6			<emphasis role="comment">; sawtooth wave</emphasis>
+kfco  <emphasis role="opc">expon</emphasis>   8000, p3, 200		<emphasis role="comment">; filter frequency</emphasis>
+asig  <emphasis role="opc">rbjeq</emphasis>   a1, kfco, 1, kfco <emphasis role="op">*</emphasis> 0.005, 1, imode
+      <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="stamnt">i</emphasis> 1 0 5
-<emphasis role="stamnt">e</emphasis>
-
+<emphasis role="stamnt">i</emphasis> 1 0  5 0	<emphasis role="comment">;lowpass</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 6  5 2	<emphasis role="comment">;highpass</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 12 5 4	<emphasis role="comment">;bandpass</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 18 5 8	<emphasis role="comment">;equalizer</emphasis>
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/readf.csd.xml b/examples-xml/readf.csd.xml
new file mode 100644
index 0000000..d3da654
--- /dev/null
+++ b/examples-xml/readf.csd.xml
@@ -0,0 +1,26 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+-n
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="oblock">instr</emphasis> 1
+  Swd           <emphasis role="opc">pwd</emphasis>
+                <emphasis role="opc">printf_i</emphasis>      "Working directory is '<emphasis role="op">%</emphasis>s'\n", 1, Swd
+                <emphasis role="opc">prints</emphasis>        "Reading myself <emphasis role="op">=</emphasis>)<emphasis role="op">:</emphasis>\n"
+<emphasis role="olabel">read</emphasis><emphasis role="op">:</emphasis>
+  Sline, kLinNum <emphasis role="opc">readf</emphasis> "readf.csd"
+                <emphasis role="opc">printf</emphasis> "Line <emphasis role="op">%</emphasis>d<emphasis role="op">:</emphasis> <emphasis role="op">%</emphasis>s", kLinNum, kLinNum, Sline
+  <emphasis role="octrl">if</emphasis> kLinNum <emphasis role="op">!=</emphasis> <emphasis role="op">-</emphasis>1 then
+                <emphasis role="octrl">kgoto</emphasis> <emphasis role="olabel">read</emphasis>
+  <emphasis role="octrl">else</emphasis> 
+                <emphasis role="opc">turnoff</emphasis>
+  <emphasis role="octrl">endif</emphasis>
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 1
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/readfi.csd.xml b/examples-xml/readfi.csd.xml
new file mode 100644
index 0000000..cabf458
--- /dev/null
+++ b/examples-xml/readfi.csd.xml
@@ -0,0 +1,22 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+-n
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="oblock">instr</emphasis> 1
+    Swd <emphasis role="opc">pwd</emphasis>
+        <emphasis role="opc">printf_i</emphasis> "Working directory is '<emphasis role="op">%</emphasis>s'\n", 1, Swd
+        <emphasis role="opc">prints</emphasis> "Reading myself <emphasis role="op">=</emphasis>)<emphasis role="op">:</emphasis>\n"
+<emphasis role="olabel">read</emphasis><emphasis role="op">:</emphasis>
+Sline, iLineNum <emphasis role="opc">readfi</emphasis> "readfi.csd"
+        <emphasis role="opc">printf_i</emphasis>  "Line <emphasis role="op">%</emphasis>d<emphasis role="op">:</emphasis> <emphasis role="op">%</emphasis>s", iLineNum, iLineNum, Sline
+        <emphasis role="octrl">if</emphasis> iLineNum <emphasis role="op">!=</emphasis> <emphasis role="op">-</emphasis>1 <emphasis role="octrl">igoto</emphasis> <emphasis role="olabel">read</emphasis>
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 0.1
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/readk-2.csd.xml b/examples-xml/readk-2.csd.xml
new file mode 100644
index 0000000..82c5b04
--- /dev/null
+++ b/examples-xml/readk-2.csd.xml
@@ -0,0 +1,39 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o readk-2.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giSine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
+
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">;writes a control signal to a file</emphasis>
+kfreq <emphasis role="opc">randh</emphasis>  100, 1, 2, 1, 500 <emphasis role="comment">;generates one random number between 400 and 600 per second</emphasis>
+      <emphasis role="opc">dumpk</emphasis>  kfreq, "dumpk.txt", 8, 1 <emphasis role="comment">;writes the control signal</emphasis>
+      <emphasis role="opc">printk</emphasis> 1, kfreq 				 <emphasis role="comment">;prints it</emphasis>
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2 <emphasis role="comment">;reads the file written by instr 1</emphasis>
+kfreq <emphasis role="opc">readk</emphasis>  "dumpk.txt", 8, 1
+      <emphasis role="opc">printk</emphasis> 1, kfreq <emphasis role="comment">;prints it</emphasis>
+aout  <emphasis role="opc">poscil</emphasis> .2, kfreq, giSine
+      <emphasis role="opc">outs</emphasis>   aout, aout
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 5
+<emphasis role="stamnt">i</emphasis> 2 5 5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/readk2.csd.xml b/examples-xml/readk2.csd.xml
new file mode 100644
index 0000000..7fd8d1b
--- /dev/null
+++ b/examples-xml/readk2.csd.xml
@@ -0,0 +1,43 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o readk2.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giSine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
+
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">;writes two control signals to a file</emphasis>
+kfreq     <emphasis role="opc">randh</emphasis>     100, 1, 2, 1, 500 <emphasis role="comment">;generates one random number between 400 and 600 per second</emphasis>
+kdb       <emphasis role="opc">randh</emphasis>     12, 1, 2, 1, <emphasis role="op">-</emphasis>12 <emphasis role="comment">;amplitudes in dB between -24 and 0</emphasis>
+          <emphasis role="opc">dumpk2</emphasis>    kfreq, kdb, "dumpk2.txt", 8, 1 <emphasis role="comment">;writes the control signals</emphasis>
+          <emphasis role="opc">prints</emphasis>    "WRITING<emphasis role="op">:</emphasis>\n"
+          <emphasis role="opc">printks</emphasis>   "kfreq <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, kdb <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", 1, kfreq, kdb  <emphasis role="comment">;prints them</emphasis>
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2 <emphasis role="comment">;reads the file written by instr 1</emphasis>
+kf,kdb    <emphasis role="opc">readk2</emphasis>    "dumpk2.txt", 8, 1
+          <emphasis role="opc">prints</emphasis>    "READING<emphasis role="op">:</emphasis>\n"
+          <emphasis role="opc">printks</emphasis>   "kfreq <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, kdb <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", 1, kf, kdb  <emphasis role="comment">;prints again</emphasis>
+kdb       <emphasis role="opc">lineto</emphasis>    kdb, .1 <emphasis role="comment">;smoothing amp transition</emphasis>
+aout      <emphasis role="opc">poscil</emphasis>    <emphasis role="opc">ampdb</emphasis>(kdb), kf, giSine
+          <emphasis role="opc">outs</emphasis>      aout, aout
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 5
+<emphasis role="stamnt">i</emphasis> 2 5 5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/readk3.csd.xml b/examples-xml/readk3.csd.xml
new file mode 100644
index 0000000..2e8fd2d
--- /dev/null
+++ b/examples-xml/readk3.csd.xml
@@ -0,0 +1,46 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o readk3.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giSine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
+
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">;writes three control signals to a file</emphasis>
+kfreq     <emphasis role="opc">randh</emphasis>     100, 1, 2, 1, 500 <emphasis role="comment">;generates one random number between 400 and 600 per second</emphasis>
+kdb       <emphasis role="opc">randh</emphasis>     12, 1, 2, 1, <emphasis role="op">-</emphasis>12 <emphasis role="comment">;amplitudes in dB between -24 and 0</emphasis>
+kpan      <emphasis role="opc">randh</emphasis>     .5, 1, 2, 1, .5 <emphasis role="comment">;panning between 0 and 1</emphasis>
+          <emphasis role="opc">dumpk3</emphasis>    kfreq, kdb, kpan, "dumpk3.txt", 8, 1 <emphasis role="comment">;writes the control signals</emphasis>
+          <emphasis role="opc">prints</emphasis>    "WRITING<emphasis role="op">:</emphasis>\n"
+          <emphasis role="opc">printks</emphasis>   "kfreq <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, kdb <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, kpan <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", 1, kfreq, kdb, kpan  <emphasis role="comment">;prints them</emphasis>
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2 <emphasis role="comment">;reads the file written by instr 1</emphasis>
+kf,kdb,kp <emphasis role="opc">readk3</emphasis>    "dumpk3.txt", 8, 1
+          <emphasis role="opc">prints</emphasis>    "READING<emphasis role="op">:</emphasis>\n"
+          <emphasis role="opc">printks</emphasis>   "kfreq <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, kdb <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, kpan <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", 1, kf, kdb, kp  <emphasis role="comment">;prints again</emphasis>
+kdb       <emphasis role="opc">lineto</emphasis>    kdb, .1 <emphasis role="comment">;smoothing amp transition</emphasis>
+kp        <emphasis role="opc">lineto</emphasis>    kp, .1 <emphasis role="comment">;smoothing pan transition</emphasis>
+aout      <emphasis role="opc">poscil</emphasis>    <emphasis role="opc">ampdb</emphasis>(kdb), kf, giSine
+aL, aR    <emphasis role="opc">pan2</emphasis>      aout, kp
+          <emphasis role="opc">outs</emphasis>      aL, aR
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 5
+<emphasis role="stamnt">i</emphasis> 2 5 5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/readk4.csd.xml b/examples-xml/readk4.csd.xml
new file mode 100644
index 0000000..643ccab
--- /dev/null
+++ b/examples-xml/readk4.csd.xml
@@ -0,0 +1,50 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o readk4.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giSine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
+
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">;writes four control signals to a file</emphasis>
+kcf       <emphasis role="opc">randh</emphasis>     950, 1, 2, 1, 1050 <emphasis role="comment">;generates one random number between 100 and 2000 per second</emphasis>
+kq        <emphasis role="opc">randh</emphasis>     10, 1, 2, 1, 11 <emphasis role="comment">;generates another random number between 1 and 21 per second</emphasis>
+kdb       <emphasis role="opc">randh</emphasis>     9, 1, 2, 1, <emphasis role="op">-</emphasis>15 <emphasis role="comment">;amplitudes in dB between -24 and -6</emphasis>
+kpan      <emphasis role="opc">randh</emphasis>     .5, 1, 2, 1, .5 <emphasis role="comment">;panning between 0 and 1</emphasis>
+          <emphasis role="opc">dumpk4</emphasis>    kcf, kq, kdb, kpan, "dumpk4.txt", 8, 1 <emphasis role="comment">;writes the control signals</emphasis>
+          <emphasis role="opc">prints</emphasis>    "WRITING<emphasis role="op">:</emphasis>\n"
+          <emphasis role="opc">printks</emphasis>   "kcf <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, kq <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, kdb <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, kpan <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", 1, kcf, kq, kdb, kpan  <emphasis role="comment">;prints them</emphasis>
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2 <emphasis role="comment">;reads the file written by instr 1</emphasis>
+kcf,kq,kdb,kp <emphasis role="opc">readk4</emphasis> "dumpk4.txt", 8, 1
+          <emphasis role="opc">prints</emphasis>    "READING<emphasis role="op">:</emphasis>\n"
+          <emphasis role="opc">printks</emphasis>   "kcf <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, kq <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, kdb <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, kpan <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", 1, kcf, kq, kdb, kp  <emphasis role="comment">;prints values</emphasis>
+kdb       <emphasis role="opc">lineto</emphasis>    kdb, .1 <emphasis role="comment">;smoothing amp transition</emphasis>
+kp        <emphasis role="opc">lineto</emphasis>    kp, .1 <emphasis role="comment">;smoothing pan transition</emphasis>
+anoise    <emphasis role="opc">rand</emphasis>      <emphasis role="opc">ampdb</emphasis>(kdb), 2, 1
+kbw       <emphasis role="op">=</emphasis>         kcf<emphasis role="op">/</emphasis>kq <emphasis role="comment">;bandwidth of resonant filter</emphasis>
+abp       <emphasis role="opc">reson</emphasis>     anoise, kcf, kbw
+aout      <emphasis role="opc">balance</emphasis>   abp, anoise
+aL, aR    <emphasis role="opc">pan2</emphasis>      aout, kp
+          <emphasis role="opc">outs</emphasis>      aL, aR
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 5
+<emphasis role="stamnt">i</emphasis> 2 5 5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/readscore.csd.xml b/examples-xml/readscore.csd.xml
new file mode 100644
index 0000000..c948df7
--- /dev/null
+++ b/examples-xml/readscore.csd.xml
@@ -0,0 +1,33 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+-d -o dac
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+   
+ 
+<emphasis role="oblock">instr</emphasis> 1
+a1 <emphasis role="opc">flooper2</emphasis> 1000,p4,2,5,0.1,1 
+   <emphasis role="opc">out</emphasis> a1
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+ires <emphasis role="opc">readscore</emphasis> {{
+{12  COUNT 
+i1 $COUNT 1 [1 <emphasis role="op">+</emphasis> $COUNT<emphasis role="op">/</emphasis>12]
+}
+}}
+<emphasis role="oblock">endin</emphasis>
+ 
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>0 12
+<emphasis role="stamnt">f</emphasis> 1 0 0 1 "<emphasis role="stamnt">f</emphasis>ox.wav" 0 0 1
+
+<emphasis role="stamnt">i</emphasis>2 0 1
+
+
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/readscratch.csd.xml b/examples-xml/readscratch.csd.xml
new file mode 100644
index 0000000..654aa9c
--- /dev/null
+++ b/examples-xml/readscratch.csd.xml
@@ -0,0 +1,31 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-n
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ilast <emphasis role="opc">readscratch</emphasis>
+      <emphasis role="opc">writescratch</emphasis> p2
+ilen  <emphasis role="opc">readscratch</emphasis> 1
+      <emphasis role="opc">writescratch</emphasis> p3, 1
+      <emphasis role="opc">printf_i</emphasis> "last run at <emphasis role="op">%</emphasis>f for <emphasis role="op">%</emphasis>f\n", ilen, ilast, ilen
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="stamnt">i</emphasis> 1 2 3
+<emphasis role="stamnt">i</emphasis> 1 6 10
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/repluck.csd.xml b/examples-xml/repluck.csd.xml
index 81da7d4..0f80880 100644
--- a/examples-xml/repluck.csd.xml
+++ b/examples-xml/repluck.csd.xml
@@ -2,45 +2,51 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o repluck.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  iplk <emphasis role="op">=</emphasis> 0.75
-  kamp <emphasis role="op">=</emphasis> 30000
-  icps <emphasis role="op">=</emphasis> 220
-  kpick <emphasis role="op">=</emphasis> 0.75
-  krefl <emphasis role="op">=</emphasis> 0.5
-  axcite <emphasis role="opc">oscil</emphasis> 1, 1, 1
 
-  apluck <emphasis role="opc">repluck</emphasis> iplk, kamp, icps, kpick, krefl, axcite
+iplk  <emphasis role="op">=</emphasis> 0.75
+kamp  <emphasis role="op">=</emphasis> .8
+icps  <emphasis role="op">=</emphasis> 110
+krefl <emphasis role="op">=</emphasis> p4
+kpick <emphasis role="op">=</emphasis> p5
 
-  <emphasis role="opc">out</emphasis> apluck
-<emphasis role="oblock">endin</emphasis>
 
+axcite <emphasis role="opc">oscil</emphasis> 1, 1, 1
+asig <emphasis role="opc">repluck</emphasis> iplk, kamp, icps, kpick, krefl, axcite
+asig <emphasis role="opc">dcblock2</emphasis> asig		<emphasis role="comment">;get rid of DC offset</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for two seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1	<emphasis role="comment">;sine wave.</emphasis>
+
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 1 0.95 0.75	<emphasis role="comment">;sounds heavier (=p5)</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 1  <
+<emphasis role="stamnt">i</emphasis> 1 + 1  <
+<emphasis role="stamnt">i</emphasis> 1 + 1  <
+<emphasis role="stamnt">i</emphasis> 1 + 10 0.6
+
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 1 0.95 0.15	<emphasis role="comment">;sounds softer (=p5)</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 1  <
+<emphasis role="stamnt">i</emphasis> 1 + 1  <
+<emphasis role="stamnt">i</emphasis> 1 + 1  <
+<emphasis role="stamnt">i</emphasis> 1 + 10 0.6
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/reson.csd.xml b/examples-xml/reson.csd.xml
index 9abbf89..f74d7a3 100644
--- a/examples-xml/reson.csd.xml
+++ b/examples-xml/reson.csd.xml
@@ -2,49 +2,35 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o reson.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Generate a sine waveform.</emphasis>
-  asine <emphasis role="opc">buzz</emphasis> 15000, 440, 3, 1
 
-  <emphasis role="comment">; Vary the cut-off frequency from 220 to 1280.</emphasis>
-  kcf <emphasis role="opc">line</emphasis> 220, p3, 1320
-  kbw <emphasis role="opc">init</emphasis> 20
+asaw <emphasis role="opc">vco2</emphasis> .2, 220	<emphasis role="comment">;sawtooth</emphasis>
+kcf  <emphasis role="opc">line</emphasis> 220, p3, 1760	<emphasis role="comment">;vary cut-off frequency from 220 to 1280 Hz</emphasis>
+kbw  <emphasis role="op">=</emphasis> p4		<emphasis role="comment">;vary bandwidth of filter too		</emphasis>
+ares <emphasis role="opc">reson</emphasis> asaw, kcf, kbw
+asig <emphasis role="opc">balance</emphasis> ares, asaw
+     <emphasis role="opc">outs</emphasis> asig, asig
 
-  <emphasis role="comment">; Run the sine through a resonant filter.</emphasis>
-  ares <emphasis role="opc">reson</emphasis> asine, kcf, kbw
-
-  <emphasis role="comment">; Give the filtered signal the same amplitude </emphasis>
-  <emphasis role="comment">; as the original signal. </emphasis>
-  a1 <emphasis role="opc">balance</emphasis> ares, asine
-  <emphasis role="opc">out</emphasis> a1
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Table #1, an ordinary sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for 4 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 4
+<emphasis role="stamnt">i</emphasis> 1 0 4 10	<emphasis role="comment">;bandwidth of filter = 10 Hz</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 4 50	<emphasis role="comment">;50 Hz and</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 4 200	<emphasis role="comment">;200 Hz</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/resonk.csd.xml b/examples-xml/resonk.csd.xml
new file mode 100644
index 0000000..f8e2875
--- /dev/null
+++ b/examples-xml/resonk.csd.xml
@@ -0,0 +1,41 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o resonk.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+gisin <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ksig	<emphasis role="opc">randomh</emphasis>	400, 1800, 150
+aout	<emphasis role="opc">poscil</emphasis>	.2, 1000<emphasis role="op">+</emphasis>ksig, gisin
+	<emphasis role="opc">outs</emphasis>	aout, aout
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+
+ksig	<emphasis role="opc">randomh</emphasis>	400, 1800, 150
+khp	<emphasis role="opc">line</emphasis>	1, p3, 400	<emphasis role="comment">;vary high-pass</emphasis>
+ksig	<emphasis role="opc">resonk</emphasis>	ksig, khp, 50
+aout	<emphasis role="opc">poscil</emphasis>	.2, 1000<emphasis role="op">+</emphasis>ksig, gisin
+	<emphasis role="opc">outs</emphasis>	aout, aout
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 5
+<emphasis role="stamnt">i</emphasis> 2 5.5 5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/resonx.csd.xml b/examples-xml/resonx.csd.xml
new file mode 100644
index 0000000..7864d1d
--- /dev/null
+++ b/examples-xml/resonx.csd.xml
@@ -0,0 +1,44 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o resonx.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; unfiltered noise</emphasis>
+
+kenv	<emphasis role="opc">linseg</emphasis>	0, p3<emphasis role="op">*</emphasis>.5, 1, p3<emphasis role="op">*</emphasis>.5, 0	<emphasis role="comment">;envelope</emphasis>
+asig	<emphasis role="opc">rand</emphasis>	0.7			<emphasis role="comment">;white noise</emphasis>
+	<emphasis role="opc">outs</emphasis>	asig<emphasis role="op">*</emphasis>kenv, asig<emphasis role="op">*</emphasis>kenv
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">; filtered noise</emphasis>
+
+kenv	<emphasis role="opc">linseg</emphasis>	0, p3<emphasis role="op">*</emphasis>.5, 1, p3<emphasis role="op">*</emphasis>.5, 0	<emphasis role="comment">;envelope</emphasis>
+asig	<emphasis role="opc">rand</emphasis>	0.7
+kcf	<emphasis role="opc">line</emphasis>	300, p3, 2000
+afilt	<emphasis role="opc">resonx</emphasis>	asig, kcf, 300, 4
+asig	<emphasis role="opc">balance</emphasis> afilt, asig
+	<emphasis role="opc">outs</emphasis>	asig<emphasis role="op">*</emphasis>kenv, asig<emphasis role="op">*</emphasis>kenv
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 2 3 2
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/resonxk.csd.xml b/examples-xml/resonxk.csd.xml
new file mode 100644
index 0000000..27d8220
--- /dev/null
+++ b/examples-xml/resonxk.csd.xml
@@ -0,0 +1,46 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o resonxk.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+gisin <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ksig <emphasis role="opc">randomh</emphasis>  400, 1800, 150
+aout <emphasis role="opc">poscil</emphasis>   .2, 1000<emphasis role="op">+</emphasis>ksig, gisin
+     <emphasis role="opc">outs</emphasis>     aout, aout
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+
+ksig <emphasis role="opc">randomh</emphasis>  400, 1800, 150
+kcf  <emphasis role="opc">line</emphasis>     1, p3, 1000		<emphasis role="comment">;vary high-pass</emphasis>
+ilay <emphasis role="op">=</emphasis> p4
+ksig <emphasis role="opc">resonxk</emphasis>  ksig, kcf, 100, ilay
+aout <emphasis role="opc">poscil</emphasis>   .2, 1000<emphasis role="op">+</emphasis>ksig, gisin
+asig <emphasis role="opc">interp</emphasis>   ksig			<emphasis role="comment">;convert k-rate to a-rate</emphasis>
+aout <emphasis role="opc">balance</emphasis>  asig, aout		<emphasis role="comment">;avoid getting asig out of range</emphasis>
+     <emphasis role="opc">outs</emphasis>     aout, aout
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0  5
+<emphasis role="stamnt">i</emphasis> 2 6  5 1	<emphasis role="comment">;number of filter stack = 1</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 12 5 5	<emphasis role="comment">;number of filter stack = 5</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/resony.csd.xml b/examples-xml/resony.csd.xml
index 93093e4..09dd969 100644
--- a/examples-xml/resony.csd.xml
+++ b/examples-xml/resony.csd.xml
@@ -2,49 +2,45 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o resony.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">; -o resonx.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
-
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Use a nice sawtooth waveform.</emphasis>
-  asig <emphasis role="opc">vco</emphasis> 32000, 220, 1
-
-  <emphasis role="comment">; Vary the base frequency from 60 to 600 Hz.</emphasis>
-  kbf <emphasis role="opc">line</emphasis> 60, p3, 600
-  kbw <emphasis role="op">=</emphasis> 50
-  inum <emphasis role="op">=</emphasis> 2
-  ksep <emphasis role="op">=</emphasis> 1
-  isepmode <emphasis role="op">=</emphasis> 0
-  iscl <emphasis role="op">=</emphasis> 1
-
-  a1 <emphasis role="opc">resony</emphasis> asig, kbf, kbw, inum, ksep, isepmode, iscl
-
-  <emphasis role="opc">out</emphasis> a1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; unfiltered noise</emphasis>
+
+kenv	<emphasis role="opc">linseg</emphasis>	0, p3<emphasis role="op">*</emphasis>.5, 1, p3<emphasis role="op">*</emphasis>.5, 0	<emphasis role="comment">;envelope</emphasis>
+asig	<emphasis role="opc">rand</emphasis>	0.7			<emphasis role="comment">;white noise</emphasis>
+	<emphasis role="opc">outs</emphasis>	asig<emphasis role="op">*</emphasis>kenv, asig<emphasis role="op">*</emphasis>kenv
+
 <emphasis role="oblock">endin</emphasis>
 
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">; filtered noise</emphasis>
 
+ksep	<emphasis role="op">=</emphasis> p4				<emphasis role="comment">;vary seperation of center frequency of filters in octaves</emphasis>
+kenv	<emphasis role="opc">linseg</emphasis>	0, p3<emphasis role="op">*</emphasis>.5, 1, p3<emphasis role="op">*</emphasis>.5, 0	<emphasis role="comment">;envelope</emphasis>
+asig	<emphasis role="opc">rand</emphasis>	0.7
+kbf	<emphasis role="opc">line</emphasis>	300, p3, 2000		<emphasis role="comment">;vary base frequency</emphasis>
+afilt	<emphasis role="opc">resony</emphasis>	asig, kbf, 300, 4, ksep
+asig	<emphasis role="opc">balance</emphasis> afilt, asig
+	<emphasis role="opc">outs</emphasis>	asig<emphasis role="op">*</emphasis>kenv, asig<emphasis role="op">*</emphasis>kenv
+
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Table #1, a sine wave for the vco opcode.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for two seconds.</emphasis>
 <emphasis role="stamnt">i</emphasis> 1 0 2
-<emphasis role="stamnt">e</emphasis>
-
+<emphasis role="stamnt">i</emphasis> 2 3 2 1
+<emphasis role="stamnt">i</emphasis> 2 6 2 3
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/resonz.csd.xml b/examples-xml/resonz.csd.xml
new file mode 100644
index 0000000..5873028
--- /dev/null
+++ b/examples-xml/resonz.csd.xml
@@ -0,0 +1,72 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
+-odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o resonz.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> Written by Sean Costello <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+ <emphasis role="comment">; Orchestra file for resonant filter sweep of a sawtooth-like waveform. </emphasis>
+  <emphasis role="comment">; The outputs of reson, resonr, and resonz are scaled by coefficients</emphasis>
+  <emphasis role="comment">; specified in the score, so that each filter can be heard on its own</emphasis>
+  <emphasis role="comment">; from the same instrument.</emphasis>
+
+  <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+  <emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
+  <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+  <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+  
+<emphasis role="oblock">instr</emphasis> 1
+  
+  idur     <emphasis role="op">=</emphasis>        p3
+  ibegfreq <emphasis role="op">=</emphasis>        p4                              <emphasis role="comment">; beginning of sweep frequency</emphasis>
+  iendfreq <emphasis role="op">=</emphasis>        p5                              <emphasis role="comment">; ending of sweep frequency</emphasis>
+  ibw      <emphasis role="op">=</emphasis>        p6                              <emphasis role="comment">; bandwidth of filters in Hz</emphasis>
+  ifreq    <emphasis role="op">=</emphasis>        p7                              <emphasis role="comment">; frequency of gbuzz that is to be filtered</emphasis>
+  iamp     <emphasis role="op">=</emphasis>        p8                              <emphasis role="comment">; amplitude to scale output by</emphasis>
+  ires     <emphasis role="op">=</emphasis>        p9                              <emphasis role="comment">; coefficient to scale amount of reson in output</emphasis>
+  iresr    <emphasis role="op">=</emphasis>        p10                             <emphasis role="comment">; coefficient to scale amount of resonr in output</emphasis>
+  iresz    <emphasis role="op">=</emphasis>        p11                             <emphasis role="comment">; coefficient to scale amount of resonz in output</emphasis>
+  
+ <emphasis role="comment">; Frequency envelope for reson cutoff</emphasis>
+  kfreq    <emphasis role="opc">linseg</emphasis> ibegfreq, idur <emphasis role="op">*</emphasis> .5, iendfreq, idur <emphasis role="op">*</emphasis> .5, ibegfreq
+  
+ <emphasis role="comment">; Amplitude envelope to prevent clicking</emphasis>
+  kenv     <emphasis role="opc">linseg</emphasis> 0, .1, iamp, idur <emphasis role="op">-</emphasis> .2, iamp, .1, 0
+  
+ <emphasis role="comment">; Number of harmonics for gbuzz scaled to avoid aliasing</emphasis>
+  iharms   <emphasis role="op">=</emphasis>        (<emphasis role="ohdr">sr</emphasis><emphasis role="op">*</emphasis>.4)<emphasis role="op">/</emphasis>ifreq
+  
+  asig     <emphasis role="opc">gbuzz</emphasis> 1, ifreq, iharms, 1, .9, 1      <emphasis role="comment">; "Sawtooth" waveform</emphasis>
+  ain      <emphasis role="op">=</emphasis>        kenv <emphasis role="op">*</emphasis> asig                     <emphasis role="comment">; output scaled by amp envelope</emphasis>
+  ares     <emphasis role="opc">reson</emphasis> ain, kfreq, ibw, 1
+  aresr    <emphasis role="opc">resonr</emphasis> ain, kfreq, ibw, 1
+  aresz    <emphasis role="opc">resonz</emphasis> ain, kfreq, ibw, 1
+  
+           <emphasis role="opc">out</emphasis> ares <emphasis role="op">*</emphasis> ires <emphasis role="op">+</emphasis> aresr <emphasis role="op">*</emphasis> iresr <emphasis role="op">+</emphasis> aresz <emphasis role="op">*</emphasis> iresz
+  
+<emphasis role="oblock">endin</emphasis>
+
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+/* Written by Sean Costello */
+<emphasis role="stamnt">f</emphasis>1 0 8192 9 1 1 .25                               <emphasis role="comment">; cosine table for gbuzz generator</emphasis>
+  
+<emphasis role="stamnt">i</emphasis>1  0 10 1 3000 200 100 4000 1 0 0                <emphasis role="comment">; reson  output with bw = 200</emphasis>
+<emphasis role="stamnt">i</emphasis>1 10 10 1 3000 200 100 4000 0 1 0                <emphasis role="comment">; resonr output with bw = 200</emphasis>
+<emphasis role="stamnt">i</emphasis>1 20 10 1 3000 200 100 4000 0 0 1                <emphasis role="comment">; resonz output with bw = 200</emphasis>
+<emphasis role="stamnt">i</emphasis>1 30 10 1 3000  50 200 8000 1 0 0                <emphasis role="comment">; reson  output with bw = 50</emphasis>
+<emphasis role="stamnt">i</emphasis>1 40 10 1 3000  50 200 8000 0 1 0                <emphasis role="comment">; resonr output with bw = 50</emphasis>
+<emphasis role="stamnt">i</emphasis>1 50 10 1 3000  50 200 8000 0 0 1                <emphasis role="comment">; resonz output with bw = 50</emphasis>
+<emphasis role="stamnt">e</emphasis>
+
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/resyn.csd.xml b/examples-xml/resyn.csd.xml
index a22f425..43e9574 100644
--- a/examples-xml/resyn.csd.xml
+++ b/examples-xml/resyn.csd.xml
@@ -2,37 +2,37 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   No messages  MIDI in</emphasis>
--odac           -iadc     -d       <emphasis role="comment">;;;RT audio I/O with MIDI in</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o resyn.wav -W ;;; for file output any platform</emphasis>
-<emphasis role="comment">;heavy on CPU</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
-ain	<emphasis role="opc">diskin2</emphasis>	"beats.wav", 1, 0, 1                  
-fs1,fsi2 <emphasis role="opc">pvsifd</emphasis>	ain, 2048, 512, 1		<emphasis role="comment">; pvsifd analysis</emphasis>
-fst	<emphasis role="opc">partials</emphasis>	fs1, fsi2, .003, 1,3, 500	<emphasis role="comment">; partial tracking</emphasis>
-aout	<emphasis role="opc">resyn</emphasis>		fst, 1, 1.5, 100, 1		<emphasis role="comment">; resynthesis (up a 5th)</emphasis>
-	<emphasis role="opc">out</emphasis>	aout
 
-<emphasis role="oblock">endin</emphasis>
+ktracks <emphasis role="op">=</emphasis> p4
+ain	<emphasis role="opc">diskin2</emphasis>  "fox.wav", 1, 0, 1                  
+fs1,fsi2 <emphasis role="opc">pvsifd</emphasis>  ain, 2048, 512, 1		<emphasis role="comment">; pvsifd analysis</emphasis>
+fst	<emphasis role="opc">partials</emphasis> fs1, fsi2, .1, 1,3, 500	<emphasis role="comment">; partial tracking</emphasis>
+aout	<emphasis role="opc">resyn</emphasis>    fst, 1, 1.5, ktracks, 1	<emphasis role="comment">; resynthesis (up a 5th)</emphasis>
+	<emphasis role="opc">outs</emphasis>	 aout, aout
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 <emphasis role="comment">;sine</emphasis>
 <emphasis role="stamnt">f</emphasis>1 0 4096 10 1
 
-<emphasis role="stamnt">i</emphasis> 1 0 2
-<emphasis role="stamnt">e</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 2.7 500
+<emphasis role="stamnt">i</emphasis> 1 3 2.7 10	<emphasis role="comment">;non-linear filtering effect	</emphasis>
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/reverb.csd.xml b/examples-xml/reverb.csd.xml
index e19aa20..eada94a 100644
--- a/examples-xml/reverb.csd.xml
+++ b/examples-xml/reverb.csd.xml
@@ -2,64 +2,49 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o reverb.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
-<emphasis role="comment">; init an audio receiver/mixer</emphasis>
 ga1 <emphasis role="opc">init</emphasis> 0 
 
-<emphasis role="comment">; Instrument #1. (there may be many copies)</emphasis>
 <emphasis role="oblock">instr</emphasis> 1 
-  <emphasis role="comment">; generate a source signal</emphasis>
-  a1 <emphasis role="opc">oscili</emphasis> 7000, <emphasis role="opc">cpspch</emphasis>(p4), 1 
-  <emphasis role="comment">; output the direct sound</emphasis>
-  <emphasis role="opc">out</emphasis> a1  
-  <emphasis role="comment">; and add to audio receiver</emphasis>
-  ga1 <emphasis role="op">=</emphasis> ga1 <emphasis role="op">+</emphasis> a1 
+
+asig <emphasis role="opc">poscil</emphasis> .2, <emphasis role="opc">cpspch</emphasis>(p4), 1 
+     <emphasis role="opc">outs</emphasis> asig, asig 
+
+ga1  <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis> asig     <emphasis role="comment">;add direct signal to global reverb</emphasis>
+ 
 <emphasis role="oblock">endin</emphasis>
 
-<emphasis role="comment">; (highest instr number executed last)</emphasis>
-<emphasis role="oblock">instr</emphasis> 99 
-  <emphasis role="comment">; reverberate whatever is in ga1</emphasis>
-  a3 <emphasis role="opc">reverb</emphasis> ga1, 1.5
-  <emphasis role="comment">; and output the result</emphasis>
-  <emphasis role="opc">out</emphasis> a3 
-  <emphasis role="comment">; empty the receiver for the next pass</emphasis>
-  ga1 <emphasis role="op">=</emphasis> 0 
+<emphasis role="oblock">instr</emphasis> 99	<emphasis role="comment">;(highest instr number executed last)</emphasis>
+
+arev <emphasis role="opc">reverb</emphasis> ga1, 1.5
+     <emphasis role="opc">outs</emphasis> arev, arev 
+  
+ga1  <emphasis role="op">=</emphasis> 0	<emphasis role="comment">;clear</emphasis>
 <emphasis role="oblock">endin</emphasis>
 
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 128 10 1	<emphasis role="comment">;sine</emphasis>
 
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 128 10 1
-
-<emphasis role="comment">; p4 = frequency (in a pitch-class)</emphasis>
-<emphasis role="comment">; Play Instrument #1 for a tenth of a second, p4=8.00</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 0.1 8.00
-<emphasis role="comment">; Play Instrument #1 for a tenth of a second, p4=8.02</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 0.1 7.00	<emphasis role="comment">;short sounds</emphasis>
 <emphasis role="stamnt">i</emphasis> 1 1 0.1 8.02
-<emphasis role="comment">; Play Instrument #1 for a tenth of a second, p4=8.04</emphasis>
 <emphasis role="stamnt">i</emphasis> 1 2 0.1 8.04
-<emphasis role="comment">; Play Instrument #1 for a tenth of a second, p4=8.06</emphasis>
 <emphasis role="stamnt">i</emphasis> 1 3 0.1 8.06
 
-<emphasis role="comment">; Make sure the reverb remains active.</emphasis>
-<emphasis role="stamnt">i</emphasis> 99 0 6
+<emphasis role="stamnt">i</emphasis> 99 0 6	<emphasis role="comment">;reverb runs for 6 seconds</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/rewindscore.csd.xml b/examples-xml/rewindscore.csd.xml
new file mode 100644
index 0000000..8a364fd
--- /dev/null
+++ b/examples-xml/rewindscore.csd.xml
@@ -0,0 +1,47 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o rewindscore.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+ 
+<emphasis role="oblock">instr</emphasis> 1
+
+kenv <emphasis role="opc">expon</emphasis>  1, p3, 0.0001
+aout <emphasis role="opc">poscil</emphasis> .5<emphasis role="op">*</emphasis>kenv, <emphasis role="opc">cpspch</emphasis>(p4), 1
+     <emphasis role="opc">outs</emphasis>   aout, aout
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 100
+
+<emphasis role="opc">rewindscore</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 4096 10 1	<emphasis role="comment">;sine wave</emphasis>
+
+<emphasis role="stamnt">i</emphasis>1 0 1 8.00
+<emphasis role="stamnt">i</emphasis>1 + 1 8.03
+<emphasis role="stamnt">i</emphasis>1 + 1 8.04
+<emphasis role="stamnt">i</emphasis>1 + 1 8.07 
+<emphasis role="stamnt">i</emphasis>1 + 1 8.09
+<emphasis role="stamnt">i</emphasis>1 + 1 8.10
+<emphasis role="stamnt">i</emphasis>1 + 1 8.09
+<emphasis role="stamnt">i</emphasis>1 + 1 8.07
+<emphasis role="stamnt">i</emphasis>1 + 1 8.03
+
+<emphasis role="stamnt">i</emphasis>100 9 1	<emphasis role="comment">;rewind from 9th second</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/rezzy.csd.xml b/examples-xml/rezzy.csd.xml
index 166babf..02253b5 100644
--- a/examples-xml/rezzy.csd.xml
+++ b/examples-xml/rezzy.csd.xml
@@ -2,47 +2,35 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o rezzy.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Use a nice sawtooth waveform.</emphasis>
-  asig <emphasis role="opc">vco</emphasis> 32000, 220, 1
 
-  <emphasis role="comment">; Vary the filter-cutoff frequency from .2 to 2 KHz.</emphasis>
-  kfco <emphasis role="opc">line</emphasis> 200, p3, 2000
+asaw <emphasis role="opc">vco2</emphasis> .3, 110	<emphasis role="comment">;sawtooth</emphasis>
+kcf  <emphasis role="opc">line</emphasis> 1760, p3, 220	<emphasis role="comment">;vary cut-off frequency from 220 to 1280 Hz</emphasis>
+kres <emphasis role="op">=</emphasis> p4		<emphasis role="comment">;vary resonance too		</emphasis>
+ares <emphasis role="opc">rezzy</emphasis> asaw, kcf, kres
+asig <emphasis role="opc">balance</emphasis> ares, asaw
+     <emphasis role="opc">outs</emphasis> asig, asig
 
-  <emphasis role="comment">; Set the resonance amount.</emphasis>
-  kres <emphasis role="opc">init</emphasis> 25
-
-  a1 <emphasis role="opc">rezzy</emphasis> asig, kfco, kres
-
-  <emphasis role="opc">out</emphasis> a1
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Table #1, a sine wave for the vco opcode.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for three seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 3
+<emphasis role="stamnt">i</emphasis> 1 0 4 10
+<emphasis role="stamnt">i</emphasis> 1 + 4 30
+<emphasis role="stamnt">i</emphasis> 1 + 4 120	<emphasis role="comment">;lots of resonance</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/round.csd.xml b/examples-xml/round.csd.xml
index 12911a6..60ab5f9 100644
--- a/examples-xml/round.csd.xml
+++ b/examples-xml/round.csd.xml
@@ -2,32 +2,35 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">;-o round.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  i1 <emphasis role="op">=</emphasis> 1 <emphasis role="op">/</emphasis> p4
-  i2 <emphasis role="op">=</emphasis> <emphasis role="opc">round</emphasis>(i1)
 
-  <emphasis role="opc">print</emphasis> i2
-<emphasis role="oblock">endin</emphasis>
+idiv <emphasis role="opc">init</emphasis> 1
 
+<emphasis role="olabel">loop</emphasis><emphasis role="op">:</emphasis>
+inumber <emphasis role="op">=</emphasis> 9
+i1  <emphasis role="op">=</emphasis> inumber <emphasis role="op">/</emphasis> idiv
+iro <emphasis role="op">=</emphasis>  <emphasis role="opc">round</emphasis>(i1)
+<emphasis role="opc">print</emphasis> inumber, idiv, iro <emphasis role="comment">;print number / idiv = result using round</emphasis>
+idiv <emphasis role="op">=</emphasis> idiv <emphasis role="op">+</emphasis> 1
+<emphasis role="octrl">if</emphasis> (idiv <emphasis role="op"><=</emphasis> 10) <emphasis role="octrl">igoto</emphasis> <emphasis role="olabel">loop</emphasis>
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="stamnt">i</emphasis> 1 0 1 2				<emphasis role="comment">;0.5 becomes 1, not 0</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 + 1 3
-<emphasis role="stamnt">i</emphasis> 1 + 1 2.1
+<emphasis role="stamnt">i</emphasis> 1 0 0
 <emphasis role="stamnt">e</emphasis>
 
 <emphasis role="csdtag"></CsScore></emphasis>
diff --git a/examples-xml/rspline.csd.xml b/examples-xml/rspline.csd.xml
index a36016a..24dba30 100644
--- a/examples-xml/rspline.csd.xml
+++ b/examples-xml/rspline.csd.xml
@@ -2,54 +2,38 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o rspline.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">; -o jspline.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1 -- plain instrument.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  aplain <emphasis role="opc">vco</emphasis> 10000, 220, 2, 0.83
 
-  <emphasis role="opc">outs</emphasis> aplain, aplain
-<emphasis role="oblock">endin</emphasis>
-
-<emphasis role="comment">; Instrument #2 </emphasis>
-<emphasis role="oblock">instr</emphasis> 2
-  <emphasis role="comment">; Create a signal modulated the rspline opcode.</emphasis>
-  kamp <emphasis role="opc">init</emphasis> 2
-  kcpsmin <emphasis role="opc">init</emphasis> 4
-  kcpsmax <emphasis role="opc">init</emphasis> 10
-  kj <emphasis role="opc">rspline</emphasis> <emphasis role="op">-</emphasis>20,20, kcpsmin, kcpsmax
+krangeMin <emphasis role="opc">init</emphasis> p4
+krangeMax <emphasis role="opc">init</emphasis> p5
+kcpsmin <emphasis role="opc">init</emphasis> 2
+kcpsmax <emphasis role="opc">init</emphasis> 3
 
-  aplain <emphasis role="opc">vco</emphasis> 10000, 220, 2, 0.83
-  ajitter <emphasis role="opc">vco</emphasis> 10000, 220<emphasis role="op">+</emphasis>kj, 2, 0.83
+ksp  <emphasis role="opc">rspline</emphasis> krangeMin, krangeMax, kcpsmin, kcpsmax
+aout <emphasis role="opc">pluck</emphasis> 1, 200<emphasis role="op">+</emphasis>ksp, 1000, 0, 1
+aout <emphasis role="opc">dcblock</emphasis> aout	<emphasis role="comment">;remove DC</emphasis>
+     <emphasis role="opc">outs</emphasis> aout, aout
 
-  <emphasis role="opc">outs</emphasis> aplain, ajitter
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for 3 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 3
-<emphasis role="comment">; Play Instrument #2 for 3 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 2 3 5
+<emphasis role="stamnt">i</emphasis> 1 0  10  2  5	<emphasis role="comment">;a bit jitter</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 8  10 10 20	<emphasis role="comment">;some more</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 16 10 20 50	<emphasis role="comment">;lots more</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/rtclock.csd.xml b/examples-xml/rtclock.csd.xml
index 55ec0de..d6f869d 100644
--- a/examples-xml/rtclock.csd.xml
+++ b/examples-xml/rtclock.csd.xml
@@ -2,36 +2,54 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-n     <emphasis role="comment">;;;no sound</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o rtclock.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
+<emphasis role="comment">;after an example by Iain McCurdy</emphasis>
+
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 1
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
-
-<emphasis role="comment">; Instrument #1</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Get the system time.</emphasis>
-  k1 <emphasis role="opc">rtclock</emphasis>
-  <emphasis role="comment">; Print it once per second.</emphasis>
-  <emphasis role="opc">printk</emphasis> 1, k1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="opc">FLcolor</emphasis>	200, 200, 200, 0, 0, 0
+<emphasis role="comment">;	LABEL     | WIDTH | HEIGHT | X | Y</emphasis>
+<emphasis role="opc">FLpanel</emphasis>	"rtclock",   500,    130,    0,  0
+<emphasis role="comment">;                                  ON,OFF,TYPE,WIDTH, HEIGHT, X, Y, OPCODE, INS,START,IDUR</emphasis>
+gkOnOff,ihOnOff	<emphasis role="opc">FLbutton</emphasis> "On<emphasis role="op">/</emphasis>Off", 1,  0,  22,  150,   25,    5, 5,    0,   1,   0,   3600
+gkExit,ihExit	<emphasis role="opc">FLbutton</emphasis> "exitnow",1,  0,  21,  150,   25,  345, 5,    0,  999,  0,   0.001
+<emphasis role="opc">FLsetColor2</emphasis> 255, 0, 50, ihOnOff	<emphasis role="comment">;reddish color</emphasis>
+
+<emphasis role="comment">;VALUE DISPLAY BOXES	 WIDTH,HEIGHT,X, Y</emphasis>
+gidclock <emphasis role="opc">FLvalue</emphasis> "clock", 100, 25, 200, 60
+<emphasis role="opc">FLsetVal_i</emphasis> 1, ihOnOff	
+<emphasis role="opc">FLpanel_end</emphasis>
+<emphasis role="opc">FLrun</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1	
+
+<emphasis role="octrl">if</emphasis> gkOnOff <emphasis role="op">!=</emphasis>0 <emphasis role="octrl">kgoto</emphasis> <emphasis role="olabel">CONTINUE</emphasis> <emphasis role="comment">;sense if FLTK on/off switch is not off (in which case skip the next line)  </emphasis>
+<emphasis role="opc">turnoff</emphasis>			      <emphasis role="comment">;turn this instr. off now</emphasis>
+<emphasis role="olabel">CONTINUE</emphasis><emphasis role="op">:</emphasis>
+ktime <emphasis role="opc">rtclock</emphasis>                 <emphasis role="comment">;clock continues to run even </emphasis>
+<emphasis role="opc">FLprintk2</emphasis> ktime, gidclock     <emphasis role="comment">;after the on/off button was used to stop</emphasis>
+
 <emphasis role="oblock">endin</emphasis>
 
+<emphasis role="oblock">instr</emphasis> 999
+
+<emphasis role="opc">exitnow</emphasis>			      <emphasis role="comment">;exit Csound as fast as possible</emphasis>
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for two seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">f</emphasis> 0 60	<emphasis role="comment">;runs 60 seconds</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/s.csd.xml b/examples-xml/s.csd.xml
new file mode 100644
index 0000000..a270f03
--- /dev/null
+++ b/examples-xml/s.csd.xml
@@ -0,0 +1,42 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o s.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+aenv <emphasis role="opc">expseg</emphasis> .01, p3<emphasis role="op">*</emphasis>0.25, 1, p3<emphasis role="op">*</emphasis>0.75, 0.01
+asig <emphasis role="opc">poscil3</emphasis> .8<emphasis role="op">*</emphasis>aenv, p4, 1
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1<emphasis role="comment">;sine wave</emphasis>
+
+<emphasis role="stamnt">s</emphasis>		<emphasis role="comment">;first section</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 2 110
+<emphasis role="stamnt">i</emphasis> 1 3 2 220
+<emphasis role="stamnt">i</emphasis> 1 6 2 440
+<emphasis role="stamnt">i</emphasis> 1 9 2 880
+
+<emphasis role="stamnt">s</emphasis>		<emphasis role="comment">;second section</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 2 880
+<emphasis role="stamnt">i</emphasis> 1 3 2 440
+<emphasis role="stamnt">i</emphasis> 1 6 2 220
+<emphasis role="stamnt">i</emphasis> 1 9 2 110
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/samphold.csd.xml b/examples-xml/samphold.csd.xml
new file mode 100644
index 0000000..02eebbb
--- /dev/null
+++ b/examples-xml/samphold.csd.xml
@@ -0,0 +1,35 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o samphold.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kx	<emphasis role="opc">line</emphasis> <emphasis role="op">-</emphasis>1, p3, 1   	<emphasis role="comment">; between -1 and +1 </emphasis>
+ktrig	<emphasis role="opc">metro</emphasis> 1	 		<emphasis role="comment">; triggers 1 time per second </emphasis>
+kval	<emphasis role="opc">samphold</emphasis> kx, ktrig	<emphasis role="comment">; change value whenever ktrig = 1 </emphasis>
+        <emphasis role="opc">printk2</emphasis> kval		<emphasis role="comment">; will print every time kval changes </emphasis>
+asig	<emphasis role="opc">diskin2</emphasis>	"flute.aiff", 1<emphasis role="op">+</emphasis>kval, 0, 1
+	<emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis> 
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+ 
+
+<emphasis role="stamnt">i</emphasis> 1 0 11 
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/sandpaper.csd.xml b/examples-xml/sandpaper.csd.xml
index f62ab09..468a099 100644
--- a/examples-xml/sandpaper.csd.xml
+++ b/examples-xml/sandpaper.csd.xml
@@ -2,37 +2,33 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o sandpaper.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">;orchestra ---------------</emphasis>
-
-  <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis>           44100
-  <emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis>            4410
-  <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis>              10
-  <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis>               1
-
-<emphasis role="oblock">instr</emphasis> 01                  <emphasis role="comment">;an example of sandpaper blocks</emphasis>
-  a1      <emphasis role="opc">line</emphasis> 2, p3, 2                             <emphasis role="comment">;preset amplitude increase</emphasis>
-  a2      <emphasis role="opc">sandpaper</emphasis> p4, 0.01            <emphasis role="comment">;sandpaper needs a little amp help at these settings</emphasis>
-  a3      <emphasis role="opc">product</emphasis> a1, a2                               <emphasis role="comment">;increase amplitude</emphasis>
-          <emphasis role="opc">out</emphasis> a3
-          <emphasis role="oblock">endin</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
+<emphasis role="oblock">instr</emphasis> 1
 
+idmp <emphasis role="op">=</emphasis> p4
+a1   <emphasis role="opc">line</emphasis> 2, p3, 2			<emphasis role="comment">;preset amplitude increase</emphasis>
+a2   <emphasis role="opc">sandpaper</emphasis> 1, 0.01, 128, idmp	<emphasis role="comment">;sandpaper needs a little amp help at these settings</emphasis>
+asig <emphasis role="opc">product</emphasis> a1, a2			<emphasis role="comment">;increase amplitude</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
+          
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 1 0.5
+<emphasis role="stamnt">i</emphasis>1 + 1 0.95
 
-<emphasis role="comment">;score -------------------</emphasis>
-
-   <emphasis role="stamnt">i</emphasis>1 0 1 26000
-   <emphasis role="stamnt">e</emphasis>
-
-
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/scalearray.csd.xml b/examples-xml/scalearray.csd.xml
new file mode 100644
index 0000000..4252b2d
--- /dev/null
+++ b/examples-xml/scalearray.csd.xml
@@ -0,0 +1,40 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-n 
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="comment">;example by joachim heintz</emphasis>
+
+           <emphasis role="ohdr">seed</emphasis>       0
+
+<emphasis role="oblock">instr</emphasis> 1
+<emphasis role="comment">;create an array with 10 elements</emphasis>
+kArr[]     <emphasis role="opc">init</emphasis>       10
+<emphasis role="comment">;fill in random numbers and print them out</emphasis>
+           <emphasis role="opc">printks</emphasis>    "kArr <emphasis role="opc">in</emphasis> maximum range 0..100<emphasis role="op">:</emphasis>\n", 0
+kIndx      <emphasis role="op">=</emphasis>          0
+  until kIndx <emphasis role="op">==</emphasis> 10 do
+kNum       <emphasis role="opc">random</emphasis>     0, 100
+kArr[kIndx] <emphasis role="op">=</emphasis>         kNum
+           <emphasis role="opc">printf</emphasis>     "kArr[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>10f\n", kIndx<emphasis role="op">+</emphasis>1, kIndx, kNum
+kIndx      <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>         1
+  od
+<emphasis role="comment">;scale numbers 0...1 and print them out again</emphasis>
+           <emphasis role="opc">scalearray</emphasis> kArr, 0, 1
+kIndx      <emphasis role="op">=</emphasis>          0
+           <emphasis role="opc">printks</emphasis>    "kArr <emphasis role="opc">in</emphasis> range 0..1\n", 0
+  until kIndx <emphasis role="op">==</emphasis> 10 do
+           <emphasis role="opc">printf</emphasis>     "kArr[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>10f\n", kIndx<emphasis role="op">+</emphasis>1, kIndx, kArr[kIndx]
+kIndx      <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>         1
+  od
+           <emphasis role="opc">turnoff</emphasis>
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 0.1
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/scans-2.csd.xml b/examples-xml/scans-2.csd.xml
new file mode 100644
index 0000000..c31130b
--- /dev/null
+++ b/examples-xml/scans-2.csd.xml
@@ -0,0 +1,64 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o scans-2.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="ohdr">strset</emphasis> 1, "mary.wav"
+<emphasis role="ohdr">strset</emphasis> 2, "fox.wav"
+
+<emphasis role="oblock">instr</emphasis> 	2	<emphasis role="comment">;show 2 different trajectories, with samples as excitation signal</emphasis>
+
+ismp <emphasis role="op">=</emphasis> p6		
+iamp <emphasis role="op">=</emphasis> p7
+itrj <emphasis role="op">=</emphasis> p8
+aout <emphasis role="opc">soundin</emphasis> p6				<emphasis role="comment">;choose wave file</emphasis>
+     <emphasis role="opc">scanu</emphasis> ismp, .01, 6, 2, 33, 44, 5, 2, .01, .05, <emphasis role="op">-</emphasis>.05, .1, .5, 0, 0, aout, 1, 0
+asig <emphasis role="opc">scans</emphasis> iamp, <emphasis role="opc">cpspch</emphasis>(p5), itrj , 0
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>	
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 128 7 0 64 1 64 0			<emphasis role="comment">; Initial condition</emphasis>
+<emphasis role="stamnt">f</emphasis>2 0 128 -7 1 128 0.3			<emphasis role="comment">; Masses</emphasis>
+<emphasis role="stamnt">f</emphasis>33 0 16384 -23 "cylinder-128,8"	<emphasis role="comment">; Spring matrices</emphasis>
+<emphasis role="stamnt">f</emphasis>44 0 128 -7 2 4 0 124 2		<emphasis role="comment">; Centering force</emphasis>
+<emphasis role="stamnt">f</emphasis>5 0 128 -7 1 128 0			<emphasis role="comment">; Damping</emphasis>
+<emphasis role="stamnt">f</emphasis>6 0 128 -7 -.0 128 0			<emphasis role="comment">; Initial velocity</emphasis>
+<emphasis role="stamnt">f</emphasis>7 0 128 -5 .001 128 128		<emphasis role="comment">; Trajectories</emphasis>
+<emphasis role="stamnt">f</emphasis>77 0 128 -23 "spiral-8,16,128,2,1over2"
+
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis>2 0  5  63 6.00 1 .9 7			<emphasis role="comment">;"mary.wav" &</emphasis>
+<emphasis role="stamnt">i</emphasis>2 6  5  60 7.00			<emphasis role="comment">;trajectory table 7</emphasis>
+<emphasis role="stamnt">i</emphasis>2 10 5  60 8.00
+
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis>2 0  5  63 6.00 2 .08 7		<emphasis role="comment">;"fox.wav", at much lower volume</emphasis>
+<emphasis role="stamnt">i</emphasis>2 6  5  60 7.00
+<emphasis role="stamnt">i</emphasis>2 10 5  60 8.00
+
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis>2 0  5  63 6.00 1 .9 77		<emphasis role="comment">;"mary.wav" &</emphasis>
+<emphasis role="stamnt">i</emphasis>2 6  5  60 7.00			<emphasis role="comment">;trajectory table 77</emphasis>
+<emphasis role="stamnt">i</emphasis>2 10 5  60 8.00
+
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis>2 0  5  63 6.00 2 .08 77		<emphasis role="comment">;"fox.wav", at much lower volume</emphasis>
+<emphasis role="stamnt">i</emphasis>2 6  5  60 7.00
+<emphasis role="stamnt">i</emphasis>2 10 5  60 8.00
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/scantable.csd.xml b/examples-xml/scantable.csd.xml
index 36fdcff..105d119 100644
--- a/examples-xml/scantable.csd.xml
+++ b/examples-xml/scantable.csd.xml
@@ -2,55 +2,41 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac -+rtmidi=virtual -M0 <emphasis role="comment">;;;realtime audio out and midi in</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o scantable.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
-
-<emphasis role="comment">; Table #1 - initial position</emphasis>
-git1 <emphasis role="ohdr">ftgen</emphasis> 1, 0, 128, 7, 0, 64, 1, 64, 0
-<emphasis role="comment">; Table #2 - masses</emphasis>
-git2 <emphasis role="ohdr">ftgen</emphasis> 2, 0, 128, <emphasis role="op">-</emphasis>7, 1, 128, 1
-<emphasis role="comment">; Table #3 - stiffness</emphasis>
-git3 <emphasis role="ohdr">ftgen</emphasis> 3, 0, 128, <emphasis role="op">-</emphasis>7, 0, 64, 100, 64, 0
-<emphasis role="comment">; Table #4 - damping</emphasis>
-git4 <emphasis role="ohdr">ftgen</emphasis> 4, 0, 128, <emphasis role="op">-</emphasis>7, 1, 128, 1
-<emphasis role="comment">; Table #5 - initial velocity</emphasis>
-git5 <emphasis role="ohdr">ftgen</emphasis> 5, 0, 128, <emphasis role="op">-</emphasis>7, 0, 128, 0
-
-<emphasis role="comment">; Instrument #1.</emphasis>
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+gi1 <emphasis role="ohdr">ftgen</emphasis> 1, 0, 128, 7, 0, 64, 1, 64, 0		<emphasis role="comment">; initial position</emphasis>
+gi2 <emphasis role="ohdr">ftgen</emphasis> 2, 0, 128, <emphasis role="op">-</emphasis>7, 1, 128, 1		<emphasis role="comment">; masses</emphasis>
+gi3 <emphasis role="ohdr">ftgen</emphasis> 3, 0, 128, <emphasis role="op">-</emphasis>7, 0, 64, 100, 64, 0	<emphasis role="comment">; stiffness</emphasis>
+gi4 <emphasis role="ohdr">ftgen</emphasis> 4, 0, 128, <emphasis role="op">-</emphasis>7, 1, 128, 1		<emphasis role="comment">; damping</emphasis>
+gi5 <emphasis role="ohdr">ftgen</emphasis> 5, 0, 128, <emphasis role="op">-</emphasis>7, 0, 128, 0.5		<emphasis role="comment">; initial velocity</emphasis>
+
+
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="opc">init</emphasis> 20000
-  kpch <emphasis role="opc">init</emphasis> 220
-  ipos <emphasis role="op">=</emphasis> 1
-  imass <emphasis role="op">=</emphasis> 2
-  istiff <emphasis role="op">=</emphasis> 3
-  idamp <emphasis role="op">=</emphasis> 4
-  ivel <emphasis role="op">=</emphasis> 5
-
-  a1 <emphasis role="opc">scantable</emphasis> kamp, kpch, ipos, imass, istiff, idamp, ivel
-  a2 <emphasis role="opc">dcblock</emphasis> a1
-
-  <emphasis role="opc">out</emphasis> a2
-<emphasis role="oblock">endin</emphasis>
 
+iamp <emphasis role="opc">ampmidi</emphasis> .5
+ipch <emphasis role="opc">cpsmidi</emphasis> 
+kenv <emphasis role="opc">madsr</emphasis> .1, .1, .8, .3
 
+asig <emphasis role="opc">scantable</emphasis> iamp, ipch, 1, 2, 3, 4, 5
+asig <emphasis role="opc">dcblock</emphasis> asig
+     <emphasis role="opc">outs</emphasis> asig<emphasis role="op">*</emphasis>kenv, asig<emphasis role="op">*</emphasis>kenv
+
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for ten seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 10
+<emphasis role="stamnt">f</emphasis>0 60	<emphasis role="comment">; play for 60 seconds</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/schedwhen.csd.xml b/examples-xml/schedwhen.csd.xml
index 153f0d6..439f458 100644
--- a/examples-xml/schedwhen.csd.xml
+++ b/examples-xml/schedwhen.csd.xml
@@ -2,57 +2,39 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o schedwhen.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 1
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1 - oscillator with a high note.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Use the fourth p-field as the trigger.</emphasis>
-  ktrigger <emphasis role="op">=</emphasis> p4
-  kinsnum <emphasis role="op">=</emphasis> 2
-  kwhen <emphasis role="op">=</emphasis> 0
-  kdur <emphasis role="op">=</emphasis> p3
-
-  <emphasis role="comment">; Play Instrument #2 at the same time, if the trigger is set.</emphasis>
-  <emphasis role="opc">schedwhen</emphasis> ktrigger, kinsnum, kwhen, kdur
-
-  <emphasis role="comment">; Play a high note.</emphasis>
-  a1 <emphasis role="opc">oscils</emphasis> 10000, 880, 1
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
 
-<emphasis role="comment">; Instrument #2 - oscillator with a low note.</emphasis>
-<emphasis role="oblock">instr</emphasis> 2
-  <emphasis role="comment">; Play a low note.</emphasis>
-  a1 <emphasis role="opc">oscils</emphasis> 10000, 220, 1
-  <emphasis role="opc">out</emphasis> a1
+kmtr <emphasis role="opc">metro</emphasis> 100				<emphasis role="comment">;produce 100 triggers per second</emphasis>
+     <emphasis role="opc">schedwhen</emphasis> kmtr, 2, 1, .3		<emphasis role="comment">;but schedwhen plays instr. 2 only once		</emphasis>
+
 <emphasis role="oblock">endin</emphasis>
 
+<emphasis role="oblock">instr</emphasis> 2                                            
 
+aenv <emphasis role="opc">linseg</emphasis> 0, p3<emphasis role="op">*</emphasis>.1, 1, p3<emphasis role="op">*</emphasis>.3, 1, p3<emphasis role="op">*</emphasis>.6, 0 <emphasis role="comment">;envelope</emphasis>
+a1   <emphasis role="opc">poscil</emphasis> .3<emphasis role="op">*</emphasis>aenv, 1000, 1
+     <emphasis role="opc">outs</emphasis> a1, a1
+
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1	<emphasis role="comment">;sine </emphasis>
 
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-
-<emphasis role="comment">; p4 = trigger for Instrument #2 (when p4 > 0).</emphasis>
-<emphasis role="comment">; Play Instrument #1 for half a second, trigger Instrument #2.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 0.5 1
-<emphasis role="comment">; Play Instrument #1 for half a second, no trigger.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 1 0.5 0
+<emphasis role="stamnt">i</emphasis> 1 0 3
+<emphasis role="stamnt">i</emphasis> 1 3 5
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/scoreline.csd.xml b/examples-xml/scoreline.csd.xml
new file mode 100644
index 0000000..324cbb1
--- /dev/null
+++ b/examples-xml/scoreline.csd.xml
@@ -0,0 +1,41 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o scoreline.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ktrig <emphasis role="opc">metro</emphasis> 3				<emphasis role="comment">;trigger 3 times a second</emphasis>
+<emphasis role="opc">scoreline</emphasis> {{				<emphasis role="comment">;so it sounds like an echo</emphasis>
+            <emphasis role="opc">i</emphasis> 2  0  3  "flute.aiff"
+            <emphasis role="opc">i</emphasis> 2  1  3  "beats.wav"
+            }}, ktrig
+ktrig <emphasis role="op">=</emphasis> 0
+        
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+
+asig <emphasis role="opc">soundin</emphasis> p4
+     <emphasis role="opc">outs</emphasis> asig<emphasis role="op">*</emphasis>.3, asig<emphasis role="op">*</emphasis>.3
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis>1 0 2	<emphasis role="comment">;play for 2 seconds, so the samples are played 6 times </emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/scoreline_i.csd.xml b/examples-xml/scoreline_i.csd.xml
new file mode 100644
index 0000000..e7e18c4
--- /dev/null
+++ b/examples-xml/scoreline_i.csd.xml
@@ -0,0 +1,39 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac --old-parser   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o scoreline.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+<emphasis role="opc">scoreline_i</emphasis> {{
+            <emphasis role="opc">i</emphasis> 2  0  3  "flute.aiff"
+            <emphasis role="opc">i</emphasis> 2  1  3  "beats.wav"
+            }}
+        
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+
+asig <emphasis role="opc">soundin</emphasis> p4
+     <emphasis role="opc">outs</emphasis> asig<emphasis role="op">*</emphasis>.8, asig<emphasis role="op">*</emphasis>.8
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis>1 0 1
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/seed.csd.xml b/examples-xml/seed.csd.xml
index 14aa1b0..14d4d67 100644
--- a/examples-xml/seed.csd.xml
+++ b/examples-xml/seed.csd.xml
@@ -2,40 +2,44 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o seed.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;same values every time</emphasis>
 
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Generate a random number between -1 and 1.</emphasis>
-  <emphasis role="comment">; krange = 1</emphasis>
-<emphasis role="ohdr">seed</emphasis> 10				<emphasis role="comment">; same seed values produces same result</emphasis>
-  i1 <emphasis role="opc">trirand</emphasis> 1
+<emphasis role="ohdr">seed</emphasis> 10
+krnd <emphasis role="opc">randomh</emphasis> 100, 200, 5
+     <emphasis role="opc">printk</emphasis> .5, krnd			<emphasis role="comment">; look </emphasis>
+aout <emphasis role="opc">oscili</emphasis> 0.8, 440<emphasis role="op">+</emphasis>krnd, 1		<emphasis role="comment">; & listen</emphasis>
+     <emphasis role="opc">outs</emphasis> aout, aout
 
-  <emphasis role="opc">print</emphasis> i1
 <emphasis role="oblock">endin</emphasis>
 
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">;different values every time - value is derived from system clock</emphasis>
 
+<emphasis role="ohdr">seed</emphasis> 0					<emphasis role="comment">; seed from system clock</emphasis>
+krnd <emphasis role="opc">randomh</emphasis> 100, 200, 5		
+     <emphasis role="opc">printk</emphasis> .5, krnd			<emphasis role="comment">; look </emphasis>
+aout <emphasis role="opc">oscili</emphasis> 0.8, 440<emphasis role="op">+</emphasis>krnd, 1		<emphasis role="comment">; & listen</emphasis>
+     <emphasis role="opc">outs</emphasis> aout, aout
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1	<emphasis role="comment">;sine wave.</emphasis>
 
 <emphasis role="stamnt">i</emphasis> 1 0 1
-<emphasis role="stamnt">i</emphasis> 1 + 1
-<emphasis role="stamnt">i</emphasis> 1 + 1
+<emphasis role="stamnt">i</emphasis> 2 2 1
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/sekere.csd.xml b/examples-xml/sekere.csd.xml
index 4228888..e296122 100644
--- a/examples-xml/sekere.csd.xml
+++ b/examples-xml/sekere.csd.xml
@@ -2,35 +2,31 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o sekere.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">;orchestra ---------------</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-  <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis>           44100
-  <emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis>            4410
-  <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis>              10
-  <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis>               1
-
-<emphasis role="oblock">instr</emphasis> 01                  <emphasis role="comment">;an example of a sekere</emphasis>
-a1      <emphasis role="opc">sekere</emphasis> p4, 0.01
-          <emphasis role="opc">out</emphasis> a1
-          <emphasis role="oblock">endin</emphasis>
+<emphasis role="oblock">instr</emphasis> 1
 
+idamp <emphasis role="op">=</emphasis> p4			<emphasis role="comment">;vary damping amount</emphasis>
+asig  <emphasis role="opc">sekere</emphasis> 1, 0.01, 64, idamp
+      <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">;score -------------------</emphasis>
-
-   <emphasis role="stamnt">i</emphasis>1 0 1 26000
-   <emphasis role="stamnt">e</emphasis>
-
-
+<emphasis role="stamnt">i</emphasis>1 0 1 .1
+<emphasis role="stamnt">i</emphasis>1 + 1 .9
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/semitone.csd.xml b/examples-xml/semitone.csd.xml
index ff42638..a3dcc88 100644
--- a/examples-xml/semitone.csd.xml
+++ b/examples-xml/semitone.csd.xml
@@ -2,46 +2,38 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o semitone.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; The root note is A above middle-C (440 Hz)</emphasis>
-  iroot <emphasis role="op">=</emphasis> 440
 
-  <emphasis role="comment">; Raise the root note by three semitones to C.</emphasis>
-  isemitone <emphasis role="op">=</emphasis> 3
+iroot <emphasis role="op">=</emphasis> 440		<emphasis role="comment">; root note is A above middle-C (440 Hz)</emphasis>
+ksem  <emphasis role="opc">lfo</emphasis> 12, .5, 5	<emphasis role="comment">; generate sawtooth, go from 5 octaves higher to root</emphasis>
+ksm <emphasis role="op">=</emphasis> <emphasis role="opc">int</emphasis>(ksem)		<emphasis role="comment">; produce only whole numbers</emphasis>
+kfactor <emphasis role="op">=</emphasis> <emphasis role="opc">semitone</emphasis>(ksm)	<emphasis role="comment">; for semitones</emphasis>
+knew <emphasis role="op">=</emphasis> iroot <emphasis role="op">*</emphasis> kfactor
+<emphasis role="opc">printk2</emphasis> knew
+<emphasis role="opc">printk2</emphasis> kfactor
+asig <emphasis role="opc">pluck</emphasis> 1, knew, 1000, 0, 1 
+asig <emphasis role="opc">dcblock</emphasis> asig	<emphasis role="comment">;remove DC</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
 
-  <emphasis role="comment">; Calculate the new note.</emphasis>
-  ifactor <emphasis role="op">=</emphasis> <emphasis role="opc">semitone</emphasis>(isemitone)
-  inew <emphasis role="op">=</emphasis> iroot <emphasis role="op">*</emphasis> ifactor
-
-  <emphasis role="comment">; Print out all of the values.</emphasis>
-  <emphasis role="opc">print</emphasis> iroot
-  <emphasis role="opc">print</emphasis> ifactor
-  <emphasis role="opc">print</emphasis> inew
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="stamnt">i</emphasis> 1 0 5
 <emphasis role="stamnt">e</emphasis>
 
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/seqtime2.csd.xml b/examples-xml/seqtime2.csd.xml
new file mode 100644
index 0000000..bda2442
--- /dev/null
+++ b/examples-xml/seqtime2.csd.xml
@@ -0,0 +1,54 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o seqtime2.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+gitabMap2 <emphasis role="ohdr">ftgen</emphasis>	57,0,512,<emphasis role="op">-</emphasis>2, 1,1<emphasis role="op">/</emphasis>4,1<emphasis role="op">/</emphasis>4,1<emphasis role="op">/</emphasis>8,1<emphasis role="op">/</emphasis>8,1<emphasis role="op">/</emphasis>8,1<emphasis role="op">/</emphasis>8,1<emphasis role="op">/</emphasis>4,1<emphasis role="op">/</emphasis>4,.5,1<emphasis role="op">/</emphasis>4,1<emphasis role="op">/</emphasis>4,1<emphasis role="op">/</emphasis>16,1<emphasis role="op">/</emphasis>16,1<emphasis role="op">/</emphasis>16,1<emphasis role="op">/</emphasis>16,1<emphasis role="op">/</emphasis>16,1<emphasis role="op">/</emphasis>16,1<emphasis role="op">/</emphasis>16,1<emphasis role="op">/</emphasis>16
+gisine	  <emphasis role="ohdr">ftgen</emphasis>	1,0,512,10, 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ktrigin	<emphasis role="opc">metro</emphasis>	.333333333333
+ktrig2	<emphasis role="opc">metro</emphasis>	1
+	<emphasis role="opc">schedkwhen</emphasis> ktrig2, 0,0, 2, 0, .1			<emphasis role="comment">; just to set the metronome!</emphasis>
+kspeed	<emphasis role="opc">init</emphasis>	1
+<emphasis role="comment">;          	 ktime_unit, kstart, kloop, initndx, kfn_times </emphasis>
+ktrig	<emphasis role="opc">seqtime2</emphasis> ktrigin, kspeed, 0, 20, 2, gitabMap2
+<emphasis role="comment">;ktrig	seqtime	 kspeed, 0, 20, 0, gitabMap2			; try with seqtime too...		</emphasis>
+	<emphasis role="opc">schedkwhen</emphasis> ktrig, 0, 0, 3, 0, ktrig			<emphasis role="comment">; the duration is got from seqtime2 output!</emphasis>
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+
+a1	<emphasis role="opc">line</emphasis>	1,p3,0
+aout	<emphasis role="opc">oscili</emphasis>	0.7<emphasis role="op">*</emphasis>a1,500,gisine
+	<emphasis role="opc">outs1</emphasis>	aout
+<emphasis role="oblock">endin</emphasis>	
+
+
+<emphasis role="oblock">instr</emphasis> 3
+
+a1	<emphasis role="opc">line</emphasis> 	1,p3,0
+aout	<emphasis role="opc">oscili</emphasis>	0.7<emphasis role="op">*</emphasis>a1,1000,gisine
+	<emphasis role="opc">outs2</emphasis>	aout
+<emphasis role="oblock">endin</emphasis>	
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 20
+
+<emphasis role="comment">;f0 3600</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/serialBegin.csd.xml b/examples-xml/serialBegin.csd.xml
new file mode 100644
index 0000000..bd1883f
--- /dev/null
+++ b/examples-xml/serialBegin.csd.xml
@@ -0,0 +1,42 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-n  <emphasis role="comment">;;;no output</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o serialBegin.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis>  <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 500 <emphasis role="comment">; the default krate can be too fast for the arduino to handle</emphasis>
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+iPort <emphasis role="opc">serialBegin</emphasis> "<emphasis role="op">/</emphasis>dev<emphasis role="op">/</emphasis>cu.usbmodemfa131", 9600			<emphasis role="comment">;connect to the arduino with baudrate = 9600</emphasis>
+
+kGain <emphasis role="opc">init</emphasis> 16							<emphasis role="comment">;read our knob value</emphasis>
+kVal <emphasis role="opc">serialRead</emphasis> iPort
+<emphasis role="octrl">if</emphasis> (kVal <emphasis role="op">!=</emphasis> <emphasis role="op">-</emphasis>1) then
+    kGain <emphasis role="op">=</emphasis> kVal<emphasis role="op">/</emphasis>128
+<emphasis role="octrl">endif</emphasis>
+
+aSig <emphasis role="opc">in</emphasis>								<emphasis role="comment">;get our audio input and get its rms</emphasis>
+kRms <emphasis role="opc">rms</emphasis> aSig<emphasis role="op">*</emphasis>kGain
+
+kRms <emphasis role="op">=</emphasis> kRms<emphasis role="op">*</emphasis>kRms<emphasis role="op">*</emphasis>255						<emphasis role="comment">;scale the rms to a good value for the LED and send it out</emphasis>
+<emphasis role="opc">serialWrite</emphasis> iPort, (kRms <emphasis role="op"><</emphasis> 255 <emphasis role="op">?</emphasis> kRms <emphasis role="op">:</emphasis> 255)			<emphasis role="comment">;must be in range: 0-255</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 1024 10 1 1 1 1 1 1
+
+<emphasis role="stamnt">i</emphasis> 1 0 200
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/serialRead.csd.xml b/examples-xml/serialRead.csd.xml
new file mode 100644
index 0000000..ecb030f
--- /dev/null
+++ b/examples-xml/serialRead.csd.xml
@@ -0,0 +1,42 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-n  <emphasis role="comment">;;;no output</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o serialRead.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis>  <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 500 <emphasis role="comment">; the default krate can be too fast for the arduino to handle</emphasis>
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+iPort <emphasis role="opc">serialBegin</emphasis> "<emphasis role="op">/</emphasis>dev<emphasis role="op">/</emphasis>cu.usbmodemfa131", 9600			<emphasis role="comment">;connect to the arduino with baudrate = 9600</emphasis>
+
+kGain <emphasis role="opc">init</emphasis> 16							<emphasis role="comment">;read our knob value</emphasis>
+kVal <emphasis role="opc">serialRead</emphasis> iPort
+<emphasis role="octrl">if</emphasis> (kVal <emphasis role="op">!=</emphasis> <emphasis role="op">-</emphasis>1) then
+    kGain <emphasis role="op">=</emphasis> kVal<emphasis role="op">/</emphasis>128
+<emphasis role="octrl">endif</emphasis>
+
+aSig <emphasis role="opc">in</emphasis>								<emphasis role="comment">;get our audio input and get its rms</emphasis>
+kRms <emphasis role="opc">rms</emphasis> aSig<emphasis role="op">*</emphasis>kGain
+
+kRms <emphasis role="op">=</emphasis> kRms<emphasis role="op">*</emphasis>kRms<emphasis role="op">*</emphasis>255						<emphasis role="comment">;scale the rms to a good value for the LED and send it out</emphasis>
+<emphasis role="opc">serialWrite</emphasis> iPort, (kRms <emphasis role="op"><</emphasis> 255 <emphasis role="op">?</emphasis> kRms <emphasis role="op">:</emphasis> 255)			<emphasis role="comment">;must be in range: 0-255</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 1024 10 1 1 1 1 1 1
+
+<emphasis role="stamnt">i</emphasis> 1 0 200
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/serialWrite.csd.xml b/examples-xml/serialWrite.csd.xml
new file mode 100644
index 0000000..3daa4e9
--- /dev/null
+++ b/examples-xml/serialWrite.csd.xml
@@ -0,0 +1,42 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-n  <emphasis role="comment">;;;no output</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o serialWrite.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis>  <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 500 <emphasis role="comment">; the default krate can be too fast for the arduino to handle</emphasis>
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+iPort <emphasis role="opc">serialBegin</emphasis> "<emphasis role="op">/</emphasis>dev<emphasis role="op">/</emphasis>cu.usbmodemfa131", 9600			<emphasis role="comment">;connect to the arduino with baudrate = 9600</emphasis>
+
+kGain <emphasis role="opc">init</emphasis> 16							<emphasis role="comment">;read our knob value</emphasis>
+kVal <emphasis role="opc">serialRead</emphasis> iPort
+<emphasis role="octrl">if</emphasis> (kVal <emphasis role="op">!=</emphasis> <emphasis role="op">-</emphasis>1) then
+    kGain <emphasis role="op">=</emphasis> kVal<emphasis role="op">/</emphasis>128
+<emphasis role="octrl">endif</emphasis>
+
+aSig <emphasis role="opc">in</emphasis>								<emphasis role="comment">;get our audio input and get its rms</emphasis>
+kRms <emphasis role="opc">rms</emphasis> aSig<emphasis role="op">*</emphasis>kGain
+
+kRms <emphasis role="op">=</emphasis> kRms<emphasis role="op">*</emphasis>kRms<emphasis role="op">*</emphasis>255						<emphasis role="comment">;scale the rms to a good value for the LED and send it out</emphasis>
+<emphasis role="opc">serialWrite</emphasis> iPort, (kRms <emphasis role="op"><</emphasis> 255 <emphasis role="op">?</emphasis> kRms <emphasis role="op">:</emphasis> 255)			<emphasis role="comment">;must be in range: 0-255</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 1024 10 1 1 1 1 1 1
+
+<emphasis role="stamnt">i</emphasis> 1 0 200
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/setctrl.csd.xml b/examples-xml/setctrl.csd.xml
index bec3afe..986291c 100644
--- a/examples-xml/setctrl.csd.xml
+++ b/examples-xml/setctrl.csd.xml
@@ -18,12 +18,12 @@
 <emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
   <emphasis role="comment">; Display the label "Volume" on Slider #1.</emphasis>
-  <emphasis role="opc">setctrl</emphasis> 1, "Volume", 4
+  setctrl 1, "Volume", 4
   <emphasis role="comment">; Set Slider #1's initial value to 20.</emphasis>
-  <emphasis role="opc">setctrl</emphasis> 1, 20, 1
+  setctrl 1, 20, 1
   
   <emphasis role="comment">; Capture and display the values for Slider #1.</emphasis>
-  k1 <emphasis role="opc">control</emphasis> 1
+  k1 control 1
   <emphasis role="opc">printk2</emphasis> k1
 
   <emphasis role="comment">; Play a simple oscillator.</emphasis>
diff --git a/examples-xml/setscorepos.csd.xml b/examples-xml/setscorepos.csd.xml
index 90fabb6..f9b270e 100644
--- a/examples-xml/setscorepos.csd.xml
+++ b/examples-xml/setscorepos.csd.xml
@@ -2,89 +2,39 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o setscorepos.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">;---------------------------------------------------------</emphasis>
-<emphasis role="comment">; TBVCF Test</emphasis>
-<emphasis role="comment">; Coded by Hans Mikelson December, 2000</emphasis>
-<emphasis role="comment">;---------------------------------------------------------</emphasis>
-  <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis>  44100   <emphasis role="comment">; Sample rate</emphasis>
-  <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis>  10   <emphasis role="comment">; Samples/Kontrol period</emphasis>
-  <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis>  2        <emphasis role="comment">; Normal stereo</emphasis>
-  <emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giSine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 8192, 10, 1
 
 <emphasis role="oblock">instr</emphasis> 1
-<emphasis role="comment">;setscorepos 0			; uncomment to hear from beginning</emphasis>
-<emphasis role="opc">setscorepos</emphasis> 8			<emphasis role="comment">; start at 8 seconds, comment this </emphasis>
-					<emphasis role="comment">; when uncommenting setscorepos 0</emphasis>
 
+asig <emphasis role="opc">poscil</emphasis> 0.5, p4, giSine		<emphasis role="comment">;play something</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
-          <emphasis role="oblock">instr</emphasis> 10
-
-  idur	<emphasis role="op">=</emphasis>	p3			<emphasis role="comment">; Duration</emphasis>
-  iamp	<emphasis role="op">=</emphasis>	p4			<emphasis role="comment">; Amplitude</emphasis>
-  ifqc	<emphasis role="op">=</emphasis>	<emphasis role="opc">cpspch</emphasis>(p5)		<emphasis role="comment">; Pitch to frequency</emphasis>
-  ipanl	<emphasis role="op">=</emphasis>	<emphasis role="opc">sqrt</emphasis>(p6)		<emphasis role="comment">; Pan left</emphasis>
-  ipanr	<emphasis role="op">=</emphasis>	<emphasis role="opc">sqrt</emphasis>(1<emphasis role="op">-</emphasis>p6)		<emphasis role="comment">; Pan right</emphasis>
-  iq	<emphasis role="op">=</emphasis>	p7
-  idist	<emphasis role="op">=</emphasis>	p8
-  iasym <emphasis role="op">=</emphasis>	p9
-
-kdclck		<emphasis role="opc">linseg</emphasis>	0, .002, 1, idur<emphasis role="op">-</emphasis>.004, 1, .002, 0	<emphasis role="comment">; Declick envelope</emphasis>
-kfco		<emphasis role="opc">expseg</emphasis>	10000, idur, 1000			<emphasis role="comment">; Frequency envelope</emphasis>
-ax		<emphasis role="opc">vco</emphasis>		1, ifqc, 2, 0.5			<emphasis role="comment">; Square wave</emphasis>
-ay		<emphasis role="opc">tbvcf</emphasis>		ax, kfco, iq, idist, iasym		<emphasis role="comment">; TB-VCF</emphasis>
-ay		<emphasis role="opc">buthp</emphasis>	ay<emphasis role="op">/</emphasis>1, 100				<emphasis role="comment">; Hi-pass</emphasis>
-
-		<emphasis role="opc">outs</emphasis>		ay<emphasis role="op">*</emphasis>iamp<emphasis role="op">*</emphasis>ipanl<emphasis role="op">*</emphasis>kdclck, ay<emphasis role="op">*</emphasis>iamp<emphasis role="op">*</emphasis>ipanr<emphasis role="op">*</emphasis>kdclck
-          <emphasis role="oblock">endin</emphasis>
+<emphasis role="oblock">instr</emphasis> 11
 
+<emphasis role="opc">setscorepos</emphasis> 8.5				
+<emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="stamnt">f</emphasis>1 0 65536 10 1
-<emphasis role="stamnt">i</emphasis>1 0 1
-<emphasis role="comment">; TeeBee Test</emphasis>
-<emphasis role="comment">;   Sta  Dur  Amp    Pitch Pan  Q    Dist1 Asym</emphasis>
-<emphasis role="stamnt">i</emphasis>10 0    0.2  0.5    7.00  .5   0.0  2.0   0.0
-<emphasis role="stamnt">i</emphasis>10 0.3  0.2  0.5    7.00  .5   0.8  2.0   0.0
-<emphasis role="stamnt">i</emphasis>10 0.6  0.2  0.5    7.00  .5   1.6  2.0   0.0
-<emphasis role="stamnt">i</emphasis>10 0.9  0.2  0.5    7.00  .5   2.4  2.0   0.0
-<emphasis role="stamnt">i</emphasis>10 1.2  0.2  0.5    7.00  .5   3.2  2.0   0.0
-<emphasis role="comment">;i10 1.5  0.2  0.5    7.00  .5   4.0  2.0   0.0</emphasis>
-<emphasis role="stamnt">i</emphasis>10 1.8  0.2  0.5    7.00  .5   0.0  2.0   0.25
-<emphasis role="stamnt">i</emphasis>10 2.1  0.2  0.5    7.00  .5   0.8  2.0   0.25
-<emphasis role="stamnt">i</emphasis>10 2.4  0.2  0.5    7.00  .5   1.6  2.0   0.25
-<emphasis role="stamnt">i</emphasis>10 2.7  0.2  0.5    7.00  .5   2.4  2.0   0.25
-<emphasis role="stamnt">i</emphasis>10 3.0  0.2  0.5    7.00  .5   3.2  2.0   0.25
-<emphasis role="stamnt">i</emphasis>10 3.3  0.2  0.5    7.00  .5   4.0  2.0   0.25
-<emphasis role="stamnt">i</emphasis>10 3.6  0.2  0.5    7.00  .5   0.0  2.0   0.5
-<emphasis role="stamnt">i</emphasis>10 3.9  0.2  0.5    7.00  .5   0.8  2.0   0.5
-<emphasis role="stamnt">i</emphasis>10 4.2  0.2  0.5    7.00  .5   1.6  2.0   0.5
-<emphasis role="stamnt">i</emphasis>10 4.5  0.2  0.5    7.00  .5   2.4  2.0   0.5
-<emphasis role="stamnt">i</emphasis>10 4.8  0.2  0.5    7.00  .5   3.2  2.0   0.5
-<emphasis role="stamnt">i</emphasis>10 5.1  0.2  0.5    7.00  .5   4.0  2.0   0.5
-<emphasis role="stamnt">i</emphasis>10 5.4  0.2  0.5    7.00  .5   0.0  2.0   0.75
-<emphasis role="stamnt">i</emphasis>10 5.7  0.2  0.5    7.00  .5   0.8  2.0   0.75
-<emphasis role="stamnt">i</emphasis>10 6.0  0.2  0.5    7.00  .5   1.6  2.0   0.75
-<emphasis role="stamnt">i</emphasis>10 6.3  0.2  0.5    7.00  .5   2.4  2.0   0.75
-<emphasis role="stamnt">i</emphasis>10 6.6  0.2  0.5    7.00  .5   3.2  2.0   0.75
-<emphasis role="stamnt">i</emphasis>10 6.9  0.2  0.5    7.00  .5   4.0  2.0   0.75
-<emphasis role="stamnt">i</emphasis>10 7.2  0.2  0.5    7.00  .5   0.0  2.0   1.0
-<emphasis role="stamnt">i</emphasis>10 7.5  0.2  0.5    7.00  .5   0.8  2.0   1.0
-<emphasis role="stamnt">i</emphasis>10 7.8  0.2  0.5    7.00  .5   1.6  2.0   1.0
-<emphasis role="stamnt">i</emphasis>10 8.1  0.2  0.5    7.00  .5   2.4  2.0   1.0
-<emphasis role="stamnt">i</emphasis>10 8.4  0.2  0.5    7.00  .5   3.2  2.0   1.0
-<emphasis role="stamnt">i</emphasis>10 8.7  0.2  0.5    7.00  .5   4.0  2.0   1.0
-<emphasis role="stamnt">e</emphasis>
-
+<emphasis role="stamnt">i</emphasis>1 0 2 220	<emphasis role="comment">;this one will be played</emphasis>
+<emphasis role="stamnt">i</emphasis>11 2.5 1	<emphasis role="comment">;start setscorepos now</emphasis>
+<emphasis role="stamnt">i</emphasis>1 3 2 330	<emphasis role="comment">;skip this note</emphasis>
+<emphasis role="stamnt">i</emphasis>1 6 2 440	<emphasis role="comment">;and this one</emphasis>
+<emphasis role="stamnt">i</emphasis>1 9 2 550	<emphasis role="comment">;play this one        </emphasis>
 
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
diff --git a/examples-xml/sfilist.csd.xml b/examples-xml/sfilist.csd.xml
index 66bcb5c..45cac39 100644
--- a/examples-xml/sfilist.csd.xml
+++ b/examples-xml/sfilist.csd.xml
@@ -2,69 +2,46 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d   -M0     <emphasis role="comment">;;;RT audio I/O, midi in</emphasis>
+-odac -+rtmidi=virtual -M0   <emphasis role="comment">;;;realtime audio out, virtual midi in</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o sfilist.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="ohdr">sr</emphasis>         <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 100
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="comment">; load two soundfonts</emphasis>
-isf	<emphasis role="opc">sfload</emphasis>	"07AcousticGuitar.sf2"
-ir	<emphasis role="opc">sfload</emphasis>	"01hpschd.sf2"
-	<emphasis role="opc">sfplist</emphasis>	isf			<emphasis role="comment">; print presets of</emphasis>
-	<emphasis role="opc">sfplist</emphasis>	ir			<emphasis role="comment">; soundfonts</emphasis>
-	<emphasis role="opc">sfpassign</emphasis>	0, isf	
-	<emphasis role="opc">sfpassign</emphasis>	1, ir
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-	<emphasis role="oblock">instr</emphasis> 1
-<emphasis role="comment">; play from score and midi keyboard (=midi channel 1)</emphasis>
-	<emphasis role="opc">mididefault</emphasis>		60, p3
-	<emphasis role="opc">midinoteonkey</emphasis>	p4, p5
-inum	<emphasis role="opc">init</emphasis>	p4
-ivel	<emphasis role="opc">init</emphasis>	p5
-<emphasis role="opc">print</emphasis>	ivel
+gisf	<emphasis role="opc">sfload</emphasis>	"sf_GMbank.sf2"
+	<emphasis role="opc">sfilist</emphasis>	gisf						<emphasis role="comment">;list all instruments</emphasis>
 
-ivel	<emphasis role="opc">init</emphasis>	3<emphasis role="op">*</emphasis>(ivel<emphasis role="op">/</emphasis>127)					<emphasis role="comment">; velocity-dependent</emphasis>
-kamp	<emphasis role="opc">linsegr</emphasis>	1,1,1,.1,0
-kfreq	<emphasis role="opc">init</emphasis>	1						<emphasis role="comment">;do not change freq from sf</emphasis>
-a1,a2	<emphasis role="opc">sfplay3</emphasis>	ivel, inum, kamp<emphasis role="op">*</emphasis>ivel, kfreq, 0, 0
-	<emphasis role="opc">outs</emphasis>	a1, a2
-	
-	<emphasis role="oblock">endin</emphasis>
-	
-		<emphasis role="oblock">instr</emphasis> 2
-<emphasis role="comment">; play from score and midi keyboard (=midi channel 2)</emphasis>
-	<emphasis role="opc">mididefault</emphasis>		60, p3
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; play from score and midi keyboard</emphasis>
+
+	<emphasis role="opc">mididefault</emphasis>	60, p3
 	<emphasis role="opc">midinoteonkey</emphasis>	p4, p5
 inum	<emphasis role="opc">init</emphasis>	p4
 ivel	<emphasis role="opc">init</emphasis>	p5
-<emphasis role="opc">print</emphasis>	ivel
-
-ivel	<emphasis role="opc">init</emphasis>	10<emphasis role="op">*</emphasis>(ivel<emphasis role="op">/</emphasis>127)				<emphasis role="comment">; 01hpschd.sf2 needs extra volume</emphasis>
-kamp	<emphasis role="opc">linsegr</emphasis>	1,1,1,.1,0				<emphasis role="comment">; velocity-dependent</emphasis>
+ivel	<emphasis role="opc">init</emphasis>	ivel<emphasis role="op">/</emphasis>127					<emphasis role="comment">;make velocity dependent</emphasis>
+kamp	<emphasis role="opc">linsegr</emphasis>	1, 1, 1, .1, 0
+kamp	<emphasis role="op">=</emphasis> kamp<emphasis role="op">/</emphasis>3000						<emphasis role="comment">;scale amplitude</emphasis>
 kfreq	<emphasis role="opc">init</emphasis>	1						<emphasis role="comment">;do not change freq from sf</emphasis>
-a1,a2	<emphasis role="opc">sfplay3</emphasis>	ivel, inum, kamp<emphasis role="op">*</emphasis>ivel, kfreq, 1, 0
+a1, a2	<emphasis role="opc">sfinstr3</emphasis> ivel, inum, kamp<emphasis role="op">*</emphasis>ivel, kfreq, 100, gisf		<emphasis role="comment">;choose Halo Pad</emphasis>
 	<emphasis role="opc">outs</emphasis>	a1, a2
 	
-	<emphasis role="oblock">endin</emphasis>
+<emphasis role="oblock">endin</emphasis>
 	
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 <emphasis role="stamnt">f</emphasis>0  60				<emphasis role="comment">; stay active for 1 minute</emphasis>
 
-<emphasis role="stamnt">i</emphasis>1 0 1 60 100
+<emphasis role="stamnt">i</emphasis>1 0 1 60 127
 <emphasis role="stamnt">i</emphasis>1 + 1 62 <
 <emphasis role="stamnt">i</emphasis>1 + 1 65 <
 <emphasis role="stamnt">i</emphasis>1 + 1 69 10
 
-<emphasis role="stamnt">i</emphasis>2 5 1 60 100
-<emphasis role="stamnt">i</emphasis>2 + 1 62 <
-<emphasis role="stamnt">i</emphasis>2 7 1 65 <
-<emphasis role="stamnt">i</emphasis>2 7 1 69 10
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/sfinstr.csd.xml b/examples-xml/sfinstr.csd.xml
new file mode 100644
index 0000000..d2b4376
--- /dev/null
+++ b/examples-xml/sfinstr.csd.xml
@@ -0,0 +1,48 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac -+rtmidi=virtual -M0 <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o sfinstr.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+
+
+gisf	<emphasis role="opc">sfload</emphasis>	"sf_GMbank.sf2"
+	<emphasis role="opc">sfilist</emphasis>	isf
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; play from score and midi keyboard</emphasis>
+
+	<emphasis role="opc">mididefault</emphasis>	60, p3
+	<emphasis role="opc">midinoteonkey</emphasis>	p4, p5
+inum	<emphasis role="opc">init</emphasis>	p4
+ivel	<emphasis role="opc">init</emphasis>	p5
+ivel	<emphasis role="opc">init</emphasis>	ivel<emphasis role="op">/</emphasis>127					<emphasis role="comment">;make velocity dependent</emphasis>
+kamp	<emphasis role="opc">linsegr</emphasis>	1, 1, 1, .1, 0
+kamp	<emphasis role="op">=</emphasis> kamp<emphasis role="op">/</emphasis>5000						<emphasis role="comment">;scale amplitude</emphasis>
+kfreq	<emphasis role="opc">init</emphasis>	1						<emphasis role="comment">;do not change freq from sf</emphasis>
+a1,a2	<emphasis role="opc">sfinstr</emphasis>	ivel, inum, kamp<emphasis role="op">*</emphasis>ivel, kfreq, 194, gisf		<emphasis role="comment">;= Strings 2 tighter</emphasis>
+	<emphasis role="opc">outs</emphasis>	a1, a2
+	
+	<emphasis role="oblock">endin</emphasis>
+	
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>0  60				<emphasis role="comment">; stay active for 1 minute</emphasis>
+
+<emphasis role="stamnt">i</emphasis>1 0 1 60 127
+<emphasis role="stamnt">i</emphasis>1 + 1 62 <
+<emphasis role="stamnt">i</emphasis>1 + 1 65 <
+<emphasis role="stamnt">i</emphasis>1 + 1 69 10
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/sfinstr3.csd.xml b/examples-xml/sfinstr3.csd.xml
new file mode 100644
index 0000000..1cf9d5b
--- /dev/null
+++ b/examples-xml/sfinstr3.csd.xml
@@ -0,0 +1,55 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+ 
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac -+rtmidi=virtual -M0 <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o sfinstr3.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+ 
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+
+gi24   <emphasis role="ohdr">ftgen</emphasis> 1, 0, 32, <emphasis role="op">-</emphasis>2, 24, 2, 261.626, 60, 1, 1.0293022, 1.059463, 1.0905076, 1.1224619, 1.1553525, 1.1892069, \
+             1.2240532, 1.2599207, 1.2968391, 1.33483924, 1.3739531, 1.414213, 1.4556525, 1.4983063, 1.54221, 1.5874001, \
+             1.6339145, 1.6817917, 1.73107, 1.7817962, 1.8340067, 1.8877471, 1.9430623,  2 <emphasis role="comment">;table for microtuning, a 24 tone equal temperament</emphasis>
+
+giSF	<emphasis role="opc">sfload</emphasis>	"sf_GMbank.sf2" 
+        <emphasis role="opc">sfilist</emphasis> giSF 
+
+<emphasis role="oblock">instr</emphasis> 1 
+
+	<emphasis role="opc">mididefault</emphasis>	60, p3
+	<emphasis role="opc">midinoteonkey</emphasis>	p4, p5
+ikey	<emphasis role="op">=</emphasis> p4
+ivel	<emphasis role="op">=</emphasis> p5
+aenv    <emphasis role="opc">linsegr</emphasis>	1, 1, 1, 1, 0			<emphasis role="comment">;envelope</emphasis>
+icps    <emphasis role="opc">cpstuni</emphasis> ikey, 1				<emphasis role="comment">;24 tones per octave</emphasis>
+iamp    <emphasis role="op">=</emphasis> 0.0002				<emphasis role="comment">;scale amplitude</emphasis>
+iamp    <emphasis role="op">=</emphasis> iamp <emphasis role="op">*</emphasis> ivel <emphasis role="op">*</emphasis> 1<emphasis role="op">/</emphasis>128 			<emphasis role="comment">;make velocity-dependent</emphasis>
+aL, aR	<emphasis role="opc">sfinstr3</emphasis> ivel, ikey, iamp, icps, 180, giSF, 1 <emphasis role="comment">;= Slap Bass 3</emphasis>
+aL      <emphasis role="op">=</emphasis> aL <emphasis role="op">*</emphasis> aenv 
+aR      <emphasis role="op">=</emphasis> aR <emphasis role="op">*</emphasis> aenv 
+        <emphasis role="opc">outs</emphasis> aL, aR 
+
+<emphasis role="oblock">endin</emphasis> 
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+ 
+<emphasis role="stamnt">f</emphasis>0 60	<emphasis role="comment">;play for 60 seconds</emphasis>
+
+<emphasis role="stamnt">i</emphasis>1 0 1 60 100 1	<emphasis role="comment">;using ftable 1</emphasis>
+<emphasis role="stamnt">i</emphasis>1 + 1 62 <   .
+<emphasis role="stamnt">i</emphasis>1 + 1 65 <   .
+<emphasis role="stamnt">i</emphasis>1 + 1 69 40  .
+
+<emphasis role="stamnt">e</emphasis> 
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/sfinstr3m.csd.xml b/examples-xml/sfinstr3m.csd.xml
new file mode 100644
index 0000000..14bcb05
--- /dev/null
+++ b/examples-xml/sfinstr3m.csd.xml
@@ -0,0 +1,48 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac -+rtmidi=virtual -M0 <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o sfinstr3m.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+
+
+gisf	<emphasis role="opc">sfload</emphasis>	"07AcousticGuitar.sf2"
+	<emphasis role="opc">sfilist</emphasis>	isf
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; play from score and midi keyboard</emphasis>
+
+	<emphasis role="opc">mididefault</emphasis>	60, p3
+	<emphasis role="opc">midinoteonkey</emphasis>	p4, p5
+inum	<emphasis role="opc">init</emphasis>	p4
+ivel	<emphasis role="opc">init</emphasis>	p5
+ivel	<emphasis role="opc">init</emphasis>	ivel<emphasis role="op">/</emphasis>127					<emphasis role="comment">;make velocity dependent</emphasis>
+kamp	<emphasis role="opc">linsegr</emphasis>	1, 1, 1, .1, 0
+kamp	<emphasis role="op">=</emphasis> kamp<emphasis role="op">/</emphasis>7000						<emphasis role="comment">;scale amplitude</emphasis>
+kfreq	<emphasis role="opc">init</emphasis>	1						<emphasis role="comment">;do not change freq from sf</emphasis>
+aout	<emphasis role="opc">sfinstr3m</emphasis> ivel, inum, kamp<emphasis role="op">*</emphasis>ivel, kfreq, 0, gisf
+	<emphasis role="opc">outs</emphasis>	aout, aout
+	
+	<emphasis role="oblock">endin</emphasis>
+	
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>0  60				<emphasis role="comment">; stay active for 1 minute</emphasis>
+
+<emphasis role="stamnt">i</emphasis>1 0 1 60 127
+<emphasis role="stamnt">i</emphasis>1 + 1 62 <
+<emphasis role="stamnt">i</emphasis>1 + 1 65 <
+<emphasis role="stamnt">i</emphasis>1 + 1 69 10
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/sfload.csd.xml b/examples-xml/sfload.csd.xml
index 9bff221..8956b3e 100644
--- a/examples-xml/sfload.csd.xml
+++ b/examples-xml/sfload.csd.xml
@@ -2,53 +2,55 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d   -M0     <emphasis role="comment">;;;RT audio I/O, midi in</emphasis>
+-odac -+rtmidi=virtual -M0   <emphasis role="comment">;;;realtime audio out, virtual midi in</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o sfload.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="ohdr">sr</emphasis>         <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 100
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="comment">; load two soundfonts</emphasis>
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="comment">;load two soundfonts</emphasis>
 isf	<emphasis role="opc">sfload</emphasis>	"07AcousticGuitar.sf2"
 ir	<emphasis role="opc">sfload</emphasis>	"01hpschd.sf2"
+	<emphasis role="opc">sfplist</emphasis> isf
+	<emphasis role="opc">sfplist</emphasis> ir
 	<emphasis role="opc">sfpassign</emphasis>	0, isf	
 	<emphasis role="opc">sfpassign</emphasis>	1, ir
 
-	<emphasis role="oblock">instr</emphasis> 1
-<emphasis role="comment">; play from score and midi keyboard (=midi channel 1)</emphasis>
-	<emphasis role="opc">mididefault</emphasis>		60, p3
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; play guitar from score and midi keyboard - preset index = 0</emphasis>
+
+	<emphasis role="opc">mididefault</emphasis>	60, p3
 	<emphasis role="opc">midinoteonkey</emphasis>	p4, p5
 inum	<emphasis role="opc">init</emphasis>	p4
 ivel	<emphasis role="opc">init</emphasis>	p5
-<emphasis role="opc">print</emphasis>	ivel
-
-ivel	<emphasis role="opc">init</emphasis>	3<emphasis role="op">*</emphasis>(ivel<emphasis role="op">/</emphasis>127)					<emphasis role="comment">; velocity-dependent</emphasis>
-kamp	<emphasis role="opc">linsegr</emphasis>	1,1,1,.1,0
+ivel	<emphasis role="opc">init</emphasis>	ivel<emphasis role="op">/</emphasis>127					<emphasis role="comment">;make velocity dependent</emphasis>
+kamp	<emphasis role="opc">linsegr</emphasis>	1, 1, 1, .1, 0
+kamp	<emphasis role="op">=</emphasis> kamp<emphasis role="op">/</emphasis>3000						<emphasis role="comment">;scale amplitude</emphasis>
 kfreq	<emphasis role="opc">init</emphasis>	1						<emphasis role="comment">;do not change freq from sf</emphasis>
-a1,a2	<emphasis role="opc">sfplay3</emphasis>	ivel, inum, kamp<emphasis role="op">*</emphasis>ivel, kfreq, 0, 0
+a1,a2	<emphasis role="opc">sfplay3</emphasis>	ivel, inum, kamp<emphasis role="op">*</emphasis>ivel, kfreq, 0			<emphasis role="comment">;preset index = 0</emphasis>
 	<emphasis role="opc">outs</emphasis>	a1, a2
 	
 	<emphasis role="oblock">endin</emphasis>
 	
-		<emphasis role="oblock">instr</emphasis> 2
-<emphasis role="comment">; play from score and midi keyboard (=midi channel 2)</emphasis>
-	<emphasis role="opc">mididefault</emphasis>		60, p3
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">; play harpsichord from score and midi keyboard - preset index = 1</emphasis>
+
+	<emphasis role="opc">mididefault</emphasis>	60, p3
 	<emphasis role="opc">midinoteonkey</emphasis>	p4, p5
 inum	<emphasis role="opc">init</emphasis>	p4
 ivel	<emphasis role="opc">init</emphasis>	p5
-<emphasis role="opc">print</emphasis>	ivel
-
-ivel	<emphasis role="opc">init</emphasis>	10<emphasis role="op">*</emphasis>(ivel<emphasis role="op">/</emphasis>127)				<emphasis role="comment">; 01hpschd.sf2 needs extra volume</emphasis>
-kamp	<emphasis role="opc">linsegr</emphasis>	1,1,1,.1,0				<emphasis role="comment">; velocity-dependent</emphasis>
+ivel	<emphasis role="opc">init</emphasis>	ivel<emphasis role="op">/</emphasis>127					<emphasis role="comment">;make velocity dependent</emphasis>
+kamp	<emphasis role="opc">linsegr</emphasis>	1, 1, 1, .1, 0
+kamp	<emphasis role="op">=</emphasis> kamp<emphasis role="op">/</emphasis>1000						<emphasis role="comment">;scale amplitude</emphasis>
 kfreq	<emphasis role="opc">init</emphasis>	1						<emphasis role="comment">;do not change freq from sf</emphasis>
-a1,a2	<emphasis role="opc">sfplay3</emphasis>	ivel, inum, kamp<emphasis role="op">*</emphasis>ivel, kfreq, 1, 0
+a1,a2	<emphasis role="opc">sfplay3</emphasis>	ivel, inum, kamp<emphasis role="op">*</emphasis>ivel, kfreq, 1			<emphasis role="comment">;preset index = 1</emphasis>
 	<emphasis role="opc">outs</emphasis>	a1, a2
 	
-	<emphasis role="oblock">endin</emphasis>
+<emphasis role="oblock">endin</emphasis>
 	
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
@@ -63,6 +65,8 @@ a1,a2	<emphasis role="opc">sfplay3</emphasis>	ivel, inum, kamp<emphasis role="op
 <emphasis role="stamnt">i</emphasis>2 + 1 62 <
 <emphasis role="stamnt">i</emphasis>2 7 1 65 <
 <emphasis role="stamnt">i</emphasis>2 7 1 69 10
+
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/sflooper.csd.xml b/examples-xml/sflooper.csd.xml
index 20c9368..dc01382 100644
--- a/examples-xml/sflooper.csd.xml
+++ b/examples-xml/sflooper.csd.xml
@@ -3,46 +3,48 @@
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
 <emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d   -M0     <emphasis role="comment">;;;RT audio I/O, midi in</emphasis>
+-odac -+rtmidi=virtual  -M0     <emphasis role="comment">;;;realtime audio in, midi in</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o sflooper.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="ohdr">sr</emphasis>         <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 100
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-isf	<emphasis role="opc">sfload</emphasis>	"<emphasis role="op">/</emphasis>home<emphasis role="op">/</emphasis>menno<emphasis role="op">/</emphasis>CVS<emphasis role="op">/</emphasis>manual<emphasis role="op">/</emphasis>examples<emphasis role="op">/</emphasis>07AcousticGuitar.sf2"
-	<emphasis role="opc">sfilist</emphasis>		isf
-	<emphasis role="opc">sfplist</emphasis>	isf
-	<emphasis role="opc">sfpassign</emphasis>	0, isf
 
-	<emphasis role="oblock">instr</emphasis> 1
-<emphasis role="comment">; play from score and midi keyboard</emphasis>
-	<emphasis role="opc">mididefault</emphasis>		60, p3
-	<emphasis role="opc">midinoteonkey</emphasis>	p4, p5
-inum	<emphasis role="opc">init</emphasis>	p4
-ivel	<emphasis role="opc">init</emphasis>	p5
-<emphasis role="opc">print</emphasis>	ivel
+isf   <emphasis role="opc">sfload</emphasis> "07AcousticGuitar.sf2"
+      <emphasis role="opc">sfpassign</emphasis> 0, isf
 
-ivel	<emphasis role="opc">init</emphasis>	3<emphasis role="op">*</emphasis>(ivel<emphasis role="op">/</emphasis>127)					<emphasis role="comment">; pre-amplify</emphasis>
-kamp	<emphasis role="opc">linsegr</emphasis>	1,1,1,.1,0
-kfreq	<emphasis role="opc">init</emphasis>	1						<emphasis role="comment">;do not change freq from sf</emphasis>
-<emphasis role="comment">;                             ivel, inum, kamp          ,kfreq, ind,loopstrt,loopend,xfade, ifn</emphasis>
-a1,a2	<emphasis role="opc">sflooper</emphasis>	ivel, inum, kamp<emphasis role="op">*</emphasis>ivel, kfreq,  0,   0,        .3,         .5,     0
-	<emphasis role="opc">outs</emphasis>	a1, a2
-	
-	<emphasis role="oblock">endin</emphasis>
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; play from score and midi keyboard</emphasis>
+
+      <emphasis role="opc">mididefault</emphasis>   60, p3
+      <emphasis role="opc">midinoteonkey</emphasis> p4, p5
+inum  <emphasis role="opc">init</emphasis> p4
+ivel  <emphasis role="opc">init</emphasis> p5
+<emphasis role="opc">print</emphasis> ivel
+
+ivel  <emphasis role="opc">init</emphasis>    ivel<emphasis role="op">/</emphasis>127		<emphasis role="comment">;velocity dependent</emphasis>
+kamp  <emphasis role="opc">linsegr</emphasis> 1,1,1,.1,0	<emphasis role="comment">;envelope</emphasis>
+kamp  <emphasis role="op">=</emphasis> kamp <emphasis role="op">*</emphasis> .0002		<emphasis role="comment">;scale amplitude (= kamp/5000)</emphasis>
+kfreq <emphasis role="opc">init</emphasis> 1			<emphasis role="comment">;do not change freq from sf</emphasis>
+<emphasis role="comment">;"07AcousticGuitar.sf2" contains 2 samples, on notes E1 and C#4</emphasis>
+<emphasis role="comment">;start loop from beginning, loop .2 seconds - on the root key of these samples</emphasis>
+aL,aR <emphasis role="opc">sflooper</emphasis> ivel, inum, kamp<emphasis role="op">*</emphasis>ivel, kfreq, 0, 0, .2, .05
+      <emphasis role="opc">outs</emphasis> aL, aR
 	
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="stamnt">f</emphasis>0  60				<emphasis role="comment">; stay active for 1 minute</emphasis>
+<emphasis role="stamnt">f</emphasis>0  60		<emphasis role="comment">; stay active for 1 minute</emphasis>
 
 <emphasis role="stamnt">i</emphasis>1 0 1 60 100
 <emphasis role="stamnt">i</emphasis>1 + 1 62 <
 <emphasis role="stamnt">i</emphasis>1 + 1 65 <
 <emphasis role="stamnt">i</emphasis>1 + 1 69 10
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/sfpassign.csd.xml b/examples-xml/sfpassign.csd.xml
new file mode 100644
index 0000000..042cc27
--- /dev/null
+++ b/examples-xml/sfpassign.csd.xml
@@ -0,0 +1,72 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac -+rtmidi=virtual -M0   <emphasis role="comment">;;;realtime audio out, virtual midi in</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o sfpassign.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="comment">;load two soundfonts</emphasis>
+gisf	<emphasis role="opc">sfload</emphasis>	"07AcousticGuitar.sf2"
+gir	<emphasis role="opc">sfload</emphasis>	"01hpschd.sf2"
+	<emphasis role="opc">sfplist</emphasis> gisf
+	<emphasis role="opc">sfplist</emphasis> gir
+	<emphasis role="opc">sfpassign</emphasis>	0, gisf	
+	<emphasis role="opc">sfpassign</emphasis>	1, gir
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; play guitar from score and midi keyboard - preset index = 0</emphasis>
+
+	<emphasis role="opc">mididefault</emphasis>	60, p3
+	<emphasis role="opc">midinoteonkey</emphasis>	p4, p5
+inum	<emphasis role="opc">init</emphasis>	p4
+ivel	<emphasis role="opc">init</emphasis>	p5
+ivel	<emphasis role="opc">init</emphasis>	ivel<emphasis role="op">/</emphasis>127					<emphasis role="comment">;make velocity dependent</emphasis>
+kamp	<emphasis role="opc">linsegr</emphasis>	1, 1, 1, .1, 0
+kamp	<emphasis role="op">=</emphasis> kamp<emphasis role="op">/</emphasis>5000						<emphasis role="comment">;scale amplitude</emphasis>
+kfreq	<emphasis role="opc">init</emphasis>	1						<emphasis role="comment">;do not change freq from sf</emphasis>
+a1,a2	<emphasis role="opc">sfplay3</emphasis>	ivel, inum, kamp<emphasis role="op">*</emphasis>ivel, kfreq, 0			<emphasis role="comment">;preset index = 0</emphasis>
+	<emphasis role="opc">outs</emphasis>	a1, a2
+	
+	<emphasis role="oblock">endin</emphasis>
+	
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">; play harpsichord from score and midi keyboard - preset index = 1</emphasis>
+
+	<emphasis role="opc">mididefault</emphasis>	60, p3
+	<emphasis role="opc">midinoteonkey</emphasis>	p4, p5
+inum	<emphasis role="opc">init</emphasis>	p4
+ivel	<emphasis role="opc">init</emphasis>	p5
+ivel	<emphasis role="opc">init</emphasis>	ivel<emphasis role="op">/</emphasis>127					<emphasis role="comment">;make velocity dependent</emphasis>
+kamp	<emphasis role="opc">linsegr</emphasis>	1, 1, 1, .1, 0
+kamp	<emphasis role="op">=</emphasis> kamp<emphasis role="op">/</emphasis>1000						<emphasis role="comment">;scale amplitude</emphasis>
+kfreq	<emphasis role="opc">init</emphasis>	1						<emphasis role="comment">;do not change freq from sf</emphasis>
+a1,a2	<emphasis role="opc">sfplay3</emphasis>	ivel, inum, kamp<emphasis role="op">*</emphasis>ivel, kfreq, 1			<emphasis role="comment">;preset index = 1</emphasis>
+	<emphasis role="opc">outs</emphasis>	a1, a2
+	
+<emphasis role="oblock">endin</emphasis>
+	
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>0  60				<emphasis role="comment">; stay active for 1 minute</emphasis>
+
+<emphasis role="stamnt">i</emphasis>1 0 1 60 100
+<emphasis role="stamnt">i</emphasis>1 + 1 62 <
+<emphasis role="stamnt">i</emphasis>1 + 1 65 <
+<emphasis role="stamnt">i</emphasis>1 + 1 69 10
+
+<emphasis role="stamnt">i</emphasis>2 5 1 60 100
+<emphasis role="stamnt">i</emphasis>2 + 1 62 <
+<emphasis role="stamnt">i</emphasis>2 7 1 65 <
+<emphasis role="stamnt">i</emphasis>2 7 1 69 10
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/sfplay.csd.xml b/examples-xml/sfplay.csd.xml
index 12839f0..d44862f 100644
--- a/examples-xml/sfplay.csd.xml
+++ b/examples-xml/sfplay.csd.xml
@@ -2,34 +2,34 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d   -M0     <emphasis role="comment">;;;RT audio I/O, midi in</emphasis>
+-odac -+rtmidi=virtual -M0 <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o sfplay.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="ohdr">sr</emphasis>         <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 100
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+
 
 isf	<emphasis role="opc">sfload</emphasis>	"07AcousticGuitar.sf2"
-	<emphasis role="opc">sfilist</emphasis>		isf
 	<emphasis role="opc">sfplist</emphasis>	isf
-	<emphasis role="opc">sfpassign</emphasis>	0, isf
+	<emphasis role="opc">sfpassign</emphasis> 0, isf
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; play from score and midi keyboard</emphasis>
 
-	<emphasis role="oblock">instr</emphasis> 1
-<emphasis role="comment">; play from score and midi keyboard</emphasis>
-	<emphasis role="opc">mididefault</emphasis>		60, p3
+	<emphasis role="opc">mididefault</emphasis>	60, p3
 	<emphasis role="opc">midinoteonkey</emphasis>	p4, p5
 inum	<emphasis role="opc">init</emphasis>	p4
 ivel	<emphasis role="opc">init</emphasis>	p5
-<emphasis role="opc">print</emphasis>	ivel
-
-ivel	<emphasis role="opc">init</emphasis>	3<emphasis role="op">*</emphasis>(ivel<emphasis role="op">/</emphasis>127)					<emphasis role="comment">; pre-amplify</emphasis>
-kamp	<emphasis role="opc">linsegr</emphasis>	1,1,1,.1,0
-kfreq	<emphasis role="opc">init</emphasis>	1							<emphasis role="comment">;do not change freq from sf</emphasis>
-a1,a2	<emphasis role="opc">sfplay</emphasis>	ivel, inum, kamp<emphasis role="op">*</emphasis>ivel, kfreq, 0, 0
+ivel	<emphasis role="opc">init</emphasis>	ivel<emphasis role="op">/</emphasis>127					<emphasis role="comment">;make velocity dependent</emphasis>
+kamp	<emphasis role="opc">linsegr</emphasis>	1, 1, 1, .1, 0
+kamp	<emphasis role="op">=</emphasis> kamp<emphasis role="op">/</emphasis>5000						<emphasis role="comment">;scale amplitude</emphasis>
+kfreq	<emphasis role="opc">init</emphasis>	1						<emphasis role="comment">;do not change freq from sf</emphasis>
+a1,a2	<emphasis role="opc">sfplay</emphasis>	ivel, inum, kamp<emphasis role="op">*</emphasis>ivel, kfreq, 0			<emphasis role="comment">;preset index = 0</emphasis>
 	<emphasis role="opc">outs</emphasis>	a1, a2
 	
 	<emphasis role="oblock">endin</emphasis>
@@ -42,6 +42,8 @@ a1,a2	<emphasis role="opc">sfplay</emphasis>	ivel, inum, kamp<emphasis role="op"
 <emphasis role="stamnt">i</emphasis>1 + 1 62 <
 <emphasis role="stamnt">i</emphasis>1 + 1 65 <
 <emphasis role="stamnt">i</emphasis>1 + 1 69 10
+
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/sfplay3.csd.xml b/examples-xml/sfplay3.csd.xml
index f31d1d5..5382ce6 100644
--- a/examples-xml/sfplay3.csd.xml
+++ b/examples-xml/sfplay3.csd.xml
@@ -1,47 +1,77 @@
 <programlisting>
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
+ 
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d   -M0     <emphasis role="comment">;;;RT audio I/O, midi in</emphasis>
+-odac -+rtmidi=virtual -M0 <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o sfplay3.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
+ 
 
-<emphasis role="ohdr">sr</emphasis>         <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 100
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
 
-isf	<emphasis role="opc">sfload</emphasis>	"07AcousticGuitar.sf2"
-	<emphasis role="opc">sfilist</emphasis>		isf
-	<emphasis role="opc">sfplist</emphasis>	isf
-	<emphasis role="opc">sfpassign</emphasis>	0, isf
+gitwelve <emphasis role="ohdr">ftgen</emphasis> 1, 0, 16, <emphasis role="op">-</emphasis>2, 12, 2, 440, 69, 1, 16<emphasis role="op">/</emphasis>15, 9<emphasis role="op">/</emphasis>8, 6<emphasis role="op">/</emphasis>5, 5<emphasis role="op">/</emphasis>4, 4<emphasis role="op">/</emphasis>3, 7<emphasis role="op">/</emphasis>5, 3<emphasis role="op">/</emphasis>2, 8<emphasis role="op">/</emphasis>5, 5<emphasis role="op">/</emphasis>3, 9<emphasis role="op">/</emphasis>5, 15<emphasis role="op">/</emphasis>8, 2 
+givife   <emphasis role="ohdr">ftgen</emphasis> 2, 0, 16, <emphasis role="op">-</emphasis>2, 5, 2, 261.659, 60, 1, 1.1486, 1.3195, 1.5157, 1.7411, 2.00
 
-	<emphasis role="oblock">instr</emphasis> 1
-<emphasis role="comment">; play from score and midi keyboard</emphasis>
-	<emphasis role="opc">mididefault</emphasis>		60, p3
+giSF	<emphasis role="opc">sfload</emphasis>	"01hpschd.sf2" 
+        <emphasis role="opc">sfplist</emphasis> giSF 
+gipre	<emphasis role="opc">sfpreset</emphasis> 0, 0, giSF, 0 
+
+<emphasis role="oblock">instr</emphasis> 1 
+
+	<emphasis role="opc">mididefault</emphasis>	60, p3
 	<emphasis role="opc">midinoteonkey</emphasis>	p4, p5
-inum	<emphasis role="opc">init</emphasis>	p4
-ivel	<emphasis role="opc">init</emphasis>	p5
-<emphasis role="opc">print</emphasis>	ivel
-
-ivel	<emphasis role="opc">init</emphasis>	3<emphasis role="op">*</emphasis>(ivel<emphasis role="op">/</emphasis>127)					<emphasis role="comment">; pre-amplify</emphasis>
-kamp	<emphasis role="opc">linsegr</emphasis>	1,1,1,.1,0
-kfreq	<emphasis role="opc">init</emphasis>	1							<emphasis role="comment">;do not change freq from sf</emphasis>
-a1,a2	<emphasis role="opc">sfplay3</emphasis>	ivel, inum, kamp<emphasis role="op">*</emphasis>ivel, kfreq, 0, 0
-	<emphasis role="opc">outs</emphasis>	a1, a2
-	
-	<emphasis role="oblock">endin</emphasis>
-	
+ikey	<emphasis role="op">=</emphasis> p4
+ivel	<emphasis role="op">=</emphasis> p5
+aenv    <emphasis role="opc">linsegr</emphasis>	1, 1, 1, 1, 0			<emphasis role="comment">;envelope</emphasis>
+icps    <emphasis role="opc">cpstuni</emphasis>	ikey, gitwelve 			<emphasis role="comment">;12 tones per octave</emphasis>
+iamp    <emphasis role="op">=</emphasis> 0.0004				<emphasis role="comment">;scale amplitude</emphasis>
+iamp    <emphasis role="op">=</emphasis> iamp <emphasis role="op">*</emphasis> ivel <emphasis role="op">*</emphasis> 1<emphasis role="op">/</emphasis>128 			<emphasis role="comment">;make velocity-dependent</emphasis>
+aL, aR	<emphasis role="opc">sfplay3</emphasis> ivel, ikey, iamp, icps, gipre, 1 
+aL      <emphasis role="op">=</emphasis> aL <emphasis role="op">*</emphasis> aenv 
+aR      <emphasis role="op">=</emphasis> aR <emphasis role="op">*</emphasis> aenv 
+        <emphasis role="opc">outs</emphasis> aL, aR 
+
+<emphasis role="oblock">endin</emphasis> 
+
+<emphasis role="oblock">instr</emphasis> 2 
+
+	<emphasis role="opc">mididefault</emphasis>	60, p3
+	<emphasis role="opc">midinoteonkey</emphasis>	p4, p5
+ikey	<emphasis role="op">=</emphasis> p4
+ivel	<emphasis role="op">=</emphasis> p5
+aenv    <emphasis role="opc">linsegr</emphasis>	1, 1, 1, 1, 0			<emphasis role="comment">;envelope</emphasis>
+icps    <emphasis role="opc">cpstuni</emphasis>	ikey, givife			<emphasis role="comment">;5 tones per octave</emphasis>
+iamp    <emphasis role="op">=</emphasis> 0.0004				<emphasis role="comment">;scale amplitude</emphasis>
+iamp    <emphasis role="op">=</emphasis> iamp <emphasis role="op">*</emphasis> ivel <emphasis role="op">*</emphasis> 1<emphasis role="op">/</emphasis>128 			<emphasis role="comment">;make velocity-dependent</emphasis>
+aL, aR	<emphasis role="opc">sfplay3</emphasis> ivel, ikey, iamp, icps, gipre, 1 
+aL      <emphasis role="op">=</emphasis> aL <emphasis role="op">*</emphasis> aenv 
+aR      <emphasis role="op">=</emphasis> aR <emphasis role="op">*</emphasis> aenv 
+        <emphasis role="opc">outs</emphasis> aL, aR 
+
+<emphasis role="oblock">endin</emphasis> 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="stamnt">f</emphasis>0  60				<emphasis role="comment">; stay active for 1 minute</emphasis>
+ 
+<emphasis role="stamnt">f</emphasis>0 60	<emphasis role="comment">;play for 60 seconds</emphasis>
+<emphasis role="comment">;instr.1 using ftable 1</emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 1 60 100 
+<emphasis role="stamnt">i</emphasis>1 + 1 62 <  
+<emphasis role="stamnt">i</emphasis>1 + 1 65 <   
+<emphasis role="stamnt">i</emphasis>1 + 1 69 40  
 
-<emphasis role="stamnt">i</emphasis>1 0 1 60 127
-<emphasis role="stamnt">i</emphasis>1 + 1 62 <
-<emphasis role="stamnt">i</emphasis>1 + 1 65 <
-<emphasis role="stamnt">i</emphasis>1 + 1 69 10
+<emphasis role="comment">;instr.2 using ftable 2</emphasis>
+<emphasis role="stamnt">i</emphasis>2 5 1 60 100 
+<emphasis role="stamnt">i</emphasis>2 + 1 62 <   
+<emphasis role="stamnt">i</emphasis>2 + 1 65 <   
+<emphasis role="stamnt">i</emphasis>2 + 1 69 40  
+<emphasis role="stamnt">e</emphasis> 
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/sfplay3m.csd.xml b/examples-xml/sfplay3m.csd.xml
index 6c6bf5f..a5f2361 100644
--- a/examples-xml/sfplay3m.csd.xml
+++ b/examples-xml/sfplay3m.csd.xml
@@ -2,46 +2,48 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d   -M0     <emphasis role="comment">;;;RT audio I/O, midi in</emphasis>
+-odac -+rtmidi=virtual -M0 <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o sfplay3m.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="ohdr">sr</emphasis>         <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 100
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
 
-isf	<emphasis role="opc">sfload</emphasis>	"07AcousticGuitar.sf2"
-	<emphasis role="opc">sfilist</emphasis>		isf
-	<emphasis role="opc">sfplist</emphasis>	isf
-	<emphasis role="opc">sfpassign</emphasis>	0, isf
 
-	<emphasis role="oblock">instr</emphasis> 1
-<emphasis role="comment">; play from score and midi keyboard</emphasis>
-	<emphasis role="opc">mididefault</emphasis>		60, p3
+gisf	<emphasis role="opc">sfload</emphasis>	"07AcousticGuitar.sf2"
+	<emphasis role="opc">sfplist</emphasis>	gisf
+	<emphasis role="opc">sfpassign</emphasis> 10, gisf
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; play from score and midi keyboard</emphasis>
+
+	<emphasis role="opc">mididefault</emphasis>	60, p3
 	<emphasis role="opc">midinoteonkey</emphasis>	p4, p5
 inum	<emphasis role="opc">init</emphasis>	p4
 ivel	<emphasis role="opc">init</emphasis>	p5
-<emphasis role="opc">print</emphasis>	ivel
-
-ivel	<emphasis role="opc">init</emphasis>	2<emphasis role="op">*</emphasis>(ivel<emphasis role="op">/</emphasis>127)					<emphasis role="comment">; pre-amplify</emphasis>
-kamp	<emphasis role="opc">linsegr</emphasis>	1,1,1,.1,0
-kfreq	<emphasis role="opc">init</emphasis>	1							<emphasis role="comment">;do not change freq from sf</emphasis>
-a1	<emphasis role="opc">sfplay3m</emphasis>	ivel, inum, kamp<emphasis role="op">*</emphasis>ivel, kfreq, 0, 0
-	<emphasis role="opc">outs</emphasis>	a1, a1
+ivel	<emphasis role="opc">init</emphasis>	ivel<emphasis role="op">/</emphasis>127					<emphasis role="comment">;make velocity dependent</emphasis>
+kamp	<emphasis role="opc">linsegr</emphasis>	1, 1, 1, .1, 0
+kamp	<emphasis role="op">=</emphasis> kamp<emphasis role="op">/</emphasis>7000						<emphasis role="comment">;scale amplitude</emphasis>
+kfreq	<emphasis role="opc">init</emphasis>	1						<emphasis role="comment">;do not change freq from sf</emphasis>
+aout	<emphasis role="opc">sfplay3m</emphasis> ivel, inum, kamp<emphasis role="op">*</emphasis>ivel, kfreq, 10		<emphasis role="comment">;preset index = 10</emphasis>
+	<emphasis role="opc">outs</emphasis>	aout, aout
 	
-	<emphasis role="oblock">endin</emphasis>
+<emphasis role="oblock">endin</emphasis>
 	
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="stamnt">f</emphasis>0  60				<emphasis role="comment">; stay active for 1 minute</emphasis>
+<emphasis role="stamnt">f</emphasis>0  60	<emphasis role="comment">; stay active for 1 minute</emphasis>
 
 <emphasis role="stamnt">i</emphasis>1 0 1 60 127
 <emphasis role="stamnt">i</emphasis>1 + 1 62 <
 <emphasis role="stamnt">i</emphasis>1 + 1 65 <
 <emphasis role="stamnt">i</emphasis>1 + 1 69 10
+
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/sfplaym.csd.xml b/examples-xml/sfplaym.csd.xml
index 6e8111c..be91065 100644
--- a/examples-xml/sfplaym.csd.xml
+++ b/examples-xml/sfplaym.csd.xml
@@ -2,46 +2,48 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d   -M0     <emphasis role="comment">;;;RT audio I/O, midi in</emphasis>
+-odac -+rtmidi=virtual -M0 <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o sfplaym.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="ohdr">sr</emphasis>         <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 100
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
 
-isf	<emphasis role="opc">sfload</emphasis>	"07AcousticGuitar.sf2"
-	<emphasis role="opc">sfilist</emphasis>		isf
-	<emphasis role="opc">sfplist</emphasis>	isf
-	<emphasis role="opc">sfpassign</emphasis>	0, isf
 
-	<emphasis role="oblock">instr</emphasis> 1
-<emphasis role="comment">; play from score and midi keyboard</emphasis>
-	<emphasis role="opc">mididefault</emphasis>		60, p3
+gisf	<emphasis role="opc">sfload</emphasis>	"07AcousticGuitar.sf2"
+	<emphasis role="opc">sfplist</emphasis>	gisf
+	<emphasis role="opc">sfpassign</emphasis> 100, gisf
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; play from score and midi keyboard</emphasis>
+
+	<emphasis role="opc">mididefault</emphasis>	60, p3
 	<emphasis role="opc">midinoteonkey</emphasis>	p4, p5
 inum	<emphasis role="opc">init</emphasis>	p4
 ivel	<emphasis role="opc">init</emphasis>	p5
-<emphasis role="opc">print</emphasis>	ivel
-
-ivel	<emphasis role="opc">init</emphasis>	2<emphasis role="op">*</emphasis>(ivel<emphasis role="op">/</emphasis>127)					<emphasis role="comment">; pre-amplify</emphasis>
-kamp	<emphasis role="opc">linsegr</emphasis>	1,1,1,.1,0
-kfreq	<emphasis role="opc">init</emphasis>	1							<emphasis role="comment">;do not change freq from sf</emphasis>
-a1	<emphasis role="opc">sfplaym</emphasis>	ivel, inum, kamp<emphasis role="op">*</emphasis>ivel, kfreq, 0, 0
-	<emphasis role="opc">outs</emphasis>	a1, a1
+ivel	<emphasis role="opc">init</emphasis>	ivel<emphasis role="op">/</emphasis>127					<emphasis role="comment">;make velocity dependent</emphasis>
+kamp	<emphasis role="opc">linsegr</emphasis>	1, 1, 1, .1, 0
+kamp	<emphasis role="op">=</emphasis> kamp<emphasis role="op">/</emphasis>7000						<emphasis role="comment">;scale amplitude</emphasis>
+kfreq	<emphasis role="opc">init</emphasis>	1						<emphasis role="comment">;do not change freq from sf</emphasis>
+aout	<emphasis role="opc">sfplaym</emphasis> ivel, inum, kamp<emphasis role="op">*</emphasis>ivel, kfreq, 100		<emphasis role="comment">;preset index = 100</emphasis>
+	<emphasis role="opc">outs</emphasis>	aout, aout
 	
-	<emphasis role="oblock">endin</emphasis>
+<emphasis role="oblock">endin</emphasis>
 	
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="stamnt">f</emphasis>0  60				<emphasis role="comment">; stay active for 1 minute</emphasis>
+<emphasis role="stamnt">f</emphasis>0  60	<emphasis role="comment">; stay active for 1 minute</emphasis>
 
 <emphasis role="stamnt">i</emphasis>1 0 1 60 127
 <emphasis role="stamnt">i</emphasis>1 + 1 62 <
 <emphasis role="stamnt">i</emphasis>1 + 1 65 <
 <emphasis role="stamnt">i</emphasis>1 + 1 69 10
+
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/sfplist.csd.xml b/examples-xml/sfplist.csd.xml
new file mode 100644
index 0000000..e516388
--- /dev/null
+++ b/examples-xml/sfplist.csd.xml
@@ -0,0 +1,48 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac -+rtmidi=virtual -M0  <emphasis role="comment">;;;realtime audio out, virtual midi in</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o sfplist.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+gisf	<emphasis role="opc">sfload</emphasis>	 "sf_GMbank.sf2"
+	<emphasis role="opc">sfplist</emphasis>	 gisf					<emphasis role="comment">;list all presets</emphasis>
+gir	<emphasis role="opc">sfpreset</emphasis> 125, 3, gisf, 0 			<emphasis role="comment">;preset = Car Pass</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; play from score and midi keyboard</emphasis>
+
+	<emphasis role="opc">mididefault</emphasis>	60, p3
+	<emphasis role="opc">midinoteonkey</emphasis>	p4, p5
+inum	<emphasis role="opc">init</emphasis>	p4
+ivel	<emphasis role="opc">init</emphasis>	p5
+ivel	<emphasis role="opc">init</emphasis>	ivel<emphasis role="op">/</emphasis>127				<emphasis role="comment">;make velocity dependent</emphasis>
+kamp	<emphasis role="opc">linsegr</emphasis>	1, 1, 1, .1, 0
+kamp	<emphasis role="op">=</emphasis> kamp<emphasis role="op">/</emphasis>6000					<emphasis role="comment">;scale amplitude</emphasis>
+kfreq	<emphasis role="opc">init</emphasis>	1					<emphasis role="comment">;do not change freq from sf</emphasis>
+a1,a2	<emphasis role="opc">sfplay3</emphasis>	ivel, inum, kamp, kfreq, gir
+	<emphasis role="opc">outs</emphasis>	a1, a2
+	
+<emphasis role="oblock">endin</emphasis>
+	
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>0  60				<emphasis role="comment">; stay active for 1 minute</emphasis>
+
+<emphasis role="stamnt">i</emphasis>1 0 1 60 127
+<emphasis role="stamnt">i</emphasis>1 + 1 62 <
+<emphasis role="stamnt">i</emphasis>1 + 1 65 <
+<emphasis role="stamnt">i</emphasis>1 + 1 69 10
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/sfpreset.csd.xml b/examples-xml/sfpreset.csd.xml
new file mode 100644
index 0000000..986361e
--- /dev/null
+++ b/examples-xml/sfpreset.csd.xml
@@ -0,0 +1,57 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac -+rtmidi=virtual -M0  <emphasis role="comment">;;;realtime audio out, virtual midi in</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o sfpreset.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+gisf1	<emphasis role="opc">sfload</emphasis>	 "sf_GMbank.sf2"
+	<emphasis role="opc">sfplist</emphasis>	 gisf1						<emphasis role="comment">;list presets of first soundfont</emphasis>
+gisf2	<emphasis role="opc">sfload</emphasis>	 "07AcousticGuitar.sf2"
+	<emphasis role="opc">sfplist</emphasis>	 gisf2						<emphasis role="comment">;list presets of second soundfont</emphasis>
+gir	<emphasis role="opc">sfpreset</emphasis> 50, 0, gisf1, 0 				<emphasis role="comment">;assign Synth Strings to index 0</emphasis>
+giv	<emphasis role="opc">sfpreset</emphasis> 0, 0, gisf2, 1					<emphasis role="comment">;assign AcousticGuitar to index 1</emphasis>
+<emphasis role="opc">print</emphasis> gir
+<emphasis role="opc">print</emphasis> giv
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; play from score and midi keyboard</emphasis>
+
+	<emphasis role="opc">mididefault</emphasis>	60, p3
+	<emphasis role="opc">midinoteonkey</emphasis>	p4, p5
+inum	<emphasis role="opc">init</emphasis>	p4
+ivel	<emphasis role="opc">init</emphasis>	p5
+ivel	<emphasis role="opc">init</emphasis>	ivel<emphasis role="op">/</emphasis>127					<emphasis role="comment">;make velocity dependent</emphasis>
+kamp	<emphasis role="opc">linsegr</emphasis>	1, 1, 1, .1, 0
+kamp	<emphasis role="op">=</emphasis> kamp<emphasis role="op">/</emphasis>5000						<emphasis role="comment">;scale amplitude</emphasis>
+kfreq	<emphasis role="opc">init</emphasis>	1						<emphasis role="comment">;do not change freq from sf</emphasis>
+a1,a2	<emphasis role="opc">sfplay3</emphasis>	ivel, inum, kamp<emphasis role="op">*</emphasis>ivel, kfreq, p6
+	<emphasis role="opc">outs</emphasis>	a1, a2
+	
+<emphasis role="oblock">endin</emphasis>
+	
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>0  60		<emphasis role="comment">; stay active for 1 minute</emphasis>
+
+<emphasis role="stamnt">i</emphasis>1 0 1 60 127 0	<emphasis role="comment">;= Synth Strings I from first soundfont</emphasis>
+<emphasis role="stamnt">i</emphasis>1 + 1 62 <   .
+<emphasis role="stamnt">i</emphasis>1 + 1 65 <   .
+<emphasis role="stamnt">i</emphasis>1 + 1 69 10  .
+
+<emphasis role="stamnt">i</emphasis>1 5 1 60 127 1	<emphasis role="comment">;= AcousticGuitar from second soundfont</emphasis>
+<emphasis role="stamnt">i</emphasis>1 + 1 62 <   .
+<emphasis role="stamnt">i</emphasis>1 + 1 65 <   .
+<emphasis role="stamnt">i</emphasis>1 + 1 69 10  .
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/signum.csd.xml b/examples-xml/signum.csd.xml
new file mode 100644
index 0000000..84a51bf
--- /dev/null
+++ b/examples-xml/signum.csd.xml
@@ -0,0 +1,41 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o oscil.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis>     <emphasis role="op">=</emphasis>    44100
+<emphasis role="ohdr">kr</emphasis>     <emphasis role="op">=</emphasis>    4410
+<emphasis role="ohdr">ksmps</emphasis>  <emphasis role="op">=</emphasis>    10
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis>    2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis>    1
+
+gaArr[]  <emphasis role="opc">init</emphasis>  2
+
+<emphasis role="oblock">instr</emphasis> 1
+kEnv <emphasis role="opc">transeg</emphasis>    1, p3, <emphasis role="op">-</emphasis>3, 0
+
+a_pi <emphasis role="op">=</emphasis> 4 <emphasis role="op">*</emphasis> <emphasis role="opc">taninv</emphasis>(1.0)<emphasis role="comment">;</emphasis>
+a1   <emphasis role="opc">phasor</emphasis> 440<emphasis role="comment">;</emphasis>
+a2   <emphasis role="op">=</emphasis> <emphasis role="opc">sin</emphasis>(2 <emphasis role="op">*</emphasis> a_pi <emphasis role="op">*</emphasis> 1<emphasis role="op">/</emphasis><emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">*</emphasis> a1)<emphasis role="comment">;</emphasis>
+a3   <emphasis role="opc">dcblock2</emphasis> a2
+asig <emphasis role="op">=</emphasis> <emphasis role="opc">signum</emphasis>(a3)
+
+gaArr[0] <emphasis role="op">=</emphasis> a2   <emphasis role="op">*</emphasis> 0.6 <emphasis role="op">*</emphasis> kEnv 
+gaArr[1] <emphasis role="op">=</emphasis> asig <emphasis role="op">*</emphasis> 0.6 <emphasis role="op">*</emphasis> kEnv 
+
+<emphasis role="opc">outs</emphasis>  gaArr[0], gaArr[1]
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 3
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/sin.csd.xml b/examples-xml/sin.csd.xml
index c044f2d..f1e0494 100644
--- a/examples-xml/sin.csd.xml
+++ b/examples-xml/sin.csd.xml
@@ -2,36 +2,45 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o sin.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  irad <emphasis role="op">=</emphasis> 25
-  i1 <emphasis role="op">=</emphasis> <emphasis role="opc">sin</emphasis>(irad)
 
-  <emphasis role="opc">print</emphasis> i1
+isin1     <emphasis role="op">=</emphasis>          <emphasis role="opc">sin</emphasis>(0) 					<emphasis role="comment">;sine of 0 is 0</emphasis>
+isin2     <emphasis role="op">=</emphasis>          <emphasis role="opc">sin</emphasis>($M_PI_2) 				<emphasis role="comment">;sine of pi/2 (1.5707...) is 1</emphasis>
+isin3     <emphasis role="op">=</emphasis>          <emphasis role="opc">sin</emphasis>($M_PI) 				<emphasis role="comment">;sine of pi (3.1415...) is 0</emphasis>
+isin4     <emphasis role="op">=</emphasis>          <emphasis role="opc">sin</emphasis>($M_PI_2 <emphasis role="op">*</emphasis> 3) 				<emphasis role="comment">;sine of 3/2pi (4.7123...) is -1</emphasis>
+isin5     <emphasis role="op">=</emphasis>          <emphasis role="opc">sin</emphasis>($M_PI <emphasis role="op">*</emphasis> 2) 				<emphasis role="comment">;sine of 2pi (6.2831...) is 0</emphasis>
+isin6     <emphasis role="op">=</emphasis>          <emphasis role="opc">sin</emphasis>($M_PI <emphasis role="op">*</emphasis> 4) 				<emphasis role="comment">;sine of 4pi is also 0</emphasis>
+          <emphasis role="opc">print</emphasis>      isin1, isin2, isin3, isin4, isin5, isin6
 <emphasis role="oblock">endin</emphasis>
 
+<emphasis role="oblock">instr</emphasis> 2 <emphasis role="comment">;sin used in panning, after an example from Hans Mikelson</emphasis>
+
+aout      <emphasis role="opc">vco2</emphasis>       0.8, 220 					<emphasis role="comment">; sawtooth</emphasis>
+kpan      <emphasis role="opc">linseg</emphasis>     p4, p3, p5 <emphasis role="comment">;0 = left, 1 = right</emphasis>
+kpan      <emphasis role="op">=</emphasis>          kpan<emphasis role="op">*</emphasis>$M_PI_2 				<emphasis role="comment">;range 0-1 becomes 0-pi/2</emphasis>
+kpanl     <emphasis role="op">=</emphasis>          <emphasis role="opc">cos</emphasis>(kpan)
+kpanr     <emphasis role="op">=</emphasis>          <emphasis role="opc">sin</emphasis>(kpan)
+          <emphasis role="opc">outs</emphasis>       aout<emphasis role="op">*</emphasis>kpanl, aout<emphasis role="op">*</emphasis>kpanr
+<emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="stamnt">i</emphasis> 1 0 0
+<emphasis role="stamnt">i</emphasis> 2 0 5 0 1 <emphasis role="comment">;move left to right</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 5 5 1 0 <emphasis role="comment">;move right to left</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/sinsyn.csd.xml b/examples-xml/sinsyn.csd.xml
new file mode 100644
index 0000000..85c9727
--- /dev/null
+++ b/examples-xml/sinsyn.csd.xml
@@ -0,0 +1,36 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o sinsyn.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kmxtr <emphasis role="opc">init</emphasis> p4
+ain   <emphasis role="opc">diskin2</emphasis> "fox.wav", 1
+fs1,fsi2 <emphasis role="opc">pvsifd</emphasis> ain, 2048, 512,1	<emphasis role="comment">; ifd analysis</emphasis>
+fst   <emphasis role="opc">partials</emphasis> fs1, fsi2, .03, 1, 3, 500 <emphasis role="comment">; partial tracking</emphasis>
+aout  <emphasis role="opc">sinsyn</emphasis> fst, .5, kmxtr, 1		<emphasis role="comment">; scale amplitude down</emphasis>
+      <emphasis role="opc">outs</emphasis> aout, aout
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 8192 10 1
+
+<emphasis role="stamnt">i</emphasis> 1 0 2.7 15	<emphasis role="comment">;filtering effect by using low number of tracks</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 2.7 500	<emphasis role="comment">;maximum number of tracks</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/sleighbells.csd.xml b/examples-xml/sleighbells.csd.xml
index e313df7..8903df9 100644
--- a/examples-xml/sleighbells.csd.xml
+++ b/examples-xml/sleighbells.csd.xml
@@ -2,43 +2,42 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o sleighbells.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 22050
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 2205
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1: An example of sleighbells.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  a1 <emphasis role="opc">sleighbells</emphasis> 20000, 0.01
 
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
+<emphasis role="oblock">instr</emphasis> 1
 
+idamp <emphasis role="op">=</emphasis> p4
+asig  <emphasis role="opc">sleighbells</emphasis> .7, 0.01, 32, idamp
+      <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="stamnt">i</emphasis> 1 0.00 0.25
+<emphasis role="stamnt">i</emphasis> 1 0.00 0.25 0	<emphasis role="comment">;short sound</emphasis>
 <emphasis role="stamnt">i</emphasis> 1 0.30 0.25
 <emphasis role="stamnt">i</emphasis> 1 0.60 0.25
 <emphasis role="stamnt">i</emphasis> 1 0.90 0.25
 <emphasis role="stamnt">i</emphasis> 1 1.20 0.25
-<emphasis role="stamnt">i</emphasis> 1 1.50 0.25
-<emphasis role="stamnt">i</emphasis> 1 1.80 0.25
+<emphasis role="stamnt">i</emphasis> 1 1.50 1   .3	<emphasis role="comment">;longer sound</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 1.80 0.25 0	<emphasis role="comment">;short sound again</emphasis>
 <emphasis role="stamnt">i</emphasis> 1 2.10 0.25
 <emphasis role="stamnt">i</emphasis> 1 2.40 0.25
 <emphasis role="stamnt">i</emphasis> 1 2.70 0.25
 <emphasis role="stamnt">i</emphasis> 1 3.00 0.25
 <emphasis role="stamnt">e</emphasis>
 
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/slicearray.csd.xml b/examples-xml/slicearray.csd.xml
new file mode 100644
index 0000000..44c5735
--- /dev/null
+++ b/examples-xml/slicearray.csd.xml
@@ -0,0 +1,58 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-n
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+<emphasis role="comment">;create and fill an array</emphasis>
+kArr[]  <emphasis role="opc">genarray_i</emphasis> 1, 9
+
+<emphasis role="comment">;print the content</emphasis>
+        <emphasis role="opc">printf</emphasis>  "<emphasis role="op">%</emphasis>s", 1, "kArr <emphasis role="op">=</emphasis> whole array\n"
+kndx    <emphasis role="op">=</emphasis>       0
+  until kndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(kArr) do
+        <emphasis role="opc">printf</emphasis>  "kArr[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kndx<emphasis role="op">+</emphasis>1, kndx, kArr[kndx]
+kndx    <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>      1
+  od
+
+<emphasis role="comment">;build new arrays for the slices</emphasis>
+kArr1[] <emphasis role="opc">init</emphasis>    5
+kArr2[] <emphasis role="opc">init</emphasis>    4
+
+<emphasis role="comment">;put in first five and last four elements</emphasis>
+kArr1   <emphasis role="opc">slicearray</emphasis> kArr, 0, 4
+kArr2   <emphasis role="opc">slicearray</emphasis> kArr, 5, 8
+
+<emphasis role="comment">;print the content</emphasis>
+        <emphasis role="opc">printf</emphasis>  "<emphasis role="op">%</emphasis>s", 1, "\nkArr1 <emphasis role="op">=</emphasis> slice from index 0 to index 4\n"
+kndx    <emphasis role="op">=</emphasis>       0
+  until kndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(kArr1) do
+        <emphasis role="opc">printf</emphasis>  "kArr1[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kndx<emphasis role="op">+</emphasis>1, kndx, kArr1[kndx]
+kndx    <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>      1
+  od
+        <emphasis role="opc">printf</emphasis>  "<emphasis role="op">%</emphasis>s", 1, "\nkArr2 <emphasis role="op">=</emphasis> slice from index 5 to index 8\n"
+kndx    <emphasis role="op">=</emphasis>       0
+  until kndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(kArr2) do
+        <emphasis role="opc">printf</emphasis>  "kArr2[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kndx<emphasis role="op">+</emphasis>1, kndx, kArr2[kndx]
+kndx    <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>      1
+  od
+
+        <emphasis role="opc">turnoff</emphasis>
+<emphasis role="oblock">endin</emphasis>
+
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/sndloop.csd.xml b/examples-xml/sndloop.csd.xml
index 995275b..35b236b 100644
--- a/examples-xml/sndloop.csd.xml
+++ b/examples-xml/sndloop.csd.xml
@@ -2,38 +2,38 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o sndloop.wav -W -t60 ;;; for file output any platform</emphasis>
+<emphasis role="comment">; -o sndloop.wav -W  ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-ifade	<emphasis role="op">=</emphasis>	p4
-asig	<emphasis role="opc">diskin2</emphasis>	"beats.wav", 1		<emphasis role="comment">; get the signal in</emphasis>
-ktrig	<emphasis role="opc">line</emphasis>		0, 1, 1			<emphasis role="comment">; trigger signal</emphasis>
-aout,krec	<emphasis role="opc">sndloop</emphasis>	asig, .8, ktrig, .4, ifade	<emphasis role="comment">; rec starts at 1 sec, for 4 secs 0.05 crossfade</emphasis>
-	<emphasis role="opc">printk</emphasis>  1, krec                 		<emphasis role="comment">; prints the recording signal</emphasis>
-	<emphasis role="opc">out</emphasis>     aout
+
+itrig  <emphasis role="op">=</emphasis> p4
+asig   <emphasis role="opc">diskin2</emphasis> "beats.wav", 1, 0, 1		<emphasis role="comment">;get the signal in, loop it</emphasis>
+ktrig  <emphasis role="opc">line</emphasis> 0, itrig, 1				<emphasis role="comment">;when to trigger signal = p4</emphasis>
+kpitch <emphasis role="opc">line</emphasis> 1.2, p3, .5				<emphasis role="comment">;vary pitch of recorded signal</emphasis>
+aout,krec <emphasis role="opc">sndloop</emphasis> asig, kpitch, ktrig, .4, 0.05	<emphasis role="comment">;rec starts at p4 sec, for .4 secs and 0.05 crossfade</emphasis>
+       <emphasis role="opc">printk2</emphasis> krec               	  	<emphasis role="comment">; prints the recording signal</emphasis>
+       <emphasis role="opc">outs</emphasis>    aout, aout
 
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="stamnt">i</emphasis>1 0 3.5 .05
-<emphasis role="stamnt">i</emphasis>1 + 3.5 .25
+<emphasis role="stamnt">i</emphasis>1 0 5 .5	<emphasis role="comment">;trigger in seconds (=p4)</emphasis>
+<emphasis role="stamnt">i</emphasis>1 + 5 .8
+<emphasis role="stamnt">i</emphasis>1 + 10 1.2
 
 <emphasis role="stamnt">e</emphasis>
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/sndwarp.csd.xml b/examples-xml/sndwarp.csd.xml
index e12758f..f996d35 100644
--- a/examples-xml/sndwarp.csd.xml
+++ b/examples-xml/sndwarp.csd.xml
@@ -2,65 +2,42 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o sndwarp.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
-<emphasis role="comment">; Instrument #1 - play an audio file.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Use the audio file defined in Table #1.</emphasis>
-  a1 <emphasis role="opc">loscil</emphasis> 30000, 1, 1, 1
 
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
+ktimewarp <emphasis role="opc">line</emphasis> 0, p3, 2.7	<emphasis role="comment">;length of "fox.wav"</emphasis>
+kresample <emphasis role="opc">init</emphasis> 1		<emphasis role="comment">;do not change pitch</emphasis>
+ibeg <emphasis role="op">=</emphasis> 0			<emphasis role="comment">;start at beginning</emphasis>
+iwsize <emphasis role="op">=</emphasis> 4410			<emphasis role="comment">;window size in samples with</emphasis>
+irandw <emphasis role="op">=</emphasis> 882			<emphasis role="comment">;bandwidth of a random number generator</emphasis>
+itimemode <emphasis role="op">=</emphasis> 1			<emphasis role="comment">;ktimewarp is "time" pointer</emphasis>
+ioverlap <emphasis role="op">=</emphasis> p4
 
-<emphasis role="comment">; Instrument #2 - time-stretch an audio file.</emphasis>
-<emphasis role="oblock">instr</emphasis> 2
-  kamp <emphasis role="opc">init</emphasis> 6500
-  <emphasis role="comment">; Start at 1 second and end at 3.5 seconds.</emphasis>
-  ktimewarp <emphasis role="opc">line</emphasis> 1, p3, 3.5
-  <emphasis role="comment">; Playback at the normal speed.</emphasis>
-  kresample <emphasis role="opc">init</emphasis> 1
-  <emphasis role="comment">; Use the audio file defined in Table #1.</emphasis>
-  ifn1 <emphasis role="op">=</emphasis> 1
-  ibeg <emphasis role="op">=</emphasis> 0
-  iwsize <emphasis role="op">=</emphasis> 4410
-  irandw <emphasis role="op">=</emphasis> 882
-  ioverlap <emphasis role="op">=</emphasis> 15
-  <emphasis role="comment">; Use Table #2 for the windowing function.</emphasis>
-  ifn2 <emphasis role="op">=</emphasis> 2
-  <emphasis role="comment">; Use the ktimewarp parameter as a "time" pointer.</emphasis>
-  itimemode <emphasis role="op">=</emphasis> 1
+asig <emphasis role="opc">sndwarp</emphasis> .5, ktimewarp, kresample, 1, ibeg, iwsize, irandw, ioverlap, 2, itimemode
+     <emphasis role="opc">outs</emphasis> asig, asig
 
-  a1 <emphasis role="opc">sndwarp</emphasis> kamp, ktimewarp, kresample, ifn1, ibeg, iwsize, irandw, ioverlap, ifn2, itimemode
-  <emphasis role="opc">out</emphasis> a1
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 131072 1 "<emphasis role="stamnt">f</emphasis>ox.wav" 0 0 0	<emphasis role="comment">; audio file</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 1024 9 0.5 1 0		<emphasis role="comment">; half of a sine wave</emphasis>
 
-<emphasis role="comment">; Table #1: an audio file.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 262144 1 "mary.wav" 0 0 0
-<emphasis role="comment">; Table #2: half of a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 2 0 16384 9 0.5 1 0
-
-<emphasis role="comment">; Play Instrument #1 for 3.5 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 3.5
-<emphasis role="comment">; Play Instrument #2 for 7 seconds (time-stretched).</emphasis>
-<emphasis role="stamnt">i</emphasis> 2 3.5 10.5
+<emphasis role="stamnt">i</emphasis> 1 0 7 2			<emphasis role="comment">;different overlaps</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 7 5
+<emphasis role="stamnt">i</emphasis> 1 + 7 15
 <emphasis role="stamnt">e</emphasis>
 
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/sndwarpst.csd.xml b/examples-xml/sndwarpst.csd.xml
index fa943af..fbe4ac5 100644
--- a/examples-xml/sndwarpst.csd.xml
+++ b/examples-xml/sndwarpst.csd.xml
@@ -2,54 +2,44 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o sndwarpst.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="opc">init</emphasis> 10000
-  <emphasis role="comment">; Start at 1 second and end at 3.5 seconds.</emphasis>
-  ktimewarp <emphasis role="opc">line</emphasis> 1, p3, 1.5
-  <emphasis role="comment">; Playback at the normal speed.</emphasis>
-  kresample <emphasis role="opc">init</emphasis> 4
-  <emphasis role="comment">; Use the audio file defined in Table #1.</emphasis>
-  ifn1 <emphasis role="op">=</emphasis> 1
-  ibeg <emphasis role="op">=</emphasis> 0
-  iwsize <emphasis role="op">=</emphasis> 4410
-  irandw <emphasis role="op">=</emphasis> 100
-  ioverlap <emphasis role="op">=</emphasis> 15
-  <emphasis role="comment">; Use Table #2 for the windowing function.</emphasis>
-  ifn2 <emphasis role="op">=</emphasis> 2
-  <emphasis role="comment">; Use the ktimewarp parameter as a "time" pointer.</emphasis>
-  itimemode <emphasis role="op">=</emphasis> 1
 
-  a1, a2 <emphasis role="opc">sndwarp</emphasis> kamp, ktimewarp, kresample, ifn1, ibeg, iwsize, irandw, ioverlap, ifn2, itimemode
-  <emphasis role="opc">outs</emphasis> a1, a2
+ktimewarp <emphasis role="opc">line</emphasis> 0, p3, 1		<emphasis role="comment">;length of stereo file "kickroll.wav"</emphasis>
+kresample <emphasis role="opc">init</emphasis> 1		<emphasis role="comment">;playback at the normal speed</emphasis>
+ibeg <emphasis role="op">=</emphasis> 0
+iwsize <emphasis role="op">=</emphasis> 4410
+irandw <emphasis role="op">=</emphasis> 441
+ioverlap <emphasis role="op">=</emphasis> p4
+itimemode <emphasis role="op">=</emphasis> 1			<emphasis role="comment">; Use the ktimewarp parameter as a "time" pointer</emphasis>
+
+aL, aR <emphasis role="opc">sndwarpst</emphasis> .3, ktimewarp, kresample, 1, ibeg, iwsize, irandw, ioverlap, 2, itimemode
+aL <emphasis role="opc">dcblock</emphasis> aL			<emphasis role="comment">;get rid of DC offsets for left channel &</emphasis>
+aR <emphasis role="opc">dcblock</emphasis> aR			<emphasis role="comment">;right channel</emphasis>
+   <emphasis role="opc">outs</emphasis> aL, aR
   
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="comment">; Table #1: an audio file.</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 65536 1 "kickroll.wav" 0 0 0
-<emphasis role="comment">; Table #2: half of a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 2 0 16384 9 0.5 1 0
+<emphasis role="stamnt">f</emphasis> 2 0 16384 9 0.5 1 0		<emphasis role="comment">;half of a sine wave</emphasis>
 
-<emphasis role="stamnt">i</emphasis> 1 0 10
+<emphasis role="stamnt">i</emphasis> 1 0 7 2			<emphasis role="comment">;different overlaps</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 7 5
+<emphasis role="stamnt">i</emphasis> 1 + 7 15
 <emphasis role="stamnt">e</emphasis>
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/soundin.csd.xml b/examples-xml/soundin.csd.xml
index 35ebe11..5ac0540 100644
--- a/examples-xml/soundin.csd.xml
+++ b/examples-xml/soundin.csd.xml
@@ -2,34 +2,39 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+<emphasis role="comment">;-odac     ;;;realtime audio out</emphasis>
+-iadc   <emphasis role="comment">;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o soundin.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">;-o soundin.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 1
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1 - play an audio file.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  asig <emphasis role="opc">soundin</emphasis> "beats.wav"
-  <emphasis role="opc">out</emphasis> asig
-<emphasis role="oblock">endin</emphasis>
+<emphasis role="oblock">instr</emphasis> 1 <emphasis role="comment">; choose between mono or stereo file</emphasis>
+
+ichn <emphasis role="opc">filenchnls</emphasis>  p4	<emphasis role="comment">;check number of channels</emphasis>
+<emphasis role="opc">print</emphasis>  ichn
 
+<emphasis role="octrl">if</emphasis> ichn <emphasis role="op">==</emphasis> 1 then	
+asig   <emphasis role="opc">soundin</emphasis> p4	<emphasis role="comment">;mono signal</emphasis>
+       <emphasis role="opc">outs</emphasis>    asig, asig
+<emphasis role="octrl">else</emphasis>			<emphasis role="comment">;stereo signal</emphasis>
+aL, aR <emphasis role="opc">soundin</emphasis> p4
+       <emphasis role="opc">outs</emphasis>    aL, aR
+<emphasis role="octrl">endif</emphasis>
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1, the audio file, for three seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 3
-<emphasis role="stamnt">e</emphasis>
-
+<emphasis role="stamnt">i</emphasis> 1 0 3 "fox.wav"	<emphasis role="comment">;mono signal</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 5 2 "k<emphasis role="stamnt">i</emphasis>ckroll.wav"	<emphasis role="comment">;stereo signal</emphasis>
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/space_quad.csd.xml b/examples-xml/space_quad.csd.xml
index d9bc837..09094c1 100644
--- a/examples-xml/space_quad.csd.xml
+++ b/examples-xml/space_quad.csd.xml
@@ -2,15 +2,16 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d   <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o space_quad.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 4
   
 ga1	<emphasis role="opc">init</emphasis>	0
@@ -18,45 +19,44 @@ ga2	<emphasis role="opc">init</emphasis>	0
 ga3	<emphasis role="opc">init</emphasis>	0
 ga4	<emphasis role="opc">init</emphasis>	0
 
-<emphasis role="oblock">instr</emphasis> 1
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;uses GEN28 file "move", as found in /manual/examples</emphasis>
 
-asig	<emphasis role="opc">diskin2</emphasis>	"beats.wav", 1
-a1, a2, a3, a4	<emphasis role="opc">space</emphasis>	asig, 0, 0, .1, p4, p5	<emphasis role="comment">; take position values from p4, p5</emphasis>
-ar1, ar2, ar3, ar4	<emphasis role="opc">spsend</emphasis>
+kx    <emphasis role="opc">init</emphasis> 0
+ky    <emphasis role="opc">init</emphasis> 0
+ktime <emphasis role="opc">line</emphasis>  0, 5, 5				<emphasis role="comment">;same time as in table 1 (="move")</emphasis>
+asig  <emphasis role="opc">diskin2</emphasis> "beats.wav", 1, 0, 1		<emphasis role="comment">;sound source is looped</emphasis>
+a1, a2, a3, a4 <emphasis role="opc">space</emphasis> asig, 1, ktime, .1, kx, ky	<emphasis role="comment">;use table 1 = GEN28</emphasis>
+ar1, ar2, ar3, ar4 <emphasis role="opc">spsend</emphasis>			<emphasis role="comment">;send to reverb</emphasis>
 
 ga1  <emphasis role="op">=</emphasis> ga1<emphasis role="op">+</emphasis>ar1
 ga2  <emphasis role="op">=</emphasis> ga2<emphasis role="op">+</emphasis>ar2
 ga3  <emphasis role="op">=</emphasis> ga3<emphasis role="op">+</emphasis>ar3
 ga4  <emphasis role="op">=</emphasis> ga4<emphasis role="op">+</emphasis>ar4
-	<emphasis role="opc">outq</emphasis>	a1, a2, a3, a4
+     <emphasis role="opc">outq</emphasis> a1, a2, a3, a4
+
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 99 <emphasis role="comment">; reverb instrument</emphasis>
 
-a1	<emphasis role="opc">reverb2</emphasis>	ga1, 2.5, .5
-a2	<emphasis role="opc">reverb2</emphasis>	ga2, 2.5, .5
-a3	<emphasis role="opc">reverb2</emphasis>  ga3, 2.5, .5
-a4	<emphasis role="opc">reverb2</emphasis>  ga4, 2.5, .5
-	<emphasis role="opc">outq</emphasis>	a1, a2, a3, a4
+a1 <emphasis role="opc">reverb2</emphasis> ga1, 2.5, .5
+a2 <emphasis role="opc">reverb2</emphasis> ga2, 2.5, .5
+a3 <emphasis role="opc">reverb2</emphasis> ga3, 2.5, .5
+a4 <emphasis role="opc">reverb2</emphasis> ga4, 2.5, .5
+   <emphasis role="opc">outq</emphasis>	a1, a2, a3, a4
 
-ga1<emphasis role="op">=</emphasis>0
+ga1<emphasis role="op">=</emphasis>0	
 ga2<emphasis role="op">=</emphasis>0
 ga3<emphasis role="op">=</emphasis>0
 ga4<emphasis role="op">=</emphasis>0
 
 <emphasis role="oblock">endin</emphasis>
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="comment">;place the sound in the left speaker and near</emphasis>
-  <emphasis role="stamnt">i</emphasis>1 0 1 -1 1
-<emphasis role="comment">;place the sound in the right speaker and far</emphasis>
-  <emphasis role="stamnt">i</emphasis>1 1 1 45 45
-<emphasis role="comment">;place the sound equally between left and right and in the middle ground distance</emphasis>
-  <emphasis role="stamnt">i</emphasis>1 2 1 0 12
-
-  <emphasis role="stamnt">i</emphasis> 99 0 5
-  <emphasis role="stamnt">e</emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 0 28 "move"
+
+<emphasis role="stamnt">i</emphasis>1 0 5		<emphasis role="comment">;same time as ktime</emphasis>
+<emphasis role="stamnt">i</emphasis> 99 0 10	<emphasis role="comment">;keep reverb active</emphasis>
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/space_stereo.csd.xml b/examples-xml/space_stereo.csd.xml
index 0ebd1d2..d2fbfc2 100644
--- a/examples-xml/space_stereo.csd.xml
+++ b/examples-xml/space_stereo.csd.xml
@@ -2,37 +2,41 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d   <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o space_stereo.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
- <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
   
-ga1	<emphasis role="opc">init</emphasis>	0
-ga2	<emphasis role="opc">init</emphasis>	0
+ga1 <emphasis role="opc">init</emphasis> 0
+ga2 <emphasis role="opc">init</emphasis> 0
 
 <emphasis role="oblock">instr</emphasis> 1
 
-asig	<emphasis role="opc">diskin2</emphasis>	"beats.wav", 1
-a1, a2, a3, a4	<emphasis role="opc">space</emphasis>	asig, 0, 0, .1, p4, p5	<emphasis role="comment">; take position values from p4, p5</emphasis>
-ar1, ar2, ar3, ar4	<emphasis role="opc">spsend</emphasis>				<emphasis role="comment">; a3, a4, ar3, ar4 are dummies</emphasis>
+kx   <emphasis role="op">=</emphasis> p4
+ky   <emphasis role="op">=</emphasis> p5
+asig <emphasis role="opc">diskin2</emphasis> "beats.wav", 1
+a1, a2, a3, a4 <emphasis role="opc">space</emphasis> asig, 0, 0, .1, kx, ky	<emphasis role="comment">;take position values from p4, p5</emphasis>
+ar1, ar2, ar3, ar4 <emphasis role="opc">spsend</emphasis>			<emphasis role="comment">;send to reverb</emphasis>
 
-ga1  <emphasis role="op">=</emphasis> ga1<emphasis role="op">+</emphasis>ar1
-ga2  <emphasis role="op">=</emphasis> ga2<emphasis role="op">+</emphasis>ar2
+ga1 <emphasis role="op">=</emphasis> ga1<emphasis role="op">+</emphasis>ar1
+ga2 <emphasis role="op">=</emphasis> ga2<emphasis role="op">+</emphasis>ar2
+    <emphasis role="opc">outs</emphasis> a1, a2
 
-	<emphasis role="opc">outs</emphasis>	a1, a2
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 99 <emphasis role="comment">; reverb instrument</emphasis>
 
-a1	<emphasis role="opc">reverb2</emphasis>	ga1, 2.5, .5
-a2	<emphasis role="opc">reverb2</emphasis>	ga2, 2.5, .5
-	<emphasis role="opc">outs</emphasis>	a1, a2
+a1 <emphasis role="opc">reverb2</emphasis> ga1, 2.5, .5
+a2 <emphasis role="opc">reverb2</emphasis> ga2, 2.5, .5
+   <emphasis role="opc">outs</emphasis>	a1, a2
+
 ga1<emphasis role="op">=</emphasis>0
 ga2<emphasis role="op">=</emphasis>0
 
@@ -41,14 +45,14 @@ ga2<emphasis role="op">=</emphasis>0
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 <emphasis role="comment">;place the sound in the left speaker and near</emphasis>
-  <emphasis role="stamnt">i</emphasis>1 0 1 -1 1
+<emphasis role="stamnt">i</emphasis>1 0 1 -1 1
 <emphasis role="comment">;place the sound in the right speaker and far</emphasis>
-  <emphasis role="stamnt">i</emphasis>1 1 1 45 45
+<emphasis role="stamnt">i</emphasis>1 1 1 45 45
 <emphasis role="comment">;place the sound equally between left and right and in the middle ground distance</emphasis>
-  <emphasis role="stamnt">i</emphasis>1 2 1 0 12
+<emphasis role="stamnt">i</emphasis>1 2 1 0 12
 
-  <emphasis role="stamnt">i</emphasis> 99 0 5
-  <emphasis role="stamnt">e</emphasis>
+<emphasis role="stamnt">i</emphasis> 99 0 7	<emphasis role="comment">;keep reverb active</emphasis>
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/spat3d_UHJ.csd.xml b/examples-xml/spat3d_UHJ.csd.xml
index 5b84d02..4301e92 100644
--- a/examples-xml/spat3d_UHJ.csd.xml
+++ b/examples-xml/spat3d_UHJ.csd.xml
@@ -46,7 +46,7 @@ affrq	<emphasis role="opc">upsamp</emphasis> kffrq1
 affrq	<emphasis role="opc">pareq</emphasis> affrq, 5.0, 0.0, 1.0, 2
 kffrq	<emphasis role="opc">downsamp</emphasis> affrq
 aenv4	<emphasis role="opc">phasor</emphasis> 3.0
-aenv4	<emphasis role="opc">limit</emphasis> 2.0 <emphasis role="op">-</emphasis> aenv4 <emphasis role="op">*</emphasis> 8.0, 0.0, 1.0
+aenv4	limit 2.0 <emphasis role="op">-</emphasis> aenv4 <emphasis role="op">*</emphasis> 8.0, 0.0, 1.0
 a1	<emphasis role="opc">butterbp</emphasis> a1 <emphasis role="op">*</emphasis> aenv4, kffrq, 160.0
 aenv	<emphasis role="opc">linseg</emphasis> 1.0, p3 <emphasis role="op">-</emphasis> 1.0, 1.0, 0.04, 0.0, 1.0, 0.0
 a_	<emphasis role="op">=</emphasis>  4000000 <emphasis role="op">*</emphasis> a1 <emphasis role="op">*</emphasis> aenv <emphasis role="op">+</emphasis> 0.00000001
diff --git a/examples-xml/spat3d_quad.csd.xml b/examples-xml/spat3d_quad.csd.xml
index a697c7c..a642a37 100644
--- a/examples-xml/spat3d_quad.csd.xml
+++ b/examples-xml/spat3d_quad.csd.xml
@@ -37,8 +37,8 @@ a1      <emphasis role="opc">phasor</emphasis> 150              <emphasis role="
 a1      <emphasis role="opc">butterbp</emphasis> a1, 500, 200   <emphasis role="comment">; filter</emphasis>
 a1      <emphasis role="op">=</emphasis>  <emphasis role="opc">taninv</emphasis>(a1 <emphasis role="op">*</emphasis> 100)
 a2      <emphasis role="opc">phasor</emphasis> 3                <emphasis role="comment">; envelope</emphasis>
-a2      <emphasis role="opc">mirror</emphasis> 40<emphasis role="op">*</emphasis>a2, <emphasis role="op">-</emphasis>100, 5
-a2      <emphasis role="opc">limit</emphasis> a2, 0, 1
+a2      mirror 40<emphasis role="op">*</emphasis>a2, <emphasis role="op">-</emphasis>100, 5
+a2      limit a2, 0, 1
 a1      <emphasis role="op">=</emphasis>  a1 <emphasis role="op">*</emphasis> a2 <emphasis role="op">*</emphasis> 9000
 
 kazim   <emphasis role="opc">line</emphasis> 0, 2.5, 360        <emphasis role="comment">; move sound source around</emphasis>
diff --git a/examples-xml/spat3d_stereo.csd.xml b/examples-xml/spat3d_stereo.csd.xml
index 71fa6c7..754c560 100644
--- a/examples-xml/spat3d_stereo.csd.xml
+++ b/examples-xml/spat3d_stereo.csd.xml
@@ -37,8 +37,8 @@ a1      <emphasis role="opc">phasor</emphasis> 150              <emphasis role="
 a1      <emphasis role="opc">butterbp</emphasis> a1, 500, 200   <emphasis role="comment">; filter</emphasis>
 a1      <emphasis role="op">=</emphasis>  <emphasis role="opc">taninv</emphasis>(a1 <emphasis role="op">*</emphasis> 100)
 a2      <emphasis role="opc">phasor</emphasis> 3                <emphasis role="comment">; envelope</emphasis>
-a2      <emphasis role="opc">mirror</emphasis> 40<emphasis role="op">*</emphasis>a2, <emphasis role="op">-</emphasis>100, 5
-a2      <emphasis role="opc">limit</emphasis> a2, 0, 1
+a2      mirror 40<emphasis role="op">*</emphasis>a2, <emphasis role="op">-</emphasis>100, 5
+a2      limit a2, 0, 1
 a1      <emphasis role="op">=</emphasis>  a1 <emphasis role="op">*</emphasis> a2 <emphasis role="op">*</emphasis> 9000
 
 kazim   <emphasis role="opc">line</emphasis> 0, 2.5, 360        <emphasis role="comment">; move sound source around</emphasis>
diff --git a/examples-xml/spat3dt.csd.xml b/examples-xml/spat3dt.csd.xml
new file mode 100644
index 0000000..b58c65e
--- /dev/null
+++ b/examples-xml/spat3dt.csd.xml
@@ -0,0 +1,94 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o spat3dt.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+ 
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32  
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+garvb   <emphasis role="opc">init</emphasis> 0 
+gaW     <emphasis role="opc">init</emphasis> 0 
+gaX     <emphasis role="opc">init</emphasis> 0 
+gaY     <emphasis role="opc">init</emphasis> 0 
+
+itmp <emphasis role="ohdr">ftgen</emphasis> 1, 0, 64, <emphasis role="op">-</emphasis>2, 2, 40, <emphasis role="op">-</emphasis>1, <emphasis role="op">-</emphasis>1, <emphasis role="op">-</emphasis>1, 123,          \ 
+           1, 13.000, 0.05, 0.85, 20000.0, 0.0, 0.50, 2,   \ 
+           1,  2.000, 0.05, 0.85, 20000.0, 0.0, 0.25, 2,   \ 
+           1, 16.000, 0.05, 0.85, 20000.0, 0.0, 0.35, 2,   \ 
+           1,  9.000, 0.05, 0.85, 20000.0, 0.0, 0.35, 2,   \ 
+           1, 12.000, 0.05, 0.85, 20000.0, 0.0, 0.35, 2,   \ 
+           1,  8.000, 0.05, 0.85, 20000.0, 0.0, 0.35, 2 
+
+itmp <emphasis role="ohdr">ftgen</emphasis> 2, 0, 262144, <emphasis role="op">-</emphasis>2, 0 
+     <emphasis role="opc">spat3dt</emphasis> 2, <emphasis role="op">-</emphasis>0.2, 1, 0, 1, 1, 2, 0.005 
+
+itmp <emphasis role="ohdr">ftgen</emphasis> 3, 0, 262144, <emphasis role="op">-</emphasis>52, 3, 2, 0, 4, 2, 1, 4, 2, 2, 4 
+
+<emphasis role="oblock">instr</emphasis> 1 
+
+a1   <emphasis role="opc">vco2</emphasis> 1, 440, 10 
+kfrq <emphasis role="opc">port</emphasis> 100, 0.008, 20000 
+a1   <emphasis role="opc">butterlp</emphasis> a1, kfrq 
+a2   <emphasis role="opc">linseg</emphasis> 0, 0.003, 1, 0.01, 0.7, 0.005, 0, 1, 0 
+a1   <emphasis role="op">=</emphasis>  a1 <emphasis role="op">*</emphasis> a2 <emphasis role="op">*</emphasis> 2 
+     <emphasis role="opc">denorm</emphasis> a1 
+     <emphasis role="opc">vincr</emphasis> garvb, a1 
+aw, ax, ay, az <emphasis role="opc">spat3di</emphasis> a1, p4, p5, p6, 1, 1, 2 
+     <emphasis role="opc">vincr</emphasis> gaW, aw 
+     <emphasis role="opc">vincr</emphasis> gaX, ax 
+     <emphasis role="opc">vincr</emphasis> gaY, ay 
+
+<emphasis role="oblock">endin</emphasis> 
+
+<emphasis role="oblock">instr</emphasis> 2 
+
+<emphasis role="opc">denorm</emphasis> garvb 
+<emphasis role="comment">; skip as many samples as possible without truncating the IR </emphasis>
+arW, arX, arY <emphasis role="opc">ftconv</emphasis> garvb, 3, 2048, 2048, (65536 <emphasis role="op">-</emphasis> 2048) 
+aW     <emphasis role="op">=</emphasis>  gaW <emphasis role="op">+</emphasis> arW 
+aX     <emphasis role="op">=</emphasis>  gaX <emphasis role="op">+</emphasis> arX 
+aY     <emphasis role="op">=</emphasis>  gaY <emphasis role="op">+</emphasis> arY 
+garvb  <emphasis role="op">=</emphasis>  0 
+gaW    <emphasis role="op">=</emphasis>  0 
+gaX    <emphasis role="op">=</emphasis>  0 
+gaY    <emphasis role="op">=</emphasis>  0 
+
+aWre, aWim <emphasis role="opc">hilbert</emphasis> aW 
+aXre, aXim <emphasis role="opc">hilbert</emphasis> aX 
+aYre, aYim <emphasis role="opc">hilbert</emphasis> aY 
+aWXr    <emphasis role="op">=</emphasis>  0.0928<emphasis role="op">*</emphasis>aXre <emphasis role="op">+</emphasis> 0.4699<emphasis role="op">*</emphasis>aWre 
+aWXiYr  <emphasis role="op">=</emphasis>  0.2550<emphasis role="op">*</emphasis>aXim <emphasis role="op">-</emphasis> 0.1710<emphasis role="op">*</emphasis>aWim <emphasis role="op">+</emphasis> 0.3277<emphasis role="op">*</emphasis>aYre 
+aL      <emphasis role="op">=</emphasis>  aWXr <emphasis role="op">+</emphasis> aWXiYr 
+aR      <emphasis role="op">=</emphasis>  aWXr <emphasis role="op">-</emphasis> aWXiYr 
+        <emphasis role="opc">outs</emphasis> aL, aR 
+
+<emphasis role="oblock">endin</emphasis> 
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+ 
+
+<emphasis role="stamnt">i</emphasis> 1 0 0.5  0.0  2.0 -0.8 
+<emphasis role="stamnt">i</emphasis> 1 1 0.5  1.4  1.4 -0.6 
+<emphasis role="stamnt">i</emphasis> 1 2 0.5  2.0  0.0 -0.4 
+<emphasis role="stamnt">i</emphasis> 1 3 0.5  1.4 -1.4 -0.2 
+<emphasis role="stamnt">i</emphasis> 1 4 0.5  0.0 -2.0  0.0 
+<emphasis role="stamnt">i</emphasis> 1 5 0.5 -1.4 -1.4  0.2 
+<emphasis role="stamnt">i</emphasis> 1 6 0.5 -2.0  0.0  0.4 
+<emphasis role="stamnt">i</emphasis> 1 7 0.5 -1.4  1.4  0.6 
+<emphasis role="stamnt">i</emphasis> 1 8 0.5  0.0  2.0  0.8 
+<emphasis role="stamnt">i</emphasis> 2 0 10 
+<emphasis role="stamnt">e</emphasis> 
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/spdist.csd.xml b/examples-xml/spdist.csd.xml
new file mode 100644
index 0000000..ce78bdf
--- /dev/null
+++ b/examples-xml/spdist.csd.xml
@@ -0,0 +1,66 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o spdist.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 4
+  
+ga1	<emphasis role="opc">init</emphasis>	0
+ga2	<emphasis role="opc">init</emphasis>	0
+ga3	<emphasis role="opc">init</emphasis>	0
+ga4	<emphasis role="opc">init</emphasis>	0
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;uses GEN28 file "move2", as found in /manual/examples</emphasis>
+
+ifreq <emphasis role="op">=</emphasis> 1
+kx    <emphasis role="opc">init</emphasis> 0
+ky    <emphasis role="opc">init</emphasis> 0
+ktime <emphasis role="opc">line</emphasis>  0, 5.6, 5.6				<emphasis role="comment">;same time as in table 1 (="move2")</emphasis>
+kdist <emphasis role="opc">spdist</emphasis> 1, ktime, kx, ky
+kfreq <emphasis role="op">=</emphasis> (ifreq<emphasis role="op">*</emphasis>340) <emphasis role="op">/</emphasis> (340 <emphasis role="op">+</emphasis> kdist)		<emphasis role="comment">;calculate doppler shift</emphasis>
+<emphasis role="opc">printk2</emphasis> kdist					<emphasis role="comment">;print distance values</emphasis>
+asig  <emphasis role="opc">diskin2</emphasis> "flute.aiff", kfreq, 0, 1		<emphasis role="comment">;sound source is looped</emphasis>
+a1, a2, a3, a4 <emphasis role="opc">space</emphasis> asig, 1, ktime, .1, kx, ky	<emphasis role="comment">;use table 1 = GEN28</emphasis>
+ar1, ar2, ar3, ar4 <emphasis role="opc">spsend</emphasis>			<emphasis role="comment">;send to reverb</emphasis>
+
+ga1  <emphasis role="op">=</emphasis> ga1<emphasis role="op">+</emphasis>ar1
+ga2  <emphasis role="op">=</emphasis> ga2<emphasis role="op">+</emphasis>ar2
+ga3  <emphasis role="op">=</emphasis> ga3<emphasis role="op">+</emphasis>ar3
+ga4  <emphasis role="op">=</emphasis> ga4<emphasis role="op">+</emphasis>ar4
+     <emphasis role="opc">outq</emphasis> a1, a2, a3, a4
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 99 <emphasis role="comment">; reverb instrument</emphasis>
+
+a1 <emphasis role="opc">reverb2</emphasis> ga1, 2.5, .5
+a2 <emphasis role="opc">reverb2</emphasis> ga2, 2.5, .5
+a3 <emphasis role="opc">reverb2</emphasis> ga3, 2.5, .5
+a4 <emphasis role="opc">reverb2</emphasis> ga4, 2.5, .5
+   <emphasis role="opc">outq</emphasis>	a1, a2, a3, a4
+
+ga1<emphasis role="op">=</emphasis>0	
+ga2<emphasis role="op">=</emphasis>0
+ga3<emphasis role="op">=</emphasis>0
+ga4<emphasis role="op">=</emphasis>0
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 0 28 "move2"	<emphasis role="comment">;from left front and left rear to the middle in front</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 5.6		<emphasis role="comment">;same time as ktime</emphasis>
+<emphasis role="stamnt">i</emphasis> 99 0 10		<emphasis role="comment">;keep reverb active</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/sprintf.csd.xml b/examples-xml/sprintf.csd.xml
new file mode 100644
index 0000000..8aa3d13
--- /dev/null
+++ b/examples-xml/sprintf.csd.xml
@@ -0,0 +1,35 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o sprintf.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="comment">;the file "impuls20.aiff" can be found in /manual/examples</emphasis>
+<emphasis role="oblock">instr</emphasis> 1
+
+ifn <emphasis role="op">=</emphasis> 20
+Sname <emphasis role="opc">sprintf</emphasis> "impuls<emphasis role="op">%</emphasis>02d.aiff", ifn
+Smsg  <emphasis role="opc">sprintf</emphasis> "The file name is<emphasis role="op">:</emphasis> '<emphasis role="op">%</emphasis>s'", Sname
+      <emphasis role="opc">puts</emphasis>    Smsg, 1
+asig  <emphasis role="opc">soundin</emphasis> Sname
+      <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/spsend.csd.xml b/examples-xml/spsend.csd.xml
new file mode 100644
index 0000000..8847191
--- /dev/null
+++ b/examples-xml/spsend.csd.xml
@@ -0,0 +1,66 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o spsend.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2	<emphasis role="comment">;stereo output</emphasis>
+  
+ga1 <emphasis role="opc">init</emphasis> 0
+ga2 <emphasis role="opc">init</emphasis> 0
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;sends different amounts to reverb</emphasis>
+
+irev <emphasis role="op">=</emphasis> p6
+asig <emphasis role="opc">diskin2</emphasis> "fox.wav", 1
+a1, a2, a3, a4 <emphasis role="opc">space</emphasis> asig, 0, 0, irev, p4, p5	<emphasis role="comment">;take position values from p4, p5</emphasis>
+ar1, ar2, ar3, ar4 <emphasis role="opc">spsend</emphasis>			<emphasis role="comment">;send to reverb</emphasis>
+
+ga1 <emphasis role="op">=</emphasis> ga1<emphasis role="op">+</emphasis>ar1
+ga2 <emphasis role="op">=</emphasis> ga2<emphasis role="op">+</emphasis>ar2
+    <emphasis role="opc">outs</emphasis> a1, a2
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 99 <emphasis role="comment">; reverb instrument</emphasis>
+
+a1 <emphasis role="opc">reverb2</emphasis> ga1, 2.5, .5
+a2 <emphasis role="opc">reverb2</emphasis> ga2, 2.5, .5
+   <emphasis role="opc">outs</emphasis>	a1, a2
+
+ga1<emphasis role="op">=</emphasis>0
+ga2<emphasis role="op">=</emphasis>0
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">;WITH REVERB</emphasis>
+<emphasis role="comment">;place the sound in the left speaker and near</emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 1 -1 1 .1
+<emphasis role="comment">;place the sound in the right speaker and far</emphasis>
+<emphasis role="stamnt">i</emphasis>1 1 1 45 45 .1
+<emphasis role="comment">;place the sound equally between left and right and in the middle ground distance</emphasis>
+<emphasis role="stamnt">i</emphasis>1 2 1 0 12 .1
+
+<emphasis role="comment">;NO REVERB</emphasis>
+<emphasis role="comment">;place the sound in the left speaker and near</emphasis>
+<emphasis role="stamnt">i</emphasis>1 6 1 -1 1 0
+<emphasis role="comment">;place the sound in the right speaker and far</emphasis>
+<emphasis role="stamnt">i</emphasis>1 7 1 45 45 0
+<emphasis role="comment">;place the sound equally between left and right and in the middle ground distance</emphasis>
+<emphasis role="stamnt">i</emphasis>1 8 1 0 12 0
+
+<emphasis role="stamnt">i</emphasis> 99 0 12	<emphasis role="comment">;keep reverb active all the time</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/sqrt.csd.xml b/examples-xml/sqrt.csd.xml
index f58e65e..b4aa612 100644
--- a/examples-xml/sqrt.csd.xml
+++ b/examples-xml/sqrt.csd.xml
@@ -2,34 +2,33 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o sqrt.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  i1 <emphasis role="op">=</emphasis> <emphasis role="opc">sqrt</emphasis>(64)
-  <emphasis role="opc">print</emphasis> i1
-<emphasis role="oblock">endin</emphasis>
 
+asig   <emphasis role="opc">pluck</emphasis> 0.7, 55, 55, 0, 1
+kpan   <emphasis role="opc">line</emphasis> 0,p3,1 
+kleft  <emphasis role="op">=</emphasis> <emphasis role="opc">sqrt</emphasis>(1<emphasis role="op">-</emphasis>kpan) 
+kright <emphasis role="op">=</emphasis> <emphasis role="opc">sqrt</emphasis>(kpan) 
+<emphasis role="opc">printks</emphasis> "square root of left channel <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\\n", 1, kleft	<emphasis role="comment">;show coarse of sqaure root values</emphasis>
+       <emphasis role="opc">outs</emphasis> asig<emphasis role="op">*</emphasis>kleft, asig<emphasis role="op">*</emphasis>kright					<emphasis role="comment">;where 0.707126 is between 2 speakers</emphasis>
 
+<emphasis role="oblock">endin</emphasis> 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="stamnt">i</emphasis> 1 0 10
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/sr.csd.xml b/examples-xml/sr.csd.xml
new file mode 100644
index 0000000..c38608c
--- /dev/null
+++ b/examples-xml/sr.csd.xml
@@ -0,0 +1,36 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">; -iadc    ;;;uncomment -iadc if real audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o sr.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;use sr to find maximum harmonics</emphasis>
+
+ihar	<emphasis role="op">=</emphasis> <emphasis role="opc">int</emphasis>(<emphasis role="ohdr">sr</emphasis><emphasis role="op">/</emphasis>2<emphasis role="op">/</emphasis>p4)		<emphasis role="comment">; maximum possible number of harmonics w/o aliasing</emphasis>
+<emphasis role="opc">prints</emphasis>  "maximum number of harmonics <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>d \\n", ihar
+kenv	<emphasis role="opc">linen</emphasis> .5, 1, p3, .2	<emphasis role="comment">; envelope</emphasis>
+asig	<emphasis role="opc">buzz</emphasis>  kenv, p4, ihar, 1
+	<emphasis role="opc">outs</emphasis>  asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 4096 10 1	<emphasis role="comment">;sine wave</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 3 100	<emphasis role="comment">;different frequencies</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 3 1000
+<emphasis role="stamnt">i</emphasis> 1 + 3 10000
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/stack.csd.xml b/examples-xml/stack.csd.xml
new file mode 100644
index 0000000..7eccbf3
--- /dev/null
+++ b/examples-xml/stack.csd.xml
@@ -0,0 +1,43 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o stack.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+ 
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+
+<emphasis role="opc">stack</emphasis> 100000 
+
+<emphasis role="oblock">instr</emphasis> 1 
+
+a1	<emphasis role="opc">oscils</emphasis> 0.7, 220, 0 
+k1	<emphasis role="opc">line</emphasis> 0, p3, 1 
+        <emphasis role="opc">push</emphasis> "blah", 123.45, a1, k1 
+        <emphasis role="opc">push</emphasis> <emphasis role="opc">rnd</emphasis>(k1) 
+
+k_rnd	<emphasis role="opc">pop</emphasis> 
+S01, i01, a01, k01 <emphasis role="opc">pop</emphasis> 
+        <emphasis role="opc">printf_i</emphasis> "S01 <emphasis role="op">=</emphasis> '<emphasis role="op">%</emphasis>s', i01 <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>g\n", 1, S01, i01 
+ktrig	<emphasis role="opc">metro</emphasis> 5.0 
+        <emphasis role="opc">printf</emphasis> "k01 <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>.3f, k_rnd <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>.3f\n", ktrig, k01, k_rnd 
+        <emphasis role="opc">outs</emphasis> a01, a01 
+
+<emphasis role="oblock">endin</emphasis> 
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+ 
+
+<emphasis role="stamnt">i</emphasis> 1 0 5 
+<emphasis role="stamnt">e</emphasis> 
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/statevar.csd.xml b/examples-xml/statevar.csd.xml
new file mode 100644
index 0000000..794e457
--- /dev/null
+++ b/examples-xml/statevar.csd.xml
@@ -0,0 +1,34 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o statevar.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kenv <emphasis role="opc">linseg</emphasis> 0,0.1,1, p3<emphasis role="op">-</emphasis>0.2,1, 0.1, 0		<emphasis role="comment">;declick envelope	</emphasis>
+asig <emphasis role="opc">buzz</emphasis> .6<emphasis role="op">*</emphasis>kenv, 100, 100, 1
+kf   <emphasis role="opc">expseg</emphasis> 100, p3<emphasis role="op">/</emphasis>2, 5000, p3<emphasis role="op">/</emphasis>2, 1000		<emphasis role="comment">;envelope for filter cutoff</emphasis>
+ahp,alp,abp,abr <emphasis role="opc">statevar</emphasis> asig, kf, 4
+     <emphasis role="opc">outs</emphasis> alp,ahp				<emphasis role="comment">; lowpass left, highpass right</emphasis>
+	
+<emphasis role="oblock">endin</emphasis>	
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1	<emphasis role="comment">;sine wave</emphasis>
+
+<emphasis role="stamnt">i</emphasis>1 0 5 
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/stix.csd.xml b/examples-xml/stix.csd.xml
index 15c2cd8..9d14106 100644
--- a/examples-xml/stix.csd.xml
+++ b/examples-xml/stix.csd.xml
@@ -2,37 +2,34 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o stix.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">;orchestra ---------------</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
-  <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis>           44100
-  <emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis>            4410
-  <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis>              10
-  <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis>               1
-
-<emphasis role="oblock">instr</emphasis> 01                  <emphasis role="comment">;an example of stix</emphasis>
-  a1      <emphasis role="opc">line</emphasis> 20, p3, 20                           <emphasis role="comment">;preset amplitude increase</emphasis>
-  a2      <emphasis role="opc">stix</emphasis> p4, 0.01   <emphasis role="comment">;stix needs a little amp help at these settings</emphasis>
-  a3      <emphasis role="opc">product</emphasis> a1, a2                               <emphasis role="comment">;increase amplitude</emphasis>
-          <emphasis role="opc">out</emphasis> a3
-          <emphasis role="oblock">endin</emphasis>
+<emphasis role="oblock">instr</emphasis> 1
 
+idamp <emphasis role="op">=</emphasis> p4			<emphasis role="comment">;vary damping amount</emphasis>
+asig <emphasis role="opc">stix</emphasis> .5, 0.01, 30, idamp
+     <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">;score -------------------</emphasis>
-
-   <emphasis role="stamnt">i</emphasis>1 0 1 26000
-   <emphasis role="stamnt">e</emphasis>
-
+<emphasis role="stamnt">i</emphasis>1 0 1 .3
+<emphasis role="stamnt">i</emphasis>1 + 1  >
+<emphasis role="stamnt">i</emphasis>1 + 1  >
+<emphasis role="stamnt">i</emphasis>1 + 1 .95
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/strcat.csd.xml b/examples-xml/strcat.csd.xml
new file mode 100644
index 0000000..c5c96b7
--- /dev/null
+++ b/examples-xml/strcat.csd.xml
@@ -0,0 +1,32 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o strcat.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+Sname <emphasis role="op">=</emphasis>  "beats"
+Sname <emphasis role="opc">strcat</emphasis>  Sname, ".wav"
+asig  <emphasis role="opc">soundin</emphasis> Sname
+      <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/strcatk.csd.xml b/examples-xml/strcatk.csd.xml
new file mode 100644
index 0000000..efee624
--- /dev/null
+++ b/examples-xml/strcatk.csd.xml
@@ -0,0 +1,41 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+<emphasis role="comment">; Audio out   Audio in</emphasis>
+-odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o strcatk.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+  <emphasis role="ohdr">sr</emphasis>	    <emphasis role="op">=</emphasis>  48000
+  <emphasis role="ohdr">ksmps</emphasis>	    <emphasis role="op">=</emphasis>  16
+  <emphasis role="ohdr">nchnls</emphasis>    <emphasis role="op">=</emphasis>  2
+  <emphasis role="ohdr">0dbfs</emphasis>	    <emphasis role="op">=</emphasis>  1
+
+<emphasis role="comment">; Example by Jonathan Murphy 2007</emphasis>
+
+    <emphasis role="oblock">instr</emphasis> 1
+
+  S1	    <emphasis role="op">=</emphasis>  "1"
+  S2	    <emphasis role="op">=</emphasis>  " <emphasis role="op">+</emphasis> 1"
+  ktrig	    <emphasis role="opc">init</emphasis>      0
+  kval	    <emphasis role="opc">init</emphasis>      2
+<emphasis role="octrl">if</emphasis> (ktrig <emphasis role="op">==</emphasis> 1) then
+  S1	    <emphasis role="opc">strcatk</emphasis>   S1, S2
+  kval	    <emphasis role="op">=</emphasis>  kval <emphasis role="op">+</emphasis> 1
+<emphasis role="octrl">endif</emphasis>
+  String    <emphasis role="opc">sprintfk</emphasis>  "<emphasis role="op">%</emphasis>s <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>d", S1, kval
+	    <emphasis role="opc">puts</emphasis>      String, kval
+  ktrig	    <emphasis role="opc">metro</emphasis>     1
+
+    <emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 10
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/strchar.csd.xml b/examples-xml/strchar.csd.xml
new file mode 100644
index 0000000..cda6be9
--- /dev/null
+++ b/examples-xml/strchar.csd.xml
@@ -0,0 +1,39 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+-ndm0
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="comment">;example by joachim heintz 2013</emphasis>
+
+  <emphasis role="oblock">opcode</emphasis> ToAscii, S, S				<emphasis role="comment">;returns the ASCII numbers of the input string as string</emphasis>
+
+Sin        <emphasis role="opc">xin</emphasis> 					<emphasis role="comment">;input string</emphasis>
+ilen       <emphasis role="opc">strlen</emphasis>     Sin 			<emphasis role="comment">;its length</emphasis>
+ipos       <emphasis role="op">=</emphasis>          0 			<emphasis role="comment">;set counter to zero</emphasis>
+Sres       <emphasis role="op">=</emphasis>          "" 			<emphasis role="comment">;initialize output string</emphasis>
+<emphasis role="olabel">loop</emphasis><emphasis role="op">:</emphasis>                 				<emphasis role="comment">;for all characters in input string:</emphasis>
+ichr       <emphasis role="opc">strchar</emphasis>    Sin, ipos 		<emphasis role="comment">;get its ascii code number</emphasis>
+Snew       <emphasis role="opc">sprintf</emphasis>    "<emphasis role="op">%</emphasis>d ", ichr 		<emphasis role="comment">;put this number into a new string</emphasis>
+Sres       <emphasis role="opc">strcat</emphasis>     Sres, Snew 		<emphasis role="comment">;append this to the output string</emphasis>
+           <emphasis role="octrl">loop_lt</emphasis>    ipos, 1, ilen, <emphasis role="olabel">loop</emphasis> 	<emphasis role="comment">;see comment for 'loop:'</emphasis>
+           <emphasis role="opc">xout</emphasis>       Sres 			<emphasis role="comment">;return output string</emphasis>
+  <emphasis role="oblock">endop</emphasis>
+
+  <emphasis role="oblock">instr</emphasis> Characters
+
+<emphasis role="opc">printf_i</emphasis> "\nCharacters<emphasis role="op">:</emphasis>\n  given as single strings<emphasis role="op">:</emphasis> <emphasis role="op">%</emphasis>s<emphasis role="op">%</emphasis>s<emphasis role="op">%</emphasis>s<emphasis role="op">%</emphasis>s<emphasis role="op">%</emphasis>s<emphasis role="op">%</emphasis>s\n", 1, "c", "s", "o", "u", "n", "d"
+<emphasis role="opc">printf_i</emphasis> "  but can also be given as numbers<emphasis role="op">:</emphasis> <emphasis role="op">%</emphasis>c<emphasis role="op">%</emphasis>c<emphasis role="op">%</emphasis>c<emphasis role="op">%</emphasis>c<emphasis role="op">%</emphasis>c<emphasis role="op">%</emphasis>c\n", 1, 99, 115, 111, 117, 110, 100 
+Scsound ToAscii "csound"
+<emphasis role="opc">printf_i</emphasis> "  <emphasis role="opc">in</emphasis> csound, the ASCII code of <emphasis role="opc">a</emphasis> character can be accessed with the <emphasis role="oblock">opcode</emphasis> strchar.<emphasis role="op">%</emphasis>s", 1, "\n"
+<emphasis role="opc">printf_i</emphasis> "  the name 'csound' returns the numbers <emphasis role="op">%</emphasis>s\n\n", 1, Scsound
+  <emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> "Characters" 0 0
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/strcmp.csd.xml b/examples-xml/strcmp.csd.xml
new file mode 100644
index 0000000..9b062d1
--- /dev/null
+++ b/examples-xml/strcmp.csd.xml
@@ -0,0 +1,49 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o strcmp.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="comment">;modified example from Joachim Heintz</emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+   <emphasis role="oblock">opcode</emphasis> Triad, iii, S				<emphasis role="comment">;define UDO</emphasis>
+Sname      <emphasis role="opc">xin</emphasis>
+iMaj       <emphasis role="opc">strcmp</emphasis>     "maj", Sname
+iMin       <emphasis role="opc">strcmp</emphasis>     "min", Sname
+iPrim      <emphasis role="op">=</emphasis>          8.00			<emphasis role="comment">;notes in pitch notattion</emphasis>
+iQuint     <emphasis role="op">=</emphasis>          8.05
+  <emphasis role="octrl">if</emphasis> iMaj <emphasis role="op">==</emphasis> 0 then
+iTer       <emphasis role="op">=</emphasis>          8.03
+  <emphasis role="octrl">elseif</emphasis> iMin <emphasis role="op">==</emphasis> 0 then
+iTer       <emphasis role="op">=</emphasis>          8.02
+  <emphasis role="octrl">endif</emphasis>
+            <emphasis role="opc">xout</emphasis>       iPrim, iTer, iQuint
+   <emphasis role="oblock">endop</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1
+
+Sname <emphasis role="opc">strget</emphasis> p4
+ia, ib, ic Triad Sname				<emphasis role="comment">;apply UDO</emphasis>
+      <emphasis role="opc">print</emphasis> ia, ib, ic
+asig1 <emphasis role="opc">pluck</emphasis> 0.7, <emphasis role="opc">cpspch</emphasis>(ia), 220, 0, 1
+asig2 <emphasis role="opc">pluck</emphasis> 0.7, <emphasis role="opc">cpspch</emphasis>(ib), 220, 0, 1
+asig3 <emphasis role="opc">pluck</emphasis> 0.7, <emphasis role="opc">cpspch</emphasis>(ic), 220, 0, 1
+asig  <emphasis role="op">=</emphasis> (asig1<emphasis role="op">+</emphasis>asig2<emphasis role="op">+</emphasis>asig3)<emphasis role="op">*</emphasis>.5
+      <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 3 "maj"
+<emphasis role="stamnt">i</emphasis>1 4 3 "m<emphasis role="stamnt">i</emphasis>n"
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/strcpyk.csd.xml b/examples-xml/strcpyk.csd.xml
new file mode 100644
index 0000000..78fa494
--- /dev/null
+++ b/examples-xml/strcpyk.csd.xml
@@ -0,0 +1,87 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o strcpyk.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="ohdr">seed</emphasis> 0
+
+<emphasis role="oblock">instr</emphasis> 1 
+<emphasis role="comment">;get one element of the input string whenever the metro</emphasis>
+<emphasis role="comment">;triggers, and call a subinstrument to play the file</emphasis>
+
+Smember   <emphasis role="opc">strget</emphasis>    p4
+istrlen   <emphasis role="opc">strlen</emphasis>    Smember
+kprint    <emphasis role="opc">init</emphasis>      0
+ktrig     <emphasis role="opc">metro</emphasis>     .6 
+
+ <emphasis role="comment">;whenever the trigger gives signal</emphasis>
+ <emphasis role="octrl">if</emphasis> ktrig <emphasis role="op">==</emphasis> 1 then
+  <emphasis role="comment">;choose a random element (0, 1 or 2)</emphasis>
+kel       <emphasis role="opc">random</emphasis>    0, 3.9999
+kel       <emphasis role="op">=</emphasis>         <emphasis role="opc">int</emphasis>(kel)
+ <emphasis role="comment">;make a copy for leaving Smember intact</emphasis>
+Scopy     <emphasis role="opc">strcpyk</emphasis>   Smember 
+ <emphasis role="comment">;set the initial index for reading substrings</emphasis>
+kndx      <emphasis role="op">=</emphasis>         0 
+ <emphasis role="comment">;set counter for searching the element</emphasis>
+kcount    <emphasis role="op">=</emphasis>         0
+ <emphasis role="comment">;start looping over the elements in Smember</emphasis>
+<emphasis role="olabel">loop</emphasis><emphasis role="op">:</emphasis>
+kdelim    <emphasis role="opc">strindexk</emphasis> Scopy, "<emphasis role="op">:</emphasis>"
+  <emphasis role="comment">;as long as ":" occurs in Scopy, do:</emphasis>
+  <emphasis role="octrl">if</emphasis> kdelim <emphasis role="op">></emphasis> 0 then
+   <emphasis role="comment">;if this is the element to get</emphasis>
+   <emphasis role="octrl">if</emphasis> kel <emphasis role="op">==</emphasis> kcount then
+    <emphasis role="comment">;read it as substring</emphasis>
+Sfile     <emphasis role="opc">strsubk</emphasis>   Scopy, kndx, kdelim
+kprint <emphasis role="op">=</emphasis> kprint<emphasis role="op">+</emphasis>1
+    <emphasis role="comment">;and jump out</emphasis>
+          <emphasis role="octrl">kgoto</emphasis>     <emphasis role="olabel">call</emphasis>
+   <emphasis role="comment">;if not</emphasis>
+   <emphasis role="octrl">else</emphasis>
+    <emphasis role="comment">;cut off this element from Scopy</emphasis>
+Scopy     <emphasis role="opc">strsubk</emphasis>   Scopy, kdelim<emphasis role="op">+</emphasis>1, istrlen
+   <emphasis role="octrl">endif</emphasis>
+   <emphasis role="comment">;if no element has been found,go back to loop </emphasis>
+   <emphasis role="comment">;and look for the next element</emphasis>
+kcount    <emphasis role="op">=</emphasis>         kcount<emphasis role="op">+</emphasis>1
+          <emphasis role="octrl">kgoto</emphasis>     <emphasis role="olabel">loop</emphasis>
+  <emphasis role="comment">;if there is no delimiter left, the rest is the searched element</emphasis>
+  <emphasis role="octrl">else</emphasis>
+Sfile     <emphasis role="opc">strcpyk</emphasis>   Scopy
+  <emphasis role="octrl">endif</emphasis>
+<emphasis role="olabel">call</emphasis><emphasis role="op">:</emphasis>
+ <emphasis role="comment">;print the result, call the subinstrument and play the file</emphasis>
+          <emphasis role="opc">printf</emphasis>    "kel <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>d, file <emphasis role="op">=</emphasis> '<emphasis role="op">%</emphasis>s'\n", ktrig<emphasis role="op">+</emphasis>kprint, kel, Sfile
+S_call    <emphasis role="opc">sprintfk</emphasis>  {{i 2 0 1 "<emphasis role="op">%</emphasis>s"}}, Sfile
+          <emphasis role="opc">scoreline</emphasis> S_call, ktrig
+ <emphasis role="octrl">endif</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2 <emphasis role="comment">;play</emphasis>
+Sfile     <emphasis role="opc">strget</emphasis>    p4
+ilen      <emphasis role="opc">filelen</emphasis>   Sfile
+p3        <emphasis role="op">=</emphasis>         ilen
+asig      <emphasis role="opc">soundin</emphasis>   Sfile
+          <emphasis role="opc">outs</emphasis>      asig, asig
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 30 "mary.wav:fox.wav:beats.wav:flute.a<emphasis role="stamnt">i</emphasis>ff"
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/streson.csd.xml b/examples-xml/streson.csd.xml
index c4e311b..b9c9797 100644
--- a/examples-xml/streson.csd.xml
+++ b/examples-xml/streson.csd.xml
@@ -2,47 +2,41 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o streson.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Generate a normal sine wave.</emphasis>
-  asig <emphasis role="opc">oscils</emphasis> 1500, 440, 1
 
-  <emphasis role="comment">; Vary the fundamental frequency of the string </emphasis>
-  <emphasis role="comment">; resonator linearly from 220 to 880 Hertz. </emphasis>
-  kfr <emphasis role="opc">line</emphasis> 220, p3, 880
-  ifdbgain <emphasis role="op">=</emphasis> 0.95
+asig <emphasis role="opc">diskin2</emphasis> "fox.wav", 1, 0, 1
+ 
+kfr <emphasis role="op">=</emphasis> p4
+ifdbgain <emphasis role="op">=</emphasis> 0.90
 
-  <emphasis role="comment">; Run our sine wave through the string resonator.</emphasis>
-  astres <emphasis role="opc">streson</emphasis> asig, kfr, ifdbgain
+astr <emphasis role="opc">streson</emphasis> asig, kfr, ifdbgain
+asig <emphasis role="opc">clip</emphasis> astr, 0, 1
+     <emphasis role="opc">outs</emphasis> asig, asig
 
-  <emphasis role="comment">; The resonance can get quite loud.</emphasis>
-  <emphasis role="comment">; So we'll clip the signal at 30,000.</emphasis>
-  a1 <emphasis role="opc">clip</emphasis> astres, 1, 30000
-  <emphasis role="opc">out</emphasis> a1
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for five seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 5
+<emphasis role="stamnt">i</emphasis> 1 0 1 20
+<emphasis role="stamnt">i</emphasis> 1 + . >
+<emphasis role="stamnt">i</emphasis> 1 + . >
+<emphasis role="stamnt">i</emphasis> 1 + . >
+<emphasis role="stamnt">i</emphasis> 1 + . >
+<emphasis role="stamnt">i</emphasis> 1 + . >
+<emphasis role="stamnt">i</emphasis> 1 + . 1000
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/strfromurl.csd.xml b/examples-xml/strfromurl.csd.xml
new file mode 100644
index 0000000..c3bb872
--- /dev/null
+++ b/examples-xml/strfromurl.csd.xml
@@ -0,0 +1,32 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o strget.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="omacro">#include</emphasis> "http<emphasis role="op">:</emphasis><emphasis role="op">/</emphasis><emphasis role="op">/</emphasis>codemist.co.uk<emphasis role="op">/</emphasis>jpff<emphasis role="op">/</emphasis>test.in"
+
+<emphasis role="oblock">instr</emphasis> 2
+
+Sfile <emphasis role="opc">strget</emphasis> "http<emphasis role="op">:</emphasis><emphasis role="op">/</emphasis><emphasis role="op">/</emphasis>codemist.co.uk<emphasis role="op">/</emphasis>jpff<emphasis role="op">/</emphasis>test.in"
+  <emphasis role="opc">prints</emphasis> Sfile
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="stamnt">i</emphasis> 2 + .
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/strget.csd.xml b/examples-xml/strget.csd.xml
new file mode 100644
index 0000000..01e498e
--- /dev/null
+++ b/examples-xml/strget.csd.xml
@@ -0,0 +1,35 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o strget.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="ohdr">strset</emphasis> 1, "fox.wav"
+<emphasis role="ohdr">strset</emphasis> 2, "beats.wav"
+
+<emphasis role="oblock">instr</emphasis> 1
+
+Sfile <emphasis role="opc">strget</emphasis> p4
+asig  <emphasis role="opc">soundin</emphasis> Sfile
+      <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 2.7 1
+<emphasis role="stamnt">i</emphasis> 1 + 2   2
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/strindexk.csd.xml b/examples-xml/strindexk.csd.xml
new file mode 100644
index 0000000..a48db85
--- /dev/null
+++ b/examples-xml/strindexk.csd.xml
@@ -0,0 +1,87 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o strindexk.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="ohdr">seed</emphasis> 0
+
+<emphasis role="oblock">instr</emphasis> 1 
+<emphasis role="comment">;get one element of the input string whenever the metro</emphasis>
+<emphasis role="comment">;triggers, and call a subinstrument to play the file</emphasis>
+
+Smember   <emphasis role="opc">strget</emphasis>    p4
+istrlen   <emphasis role="opc">strlen</emphasis>    Smember
+kprint    <emphasis role="opc">init</emphasis>      0
+ktrig     <emphasis role="opc">metro</emphasis>     .5 
+
+ <emphasis role="comment">;whenever the trigger gives signal</emphasis>
+ <emphasis role="octrl">if</emphasis> ktrig <emphasis role="op">==</emphasis> 1 then
+  <emphasis role="comment">;choose a random element (0, 1 or 2)</emphasis>
+kel       <emphasis role="opc">random</emphasis>    0, 2.9999
+kel       <emphasis role="op">=</emphasis>         <emphasis role="opc">int</emphasis>(kel)
+ <emphasis role="comment">;make a copy for leaving Smember intact</emphasis>
+Scopy     <emphasis role="opc">strcpyk</emphasis>   Smember 
+ <emphasis role="comment">;set the initial index for reading substrings</emphasis>
+kndx      <emphasis role="op">=</emphasis>         0 
+ <emphasis role="comment">;set counter for searching the element</emphasis>
+kcount    <emphasis role="op">=</emphasis>         0
+ <emphasis role="comment">;start looping over the elements in Smember</emphasis>
+<emphasis role="olabel">loop</emphasis><emphasis role="op">:</emphasis>
+kdelim    <emphasis role="opc">strindexk</emphasis> Scopy, "<emphasis role="op">:</emphasis>"
+  <emphasis role="comment">;as long as ":" occurs in Scopy, do:</emphasis>
+  <emphasis role="octrl">if</emphasis> kdelim <emphasis role="op">></emphasis> 0 then
+   <emphasis role="comment">;if this is the element to get</emphasis>
+   <emphasis role="octrl">if</emphasis> kel <emphasis role="op">==</emphasis> kcount then
+    <emphasis role="comment">;read it as substring</emphasis>
+Sfile     <emphasis role="opc">strsubk</emphasis>   Scopy, kndx, kdelim
+kprint <emphasis role="op">=</emphasis> kprint<emphasis role="op">+</emphasis>1
+    <emphasis role="comment">;and jump out</emphasis>
+          <emphasis role="octrl">kgoto</emphasis>     <emphasis role="olabel">call</emphasis>
+   <emphasis role="comment">;if not</emphasis>
+   <emphasis role="octrl">else</emphasis>
+    <emphasis role="comment">;cut off this element from Scopy</emphasis>
+Scopy     <emphasis role="opc">strsubk</emphasis>   Scopy, kdelim<emphasis role="op">+</emphasis>1, istrlen
+   <emphasis role="octrl">endif</emphasis>
+   <emphasis role="comment">;if no element has been found,go back to loop </emphasis>
+   <emphasis role="comment">;and look for the next element</emphasis>
+kcount    <emphasis role="op">=</emphasis>         kcount<emphasis role="op">+</emphasis>1
+          <emphasis role="octrl">kgoto</emphasis>     <emphasis role="olabel">loop</emphasis>
+  <emphasis role="comment">;if there is no delimiter left, the rest is the searched element</emphasis>
+  <emphasis role="octrl">else</emphasis>
+Sfile     <emphasis role="opc">strcpyk</emphasis>   Scopy
+  <emphasis role="octrl">endif</emphasis>
+<emphasis role="olabel">call</emphasis><emphasis role="op">:</emphasis>
+ <emphasis role="comment">;print the result, call the subinstrument and play the file</emphasis>
+          <emphasis role="opc">printf</emphasis>    "kel <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>d, file <emphasis role="op">=</emphasis> '<emphasis role="op">%</emphasis>s'\n", ktrig<emphasis role="op">+</emphasis>kprint, kel, Sfile
+S_call    <emphasis role="opc">sprintfk</emphasis>  {{i 2 0 1 "<emphasis role="op">%</emphasis>s"}}, Sfile
+          <emphasis role="opc">scoreline</emphasis> S_call, ktrig
+ <emphasis role="octrl">endif</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2 <emphasis role="comment">;play</emphasis>
+Sfile     <emphasis role="opc">strget</emphasis>    p4
+ilen      <emphasis role="opc">filelen</emphasis>   Sfile
+p3        <emphasis role="op">=</emphasis>         ilen
+asig      <emphasis role="opc">soundin</emphasis>   Sfile
+          <emphasis role="opc">outs</emphasis>      asig, asig
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 30 "mary.wav:fox.wav:beats.wav"
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/strlower.csd.xml b/examples-xml/strlower.csd.xml
new file mode 100644
index 0000000..8b13c38
--- /dev/null
+++ b/examples-xml/strlower.csd.xml
@@ -0,0 +1,37 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-n    <emphasis role="comment">;;;no sound output</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="comment">;example of Joachim Heintz</emphasis>
+
+  <emphasis role="oblock">opcode</emphasis> FilSuf, S, So
+  <emphasis role="comment">;returns the suffix of a filename or path, optional in lower case </emphasis>
+Spath,ilow <emphasis role="opc">xin</emphasis>
+ipos   <emphasis role="opc">strrindex</emphasis> Spath, "."	<emphasis role="comment">;look for the rightmost '.'</emphasis>
+Suf    <emphasis role="opc">strsub</emphasis>    Spath, ipos<emphasis role="op">+</emphasis>1	<emphasis role="comment">;extract the substring after "."</emphasis>
+ <emphasis role="octrl">if</emphasis> ilow <emphasis role="op">!=</emphasis> 0 then		<emphasis role="comment">;if ilow input is not 0 then </emphasis>
+Suf    <emphasis role="opc">strlower</emphasis>  Suf 		<emphasis role="comment">;convert to lower case</emphasis>
+ <emphasis role="octrl">endif</emphasis>
+       <emphasis role="opc">xout</emphasis>      Suf
+  <emphasis role="oblock">endop</emphasis>
+
+<emphasis role="oblock">instr</emphasis> suff
+
+ilow <emphasis role="op">=</emphasis> p4
+       <emphasis role="opc">prints</emphasis>    "Printing suffix<emphasis role="op">:</emphasis>\n"
+Suf    FilSuf    "<emphasis role="op">/</emphasis>my<emphasis role="op">/</emphasis>dir<emphasis role="op">/</emphasis>my<emphasis role="op">/</emphasis>file.WAV", ilow
+       <emphasis role="opc">puts</emphasis>      Suf, 1
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> "suff" 0 1 0	<emphasis role="comment">;do not convert to lower case</emphasis>
+<emphasis role="stamnt">i</emphasis> "suff" 3 1 1	<emphasis role="comment">;convert to lower case</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/strrindex.csd.xml b/examples-xml/strrindex.csd.xml
new file mode 100644
index 0000000..53de58f
--- /dev/null
+++ b/examples-xml/strrindex.csd.xml
@@ -0,0 +1,31 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-n    <emphasis role="comment">;;;no sound output</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="comment">;example by Joachim Heintz</emphasis>
+
+  <emphasis role="oblock">opcode</emphasis> FilNam, S, S
+<emphasis role="comment">;returns the name of a file path</emphasis>
+Spath  <emphasis role="opc">xin</emphasis>
+ipos   <emphasis role="opc">strrindex</emphasis> Spath, "<emphasis role="op">/</emphasis>"	<emphasis role="comment">;look for the rightmost '/'</emphasis>
+Snam   <emphasis role="opc">strsub</emphasis>    Spath, ipos<emphasis role="op">+</emphasis>1	<emphasis role="comment">;extract the substring </emphasis>
+       <emphasis role="opc">xout</emphasis>      Snam
+  <emphasis role="oblock">endop</emphasis>
+  
+<emphasis role="oblock">instr</emphasis> name
+       <emphasis role="opc">prints</emphasis>    "Printing name<emphasis role="op">:</emphasis>\n"
+Snam   FilNam    "<emphasis role="op">/</emphasis>my<emphasis role="op">/</emphasis>dir<emphasis role="op">/</emphasis>my<emphasis role="op">/</emphasis>file.WAV"
+       <emphasis role="opc">puts</emphasis>      Snam, 1  
+
+<emphasis role="oblock">endin</emphasis> 
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> "name" 0 0
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/subtracts.csd.xml b/examples-xml/subtracts.csd.xml
index 60af2c9..fac2563 100644
--- a/examples-xml/subtracts.csd.xml
+++ b/examples-xml/subtracts.csd.xml
@@ -2,34 +2,40 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio I/O</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o subtracts.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">; -o -.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  i1 <emphasis role="op">=</emphasis> 24 <emphasis role="op">-</emphasis> 8
-  <emphasis role="opc">print</emphasis> i1
-<emphasis role="oblock">endin</emphasis>
 
+idur <emphasis role="op">=</emphasis> p3
+iatt <emphasis role="op">=</emphasis> p4
+idec <emphasis role="op">=</emphasis> p5
+isus <emphasis role="op">=</emphasis> p3<emphasis role="op">-</emphasis>iatt<emphasis role="op">-</emphasis>idec				<emphasis role="comment">;calculate sustain time from subtracting attack and decay</emphasis>
+<emphasis role="opc">printf_i</emphasis> "sutain time<emphasis role="op">=</emphasis> note duration <emphasis role="op">-</emphasis> attack <emphasis role="op">-</emphasis> decay <emphasis role="op">-</emphasis><emphasis role="op">-</emphasis><emphasis role="op">></emphasis> <emphasis role="op">%</emphasis>.1f<emphasis role="op">-</emphasis><emphasis role="op">%</emphasis>.1f<emphasis role="op">-</emphasis><emphasis role="op">%</emphasis>.1f <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>.1f\n", 1, idur, iatt, idec, isus
+
+kenv <emphasis role="opc">expseg</emphasis> 0.01, iatt, 1, isus, 1, idec, 0.01	<emphasis role="comment">;envelope</emphasis>
+asig <emphasis role="opc">poscil</emphasis> 1<emphasis role="op">*</emphasis>kenv, 200, 1
+     <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 4096 10 1	<emphasis role="comment">;sine wave</emphasis>
+<emphasis role="comment">;      attack decay</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 3 .1     .2
+<emphasis role="stamnt">i</emphasis> 1 4 3 .5    1.5
+<emphasis role="stamnt">i</emphasis> 1 8 5  4     .5
 
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/sum.csd.xml b/examples-xml/sum.csd.xml
new file mode 100644
index 0000000..e76bd0f
--- /dev/null
+++ b/examples-xml/sum.csd.xml
@@ -0,0 +1,38 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o sum.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+gisine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+a1   <emphasis role="opc">oscili</emphasis> 1, 10.0, gisine		<emphasis role="comment">;combine 3 sinusses</emphasis>
+a2   <emphasis role="opc">oscili</emphasis> 1, 1.0, gisine		<emphasis role="comment">;at different rates</emphasis>
+a3   <emphasis role="opc">oscili</emphasis> 1, 3.0, gisine
+ares <emphasis role="opc">sum</emphasis> a1, a2, a3			<emphasis role="comment">;sum them</emphasis>
+
+ares <emphasis role="op">=</emphasis> ares<emphasis role="op">*</emphasis>100				<emphasis role="comment">;scale result and</emphasis>
+asig <emphasis role="opc">poscil</emphasis> .5, ares<emphasis role="op">+</emphasis>110, gisine	<emphasis role="comment">;add to frequency			</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis>1 0 5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/sumarray.csd.xml b/examples-xml/sumarray.csd.xml
new file mode 100644
index 0000000..d44bb20
--- /dev/null
+++ b/examples-xml/sumarray.csd.xml
@@ -0,0 +1,34 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-n 
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="comment">;example by joachim heintz</emphasis>
+
+           <emphasis role="ohdr">seed</emphasis>       0
+
+<emphasis role="oblock">instr</emphasis> 1
+<emphasis role="comment">;create an array with 10 elements</emphasis>
+kArr[]     <emphasis role="opc">init</emphasis>       10
+<emphasis role="comment">;fill in random numbers and print them out</emphasis>
+kIndx      <emphasis role="op">=</emphasis>          0
+  until kIndx <emphasis role="op">==</emphasis> 10 do
+kNum       <emphasis role="opc">random</emphasis>     0, 10
+kArr[kIndx] <emphasis role="op">=</emphasis>         kNum
+           <emphasis role="opc">printf</emphasis>     "kArr[<emphasis role="op">%</emphasis>d] <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>10f\n", kIndx<emphasis role="op">+</emphasis>1, kIndx, kNum
+kIndx      <emphasis role="op">+</emphasis><emphasis role="op">=</emphasis>         1
+  od
+<emphasis role="comment">;calculate sum of all values and print it out</emphasis>
+kSum       <emphasis role="opc">sumarray</emphasis>   kArr
+           <emphasis role="opc">printf</emphasis>     "Sum of all values <emphasis role="opc">in</emphasis> kArr <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", kIndx<emphasis role="op">+</emphasis>1, kSum
+           <emphasis role="opc">turnoff</emphasis>
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 0.1
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/syncgrain.csd.xml b/examples-xml/syncgrain.csd.xml
index 55e7748..99fda79 100644
--- a/examples-xml/syncgrain.csd.xml
+++ b/examples-xml/syncgrain.csd.xml
@@ -2,16 +2,16 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d   <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o syncgrain.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
   
 <emphasis role="oblock">instr</emphasis> 1
@@ -21,21 +21,22 @@ igrsize <emphasis role="op">=</emphasis> 0.04
 ifreq   <emphasis role="op">=</emphasis> iolaps<emphasis role="op">/</emphasis>igrsize
 ips     <emphasis role="op">=</emphasis> 1<emphasis role="op">/</emphasis>iolaps
 
-istr    <emphasis role="op">=</emphasis> .5  <emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> timescale  <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
-ipitch  <emphasis role="op">=</emphasis> 1   <emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> pitchscale <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
-
-a1	<emphasis role="opc">syncgrain</emphasis>	16000, ifreq, ipitch, igrsize, ips<emphasis role="op">*</emphasis>istr, 1, 2, iolaps
-	<emphasis role="opc">outs</emphasis>			a1, a1 
-<emphasis role="oblock">endin</emphasis>
+istr    <emphasis role="op">=</emphasis> .3   <emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> timescale  <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+ipitch  <emphasis role="op">=</emphasis> p4   <emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> pitchscale <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
 
+asig	<emphasis role="opc">syncgrain</emphasis> 1, ifreq, ipitch, igrsize, ips<emphasis role="op">*</emphasis>istr, 1, 2, iolaps
+	<emphasis role="opc">outs</emphasis>	  asig, asig 
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="stamnt">f</emphasis>1 0 0 1 "beats.wav" 0 0 0
+<emphasis role="stamnt">f</emphasis>1 0 0 1 "<emphasis role="stamnt">f</emphasis>ox.wav" 0 0 0	<emphasis role="comment">;deferred table</emphasis>
 <emphasis role="stamnt">f</emphasis>2   0   8192   20   2   1
 
-<emphasis role="stamnt">i</emphasis>1 0 4
-  <emphasis role="stamnt">e</emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 5 1
+<emphasis role="stamnt">i</emphasis>1 + 5 4
+<emphasis role="stamnt">i</emphasis>1 + 5 .8
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/syncloop.csd.xml b/examples-xml/syncloop.csd.xml
index b67d79e..11bacba 100644
--- a/examples-xml/syncloop.csd.xml
+++ b/examples-xml/syncloop.csd.xml
@@ -2,16 +2,16 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d   <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o syncloop.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
 <emphasis role="oblock">instr</emphasis> 1
@@ -21,20 +21,20 @@ igrsize <emphasis role="op">=</emphasis> 0.01
 ifreq   <emphasis role="op">=</emphasis> iolaps<emphasis role="op">/</emphasis>igrsize
 ips     <emphasis role="op">=</emphasis> 1<emphasis role="op">/</emphasis>iolaps
 
-istr    <emphasis role="op">=</emphasis> .5  <emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> timescale  <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
+istr    <emphasis role="op">=</emphasis> p4  <emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> timescale  <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
 ipitch  <emphasis role="op">=</emphasis> 1   <emphasis role="op">/</emphasis><emphasis role="op">*</emphasis> pitchscale <emphasis role="op">*</emphasis><emphasis role="op">/</emphasis>
 
-a1	<emphasis role="opc">syncloop</emphasis>	16000, ifreq, ipitch, igrsize, ips<emphasis role="op">*</emphasis>istr, .3, .75, 1, 2, iolaps
-	<emphasis role="opc">outs</emphasis>		a1, a1
-<emphasis role="oblock">endin</emphasis>
-
+asig	<emphasis role="opc">syncloop</emphasis> 1, ifreq, ipitch, igrsize, ips<emphasis role="op">*</emphasis>istr, .3, .75, 1, 2, iolaps
+	<emphasis role="opc">outs</emphasis>	 asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 <emphasis role="stamnt">f</emphasis>1 0 0 1 "beats.wav" 0 0 0
 <emphasis role="stamnt">f</emphasis>2   0   8192   20   2   1
 
-<emphasis role="stamnt">i</emphasis>1 0 6
+<emphasis role="stamnt">i</emphasis>1 0 6 .5
+<emphasis role="stamnt">i</emphasis>1 7 6 .15
 <emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
diff --git a/examples-xml/system.csd.xml b/examples-xml/system.csd.xml
index 6bca290..d67e936 100644
--- a/examples-xml/system.csd.xml
+++ b/examples-xml/system.csd.xml
@@ -20,7 +20,7 @@
 ires <emphasis role="opc">system_i</emphasis> 1,{{     ps
             <emphasis role="opc">date</emphasis>
             cd <emphasis role="op">~</emphasis><emphasis role="op">/</emphasis>Desktop
-            pwd
+            <emphasis role="opc">pwd</emphasis>
             ls <emphasis role="op">-</emphasis>l
             whois csounds.com
         }}
@@ -33,7 +33,7 @@ ires <emphasis role="opc">system_i</emphasis> 1,{{     ps
 ires <emphasis role="opc">system_i</emphasis> 1,{{     ps
             <emphasis role="opc">date</emphasis>
             cd <emphasis role="op">~</emphasis><emphasis role="op">/</emphasis>Desktop
-            pwd
+            <emphasis role="opc">pwd</emphasis>
             ls <emphasis role="op">-</emphasis>l
             whois csounds.com
         }}, 1
diff --git a/examples-xml/t.csd.xml b/examples-xml/t.csd.xml
new file mode 100644
index 0000000..c4ad7cb
--- /dev/null
+++ b/examples-xml/t.csd.xml
@@ -0,0 +1,41 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o t.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+aenv <emphasis role="opc">expseg</emphasis> .01, p3<emphasis role="op">*</emphasis>0.25, 1, p3<emphasis role="op">*</emphasis>0.75, 0.01
+asig <emphasis role="opc">poscil3</emphasis> .8<emphasis role="op">*</emphasis>aenv, p4, 1
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1	<emphasis role="comment">;sine wave</emphasis>
+
+<emphasis role="stamnt">t</emphasis> 0 240 12 30 15 240	<emphasis role="comment">;start tempo = 240 </emphasis>
+		
+<emphasis role="stamnt">i</emphasis> 1 0 2 110		<emphasis role="comment">;tempo = 240</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 3 2 220		<emphasis role="comment">;slow down &</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 6 2 440		<emphasis role="comment">;slow down &</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 9 2 880		<emphasis role="comment">;slow down &		</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 12 2 110		<emphasis role="comment">;slow down to 30 at 12 seconds</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 15 2 220		<emphasis role="comment">;speed up to 240 again</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 18 2 440		<emphasis role="comment">;stay at tempo 240</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 21 2 880
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/tab.csd.xml b/examples-xml/tab.csd.xml
new file mode 100644
index 0000000..af9b501
--- /dev/null
+++ b/examples-xml/tab.csd.xml
@@ -0,0 +1,37 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o tab.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+gifn1 <emphasis role="ohdr">ftgen</emphasis> 1, 0, 0, 1, "flute.aiff", 0, 4, 0	<emphasis role="comment">;deferred-size table</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1 
+
+atab  <emphasis role="opc">init</emphasis> 0 
+isize <emphasis role="opc">tableng</emphasis> 1					<emphasis role="comment">;length of table?</emphasis>
+<emphasis role="opc">print</emphasis> isize
+andx  <emphasis role="opc">phasor</emphasis> 1 <emphasis role="op">/</emphasis> (isize <emphasis role="op">/</emphasis> sr) 
+asig  <emphasis role="opc">tab</emphasis> andx, 1, 1				<emphasis role="comment">;has a 0 to 1 range</emphasis>
+      <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis> 
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+ 
+
+<emphasis role="stamnt">i</emphasis> 1 0 2.3
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/tablecopy.csd.xml b/examples-xml/tablecopy.csd.xml
new file mode 100644
index 0000000..3d7cbe2
--- /dev/null
+++ b/examples-xml/tablecopy.csd.xml
@@ -0,0 +1,69 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o tablecopy.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis>  <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+<emphasis role="comment">;after an example from Jonathan Murphy </emphasis>
+  
+gilen <emphasis role="op">=</emphasis> 7
+gilist  <emphasis role="ohdr">ftgen</emphasis> 1, 0, gilen <emphasis role="op">+</emphasis> 1, <emphasis role="op">-</emphasis>2, 2, 3, 4, 5, 6, 7	<emphasis role="comment">;only 6 elements, so 1 is doubled</emphasis>
+gitmp   <emphasis role="ohdr">ftgen</emphasis> 2, 0, gilen <emphasis role="op">+</emphasis> 1, <emphasis role="op">-</emphasis>2, 0			<emphasis role="comment">;empty table</emphasis>
+gkmax   <emphasis role="opc">init</emphasis> gilen
+
+<emphasis role="ohdr">seed</emphasis> 0							<emphasis role="comment">;each time different </emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ktrig <emphasis role="opc">metro</emphasis> 3						<emphasis role="comment">;trigger values</emphasis>
+krnd  <emphasis role="opc">random</emphasis> 0, gkmax
+
+<emphasis role="octrl">if</emphasis> (ktrig <emphasis role="op">==</emphasis> 1) then
+  kval    <emphasis role="opc">table</emphasis>  krnd, gilist
+          <emphasis role="opc">tablew</emphasis> 0, krnd, gilist
+  kread   <emphasis role="op">=</emphasis> 0
+  kwrite  <emphasis role="op">=</emphasis> 0
+<emphasis role="olabel">start</emphasis><emphasis role="op">:</emphasis>
+  knew    <emphasis role="opc">table</emphasis> kread, gilist
+<emphasis role="octrl">if</emphasis> (knew <emphasis role="op">!=</emphasis> 0) then
+          <emphasis role="opc">tablew</emphasis> knew, kwrite, gitmp
+  kwrite    <emphasis role="op">=</emphasis>  kwrite <emphasis role="op">+</emphasis> 1
+<emphasis role="octrl">endif</emphasis>
+  kread   <emphasis role="op">=</emphasis> kread <emphasis role="op">+</emphasis> 1
+<emphasis role="octrl">if</emphasis> (kread <emphasis role="op"><=</emphasis> gilen) <emphasis role="octrl">kgoto</emphasis> <emphasis role="olabel">start</emphasis>
+          <emphasis role="opc">tablecopy</emphasis> gilist, gitmp			<emphasis role="comment">;fill with zeroes</emphasis>
+  gkmax   <emphasis role="op">=</emphasis> gkmax <emphasis role="op">-</emphasis> 1
+<emphasis role="octrl">endif</emphasis>
+
+<emphasis role="opc">printk2</emphasis> kval
+
+<emphasis role="octrl">if</emphasis> (gkmax <emphasis role="op"><</emphasis> 0) then
+          <emphasis role="opc">event</emphasis> "i", 2, 0, 1<emphasis role="op">/</emphasis><emphasis role="ohdr">kr</emphasis>				<emphasis role="comment">;when ready, then stop</emphasis>
+<emphasis role="octrl">endif</emphasis>
+
+asig <emphasis role="opc">vco2</emphasis> .5, 40<emphasis role="op">*</emphasis>kval					<emphasis role="comment">;sound generation</emphasis>
+<emphasis role="opc">outs</emphasis> asig, asig
+    
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+
+<emphasis role="opc">exitnow</emphasis>
+    
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/tablefilter.csd.xml b/examples-xml/tablefilter.csd.xml
index f79dabe..03f3abc 100644
--- a/examples-xml/tablefilter.csd.xml
+++ b/examples-xml/tablefilter.csd.xml
@@ -9,20 +9,22 @@
 <emphasis role="ohdr">ksmps</emphasis><emphasis role="op">=</emphasis>10
 <emphasis role="ohdr">nchnls</emphasis><emphasis role="op">=</emphasis>1
 
-      gifarn <emphasis role="opc">init</emphasis> 8	<emphasis role="comment">; initialise integer for Farey Sequence F_8</emphasis>
+      gifarn <emphasis role="opc">init</emphasis> 8     <emphasis role="comment">; initialise integer for Farey Sequence F_8</emphasis>
       gires <emphasis role="opc">fareyleni</emphasis> gifarn  <emphasis role="comment">; calculate length of F_8, returns 23</emphasis>
-      <emphasis role="comment">; the table length won't be a power of 2 </emphasis>
+      <emphasis role="comment">; the table length won't be a power of 2</emphasis>
       <emphasis role="comment">; (The length of a Farey Sequence with n > 1 is always odd)</emphasis>
-      gilen <emphasis role="opc">init</emphasis> gires <emphasis role="op">*</emphasis> <emphasis role="op">-</emphasis>1   
-             
+      gilen <emphasis role="opc">init</emphasis> gires <emphasis role="op">*</emphasis> <emphasis role="op">-</emphasis>1
+
+      gifarey <emphasis role="ohdr">ftgen</emphasis> 200, 0, gilen, "farey", gifarn, 0
+
       <emphasis role="comment">; initialize destiniation table with 0s</emphasis>
       gifiltered <emphasis role="ohdr">ftgen</emphasis> 0, 0, gilen, 21, 1, 0
 
       <emphasis role="comment">; initialize second destiniation table with 0s</emphasis>
       gifiltered2 <emphasis role="ohdr">ftgen</emphasis> 0, 0, gilen, 21, 1, 0
-      
-      <emphasis role="comment">; table filtering opcode:	  dest.		source,		mode,	threshold</emphasis>
-      ginumpassed <emphasis role="opc">tablefilteri</emphasis> 	  gifiltered,	gifarey,	1,	6
+
+      <emphasis role="comment">; table filtering opcode:   dest.         source,         mode,   threshold</emphasis>
+      ginumpassed <emphasis role="opc">tablefilteri</emphasis>    gifiltered,   gifarey,        1,      6
       <emphasis role="comment">; the threshold parameter indicates that denominators whose weights are heavier</emphasis>
       <emphasis role="comment">; than 6 are not passing through the filter. The weight is calculated using</emphasis>
       <emphasis role="comment">; Clarence Barlow's function of indigestibility of a number. According to this function,</emphasis>
@@ -31,36 +33,36 @@
       <emphasis role="comment">; that have passed the test and which have been copied to the destination table 'gifiltered'</emphasis>
 
       <emphasis role="comment">; apply a different filter:</emphasis>
-      ginumpassed2 <emphasis role="opc">tablefilteri</emphasis>	  gifiltered2,	gifarey,	2,	5
+      ginumpassed2 <emphasis role="opc">tablefilteri</emphasis>   gifiltered2,  gifarey,        2,      5
       <emphasis role="comment">; In mode=2 we again test the digestibility of the denominators of the</emphasis>
       <emphasis role="comment">; fractions in the source table.</emphasis>
       <emphasis role="comment">; The difference to mode=1 is that we now let pass only vaules from the</emphasis>
-      <emphasis role="comment">; source that are as heavy as the threshold or greater. </emphasis>
+      <emphasis role="comment">; source that are as heavy as the threshold or greater.</emphasis>
 
 
-<emphasis role="oblock">instr</emphasis> 4      
+<emphasis role="oblock">instr</emphasis> 4
       kndx <emphasis role="opc">init</emphasis> 0 <emphasis role="comment">; read out elements of now filtered F_8 sequentially and print to file</emphasis>
-      <emphasis role="octrl">if</emphasis> (kndx <emphasis role="op"><</emphasis> ginumpassed) then    
-      	 kelem <emphasis role="opc">tab</emphasis> kndx, gifiltered
-      	 <emphasis role="opc">fprintks</emphasis> "fareyfilter_lp.txt", "<emphasis role="op">%</emphasis>2.6f\\n", kelem
-      	 kndx <emphasis role="op">=</emphasis> kndx<emphasis role="op">+</emphasis>1
-      <emphasis role="octrl">endif</emphasis>   
+      <emphasis role="octrl">if</emphasis> (kndx <emphasis role="op"><</emphasis> ginumpassed) then
+         kelem <emphasis role="opc">tab</emphasis> kndx, gifiltered
+         <emphasis role="opc">fprintks</emphasis> "fareyfilter_lp.txt", "<emphasis role="op">%</emphasis>2.6f\\n", kelem
+         kndx <emphasis role="op">=</emphasis> kndx<emphasis role="op">+</emphasis>1
+      <emphasis role="octrl">endif</emphasis>
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 5
       kndx <emphasis role="opc">init</emphasis> 0 <emphasis role="comment">; read out elements and print to file</emphasis>
-      <emphasis role="octrl">if</emphasis> (kndx <emphasis role="op"><</emphasis> ginumpassed2) then    
-      	 kelem <emphasis role="opc">tab</emphasis> kndx, gifiltered2
-      	 <emphasis role="opc">fprintks</emphasis> "fareyfilter_hp.txt", "<emphasis role="op">%</emphasis>2.6f\\n", kelem
-      	 kndx <emphasis role="op">=</emphasis> kndx<emphasis role="op">+</emphasis>1
+      <emphasis role="octrl">if</emphasis> (kndx <emphasis role="op"><</emphasis> ginumpassed2) then
+         kelem <emphasis role="opc">tab</emphasis> kndx, gifiltered2
+         <emphasis role="opc">fprintks</emphasis> "fareyfilter_hp.txt", "<emphasis role="op">%</emphasis>2.6f\\n", kelem
+         kndx <emphasis role="op">=</emphasis> kndx<emphasis role="op">+</emphasis>1
       <emphasis role="octrl">endif</emphasis>
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="stamnt">f</emphasis>1 0 23 "<emphasis role="stamnt">f</emphasis>arey" 8
-<emphasis role="stamnt">i</emphasis>4	0     1
-<emphasis role="stamnt">i</emphasis>5 	0     1
+
+<emphasis role="stamnt">i</emphasis>4      0     1
+<emphasis role="stamnt">i</emphasis>5      0     1
 <emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
diff --git a/examples-xml/tablei.csd.xml b/examples-xml/tablei.csd.xml
new file mode 100644
index 0000000..19fccc1
--- /dev/null
+++ b/examples-xml/tablei.csd.xml
@@ -0,0 +1,68 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o tablei.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="ohdr">seed</emphasis> 0	<emphasis role="comment">;generate new values every time the instr is played</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ifn <emphasis role="op">=</emphasis> p4
+isize <emphasis role="op">=</emphasis> p5
+ithresh <emphasis role="op">=</emphasis> 0.5
+    
+itemp <emphasis role="ohdr">ftgen</emphasis> ifn, 0, isize, 21, 2
+
+iwrite_value <emphasis role="op">=</emphasis> 0
+i_index <emphasis role="op">=</emphasis> 0
+    
+<emphasis role="olabel">loop_start</emphasis><emphasis role="op">:</emphasis>
+    iread_value <emphasis role="opc">tablei</emphasis> i_index, ifn
+    
+    <emphasis role="octrl">if</emphasis> iread_value <emphasis role="op">></emphasis> ithresh then
+         iwrite_value <emphasis role="op">=</emphasis> 1
+    <emphasis role="octrl">else</emphasis>
+         iwrite_value <emphasis role="op">=</emphasis> <emphasis role="op">-</emphasis>1
+    <emphasis role="octrl">endif</emphasis>
+<emphasis role="opc">tableiw</emphasis> iwrite_value, i_index, ifn
+<emphasis role="octrl">loop_lt</emphasis> i_index, 1, isize, <emphasis role="olabel">loop_start</emphasis>        
+    <emphasis role="opc">turnoff</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+
+ifn <emphasis role="op">=</emphasis> p4
+isize <emphasis role="op">=</emphasis> <emphasis role="opc">ftlen</emphasis>(ifn)    
+<emphasis role="opc">prints</emphasis> "Index\tValue\n"
+    
+i_index <emphasis role="op">=</emphasis> 0
+<emphasis role="olabel">loop_start</emphasis><emphasis role="op">:</emphasis>
+    ivalue <emphasis role="opc">tablei</emphasis> i_index, ifn
+    <emphasis role="opc">prints</emphasis> "<emphasis role="op">%</emphasis>d<emphasis role="op">:</emphasis>\t<emphasis role="op">%</emphasis>f\n", i_index, ivalue
+
+  <emphasis role="octrl">loop_lt</emphasis> i_index, 1, isize, <emphasis role="olabel">loop_start</emphasis>		<emphasis role="comment">;read table 1 with our index</emphasis>
+
+aout <emphasis role="opc">oscili</emphasis> .5, 100, ifn			<emphasis role="comment">;use table to play the polypulse</emphasis>
+     <emphasis role="opc">outs</emphasis>   aout, aout
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 1 100 16
+<emphasis role="stamnt">i</emphasis> 2 0 2 100
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/tableikt.csd.xml b/examples-xml/tableikt.csd.xml
new file mode 100644
index 0000000..64411e3
--- /dev/null
+++ b/examples-xml/tableikt.csd.xml
@@ -0,0 +1,53 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o tableikt.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ilowfn	<emphasis role="op">=</emphasis> p4					<emphasis role="comment">;lowest ftable wave</emphasis>
+ihighfn	<emphasis role="op">=</emphasis> p5					<emphasis role="comment">;highest ftable wave</emphasis>
+
+kswpenv	<emphasis role="opc">line</emphasis> 1, p3, 0				<emphasis role="comment">;sweep envelope, calculate current table pair and interpolation amount</emphasis>
+inumtables <emphasis role="op">=</emphasis> ihighfn <emphasis role="op">-</emphasis> ilowfn			<emphasis role="comment">;1 less than number of tables</emphasis>
+kfn1	<emphasis role="op">=</emphasis> <emphasis role="opc">int</emphasis>(kswpenv<emphasis role="op">*</emphasis>inumtables) <emphasis role="op">+</emphasis> ilowfn
+        <emphasis role="opc">printks</emphasis> "play <emphasis role="opc">table</emphasis> no<emphasis role="op">:</emphasis> <emphasis role="op">%</emphasis>d\n", 1, kfn1
+kfn2	<emphasis role="op">=</emphasis> kfn1 <emphasis role="op">+</emphasis> 1
+kinterp	<emphasis role="op">=</emphasis> <emphasis role="opc">frac</emphasis>(kswpenv<emphasis role="op">*</emphasis>inumtables)		
+ixmode  <emphasis role="op">=</emphasis> 1					<emphasis role="comment">;read tables with phasor</emphasis>
+aphase	<emphasis role="opc">phasor</emphasis>	40	
+asig	<emphasis role="opc">tableikt</emphasis> aphase, kfn1, ixmode		<emphasis role="comment">;normalized index</emphasis>
+   <emphasis role="octrl">if</emphasis> kswpenv <emphasis role="op">==</emphasis> 1.0 <emphasis role="octrl">kgoto</emphasis> skipfn2		<emphasis role="comment">;if kfn1 is last table, there is no kfn2</emphasis>
+	asig2	<emphasis role="opc">tableikt</emphasis> aphase, kfn2, ixmode
+   skipfn2<emphasis role="op">:</emphasis>
+   amix	<emphasis role="opc">ntrpol</emphasis>	asig, asig2, kinterp		<emphasis role="comment">;interpolate between tables and output</emphasis>
+	<emphasis role="opc">outs</emphasis>	amix<emphasis role="op">*</emphasis>.5, amix<emphasis role="op">*</emphasis>.5
+	
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1  0 16384 10 1  
+<emphasis role="stamnt">f</emphasis> 2  0 16384 10 1 .5  
+<emphasis role="stamnt">f</emphasis> 3  0 16384 1 "<emphasis role="stamnt">f</emphasis>ox.wav" 0 0 0				<emphasis role="comment">;a sample</emphasis>
+<emphasis role="stamnt">f</emphasis> 4  0 16384 10 1 .5 .3 .25 .2 .16 .14 .125 .111	<emphasis role="comment">;sawtooth </emphasis>
+<emphasis role="stamnt">f</emphasis> 5  0 16384 10 1 .4 .3 .25 .2
+<emphasis role="stamnt">f</emphasis> 6  0 16384 10 1 .3 .3 .25 .2 .16 
+<emphasis role="stamnt">f</emphasis> 7  0 16384 10 1  1  1  1  .7 .5  .3  .1		<emphasis role="comment">;pulse</emphasis>
+<emphasis role="stamnt">f</emphasis> 8  0 16384 1 "beats.wav" 0 0 0			<emphasis role="comment">;a sample</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 10 1 8
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/tableimix.csd.xml b/examples-xml/tableimix.csd.xml
new file mode 100644
index 0000000..33f246b
--- /dev/null
+++ b/examples-xml/tableimix.csd.xml
@@ -0,0 +1,35 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o tableimix.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+gisine <emphasis role="ohdr">ftgen</emphasis> 1, 0, 256, 10, 1, 0, 0, .4		<emphasis role="comment">;sinoid</emphasis>
+gisaw  <emphasis role="ohdr">ftgen</emphasis> 2, 0, 1024, 7, 0, 256, 1		<emphasis role="comment">;saw</emphasis>
+gimix  <emphasis role="ohdr">ftgen</emphasis> 100, 0, 256, 7, 0, 256, 1		<emphasis role="comment">;used to mix</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1
+
+      <emphasis role="opc">tableimix</emphasis> 100, 0, 256, 1, 0, 1, 2, 0, .5
+asig  <emphasis role="opc">poscil</emphasis> .5, 110, gimix			<emphasis role="comment">;mix table 1 & 2			</emphasis>
+      <emphasis role="opc">outs</emphasis>   asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis>1 0 5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/tableiw.csd.xml b/examples-xml/tableiw.csd.xml
new file mode 100644
index 0000000..943135d
--- /dev/null
+++ b/examples-xml/tableiw.csd.xml
@@ -0,0 +1,68 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o tableiw.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="ohdr">seed</emphasis> 0	<emphasis role="comment">;generate new values every time the instr is played</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ifn <emphasis role="op">=</emphasis> p4
+isize <emphasis role="op">=</emphasis> p5
+ithresh <emphasis role="op">=</emphasis> 0.5
+    
+itemp <emphasis role="ohdr">ftgen</emphasis> ifn, 0, isize, 21, 2
+
+iwrite_value <emphasis role="op">=</emphasis> 0
+i_index <emphasis role="op">=</emphasis> 0
+    
+<emphasis role="olabel">loop_start</emphasis><emphasis role="op">:</emphasis>
+    iread_value <emphasis role="opc">tablei</emphasis> i_index, ifn
+    
+    <emphasis role="octrl">if</emphasis> iread_value <emphasis role="op">></emphasis> ithresh then
+         iwrite_value <emphasis role="op">=</emphasis> 1
+    <emphasis role="octrl">else</emphasis>
+         iwrite_value <emphasis role="op">=</emphasis> <emphasis role="op">-</emphasis>1
+    <emphasis role="octrl">endif</emphasis>
+<emphasis role="opc">tableiw</emphasis> iwrite_value, i_index, ifn
+<emphasis role="octrl">loop_lt</emphasis> i_index, 1, isize, <emphasis role="olabel">loop_start</emphasis>        
+    <emphasis role="opc">turnoff</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+
+ifn <emphasis role="op">=</emphasis> p4
+isize <emphasis role="op">=</emphasis> <emphasis role="opc">ftlen</emphasis>(ifn)    
+<emphasis role="opc">prints</emphasis> "Index\tValue\n"
+    
+i_index <emphasis role="op">=</emphasis> 0
+<emphasis role="olabel">loop_start</emphasis><emphasis role="op">:</emphasis>
+    ivalue <emphasis role="opc">tablei</emphasis> i_index, ifn
+    <emphasis role="opc">prints</emphasis> "<emphasis role="op">%</emphasis>d<emphasis role="op">:</emphasis>\t<emphasis role="op">%</emphasis>f\n", i_index, ivalue
+
+  <emphasis role="octrl">loop_lt</emphasis> i_index, 1, isize, <emphasis role="olabel">loop_start</emphasis>		<emphasis role="comment">;read table 1 with our index</emphasis>
+
+aout <emphasis role="opc">oscili</emphasis> .5, 100, ifn			<emphasis role="comment">;use table to play the polypulse</emphasis>
+     <emphasis role="opc">outs</emphasis>   aout, aout
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 1 100 16
+<emphasis role="stamnt">i</emphasis> 2 0 2 100
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/tablekt.csd.xml b/examples-xml/tablekt.csd.xml
new file mode 100644
index 0000000..f287104
--- /dev/null
+++ b/examples-xml/tablekt.csd.xml
@@ -0,0 +1,45 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o tablekt.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="ohdr">seed</emphasis> 0
+
+gift1 <emphasis role="ohdr">ftgen</emphasis> 1, 0, 1024, 10, 1				<emphasis role="comment">;sine wave</emphasis>
+gift2 <emphasis role="ohdr">ftgen</emphasis> 2, 0, 1024, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1	<emphasis role="comment">;pulse</emphasis>
+
+
+<emphasis role="oblock">instr</emphasis> 1
+andx <emphasis role="opc">phasor</emphasis> 400 		<emphasis role="comment">;phasor for reading the index</emphasis>
+kfn <emphasis role="opc">init</emphasis> 1 			<emphasis role="comment">;initialize the choice of the function table</emphasis>
+kmetro <emphasis role="opc">init</emphasis> 1			<emphasis role="comment">;initialize the frequency of the metro</emphasis>
+knewft <emphasis role="opc">metro</emphasis> kmetro		<emphasis role="comment">;make a new choice for selecting the function table once a second</emphasis>
+
+<emphasis role="octrl">if</emphasis> knewft <emphasis role="op">==</emphasis> 1 then
+  kfn <emphasis role="op">=</emphasis> (kfn <emphasis role="op">==</emphasis> 1 <emphasis role="op">?</emphasis> 2 <emphasis role="op">:</emphasis> 1) 	<emphasis role="comment">;switch between 1 and 2</emphasis>
+  kmetro <emphasis role="opc">random</emphasis> .5, 2 		<emphasis role="comment">;create new metro frequency</emphasis>
+  <emphasis role="opc">printk2</emphasis> kfn
+<emphasis role="octrl">endif</emphasis>
+
+ares <emphasis role="opc">tablekt</emphasis> andx, kfn, 1
+<emphasis role="opc">outs</emphasis> ares,  ares
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 10
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/tablemix.csd.xml b/examples-xml/tablemix.csd.xml
new file mode 100644
index 0000000..b290bd6
--- /dev/null
+++ b/examples-xml/tablemix.csd.xml
@@ -0,0 +1,37 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o tablemix.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+gisinoid <emphasis role="ohdr">ftgen</emphasis> 1, 0, 256, 10, 1, 0, 0, .4		<emphasis role="comment">;sinoid</emphasis>
+gisaw    <emphasis role="ohdr">ftgen</emphasis> 2, 0, 1024, 7, 0, 256, 1			<emphasis role="comment">;saw</emphasis>
+gimix    <emphasis role="ohdr">ftgen</emphasis> 100, 0, 256, 7, 0, 256, 1		<emphasis role="comment">;destination table</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kgain <emphasis role="opc">linseg</emphasis> 0, p3<emphasis role="op">*</emphasis>.5, .5, p3<emphasis role="op">*</emphasis>.5, 0
+      <emphasis role="opc">tablemix</emphasis> 100, 0, 256, 1, 0, 1, 2, 0, kgain
+asig  <emphasis role="opc">poscil</emphasis> .5, 110, gimix			<emphasis role="comment">;mix table 1 & 2			</emphasis>
+      <emphasis role="opc">outs</emphasis>   asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis>1 0 10
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/tableng.csd.xml b/examples-xml/tableng.csd.xml
index d3567db..242d4e1 100644
--- a/examples-xml/tableng.csd.xml
+++ b/examples-xml/tableng.csd.xml
@@ -2,40 +2,35 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o tableng.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Let's look at Table #1.</emphasis>
-  ifn <emphasis role="op">=</emphasis> 1
-  ilen <emphasis role="opc">tableng</emphasis> ifn
+gifn1 <emphasis role="ohdr">ftgen</emphasis> 1, 0, 0, 1, "flute.aiff", 0, 4, 0	<emphasis role="comment">;deferred-size table</emphasis>
 
-  <emphasis role="opc">print</emphasis> ilen
-<emphasis role="oblock">endin</emphasis>
+<emphasis role="oblock">instr</emphasis> 1 
 
+isize <emphasis role="opc">tableng</emphasis> 1
+<emphasis role="opc">print</emphasis> isize
+andx  <emphasis role="opc">phasor</emphasis> 1 <emphasis role="op">/</emphasis> (isize <emphasis role="op">/</emphasis> sr)			<emphasis role="comment">;play at correct pitch</emphasis>
+asig  <emphasis role="opc">tab</emphasis> andx, 1, 1
+      <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis> 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+ 
 
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="stamnt">i</emphasis> 1 0 2.3	
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/tableseg.csd.xml b/examples-xml/tableseg.csd.xml
new file mode 100644
index 0000000..d57e86a
--- /dev/null
+++ b/examples-xml/tableseg.csd.xml
@@ -0,0 +1,35 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o tableseg.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+<emphasis role="comment">; analyze "fox.wav" with PVANAL first</emphasis>
+iend  <emphasis role="op">=</emphasis> p4
+ktime <emphasis role="opc">line</emphasis> 0, p3, iend
+      <emphasis role="opc">tableseg</emphasis> p5, p3, p6		<emphasis role="comment">;morph from table 1</emphasis>
+asig  <emphasis role="opc">vpvoc</emphasis> ktime, 1, "fox.pvx"		<emphasis role="comment">;to table 2</emphasis>
+      <emphasis role="opc">outs</emphasis> asig<emphasis role="op">*</emphasis>3, asig<emphasis role="op">*</emphasis>3
+
+<emphasis role="oblock">endin</emphasis>      
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 512 9 .5 1 0
+<emphasis role="stamnt">f</emphasis> 2 0 512 7 0 20 1 30 0 230 0 232 1
+
+<emphasis role="stamnt">i</emphasis> 1 0 10 2.7 1 2
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/tablexseg.csd.xml b/examples-xml/tablexseg.csd.xml
new file mode 100644
index 0000000..bfad608
--- /dev/null
+++ b/examples-xml/tablexseg.csd.xml
@@ -0,0 +1,35 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o tablexseg.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+<emphasis role="comment">; analyze "fox.wav" with PVANAL first</emphasis>
+iend  <emphasis role="op">=</emphasis> p4
+ktime <emphasis role="opc">line</emphasis> 0, p3, iend
+      <emphasis role="opc">tablexseg</emphasis> p5, p3, p6		<emphasis role="comment">;morph from table 1</emphasis>
+asig  <emphasis role="opc">vpvoc</emphasis> ktime, 1, "fox.pvx"		<emphasis role="comment">;to table 2</emphasis>
+      <emphasis role="opc">outs</emphasis> asig<emphasis role="op">*</emphasis>3, asig<emphasis role="op">*</emphasis>3
+
+<emphasis role="oblock">endin</emphasis>      
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 512 9 .5 1 0
+<emphasis role="stamnt">f</emphasis> 2 0 512 5 1 60 0.01 390 0.01 62 1
+
+<emphasis role="stamnt">i</emphasis> 1 0 5 2.7 1 2
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/tabmap.csd.xml b/examples-xml/tabmap.csd.xml
new file mode 100644
index 0000000..f92a4d9
--- /dev/null
+++ b/examples-xml/tabmap.csd.xml
@@ -0,0 +1,33 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-n
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+  kS[] <emphasis role="opc">init</emphasis> 10
+  kT[] <emphasis role="opc">init</emphasis> 10
+  kS   tabgen 0,10,0.01
+  kT   tabmap kS,"sin"
+  <emphasis role="opc">printk2</emphasis> kS[0]
+  <emphasis role="opc">printk2</emphasis> kS[4]
+  <emphasis role="opc">printk2</emphasis> kS[9]
+  <emphasis role="opc">printk2</emphasis> kT[0]
+  <emphasis role="opc">printk2</emphasis> kT[4]
+  <emphasis role="opc">printk2</emphasis> kT[9]
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 0
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/tabmorph.csd.xml b/examples-xml/tabmorph.csd.xml
new file mode 100644
index 0000000..a5f352c
--- /dev/null
+++ b/examples-xml/tabmorph.csd.xml
@@ -0,0 +1,43 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o tabmorph.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giSine   <emphasis role="ohdr">ftgen</emphasis> 0, 0, 8193, 10, 1				<emphasis role="comment">;sine wave</emphasis>
+giSquare <emphasis role="ohdr">ftgen</emphasis> 0, 0, 8193, 7, 1, 4096, 1, 0, <emphasis role="op">-</emphasis>1, 4096, <emphasis role="op">-</emphasis>1	<emphasis role="comment">;square wave</emphasis>
+giTri    <emphasis role="ohdr">ftgen</emphasis> 0, 0, 8193, 7, 0, 2048, 1, 4096, <emphasis role="op">-</emphasis>1, 2048, 0	<emphasis role="comment">;triangle wave</emphasis>
+giSaw    <emphasis role="ohdr">ftgen</emphasis> 0, 0, 8193, 7, 1, 8192, <emphasis role="op">-</emphasis>1			<emphasis role="comment">;sawtooth wave, downward slope</emphasis>
+
+<emphasis role="oblock">instr</emphasis>    1
+
+iamp   <emphasis role="op">=</emphasis> .7
+kindex <emphasis role="opc">phasor</emphasis> 440			<emphasis role="comment">;read table value at this index</emphasis>
+kindex <emphasis role="op">=</emphasis> kindex<emphasis role="op">*</emphasis>8192			<emphasis role="comment">;for all 8192 index points</emphasis>
+kweightpoint <emphasis role="op">=</emphasis> 0.5			<emphasis role="comment">;set weightpoint</emphasis>
+ktabnum1 <emphasis role="opc">line</emphasis> 0, p3, 3			<emphasis role="comment">;morph through all tables</emphasis>
+ktabnum2 <emphasis role="op">=</emphasis> 2				<emphasis role="comment">;set to triangle wave</emphasis>
+ksig <emphasis role="opc">tabmorph</emphasis> kindex, kweightpoint, ktabnum1, ktabnum2, giSine, giSquare, giTri, giSaw
+ksig <emphasis role="op">=</emphasis> ksig<emphasis role="op">*</emphasis>iamp
+asig <emphasis role="opc">interp</emphasis> ksig			<emphasis role="comment">;convert to audio signal</emphasis>
+<emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis>1 0 5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/tabmorpha.csd.xml b/examples-xml/tabmorpha.csd.xml
new file mode 100644
index 0000000..73e4ee4
--- /dev/null
+++ b/examples-xml/tabmorpha.csd.xml
@@ -0,0 +1,42 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o tabmorpha.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>   <emphasis role="op">=</emphasis>1
+
+giSine	 <emphasis role="ohdr">ftgen</emphasis>	0, 0, 8193, 10, 1						<emphasis role="comment">; sine wave</emphasis>
+giSquare <emphasis role="ohdr">ftgen</emphasis>	0, 0, 8193, 7, 1, 4096, 1, 0, <emphasis role="op">-</emphasis>1, 4096, <emphasis role="op">-</emphasis>1			<emphasis role="comment">; square wave </emphasis>
+giTri	 <emphasis role="ohdr">ftgen</emphasis>	0, 0, 8193, 7, 0, 2048, 1, 4096, <emphasis role="op">-</emphasis>1, 2048, 0			<emphasis role="comment">; triangle wave </emphasis>
+giSaw	 <emphasis role="ohdr">ftgen</emphasis>	0, 0, 8193, 7, 1, 8192, <emphasis role="op">-</emphasis>1					<emphasis role="comment">; sawtooth wave, downward slope </emphasis>
+
+	
+<emphasis role="oblock">instr</emphasis>	1
+
+iamp	<emphasis role="op">=</emphasis> .7
+aindex	<emphasis role="opc">phasor</emphasis> 110			<emphasis role="comment">; read table value at this index</emphasis>
+aweightpoint <emphasis role="op">=</emphasis> 0			<emphasis role="comment">; set weightpoint</emphasis>
+atabnum1 <emphasis role="opc">line</emphasis> 0, p3, 3			<emphasis role="comment">; morph through all tables</emphasis>
+atabnum2 <emphasis role="op">=</emphasis> 2				<emphasis role="comment">; set to triangle wave</emphasis>
+asig	 <emphasis role="opc">tabmorpha</emphasis> aindex, aweightpoint, atabnum1,atabnum2, giSine, giSquare, giTri, giSaw
+asig	 <emphasis role="op">=</emphasis> asig<emphasis role="op">*</emphasis>iamp
+	 <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis>1 0 10
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/tabmorphak.csd.xml b/examples-xml/tabmorphak.csd.xml
new file mode 100644
index 0000000..af42458
--- /dev/null
+++ b/examples-xml/tabmorphak.csd.xml
@@ -0,0 +1,42 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o tabmorphak.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>   <emphasis role="op">=</emphasis>1
+
+giSine	 <emphasis role="ohdr">ftgen</emphasis>	0, 0, 8193, 10, 1						<emphasis role="comment">; sine wave</emphasis>
+giSquare <emphasis role="ohdr">ftgen</emphasis>	0, 0, 8193, 7, 1, 4096, 1, 0, <emphasis role="op">-</emphasis>1, 4096, <emphasis role="op">-</emphasis>1			<emphasis role="comment">; square wave </emphasis>
+giTri	 <emphasis role="ohdr">ftgen</emphasis>	0, 0, 8193, 7, 0, 2048, 1, 4096, <emphasis role="op">-</emphasis>1, 2048, 0			<emphasis role="comment">; triangle wave </emphasis>
+giSaw	 <emphasis role="ohdr">ftgen</emphasis>	0, 0, 8193, 7, 1, 8192, <emphasis role="op">-</emphasis>1					<emphasis role="comment">; sawtooth wave, downward slope </emphasis>
+	
+<emphasis role="oblock">instr</emphasis>	1
+
+iamp	<emphasis role="op">=</emphasis> .7
+aindex	<emphasis role="opc">phasor</emphasis>	110			<emphasis role="comment">; read table value at this index</emphasis>
+kweightpoint <emphasis role="opc">expon</emphasis> 0.001, p3, 1		<emphasis role="comment">; using the weightpoint to morph between two tables exponentially</emphasis>
+ktabnum1 <emphasis role="op">=</emphasis> p4				<emphasis role="comment">; first wave, it morphs to</emphasis>
+ktabnum2 <emphasis role="op">=</emphasis> p5				<emphasis role="comment">; the second wave</emphasis>
+asig 	<emphasis role="opc">tabmorphak</emphasis> aindex, kweightpoint, ktabnum1,ktabnum2, giSine, giSquare, giTri, giSaw
+asig	<emphasis role="op">=</emphasis> asig<emphasis role="op">*</emphasis>iamp
+	<emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis>1 0 5 0 1	<emphasis role="comment">;from sine to square wave</emphasis>
+<emphasis role="stamnt">i</emphasis>1 6 5 2 3	<emphasis role="comment">;from triangle to saw</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/tabmorphi.csd.xml b/examples-xml/tabmorphi.csd.xml
new file mode 100644
index 0000000..87c260c
--- /dev/null
+++ b/examples-xml/tabmorphi.csd.xml
@@ -0,0 +1,43 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o tabmorphi.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giSine   <emphasis role="ohdr">ftgen</emphasis> 0, 0, 8193, 10, 1				<emphasis role="comment">;sine wave</emphasis>
+giSquare <emphasis role="ohdr">ftgen</emphasis> 0, 0, 8193, 7, 1, 4096, 1, 0, <emphasis role="op">-</emphasis>1, 4096, <emphasis role="op">-</emphasis>1	<emphasis role="comment">;square wave</emphasis>
+giTri    <emphasis role="ohdr">ftgen</emphasis> 0, 0, 8193, 7, 0, 2048, 1, 4096, <emphasis role="op">-</emphasis>1, 2048, 0	<emphasis role="comment">;triangle wave</emphasis>
+giSaw    <emphasis role="ohdr">ftgen</emphasis> 0, 0, 8193, 7, 1, 8192, <emphasis role="op">-</emphasis>1			<emphasis role="comment">;sawtooth wave, downward slope</emphasis>
+
+<emphasis role="oblock">instr</emphasis>    1
+
+iamp   <emphasis role="op">=</emphasis> .7
+kindex <emphasis role="opc">phasor</emphasis> 440			<emphasis role="comment">;read table value at this index</emphasis>
+kindex <emphasis role="op">=</emphasis> kindex<emphasis role="op">*</emphasis>8192			<emphasis role="comment">;for all 8192 index points</emphasis>
+kweightpoint <emphasis role="op">=</emphasis> 0.5			<emphasis role="comment">;set weightpoint</emphasis>
+ktabnum1 <emphasis role="opc">line</emphasis> 0, p3, 3			<emphasis role="comment">;morph through all tables</emphasis>
+ktabnum2 <emphasis role="op">=</emphasis> 2				<emphasis role="comment">;set to triangle wave</emphasis>
+ksig <emphasis role="opc">tabmorphi</emphasis> kindex, kweightpoint, ktabnum1, ktabnum2, giSine, giSquare, giTri, giSaw
+ksig <emphasis role="op">=</emphasis> ksig<emphasis role="op">*</emphasis>iamp
+asig <emphasis role="opc">interp</emphasis> ksig			<emphasis role="comment">;convert to audio signal</emphasis>
+<emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis>1 0 5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/tabslice.csd.xml b/examples-xml/tabslice.csd.xml
new file mode 100644
index 0000000..6492e8d
--- /dev/null
+++ b/examples-xml/tabslice.csd.xml
@@ -0,0 +1,32 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-n
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+  kS[]    <emphasis role="opc">init</emphasis> 10
+  kT[]    <emphasis role="opc">init</emphasis> 5
+  kS      tabgen 0,10,0.01
+  kT[]    tabslice kS,3,7
+  <emphasis role="opc">printk2</emphasis> kT[0]
+  <emphasis role="opc">printk2</emphasis> kT[1]
+  <emphasis role="opc">printk2</emphasis> kT[2]
+  <emphasis role="opc">printk2</emphasis> kT[3]
+  <emphasis role="opc">printk2</emphasis> kT[4]
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 0
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/tabsum.csd.xml b/examples-xml/tabsum.csd.xml
new file mode 100644
index 0000000..7def5e8
--- /dev/null
+++ b/examples-xml/tabsum.csd.xml
@@ -0,0 +1,44 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o tab.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 2205
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1       <emphasis role="comment">;;; Give a value to the increment</emphasis>
+  kmax <emphasis role="op">=</emphasis> 256
+  knorm <emphasis role="opc">tabsum</emphasis> 1, 0, kmax
+  gkinc <emphasis role="op">=</emphasis> knorm<emphasis role="op">/</emphasis>10
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+  kmax <emphasis role="op">=</emphasis> 256
+  kx <emphasis role="op">=</emphasis> <emphasis role="opc">rnd</emphasis>(kmax)
+  krnd  <emphasis role="opc">tabsum</emphasis> 1, 0, kx
+  knorm <emphasis role="opc">tabsum</emphasis> 1, 0, kmax
+  kvar  <emphasis role="op">=</emphasis> krnd <emphasis role="op">/</emphasis> knorm          <emphasis role="comment">;;; now n [0,1] range</emphasis>
+  asig  <emphasis role="opc">oscil</emphasis>  kvar, p4, 2
+        <emphasis role="opc">out</emphasis>    asig
+<emphasis role="comment">;;; Make randomness give 1 more often</emphasis>
+  kc    <emphasis role="opc">tab</emphasis>     0, 1
+        <emphasis role="opc">tablew</emphasis>  kc<emphasis role="op">+</emphasis>gkinc, 0, 1
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 256 21 1  
+<emphasis role="stamnt">f</emphasis>2 0 4096 10 1
+<emphasis role="stamnt">i</emphasis>1 0 0.1
+<emphasis role="stamnt">i</emphasis>2 0.1 3 440
+<emphasis role="stamnt">e</emphasis>
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/tambourine.csd.xml b/examples-xml/tambourine.csd.xml
index e91ce48..5d296d9 100644
--- a/examples-xml/tambourine.csd.xml
+++ b/examples-xml/tambourine.csd.xml
@@ -2,33 +2,32 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o tambourine.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 22050
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 2205
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1: An example of a tambourine.</emphasis>
-<emphasis role="oblock">instr</emphasis> 01
-  a1 <emphasis role="opc">tambourine</emphasis> 15000, 0.01
-
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
+<emphasis role="oblock">instr</emphasis> 1
 
+idamp <emphasis role="op">=</emphasis> p4
+asig  <emphasis role="opc">tambourine</emphasis> .8, 0.01, 30, idamp
+      <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="stamnt">i</emphasis> 1 0 .2 0
+<emphasis role="stamnt">i</emphasis> 1 + .2 >
+<emphasis role="stamnt">i</emphasis> 1 + 1 .7
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/tanh.csd.xml b/examples-xml/tanh.csd.xml
index 3606f90..61ff789 100644
--- a/examples-xml/tanh.csd.xml
+++ b/examples-xml/tanh.csd.xml
@@ -14,19 +14,21 @@
 <emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
 <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
 
 <emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  irad <emphasis role="op">=</emphasis> 1
-  i1 <emphasis role="op">=</emphasis> <emphasis role="opc">tanh</emphasis>(irad)
-
-  <emphasis role="opc">print</emphasis> i1
+  asig1 <emphasis role="opc">vco</emphasis>  1, 440, 2, 0.4, 1
+  asig2 <emphasis role="opc">vco</emphasis>  1, 800, 3, 0.5, 1
+  asig  <emphasis role="op">=</emphasis>    asig1<emphasis role="op">+</emphasis>asig2       <emphasis role="comment">;; will go out of range</emphasis>
+        <emphasis role="opc">out</emphasis>  <emphasis role="opc">tanh</emphasis>(asig)        <emphasis role="comment">;; but tanh is a limiter</emphasis>
 <emphasis role="oblock">endin</emphasis>
 
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
+<emphasis role="stamnt">f</emphasis>1 0 65536 10 1
 <emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
 <emphasis role="stamnt">i</emphasis> 1 0 1
 <emphasis role="stamnt">e</emphasis>
diff --git a/examples-xml/temposcal.csd.xml b/examples-xml/temposcal.csd.xml
new file mode 100644
index 0000000..f62c9fc
--- /dev/null
+++ b/examples-xml/temposcal.csd.xml
@@ -0,0 +1,37 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o temposcal.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ilock  <emphasis role="op">=</emphasis>  p4
+itab   <emphasis role="op">=</emphasis>  1
+ipitch <emphasis role="op">=</emphasis>  1
+iamp   <emphasis role="op">=</emphasis>  0.8
+ktime  <emphasis role="opc">linseg</emphasis> 0.3, p3<emphasis role="op">/</emphasis>2, 0.8, p3<emphasis role="op">/</emphasis>2, 0.3
+asig   <emphasis role="opc">temposcal</emphasis> ktime, iamp, ipitch, itab, ilock
+       <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 0 1 "<emphasis role="stamnt">f</emphasis>ox.wav" 0 4 0
+
+<emphasis role="stamnt">i</emphasis> 1 0 3.8 0	<emphasis role="comment">;no locking</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 4 3.8 1	<emphasis role="comment">;locking</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/tigoto.csd.xml b/examples-xml/tigoto.csd.xml
new file mode 100644
index 0000000..0a1639e
--- /dev/null
+++ b/examples-xml/tigoto.csd.xml
@@ -0,0 +1,47 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o tigoto.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+
+<emphasis role="oblock">instr</emphasis> 1
+
+idur  <emphasis role="op">=</emphasis> <emphasis role="opc">abs</emphasis>(p3)				<emphasis role="comment">;make p3 positive even if p3 is negative in score</emphasis>
+itiv  <emphasis role="opc">tival</emphasis>
+i1    <emphasis role="op">=</emphasis> <emphasis role="op">-</emphasis>1				<emphasis role="comment">;assume this is tied note, so keep fase of oscili</emphasis>
+      <emphasis role="octrl">tigoto</emphasis> <emphasis role="olabel">slur</emphasis>			<emphasis role="comment">;no reinitialisation on tied notes</emphasis>
+i1    <emphasis role="op">=</emphasis> 0				<emphasis role="comment">;first note, so reset phase</emphasis>
+aatt  <emphasis role="opc">line</emphasis> p4, idur, 0			<emphasis role="comment">;primary envelope</emphasis>
+
+<emphasis role="olabel">slur</emphasis><emphasis role="op">:</emphasis>
+      <emphasis role="octrl">if</emphasis> itiv<emphasis role="op">==</emphasis>0 <emphasis role="octrl">kgoto</emphasis> <emphasis role="olabel">note</emphasis>		<emphasis role="comment">;no expression on first and second note</emphasis>
+aslur <emphasis role="opc">linseg</emphasis> 0, idur<emphasis role="op">*</emphasis>.3, p4, idur<emphasis role="op">*</emphasis>.7, 0	<emphasis role="comment">;envelope for slurred note</emphasis>
+aatt  <emphasis role="op">=</emphasis> aatt <emphasis role="op">+</emphasis> aslur
+
+<emphasis role="olabel">note</emphasis><emphasis role="op">:</emphasis>
+asig  <emphasis role="opc">oscili</emphasis> aatt, p5, 1, i1
+      <emphasis role="opc">outs</emphasis>   asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 4096 10 1	<emphasis role="comment">;sine wave</emphasis>
+
+<emphasis role="stamnt">i</emphasis>1  0    -5  .8  451	<emphasis role="comment">;p3 = 5 seconds</emphasis>
+<emphasis role="stamnt">i</emphasis>1  1.5 -1.5 .1  512 
+<emphasis role="stamnt">i</emphasis>1  3    2   .7  440	<emphasis role="comment">;3 notes together--> duration = 5 seconds</emphasis>
+                    
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/timedseq.csd.xml b/examples-xml/timedseq.csd.xml
new file mode 100644
index 0000000..75fa3dd
--- /dev/null
+++ b/examples-xml/timedseq.csd.xml
@@ -0,0 +1,59 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o timedseq.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giseq <emphasis role="ohdr">ftgen</emphasis> 0,0,128,<emphasis role="op">-</emphasis>2, 2,  0,   0.5, 8.00,\		<emphasis role="comment">;first note</emphasis>
+                        2,  1,   0.5, 8.02,\		<emphasis role="comment">;second note</emphasis>
+                        2,  2,   0.5, 8.04,\		<emphasis role="comment">;third</emphasis>
+                        2,  3,   0.5, 8.05,\		<emphasis role="comment">;fourth</emphasis>
+                        2,  4,   0.5, 8.07,\		<emphasis role="comment">;fifth</emphasis>
+                        2,  5,   0.5, 8.09,\		<emphasis role="comment">;sixth</emphasis>
+                        2,  6,   0.5, 8.11,\		<emphasis role="comment">;seventh</emphasis>
+                        2,  7,   0.5, 9.00,\		<emphasis role="comment">;eight note</emphasis>
+                        2,  8,   0.5, 8.00,\		<emphasis role="comment">;due to a quirk in the opcode, it needs an extra note - a copy of the first note</emphasis>
+                        <emphasis role="op">-</emphasis>1, 8,   <emphasis role="op">-</emphasis>1,  <emphasis role="op">-</emphasis>1		<emphasis role="comment">;last line is a dummy event that indicates to timedseq when to loop back to the beginning</emphasis>
+
+<emphasis role="oblock">instr</emphasis>	1
+
+ibeats	<emphasis role="op">=</emphasis> 8						<emphasis role="comment">;lengths of sequence in beats</emphasis>
+itempo	<emphasis role="op">=</emphasis> p4						<emphasis role="comment">;tempo</emphasis>
+iBPS	<emphasis role="op">=</emphasis> itempo<emphasis role="op">/</emphasis>60					<emphasis role="comment">;beats per second	</emphasis>
+kphase	<emphasis role="opc">phasor</emphasis>	iBPS<emphasis role="op">/</emphasis>ibeats				<emphasis role="comment">;phasor to move through table</emphasis>
+kpointer <emphasis role="op">=</emphasis> kphase<emphasis role="op">*</emphasis>ibeats				<emphasis role="comment">;multiply phase (range 0 - 1) by the number of beats contained within the sequence</emphasis>
+kp1 <emphasis role="opc">init</emphasis> 0
+kp2 <emphasis role="opc">init</emphasis> 0
+kp3 <emphasis role="opc">init</emphasis> 0 
+kp4 <emphasis role="opc">init</emphasis> 0       		
+ktrigger   <emphasis role="opc">timedseq</emphasis> kpointer, giseq, kp1, kp2,kp3, kp4
+<emphasis role="opc">schedkwhen</emphasis> ktrigger, 0, 0, 2, 0, kp3<emphasis role="op">/</emphasis><emphasis role="opc">abs</emphasis>(iBPS), kp4	<emphasis role="comment">;p3 values have been scaled according to tempo so that they maesure beats rather than seconds</emphasis>
+<emphasis role="oblock">endin</emphasis>							<emphasis role="comment">;abs(iBPS)(absolute value) is used because the tempo provided by the fourth note of the score is negative.</emphasis>
+							<emphasis role="comment">;Durations here should be positive, because negative values for duration would indicate a held note.</emphasis>
+<emphasis role="oblock">instr</emphasis>	2
+
+aenv	<emphasis role="opc">linseg</emphasis>	0,0.01,1,p3<emphasis role="op">-</emphasis>0.01,0			<emphasis role="comment">;amplitude envelope</emphasis>
+asig	<emphasis role="opc">vco2</emphasis>	0.4, <emphasis role="opc">cpspch</emphasis>(p4), 4, 0.5
+	<emphasis role="opc">outs</emphasis>	asig<emphasis role="op">*</emphasis>aenv, asig<emphasis role="op">*</emphasis>aenv			
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 4 120
+<emphasis role="stamnt">i</emphasis> 1 + . 240
+<emphasis role="stamnt">i</emphasis> 1 + . 480
+<emphasis role="stamnt">i</emphasis> 1 + . -480	<emphasis role="comment">;when negative it plays backwards </emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/timeinsts.csd.xml b/examples-xml/timeinsts.csd.xml
index c928beb..663fa55 100644
--- a/examples-xml/timeinsts.csd.xml
+++ b/examples-xml/timeinsts.csd.xml
@@ -2,35 +2,38 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o timeinsts.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giSine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Print out the value from timeinsts every half-second.</emphasis>
-  k1 <emphasis role="opc">timeinsts</emphasis>
-  <emphasis role="opc">printks</emphasis> "k1 <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f seconds\\n", 0.5, k1
-<emphasis role="oblock">endin</emphasis>
 
+kvib <emphasis role="opc">init</emphasis> 1
+ktim <emphasis role="opc">timeinsts</emphasis>				<emphasis role="comment">;read time </emphasis>
+
+<emphasis role="octrl">if</emphasis> ktim <emphasis role="op">></emphasis> 2 then			<emphasis role="comment">;do something after 2 seconds</emphasis>
+   kvib <emphasis role="opc">oscili</emphasis> 2, 3, giSine		<emphasis role="comment">;make a vibrato</emphasis>
+<emphasis role="octrl">endif</emphasis>
+
+asig <emphasis role="opc">poscil</emphasis> .5, 600<emphasis role="op">+</emphasis>kvib, giSine	<emphasis role="comment">;add vibrato</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis> 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for two seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 1 0 5
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/times_complex.csd.xml b/examples-xml/times_complex.csd.xml
new file mode 100644
index 0000000..38b34c1
--- /dev/null
+++ b/examples-xml/times_complex.csd.xml
@@ -0,0 +1,73 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+ 
+<emphasis role="comment">; Select audio/midi flags here according to platform </emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out </emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too </emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below: </emphasis>
+<emphasis role="comment">; -o times_complex.wav -W ;;; for file output any platform </emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+ 
+<emphasis role="comment">;by joachim heintz and rory walsh </emphasis>
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2 
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1 
+
+giWave   <emphasis role="ohdr">ftgen</emphasis>      0, 0, 1024, 10, 1, .5, .25 
+
+<emphasis role="oblock">instr</emphasis> again 
+
+<emphasis role="opc">instance</emphasis> <emphasis role="op">=</emphasis>          p4 
+ <emphasis role="comment">;reset the duration of this instance </emphasis>
+iDur     <emphasis role="opc">rnd31</emphasis>      5, 3				<emphasis role="comment">;shorter values are more probable </emphasis>
+iDur     <emphasis role="op">=</emphasis>          <emphasis role="opc">abs</emphasis>(iDur) <emphasis role="op">+</emphasis> 0.2 
+p3       <emphasis role="op">=</emphasis>          iDur 
+ <emphasis role="comment">;trigger the effect instrument of this instance </emphasis>
+         <emphasis role="opc">event_i</emphasis>    "i", "fx_processor", 0, iDur, <emphasis role="opc">instance</emphasis> 
+ <emphasis role="comment">;print the status quo </emphasis>
+kTime    <emphasis role="opc">times</emphasis> 
+         <emphasis role="opc">prints</emphasis>     "instance <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>d, start <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f, duration <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", instance, <emphasis role="opc">i</emphasis>(kTime), iDur 
+ <emphasis role="comment">;make sound </emphasis>
+iamp     <emphasis role="opc">active</emphasis>     1					<emphasis role="comment">;scale amplitudes </emphasis>
+iOct     <emphasis role="opc">random</emphasis>     5, 10				<emphasis role="comment">;find pitch </emphasis>
+aEnv     <emphasis role="opc">transeg</emphasis>    0, 0.02, 0, 1<emphasis role="op">/</emphasis>iamp, p3<emphasis role="op">-</emphasis>0.02, <emphasis role="op">-</emphasis>6, 0	<emphasis role="comment">;output envelope </emphasis>
+aSend    <emphasis role="opc">poscil</emphasis>     aEnv, <emphasis role="opc">cpsoct</emphasis>(iOct), giWave		<emphasis role="comment">;audio signal </emphasis>
+ <emphasis role="comment">;send signal to effect instrument </emphasis>
+Sbus     <emphasis role="opc">sprintf</emphasis>    "audio_<emphasis role="op">%</emphasis>d", <emphasis role="opc">instance</emphasis>		<emphasis role="comment">;create unique software bus </emphasis>
+         <emphasis role="opc">chnset</emphasis>     aSend<emphasis role="op">/</emphasis>2, Sbus			<emphasis role="comment">;send audio on this bus </emphasis>
+ <emphasis role="comment">;get the last k-cycle of this instance and trigger the successor in it </emphasis>
+kLast    <emphasis role="opc">release</emphasis> 
+         <emphasis role="opc">schedkwhen</emphasis> kLast, 0, 0, "again", 0, 1, <emphasis role="opc">instance</emphasis><emphasis role="op">+</emphasis>1 
+<emphasis role="oblock">endin</emphasis> 
+
+<emphasis role="oblock">instr</emphasis> fx_processor 
+ <emphasis role="comment">;apply feedback delay to the above instrument </emphasis>
+iwhich    <emphasis role="op">=</emphasis>         p4					<emphasis role="comment">;receive instance number ... </emphasis>
+Sbus      <emphasis role="opc">sprintf</emphasis>   "audio_<emphasis role="op">%</emphasis>d", iwhich			<emphasis role="comment">; ... and related software bus </emphasis>
+audio     <emphasis role="opc">chnget</emphasis>    Sbus				<emphasis role="comment">;receive audio on this bus </emphasis>
+irvbtim   <emphasis role="opc">random</emphasis>    1, 5				<emphasis role="comment">;find reverb time </emphasis>
+p3        <emphasis role="op">=</emphasis>         p3<emphasis role="op">+</emphasis>irvbtim				<emphasis role="comment">;adjust instrument duration </emphasis>
+iltptmL   <emphasis role="opc">random</emphasis>    .1, .5				<emphasis role="comment">;find looptime left ... </emphasis>
+iltptmR   <emphasis role="opc">random</emphasis>    .1, .5				<emphasis role="comment">;...and right </emphasis>
+ipan      <emphasis role="opc">random</emphasis>    0, 1				<emphasis role="comment">; pan and ... </emphasis>
+imix      <emphasis role="opc">random</emphasis>    0, 1				<emphasis role="comment">;... mix audio </emphasis>
+aL,aR     <emphasis role="opc">pan2</emphasis>      audio, ipan				<emphasis role="comment">;create stereo </emphasis>
+awetL     <emphasis role="opc">comb</emphasis>      aL, irvbtim, iltptmL		<emphasis role="comment">;comb filter </emphasis>
+awetR     <emphasis role="opc">comb</emphasis>      aR, irvbtim, iltptmR 
+aoutL     <emphasis role="opc">ntrpol</emphasis>    aL, awetL, imix			<emphasis role="comment">;wet-dry mix </emphasis>
+aoutR     <emphasis role="opc">ntrpol</emphasis>    aR, awetR, imix 
+          <emphasis role="opc">outs</emphasis>      aoutL<emphasis role="op">/</emphasis>2, aoutR<emphasis role="op">/</emphasis>2 
+<emphasis role="oblock">endin</emphasis> 
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+ 
+<emphasis role="stamnt">i</emphasis> "aga<emphasis role="stamnt">i</emphasis>n" 0 1 1 
+
+<emphasis role="stamnt">e</emphasis> 3600 
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/timout.csd.xml b/examples-xml/timout.csd.xml
new file mode 100644
index 0000000..8ae3c60
--- /dev/null
+++ b/examples-xml/timout.csd.xml
@@ -0,0 +1,54 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o timout.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+indx <emphasis role="op">=</emphasis> 0
+itim <emphasis role="op">=</emphasis> p4				<emphasis role="comment">;change time for one step</emphasis>
+
+<emphasis role="olabel">clock</emphasis><emphasis role="op">:</emphasis> 
+   <emphasis role="octrl">timout</emphasis> 0, itim, <emphasis role="olabel">time</emphasis>
+   <emphasis role="opc">reinit</emphasis> <emphasis role="olabel">clock</emphasis>
+
+<emphasis role="olabel">time</emphasis><emphasis role="op">:</emphasis>
+   itmp <emphasis role="opc">table</emphasis> indx, 2, 0, 0, 1
+   <emphasis role="octrl">if</emphasis> itmp <emphasis role="op">==</emphasis> 1 then
+   <emphasis role="opc">print</emphasis> itmp
+   <emphasis role="opc">event_i</emphasis> "i",2, 0, .1			<emphasis role="comment">;event has duration of .1 second</emphasis>
+<emphasis role="octrl">endif</emphasis>
+indx <emphasis role="op">=</emphasis> indx<emphasis role="op">+</emphasis>1
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">;play it</emphasis>
+
+kenv <emphasis role="opc">transeg</emphasis> 0.01, p3<emphasis role="op">*</emphasis>0.25, 1, 1, p3<emphasis role="op">*</emphasis>0.75, .5, 0.01
+asig <emphasis role="opc">oscili</emphasis> kenv<emphasis role="op">*</emphasis>.4, 400, 1
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 1024 10 1	<emphasis role="comment">;sine</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 16 2 1 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 <emphasis role="comment">;the rythm table</emphasis>
+
+<emphasis role="stamnt">i</emphasis>1 0 10 .1
+<emphasis role="stamnt">i</emphasis>1 + 10 .05
+<emphasis role="stamnt">i</emphasis>1 + 10 .01
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/tival.csd.xml b/examples-xml/tival.csd.xml
new file mode 100644
index 0000000..9bd494d
--- /dev/null
+++ b/examples-xml/tival.csd.xml
@@ -0,0 +1,47 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o tival.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+
+<emphasis role="oblock">instr</emphasis> 1
+
+idur  <emphasis role="op">=</emphasis> <emphasis role="opc">abs</emphasis>(p3)				<emphasis role="comment">;make p3 positive even if p3 is negative in score</emphasis>
+itiv  <emphasis role="opc">tival</emphasis>
+i1    <emphasis role="op">=</emphasis> <emphasis role="op">-</emphasis>1				<emphasis role="comment">;assume this is tied note, so keep fase of oscili</emphasis>
+      <emphasis role="octrl">tigoto</emphasis> <emphasis role="olabel">slur</emphasis>			<emphasis role="comment">;no reinitialisation on tied notes</emphasis>
+i1    <emphasis role="op">=</emphasis> 0				<emphasis role="comment">;first note, so reset phase</emphasis>
+aatt  <emphasis role="opc">line</emphasis> p4, idur, 0			<emphasis role="comment">;primary envelope</emphasis>
+
+<emphasis role="olabel">slur</emphasis><emphasis role="op">:</emphasis>
+      <emphasis role="octrl">if</emphasis> itiv<emphasis role="op">==</emphasis>0 <emphasis role="octrl">kgoto</emphasis> <emphasis role="olabel">note</emphasis>		<emphasis role="comment">;no expression on first and second note</emphasis>
+aslur <emphasis role="opc">linseg</emphasis> 0, idur<emphasis role="op">*</emphasis>.3, p4, idur<emphasis role="op">*</emphasis>.7, 0	<emphasis role="comment">;envelope for slurred note</emphasis>
+aatt  <emphasis role="op">=</emphasis> aatt <emphasis role="op">+</emphasis> aslur
+
+<emphasis role="olabel">note</emphasis><emphasis role="op">:</emphasis>
+asig  <emphasis role="opc">oscili</emphasis> aatt, p5, 1, i1
+      <emphasis role="opc">outs</emphasis>   asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 4096 10 1	<emphasis role="comment">;sine wave</emphasis>
+
+<emphasis role="stamnt">i</emphasis>1  0    -5  .8  451	<emphasis role="comment">;p3 = 5 seconds</emphasis>
+<emphasis role="stamnt">i</emphasis>1  1.5 -1.5 .1  512 
+<emphasis role="stamnt">i</emphasis>1  3    2   .7  440	<emphasis role="comment">;3 notes together--> duration = 5 seconds</emphasis>
+                    
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/tlineto.csd.xml b/examples-xml/tlineto.csd.xml
new file mode 100644
index 0000000..fa1994a
--- /dev/null
+++ b/examples-xml/tlineto.csd.xml
@@ -0,0 +1,40 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o tlineto.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giSine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+
+kmtr <emphasis role="opc">lfo</emphasis> 1, .5, 1			<emphasis role="comment">;produce trigger signal			</emphasis>
+ktr  <emphasis role="opc">trigger</emphasis> kmtr, .5, 0		<emphasis role="comment">;with triangle wave</emphasis>
+
+ktime <emphasis role="op">=</emphasis> p4				
+kfreq <emphasis role="opc">randh</emphasis> 1000, 3, .2, 0, 500		<emphasis role="comment">;generate random values</emphasis>
+kfreq <emphasis role="opc">tlineto</emphasis> kfreq, ktime, ktr		<emphasis role="comment">;different glissando times</emphasis>
+aout  <emphasis role="opc">poscil</emphasis> .4, kfreq, giSine
+      <emphasis role="opc">outs</emphasis> aout, aout
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 10 .2	<emphasis role="comment">;short glissando</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 11 10 .8	<emphasis role="comment">;longer glissande</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/tone.csd.xml b/examples-xml/tone.csd.xml
index cd8db9a..59debe1 100644
--- a/examples-xml/tone.csd.xml
+++ b/examples-xml/tone.csd.xml
@@ -2,31 +2,30 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o tone.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
-
 <emphasis role="oblock">instr</emphasis> 1
 
-a1	<emphasis role="opc">diskin2</emphasis> "beats.wav", 1
-	<emphasis role="opc">outs</emphasis> a1, a1
+asig <emphasis role="opc">diskin2</emphasis> "beats.wav", 1
+     <emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 2
 
-a1      <emphasis role="opc">diskin2</emphasis> "beats.wav", 1
-a1	<emphasis role="opc">tone</emphasis>	a1, 500
-	<emphasis role="opc">outs</emphasis> a1, a1
+kton <emphasis role="opc">line</emphasis> 10000, p3, 0		<emphasis role="comment">;all the way down to 0 Hz</emphasis>
+asig <emphasis role="opc">diskin2</emphasis> "beats.wav", 1
+asig <emphasis role="opc">tone</emphasis> asig, kton		<emphasis role="comment">;half-power point at 500 Hz</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
diff --git a/examples-xml/tonek.csd.xml b/examples-xml/tonek.csd.xml
new file mode 100644
index 0000000..6fe5b5d
--- /dev/null
+++ b/examples-xml/tonek.csd.xml
@@ -0,0 +1,43 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o tonek.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+gisin <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^10, 10, 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ksig	<emphasis role="opc">randomh</emphasis>	400, 1800, 150
+aout	<emphasis role="opc">poscil</emphasis>	.2, 100<emphasis role="op">+</emphasis>ksig, gisin
+	<emphasis role="opc">outs</emphasis>	aout, aout
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+
+ksig	<emphasis role="opc">randomh</emphasis>	400, 1800, 150
+khp	<emphasis role="opc">line</emphasis>	1, p3, 100	<emphasis role="comment">;vary high-pass</emphasis>
+ksig	<emphasis role="opc">tonek</emphasis>	ksig, khp
+aout	<emphasis role="opc">poscil</emphasis>	.2, 100<emphasis role="op">+</emphasis>ksig, gisin
+	<emphasis role="opc">outs</emphasis>	aout, aout
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 5
+<emphasis role="stamnt">i</emphasis> 2 5.5 5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/tonex.csd.xml b/examples-xml/tonex.csd.xml
index 39a4c01..c145eef 100644
--- a/examples-xml/tonex.csd.xml
+++ b/examples-xml/tonex.csd.xml
@@ -2,45 +2,38 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o tonex.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
-
 <emphasis role="oblock">instr</emphasis> 1
 
-a1	<emphasis role="opc">diskin2</emphasis> "beats.wav", 1
-      <emphasis role="opc">outs</emphasis> a1, a1
+asig <emphasis role="opc">diskin2</emphasis> "beats.wav", 1
+     <emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="oblock">instr</emphasis> 2
 
-a1      <emphasis role="opc">diskin2</emphasis> "beats.wav", 1
-a1	<emphasis role="opc">tonex</emphasis>	a1, 500, 12
-   <emphasis role="opc">outs</emphasis> a1, a1
+kton <emphasis role="opc">line</emphasis> 10000, p3, 0		<emphasis role="comment">;all the way down to 0 Hz</emphasis>
+asig <emphasis role="opc">diskin2</emphasis> "beats.wav", 1
+asig <emphasis role="opc">tonex</emphasis> asig, kton, 8	<emphasis role="comment">;8 filters</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-
 <emphasis role="stamnt">i</emphasis> 1 0 2
-<emphasis role="stamnt">i</emphasis> 2 2 2
+<emphasis role="stamnt">i</emphasis> 2 3 2
 
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/tradsyn.csd.xml b/examples-xml/tradsyn.csd.xml
index 156cb15..998d371 100644
--- a/examples-xml/tradsyn.csd.xml
+++ b/examples-xml/tradsyn.csd.xml
@@ -2,39 +2,35 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o tradsyn.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
-ain		<emphasis role="opc">diskin2</emphasis>	"beats.wav", 1
-fs1,fsi2	<emphasis role="opc">pvsifd</emphasis>	ain,2048,512,1			<emphasis role="comment">; ifd analysis</emphasis>
-fst		<emphasis role="opc">partials</emphasis>	fs1,fsi2,.003,1,3,500		<emphasis role="comment">; partial tracking</emphasis>
-aout		<emphasis role="opc">tradsyn</emphasis>	fst, 1, 1.5, 500, 1		<emphasis role="comment">; resynthesis (up a 5th)</emphasis>
+ipch <emphasis role="op">=</emphasis> p4
+ain  <emphasis role="opc">diskin2</emphasis> "beats.wav", 1
+fs1,fsi2 <emphasis role="opc">pvsifd</emphasis> ain,2048,512,1		<emphasis role="comment">; ifd analysis</emphasis>
+fst  <emphasis role="opc">partials</emphasis> fs1,fsi2,.003,1,3,500	<emphasis role="comment">; partial tracking</emphasis>
+aout <emphasis role="opc">tradsyn</emphasis> fst, 1, ipch, 500, 1	<emphasis role="comment">; resynthesis</emphasis>
+     <emphasis role="opc">outs</emphasis> aout, aout
 
-		<emphasis role="opc">outs</emphasis> aout, aout
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 <emphasis role="stamnt">f</emphasis>1 0 8192 10 1
 
-<emphasis role="stamnt">i</emphasis> 1 0 3
-
+<emphasis role="stamnt">i</emphasis> 1 0 2 1.5	<emphasis role="comment">;up a 5th</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 2  .5	<emphasis role="comment">;octave down</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/trandom.csd.xml b/examples-xml/trandom.csd.xml
index b080b74..d2f7a01 100644
--- a/examples-xml/trandom.csd.xml
+++ b/examples-xml/trandom.csd.xml
@@ -2,40 +2,38 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
-
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o trandom.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Generate a random number between 220 and 440.</emphasis>
-  kmin <emphasis role="opc">init</emphasis> 220
-  kmax <emphasis role="opc">init</emphasis> 440
-  ktrig	<emphasis role="op">=</emphasis>	p4
-  k1 <emphasis role="opc">trandom</emphasis> ktrig, kmin, kmax
-
-  <emphasis role="opc">printks</emphasis> "k1 <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\\n", 0.1, k1
-<emphasis role="oblock">endin</emphasis>
+<emphasis role="ohdr">seed</emphasis> 0				<emphasis role="comment">; every run time different values	</emphasis>
 
+<emphasis role="oblock">instr</emphasis> 1	
+			
+kmin <emphasis role="opc">init</emphasis> 0			<emphasis role="comment">;random number between 0 and 220</emphasis>
+kmax <emphasis role="opc">init</emphasis> 220
+ktrig <emphasis role="op">=</emphasis> p4
+k1   <emphasis role="opc">trandom</emphasis> ktrig, kmin, kmax
+     <emphasis role="opc">printk2</emphasis> k1			<emphasis role="comment">;print when k1 changes</emphasis>
+asig <emphasis role="opc">poscil</emphasis> .4, 220<emphasis role="op">+</emphasis>k1, 1	<emphasis role="comment">;if triggered, add random values to frequency</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 4096 10 1
 
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1 0
-<emphasis role="stamnt">i</emphasis> 1 + 1 1
+<emphasis role="stamnt">i</emphasis> 1 0 2 0	<emphasis role="comment">;not triggered</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 2 1	<emphasis role="comment">;triggered</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/transegb.csd.xml b/examples-xml/transegb.csd.xml
new file mode 100644
index 0000000..5729a54
--- /dev/null
+++ b/examples-xml/transegb.csd.xml
@@ -0,0 +1,41 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+<emphasis role="comment">; Audio out   Audio in</emphasis>
+-odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o transeg.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 128
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+<emphasis role="comment">;p4 and p5 determine the type of curve for each</emphasis>
+<emphasis role="comment">;section of the envelope</emphasis>
+kenv <emphasis role="opc">transegb</emphasis> 0.01, p3<emphasis role="op">*</emphasis>0.25, p4, 1, p3, p5, 0.01
+a1 <emphasis role="opc">oscil</emphasis> kenv, 440, 1
+<emphasis role="opc">outs</emphasis> a1, a1
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">; Table #1, a sine wave.</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
+
+<emphasis role="stamnt">i</emphasis> 1 0 2 2 2
+<emphasis role="stamnt">i</emphasis> 1 + . 5 5
+<emphasis role="stamnt">i</emphasis> 1 + . 1 1
+<emphasis role="stamnt">i</emphasis> 1 + . 0 0
+<emphasis role="stamnt">i</emphasis> 1 + . -2 -2
+<emphasis role="stamnt">i</emphasis> 1 + . -2 2
+<emphasis role="stamnt">i</emphasis> 1 + . 2 -2
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/transegr.csd.xml b/examples-xml/transegr.csd.xml
new file mode 100644
index 0000000..e1e29f5
--- /dev/null
+++ b/examples-xml/transegr.csd.xml
@@ -0,0 +1,36 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  -+rtmidi=virtual -M0  <emphasis role="comment">;;;realtime audio out and realtime midi in</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o transegr.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+ 	 
+icps <emphasis role="opc">cpsmidi</emphasis>	 	 
+iamp <emphasis role="opc">ampmidi</emphasis> .2	 
+<emphasis role="comment">;             st,dur1,typ1,val,dur2,typ2,end	 	 	 </emphasis>
+kenv <emphasis role="opc">transegr</emphasis> 0,  .2,  2,  .5,  1, <emphasis role="op">-</emphasis> 3,   0
+asig <emphasis role="opc">pluck</emphasis> kenv<emphasis role="op">*</emphasis>iamp, icps, icps, 1, 1	 
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+	 
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 4096 10 1	<emphasis role="comment">;sine</emphasis>
+
+<emphasis role="stamnt">f</emphasis>0 30	<emphasis role="comment">;runs 30 seconds</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/trcross.csd.xml b/examples-xml/trcross.csd.xml
index 7999c5a..240fefc 100644
--- a/examples-xml/trcross.csd.xml
+++ b/examples-xml/trcross.csd.xml
@@ -2,45 +2,43 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o trcross.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
-ain1      <emphasis role="opc">diskin2</emphasis> "beats.wav", 1, 0, 1
-ain2      <emphasis role="opc">diskin2</emphasis> "fox.wav", 1
-fs1,fsi2	<emphasis role="opc">pvsifd</emphasis> ain1,2048,512,1		<emphasis role="comment">; ifd analysis</emphasis>
-fst		<emphasis role="opc">partials</emphasis> fs1,fsi2,.003,1,3,500  <emphasis role="comment">; partial tracking</emphasis>
-fs11,fsi12	<emphasis role="opc">pvsifd</emphasis> ain2,2048,512,1		<emphasis role="comment">; ifd analysis (second input)</emphasis>
-fst1		<emphasis role="opc">partials</emphasis>	fs11,fsi12,.003,1,3,500		<emphasis role="comment">; partial tracking \(second input</emphasis>
-fcr	<emphasis role="opc">trcross</emphasis> fst,fst1, 1.05, 1,p4		<emphasis role="comment">; cross-synthesis (mode 0 and mode 1)</emphasis>
-aout	<emphasis role="opc">tradsyn</emphasis> fcr, 1, 1, 500, 1		<emphasis role="comment">; resynthesis of tracks</emphasis>
-	<emphasis role="opc">outs</emphasis> aout<emphasis role="op">*</emphasis>10, aout<emphasis role="op">*</emphasis>10
+ain1 <emphasis role="opc">diskin2</emphasis> "beats.wav", 1, 0, 1
+ain2 <emphasis role="opc">diskin2</emphasis> "fox.wav", 1
 
-<emphasis role="oblock">endin</emphasis>
+imode <emphasis role="op">=</emphasis> p4
+fs1,fsi2 <emphasis role="opc">pvsifd</emphasis> ain1, 2048, 512, 1		<emphasis role="comment">; ifd analysis</emphasis>
+fst      <emphasis role="opc">partials</emphasis> fs1, fsi2, .01, 1, 3, 500	<emphasis role="comment">; partial tracking</emphasis>
 
+fs11,fsi12 <emphasis role="opc">pvsifd</emphasis> ain2, 2048, 512, 1		<emphasis role="comment">; ifd analysis (second input)</emphasis>
+fst1     <emphasis role="opc">partials</emphasis> fs11, fsi12, .01, 1, 3, 500	<emphasis role="comment">; partial tracking (second input</emphasis>
 
+fcr  <emphasis role="opc">trcross</emphasis> fst, fst1, 1.05, 1, imode		<emphasis role="comment">; cross-synthesis (mode 0 and mode 1)</emphasis>
+aout <emphasis role="opc">tradsyn</emphasis> fcr, 1, 1, 500, 1			<emphasis role="comment">; resynthesis of tracks</emphasis>
+     <emphasis role="opc">outs</emphasis> aout<emphasis role="op">*</emphasis>3, aout<emphasis role="op">*</emphasis>3
+
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 <emphasis role="stamnt">f</emphasis>1 0 8192 10 1
 
-<emphasis role="stamnt">i</emphasis> 1 0 4 0
-<emphasis role="stamnt">i</emphasis> 1 + 4 1
+<emphasis role="stamnt">i</emphasis> 1 0 3 0
+<emphasis role="stamnt">i</emphasis> 1 5 3 1
 
 <emphasis role="stamnt">e</emphasis>
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/trfilter.csd.xml b/examples-xml/trfilter.csd.xml
new file mode 100644
index 0000000..75dc5de
--- /dev/null
+++ b/examples-xml/trfilter.csd.xml
@@ -0,0 +1,39 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o trfilter.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+gifn <emphasis role="ohdr">ftgen</emphasis> 2, 0, <emphasis role="op">-</emphasis>22050, 5, 1, 1000, 1, 4000, 0.000001, 17050, 0.000001 <emphasis role="comment">; low-pass filter curve of 22050 points	</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kam  <emphasis role="opc">line</emphasis> 1, p3, p4
+ain  <emphasis role="opc">diskin2</emphasis> "beats.wav", 1, 0, 1
+fs1,fsi2 <emphasis role="opc">pvsifd</emphasis>	ain, 2048, 512, 1		<emphasis role="comment">; ifd analysis</emphasis>
+fst  <emphasis role="opc">partials</emphasis> fs1, fsi2, .003, 1, 3, 500	<emphasis role="comment">; partial tracking</emphasis>
+fscl <emphasis role="opc">trfilter</emphasis> fst, kam, gifn			<emphasis role="comment">; filtering using function table 2</emphasis>
+aout <emphasis role="opc">tradsyn</emphasis> fscl, 1, 1, 500, 1			<emphasis role="comment">; resynthesis </emphasis>
+     <emphasis role="opc">outs</emphasis> aout, aout
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 8192 10 1
+
+<emphasis role="stamnt">i</emphasis> 1 0 4 1
+<emphasis role="stamnt">i</emphasis> 1 5 4 0	<emphasis role="comment">;reduce filter effect</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/trhighest.csd.xml b/examples-xml/trhighest.csd.xml
index 8d54420..a4ea387 100644
--- a/examples-xml/trhighest.csd.xml
+++ b/examples-xml/trhighest.csd.xml
@@ -2,40 +2,35 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o trhighest.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
-ain     <emphasis role="opc">diskin2</emphasis> "beats.wav", 1
-fs1,fsi2	<emphasis role="opc">pvsifd</emphasis> ain,2048,512,1		<emphasis role="comment">; ifd analysis</emphasis>
-fst		<emphasis role="opc">partials</emphasis> fs1,fsi2,.003,1,3,500	<emphasis role="comment">; partial tracking</emphasis>
-fhi,kfr,kamp	<emphasis role="opc">trhighest</emphasis> fst,1			<emphasis role="comment">; highest freq-track </emphasis>
+ain     <emphasis role="opc">diskin2</emphasis> "fox.wav", 1
+fs1,fsi2 <emphasis role="opc">pvsifd</emphasis> ain, 2048, 512, 1		<emphasis role="comment">; ifd analysis</emphasis>
+fst	<emphasis role="opc">partials</emphasis> fs1, fsi2, .1, 1, 3, 500	<emphasis role="comment">; partial tracking</emphasis>
+fhi,kfr,kamp <emphasis role="opc">trhighest</emphasis> fst, 1			<emphasis role="comment">; highest freq-track </emphasis>
 aout	<emphasis role="opc">tradsyn</emphasis>	fhi, 1, 1, 1, 1			<emphasis role="comment">; resynthesis of highest frequency</emphasis>
-	<emphasis role="opc">outs</emphasis> aout<emphasis role="op">*</emphasis>100, aout<emphasis role="op">*</emphasis>100			<emphasis role="comment">; compensate energy loss</emphasis>
+	<emphasis role="opc">outs</emphasis> aout<emphasis role="op">*</emphasis>40, aout<emphasis role="op">*</emphasis>40			<emphasis role="comment">; compensate energy loss</emphasis>
 
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="stamnt">f</emphasis>1 0 8192 10 1
+<emphasis role="stamnt">f</emphasis>1 0 8192 10 1	<emphasis role="comment">;sine wave</emphasis>
 
 <emphasis role="stamnt">i</emphasis> 1 0 3
 
 <emphasis role="stamnt">e</emphasis>
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/trigger.csd.xml b/examples-xml/trigger.csd.xml
index af5145e..0bfe33f 100644
--- a/examples-xml/trigger.csd.xml
+++ b/examples-xml/trigger.csd.xml
@@ -2,44 +2,44 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o trigger.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Use a square-wave low frequency oscillator as the trigger.</emphasis>
-  klf <emphasis role="opc">lfo</emphasis> 1, 10, 3
-  ktr <emphasis role="opc">trigger</emphasis> klf, 1, 2
-
-  <emphasis role="comment">; When the value of the trigger isn't equal to 0, print it out.</emphasis>
-  <emphasis role="octrl">if</emphasis> (ktr <emphasis role="op">==</emphasis> 0) <emphasis role="octrl">kgoto</emphasis> <emphasis role="olabel">contin</emphasis>
-    <emphasis role="comment">; Print the value of the trigger and the time it occurred.</emphasis>
-    ktm <emphasis role="opc">times</emphasis>
-    <emphasis role="opc">printks</emphasis> "time <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f seconds, <emphasis role="opc">trigger</emphasis> <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\\n", 0, ktm, ktr
-
-<emphasis role="olabel">contin</emphasis><emphasis role="op">:</emphasis>
-  <emphasis role="comment">; Continue with processing.</emphasis>
+
+kmtr <emphasis role="opc">lfo</emphasis> 1, 1, 1			<emphasis role="comment">;triangle wave</emphasis>
+kmode <emphasis role="op">=</emphasis> p4
+ktr  <emphasis role="opc">trigger</emphasis> kmtr, .5, kmode
+     <emphasis role="opc">printk2</emphasis>  ktr
+     <emphasis role="opc">schedkwhen</emphasis> ktr, 0, 3, 2, 0, .3
+
+
 <emphasis role="oblock">endin</emphasis>
 
+<emphasis role="oblock">instr</emphasis> 2                                            
+
+aenv <emphasis role="opc">linseg</emphasis> 0,p3<emphasis role="op">*</emphasis>.1,1,p3<emphasis role="op">*</emphasis>.3,1,p3<emphasis role="op">*</emphasis>.6,0	<emphasis role="comment">;envelope</emphasis>
+a1   <emphasis role="opc">poscil</emphasis> .3<emphasis role="op">*</emphasis>aenv, 1000, 1
+     <emphasis role="opc">outs</emphasis> a1, a1
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1	<emphasis role="comment">;sine </emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
-<emphasis role="stamnt">e</emphasis>
-
+<emphasis role="stamnt">i</emphasis> 1 0 3 0		<emphasis role="comment">;down-up</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 4 3 2		<emphasis role="comment">;down-up & up=down</emphasis>
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/trigseq.csd.xml b/examples-xml/trigseq.csd.xml
new file mode 100644
index 0000000..b8050bd
--- /dev/null
+++ b/examples-xml/trigseq.csd.xml
@@ -0,0 +1,112 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o trigseq.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giTimes	<emphasis role="ohdr">ftgen</emphasis>	91, 0, 128, <emphasis role="op">-</emphasis>2,     1, 1<emphasis role="op">/</emphasis>2, 1<emphasis role="op">/</emphasis>2, 1<emphasis role="op">/</emphasis>8, 1<emphasis role="op">/</emphasis>8, 1<emphasis role="op">/</emphasis>2,1<emphasis role="op">/</emphasis>2, 1<emphasis role="op">/</emphasis>16, 1<emphasis role="op">/</emphasis>16, 1<emphasis role="op">/</emphasis>16, 1<emphasis role="op">/</emphasis>16, 1<emphasis role="op">/</emphasis>16, 1<emphasis role="op">/</emphasis>16, 1<emphasis role="op">/</emphasis>16, 1<emphasis role="op">/</emphasis>16<emphasis role="comment">; times</emphasis>
+giSeq	<emphasis role="ohdr">ftgen</emphasis> 	90, 0, 128, <emphasis role="op">-</emphasis>2,     1, 2,     .5, 3,    .25, 4,      .10, 5,       .05, 6 <emphasis role="comment">;** sequence amplitude and freq-ratio bins</emphasis>
+ 
+	
+<emphasis role="oblock">instr</emphasis>	1
+
+icps	<emphasis role="opc">init</emphasis>	p4
+iamp	<emphasis role="opc">init</emphasis>	.3
+
+kloop	<emphasis role="opc">init</emphasis>	p5
+initndx	<emphasis role="opc">init</emphasis>	p6
+kloop2	<emphasis role="opc">init</emphasis>	p7
+initndx2 <emphasis role="opc">init</emphasis>	p8
+kdur	<emphasis role="opc">init</emphasis>	p9
+iminTime <emphasis role="opc">init</emphasis>	p10
+imaxTime <emphasis role="opc">init</emphasis>	p11
+kampratio <emphasis role="opc">init</emphasis>  1
+kfreqratio <emphasis role="opc">init</emphasis> 1
+
+ktime_unit <emphasis role="opc">expseg</emphasis> iminTime,p3<emphasis role="op">/</emphasis>8,iminTime,p3<emphasis role="op">*</emphasis> 3<emphasis role="op">/</emphasis>4,imaxTime,p3<emphasis role="op">/</emphasis>8,imaxTime
+
+
+<emphasis role="comment">;**ktrig	seqtime	ktime_unit, kstart, kloop, initndx, kfn_times </emphasis>
+<emphasis role="comment">;ktrig	seqtime	1/ktime_unit, 0,      15, 0,      giTimes	</emphasis>
+
+ktrig	<emphasis role="opc">metro</emphasis>	ktime_unit
+
+<emphasis role="comment">;****	trigseq	ktrig_in,  kstart,  kloop, initndx,  kfn_values, kout1 [, kout2, kout3, ....,  koutN] </emphasis>
+	<emphasis role="opc">trigseq</emphasis>	ktrig, 	0, 	kloop2,initndx2,   giSeq,      kampratio, kfreqratio
+	
+<emphasis role="comment">;atrig	= ktrig*10000</emphasis>
+	<emphasis role="opc">schedkwhen</emphasis> ktrig, <emphasis role="op">-</emphasis>1, <emphasis role="op">-</emphasis>1, 3, 0, kdur, kampratio<emphasis role="op">*</emphasis>iamp, kfreqratio<emphasis role="op">*</emphasis>icps
+<emphasis role="comment">;	schedkwhen ktrig, -1, -1, 2, 0, ktrig, kampratio*iamp, kfreqratio*icps</emphasis>
+	<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis>	2
+
+icps	<emphasis role="opc">init</emphasis>	p4
+iamp	<emphasis role="opc">init</emphasis>	20000
+
+kloop	<emphasis role="opc">init</emphasis>	p5
+initndx	<emphasis role="opc">init</emphasis>	p6
+kloop2	<emphasis role="opc">init</emphasis>	p7
+initndx2 <emphasis role="opc">init</emphasis>	p8
+kdur	<emphasis role="opc">init</emphasis>	p9
+iminTime <emphasis role="opc">init</emphasis>	p10
+imaxTime <emphasis role="opc">init</emphasis>	p11
+kampratio <emphasis role="opc">init</emphasis>  1
+kfreqratio <emphasis role="opc">init</emphasis> 1
+
+ktime_unit <emphasis role="opc">expseg</emphasis> iminTime,p3<emphasis role="op">/</emphasis>8,iminTime,p3<emphasis role="op">*</emphasis> 3<emphasis role="op">/</emphasis>4,imaxTime,p3<emphasis role="op">/</emphasis>8,imaxTime
+
+
+<emphasis role="comment">;**ktrig	seqtime	ktime_unit, kstart, kloop, initndx, kfn_times </emphasis>
+ktrig	<emphasis role="opc">seqtime</emphasis>	1<emphasis role="op">/</emphasis>ktime_unit, 0,      15, 0,      giTimes	
+
+<emphasis role="comment">;ktrig	metro	ktime_unit</emphasis>
+
+<emphasis role="comment">;****	trigseq	ktrig_in,  kstart,  kloop, initndx,  kfn_values, kout1 [, kout2, kout3, ....,  koutN] </emphasis>
+	<emphasis role="opc">trigseq</emphasis>	ktrig,      0, 	   kloop2, initndx2,   giSeq,    kampratio, kfreqratio
+<emphasis role="opc">printk2</emphasis> ktrig
+<emphasis role="comment">;atrig	= ktrig*10000</emphasis>
+<emphasis role="comment">;	schedkwhen ktrig, -1, -1, 2, 0, kdur, kampratio*iamp, kfreqratio*icps</emphasis>
+	<emphasis role="opc">schedkwhen</emphasis> ktrig, <emphasis role="op">-</emphasis>1, <emphasis role="op">-</emphasis>1, 3, 0, ktrig, kampratio<emphasis role="op">*</emphasis>iamp, kfreqratio<emphasis role="op">*</emphasis>icps
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis>	3
+
+<emphasis role="opc">print</emphasis> p3
+kenv	<emphasis role="opc">expseg</emphasis>	 1.04, p3,.04
+a1	<emphasis role="opc">foscili</emphasis>	p4<emphasis role="op">*</emphasis><emphasis role="opc">a</emphasis>(kenv<emphasis role="op">-</emphasis>0.04), p5,1,1,kenv<emphasis role="op">*</emphasis>5, 2
+	<emphasis role="opc">outs</emphasis>	a1, a1
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>2 0 8192 10 1
+
+<emphasis role="comment">;	icps	unused	unused	kloop2	initndx2 kdur iminTime	imaxTime</emphasis>
+
+<emphasis role="stamnt">s</emphasis>
+
+<emphasis role="stamnt">i</emphasis>1 0  6	100	0	0	5	0	.2	3	15
+<emphasis role="stamnt">i</emphasis>1 8  6	150	0	0	4	1	.1	4	30
+<emphasis role="stamnt">i</emphasis>1 16 6	200	0	0	5	3	.25	8	50  
+<emphasis role="stamnt">i</emphasis>1 24 6	300	0	0	3	0	.1	1	30  
+
+<emphasis role="stamnt">i</emphasis>2 32 6	100	0	0	5	0	.2	1	1
+<emphasis role="stamnt">i</emphasis>2 40 6 150	0	0	4	1	.1	.5	.5
+<emphasis role="stamnt">i</emphasis>2 48 6	200	0	0	5	3	.25	3	.5  
+<emphasis role="stamnt">i</emphasis>2 56 6	300	0	0	5	0	.1	1	8  
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/trirand.csd.xml b/examples-xml/trirand.csd.xml
index 14f44a3..84230ee 100644
--- a/examples-xml/trirand.csd.xml
+++ b/examples-xml/trirand.csd.xml
@@ -2,51 +2,43 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o trirand.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Generate a random number between -1 and 1.</emphasis>
-  <emphasis role="comment">; krange = 1</emphasis>
+<emphasis role="oblock">instr</emphasis> 1  	<emphasis role="comment">; every run time same values</emphasis>
 
-  i1 <emphasis role="opc">trirand</emphasis> 1
-
-  <emphasis role="opc">print</emphasis> i1
+ktri	<emphasis role="opc">trirand</emphasis> 100
+	<emphasis role="opc">printk</emphasis> .2, ktri			<emphasis role="comment">; look </emphasis>
+aout	<emphasis role="opc">oscili</emphasis> 0.8, 440<emphasis role="op">+</emphasis>ktri, 1		<emphasis role="comment">; & listen</emphasis>
+	<emphasis role="opc">outs</emphasis>	aout, aout
 <emphasis role="oblock">endin</emphasis>
 
-<emphasis role="comment">; Instrument #2.</emphasis>
-<emphasis role="oblock">instr</emphasis> 2
-  <emphasis role="comment">; Generate a random number between -1 and 1.</emphasis>
-  <emphasis role="comment">; krange = 1</emphasis>
-
-  <emphasis role="ohdr">seed</emphasis> 0
-
-  i1 <emphasis role="opc">trirand</emphasis> 1
+<emphasis role="oblock">instr</emphasis> 2		<emphasis role="comment">; every run time different values</emphasis>
 
-  <emphasis role="opc">print</emphasis> i1
+	<emphasis role="ohdr">seed</emphasis> 0
+ktri	<emphasis role="opc">trirand</emphasis> 100
+	<emphasis role="opc">printk</emphasis> .2, ktri			<emphasis role="comment">; look </emphasis>
+aout	<emphasis role="opc">oscili</emphasis> 0.8, 440<emphasis role="op">+</emphasis>ktri, 1		<emphasis role="comment">; & listen</emphasis>
+	<emphasis role="opc">outs</emphasis>	aout, aout
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">; sine wave</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
 
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
-<emphasis role="comment">; Play Instrument #2 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 2 1 1
+<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 2 3 2
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/trlowest.csd.xml b/examples-xml/trlowest.csd.xml
index 87459ce..f3590a4 100644
--- a/examples-xml/trlowest.csd.xml
+++ b/examples-xml/trlowest.csd.xml
@@ -2,40 +2,34 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o trlowest.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 48000
-<emphasis role="comment">;kr = 4410</emphasis>
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 128
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
 ain     <emphasis role="opc">diskin2</emphasis> "beats.wav", 1
-fs1,fsi2	<emphasis role="opc">pvsifd</emphasis> ain,2048,512,1		<emphasis role="comment">; ifd analysis</emphasis>
-fst	<emphasis role="opc">partials</emphasis>	fs1,fsi2,.003,1,3,500  <emphasis role="comment">; partial tracking</emphasis>
-flow,kfr,kamp	<emphasis role="opc">trlowest</emphasis>	fst,1		<emphasis role="comment">; lowest freq-track </emphasis>
-aout	<emphasis role="opc">tradsyn</emphasis>	flow, 1, 1, 1, 1		<emphasis role="comment">; resynthesis of lowest frequenc</emphasis>
+fs1,fsi2 <emphasis role="opc">pvsifd</emphasis> ain, 2048, 512, 1	<emphasis role="comment">; ifd analysis</emphasis>
+fst <emphasis role="opc">partials</emphasis> fs1, fsi2, .003, 1, 3, 500 <emphasis role="comment">; partial tracking</emphasis>
+flow,kfr,kamp <emphasis role="opc">trlowest</emphasis> fst, 1		<emphasis role="comment">; lowest freq-track </emphasis>
+aout	<emphasis role="opc">tradsyn</emphasis>	flow, 1, 1, 1, 1	<emphasis role="comment">; resynthesis of lowest frequency</emphasis>
 	<emphasis role="opc">outs</emphasis>	aout<emphasis role="op">*</emphasis>2, aout<emphasis role="op">*</emphasis>2
 
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="stamnt">f</emphasis>1 0 8192 10 1
+<emphasis role="stamnt">f</emphasis>1 0 8192 10 1	<emphasis role="comment">;sine wave</emphasis>
 
 <emphasis role="stamnt">i</emphasis> 1 0 3
-
 <emphasis role="stamnt">e</emphasis>
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/trmix.csd.xml b/examples-xml/trmix.csd.xml
index d8e2b1a..8a327a0 100644
--- a/examples-xml/trmix.csd.xml
+++ b/examples-xml/trmix.csd.xml
@@ -2,40 +2,36 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o trmix.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
-ain		<emphasis role="opc">diskin2</emphasis>	"fox.wav", 1
-fs1,fsi2	<emphasis role="opc">pvsifd</emphasis> ain,2048,512,1		<emphasis role="comment">; ifd analysis</emphasis>
-fst	<emphasis role="opc">partials</emphasis>	fs1,fsi2,.003,1,3,500	<emphasis role="comment">; partial tracking</emphasis>
-fslo,fshi	<emphasis role="opc">trsplit</emphasis>	fst, 500		<emphasis role="comment">; split partial tracks at 1500 Hz</emphasis>
-fscl	<emphasis role="opc">trscale</emphasis>	fshi, 1.15			<emphasis role="comment">; shift the upper tracks</emphasis>
+ain	<emphasis role="opc">diskin2</emphasis>	"fox.wav", 1
+fs1,fsi2 <emphasis role="opc">pvsifd</emphasis> ain, 2048, 512, 1		<emphasis role="comment">; ifd analysis</emphasis>
+fst	<emphasis role="opc">partials</emphasis> fs1, fsi2, .003, 1, 3, 500	<emphasis role="comment">; partial tracking</emphasis>
+fslo,fshi <emphasis role="opc">trsplit</emphasis> fst, 1000			<emphasis role="comment">; split partial tracks at 1000 Hz</emphasis>
+fscl	<emphasis role="opc">trscale</emphasis>	fshi, 1.3			<emphasis role="comment">; shift the upper tracks</emphasis>
 fmix	<emphasis role="opc">trmix</emphasis>	fslo,fscl			<emphasis role="comment">; mix the shifted and unshifted tracks</emphasis>
 aout	<emphasis role="opc">tradsyn</emphasis>	fmix, 1, 1, 500, 1		<emphasis role="comment">; resynthesis of tracks</emphasis>
-	<emphasis role="opc">outs</emphasis> aout, aout
-<emphasis role="oblock">endin</emphasis>
-
+	<emphasis role="opc">outs</emphasis>    aout, aout
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="stamnt">f</emphasis>1 0 8192 10 1
+<emphasis role="stamnt">f</emphasis>1 0 8192 10 1	<emphasis role="comment">;sine wave</emphasis>
 
-<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 1 0 3
 <emphasis role="stamnt">e</emphasis>
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/trscale.csd.xml b/examples-xml/trscale.csd.xml
index 95f5f8b..5f5e2eb 100644
--- a/examples-xml/trscale.csd.xml
+++ b/examples-xml/trscale.csd.xml
@@ -2,39 +2,36 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o trscale.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
-ain		<emphasis role="opc">diskin2</emphasis>	"fox.wav", 1
-fs1,fsi2	<emphasis role="opc">pvsifd</emphasis>	ain,2048,512,1			<emphasis role="comment">; ifd analysis</emphasis>
-fst		<emphasis role="opc">partials</emphasis>	fs1,fsi2,.003,1,3,500	<emphasis role="comment">; partial tracking</emphasis>
-fscl		<emphasis role="opc">trscale</emphasis>	fst, 2.5			<emphasis role="comment">; frequency scale (up a 5th)</emphasis>
-aout		<emphasis role="opc">tradsyn</emphasis>	fscl, 1, 1, 500, 1		<emphasis role="comment">; resynthesis </emphasis>
+kpitch  <emphasis role="op">=</emphasis> p4
+ain	<emphasis role="opc">diskin2</emphasis>	"fox.wav", 1
+fs1,fsi2 <emphasis role="opc">pvsifd</emphasis>	ain, 2048, 512, 1		<emphasis role="comment">; ifd analysis</emphasis>
+fst	<emphasis role="opc">partials</emphasis> fs1, fsi2, .003, 1, 3, 500	<emphasis role="comment">; partial tracking</emphasis>
+fscl	<emphasis role="opc">trscale</emphasis>	fst, kpitch			<emphasis role="comment">; frequency scale</emphasis>
+aout	<emphasis role="opc">tradsyn</emphasis>	fscl, 1, 1, 500, 1		<emphasis role="comment">; resynthesis </emphasis>
+        <emphasis role="opc">outs</emphasis>    aout, aout
 
-		<emphasis role="opc">outs</emphasis> aout, aout
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 <emphasis role="stamnt">f</emphasis>1 0 8192 10 1
 
-<emphasis role="stamnt">i</emphasis> 1 0 3
+<emphasis role="stamnt">i</emphasis> 1 0 3 1.5	<emphasis role="comment">;up a 5th</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 3 3 3	<emphasis role="comment">;two octaves higher</emphasis>
 <emphasis role="stamnt">e</emphasis>
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/trshift.csd.xml b/examples-xml/trshift.csd.xml
new file mode 100644
index 0000000..94ab358
--- /dev/null
+++ b/examples-xml/trshift.csd.xml
@@ -0,0 +1,37 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o trshift.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+kpsft   <emphasis role="op">=</emphasis> p4
+ain	<emphasis role="opc">diskin2</emphasis>	  "fox.wav", 1
+fs1, fsi2 <emphasis role="opc">pvsifd</emphasis>  ain, 2048, 512, 1            <emphasis role="comment">; ifd analysis</emphasis>
+fst     <emphasis role="opc">partials</emphasis>  fs1, fsi2, 0.003, 1, 3, 500  <emphasis role="comment">; partial tracking</emphasis>
+fscl    <emphasis role="opc">trshift</emphasis>   fst, kpsft                   <emphasis role="comment">; frequency shift</emphasis>
+aout    <emphasis role="opc">tradsyn</emphasis>   fscl, 1, 1, 500, 1           <emphasis role="comment">; resynthesis</emphasis>
+        <emphasis role="opc">outs</emphasis> aout, aout
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 8192 10 1	<emphasis role="comment">;sine</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 3 150	<emphasis role="comment">;adds 150Hz to all tracks</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 3 500	<emphasis role="comment">;adds 500Hz to all tracks</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/trsplit.csd.xml b/examples-xml/trsplit.csd.xml
index 3afa0cd..48ba89a 100644
--- a/examples-xml/trsplit.csd.xml
+++ b/examples-xml/trsplit.csd.xml
@@ -2,39 +2,34 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o trsplit.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1
 
-ain		<emphasis role="opc">diskin2</emphasis>	"beats.wav", 1
-fs1,fsi2	<emphasis role="opc">pvsifd</emphasis> ain,2048,512,1		<emphasis role="comment">; ifd analysis</emphasis>
-fst	<emphasis role="opc">partials</emphasis>	fs1,fsi2,.003,1,3,500	<emphasis role="comment">; partial tracking</emphasis>
-fslo,fshi	<emphasis role="opc">trsplit</emphasis>	fst, 1500		<emphasis role="comment">; split partial tracks at 1500 Hz</emphasis>
-aout	<emphasis role="opc">tradsyn</emphasis>	fshi, 1, 1, 500, 1		<emphasis role="comment">; resynthesis of tracks above 1500Hz</emphasis>
+ain	 <emphasis role="opc">diskin2</emphasis> "beats.wav", 1
+fs1,fsi2 <emphasis role="opc">pvsifd</emphasis>  ain, 2048, 512, 1		<emphasis role="comment">; ifd analysis</emphasis>
+fst	 <emphasis role="opc">partials</emphasis> fs1, fsi2, .003, 1, 3, 500	<emphasis role="comment">; partial tracking</emphasis>
+fslo,fshi <emphasis role="opc">trsplit</emphasis> fst, 1500			<emphasis role="comment">; split partial tracks at 1500 Hz</emphasis>
+aout	 <emphasis role="opc">tradsyn</emphasis> fshi, 1, 1, 500, 1	<emphasis role="comment">; resynthesis of tracks above 1500Hz</emphasis>
+         <emphasis role="opc">outs</emphasis> aout, aout
 
-		<emphasis role="opc">outs</emphasis> aout, aout
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="stamnt">f</emphasis>1 0 8192 10 1
+<emphasis role="stamnt">f</emphasis>1 0 8192 10 1	<emphasis role="comment">;sine</emphasis>
 
 <emphasis role="stamnt">i</emphasis> 1 0 2
 <emphasis role="stamnt">e</emphasis>
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/unirand.csd.xml b/examples-xml/unirand.csd.xml
index eaa48b5..6bcd568 100644
--- a/examples-xml/unirand.csd.xml
+++ b/examples-xml/unirand.csd.xml
@@ -2,51 +2,43 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o unirand.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Generate a random number between 0 and 1.</emphasis>
-  <emphasis role="comment">; krange = 1</emphasis>
+<emphasis role="oblock">instr</emphasis> 1  	<emphasis role="comment">; every run time same values</emphasis>
 
-  i1 <emphasis role="opc">unirand</emphasis> 1
-
-  <emphasis role="opc">print</emphasis> i1
+ktri	<emphasis role="opc">unirand</emphasis> 100
+	<emphasis role="opc">printk</emphasis> .2, ktri			<emphasis role="comment">; look </emphasis>
+aout	<emphasis role="opc">oscili</emphasis> 0.8, 440<emphasis role="op">+</emphasis>ktri, 1		<emphasis role="comment">; & listen</emphasis>
+	<emphasis role="opc">outs</emphasis>	aout, aout
 <emphasis role="oblock">endin</emphasis>
 
-<emphasis role="comment">; Instrument #2.</emphasis>
-<emphasis role="oblock">instr</emphasis> 2
-  <emphasis role="comment">; Generate a random number between 0 and 1.</emphasis>
-  <emphasis role="comment">; krange = 1</emphasis>
-
-  <emphasis role="ohdr">seed</emphasis> 0
-
-  i1 <emphasis role="opc">unirand</emphasis> 1
+<emphasis role="oblock">instr</emphasis> 2		<emphasis role="comment">; every run time different values</emphasis>
 
-  <emphasis role="opc">print</emphasis> i1
+	<emphasis role="ohdr">seed</emphasis> 0
+ktri	<emphasis role="opc">unirand</emphasis> 100
+	<emphasis role="opc">printk</emphasis> .2, ktri			<emphasis role="comment">; look </emphasis>
+aout	<emphasis role="opc">oscili</emphasis> 0.8, 440<emphasis role="op">+</emphasis>ktri, 1		<emphasis role="comment">; & listen</emphasis>
+	<emphasis role="opc">outs</emphasis>	aout, aout
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">; sine wave</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
 
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
-<emphasis role="comment">; Play Instrument #2 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 2 1 1
+<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 2 3 2
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/until.csd.xml b/examples-xml/until.csd.xml
new file mode 100644
index 0000000..2f2ca95
--- /dev/null
+++ b/examples-xml/until.csd.xml
@@ -0,0 +1,40 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+<emphasis role="comment">; Audio out   Audio in</emphasis>
+-odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o ifthen.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+<emphasis role="olabel">lab99</emphasis><emphasis role="op">:</emphasis>
+<emphasis role="octrl">if</emphasis> p4<emphasis role="op"><</emphasis>0 <emphasis role="octrl">goto</emphasis> <emphasis role="olabel">lab100</emphasis>
+  p4 <emphasis role="op">=</emphasis> p4<emphasis role="op">-</emphasis>1
+  <emphasis role="opc">print</emphasis> p4
+  <emphasis role="octrl">goto</emphasis> <emphasis role="olabel">lab99</emphasis>
+<emphasis role="olabel">lab100</emphasis><emphasis role="op">:</emphasis>
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+  until p4<emphasis role="op"><</emphasis>0 do
+    p4 <emphasis role="op">=</emphasis> p4<emphasis role="op">-</emphasis>1
+    <emphasis role="opc">print</emphasis> p4
+  od
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 1 1 4
+<emphasis role="stamnt">i</emphasis> 2 2 1 4
+<emphasis role="stamnt">e</emphasis>
+
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/upsamp.csd.xml b/examples-xml/upsamp.csd.xml
new file mode 100644
index 0000000..b27a346
--- /dev/null
+++ b/examples-xml/upsamp.csd.xml
@@ -0,0 +1,69 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o upsamp.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+<emphasis role="comment">;;with code from Steven Cook / David Akbari, Menno Knevel and Joachim Heintz</emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="ohdr">seed</emphasis>      0
+
+  <emphasis role="oblock">opcode</emphasis> Decimator, a, akk	<emphasis role="comment">;UDO Sample rate / Bit depth reducer</emphasis>
+  <emphasis role="comment">;see http://www.csounds.com/udo/displayOpcode.php?opcode_id=73</emphasis>
+         <emphasis role="opc">setksmps</emphasis>   1
+ain, kbit, ksrate <emphasis role="opc">xin</emphasis>
+
+kbits    <emphasis role="op">=</emphasis>        2^kbit                <emphasis role="comment">;bit depth (1 to 16)</emphasis>
+kfold    <emphasis role="op">=</emphasis>        (<emphasis role="ohdr">sr</emphasis><emphasis role="op">/</emphasis>ksrate)           <emphasis role="comment">;sample rate</emphasis>
+kin      <emphasis role="opc">downsamp</emphasis> ain                   <emphasis role="comment">;convert to kr</emphasis>
+kin      <emphasis role="op">=</emphasis>        (kin<emphasis role="op">+</emphasis>0dbfs)           <emphasis role="comment">;add DC to avoid (-)</emphasis>
+kin      <emphasis role="op">=</emphasis>        kin<emphasis role="op">*</emphasis>(kbits<emphasis role="op">/</emphasis>(<emphasis role="ohdr">0dbfs</emphasis><emphasis role="op">*</emphasis>2)) <emphasis role="comment">;scale signal level</emphasis>
+kin      <emphasis role="op">=</emphasis>        <emphasis role="opc">int</emphasis>(kin)              <emphasis role="comment">;quantise</emphasis>
+aout     <emphasis role="opc">upsamp</emphasis>   kin                   <emphasis role="comment">;convert to sr</emphasis>
+aout     <emphasis role="op">=</emphasis>        aout<emphasis role="op">*</emphasis>(2<emphasis role="op">/</emphasis>kbits)<emphasis role="op">-</emphasis><emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="comment">;rescale and remove DC</emphasis>
+a0ut     <emphasis role="opc">fold</emphasis>     aout, kfold           <emphasis role="comment">;resample</emphasis>
+         <emphasis role="opc">xout</emphasis>     a0ut
+  <emphasis role="oblock">endop</emphasis>
+	
+		
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">;avoid playing this too loud</emphasis>
+
+kbit     <emphasis role="op">=</emphasis>        p4
+ksr      <emphasis role="op">=</emphasis>        44100
+asig     <emphasis role="opc">diskin</emphasis>   "fox.wav", 1
+aout     Decimator asig, kbit, ksr
+         <emphasis role="opc">printks</emphasis>  "bitrate <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>d, ", 3, kbit
+         <emphasis role="opc">printks</emphasis>  "with samplerate <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>d\\n", 3, ksr
+         <emphasis role="opc">outs</emphasis>     aout<emphasis role="op">*</emphasis>.7, aout<emphasis role="op">*</emphasis>.7
+<emphasis role="oblock">endin</emphasis>
+
+
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">;moving randomly between different bit values (1 - 6)</emphasis>
+
+kbit     <emphasis role="opc">randomi</emphasis>  1, 6, .5, 1
+asig     <emphasis role="opc">diskin</emphasis>   "fox.wav", 1, 0, 1 <emphasis role="comment">;loop play</emphasis>
+aout     Decimator asig, kbit, 44100
+         <emphasis role="opc">printks</emphasis>  "bitrate <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>f\n", .3, kbit
+         <emphasis role="opc">outs</emphasis>     aout<emphasis role="op">*</emphasis>.7, aout<emphasis role="op">*</emphasis>.7
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0	3 16		<emphasis role="comment">;sounds allright but</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 +	3 5		<emphasis role="comment">;it's getting worse</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 +	3 2		<emphasis role="comment">;and worse...</emphasis>
+<emphasis role="stamnt">i</emphasis> 2 9  22		<emphasis role="comment">;or quality moves randomly</emphasis>
+<emphasis role="stamnt">e</emphasis>	
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/urandom.csd.xml b/examples-xml/urandom.csd.xml
index 7596fb3..d820e9d 100644
--- a/examples-xml/urandom.csd.xml
+++ b/examples-xml/urandom.csd.xml
@@ -18,7 +18,7 @@
 <emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
   <emphasis role="comment">; Create random numbers at a-rate in the range -2 to 2</emphasis>
-  aur <emphasis role="opc">urandom</emphasis>  <emphasis role="op">-</emphasis>2, 2
+  aur urandom  <emphasis role="op">-</emphasis>2, 2
 
   <emphasis role="comment">; Use the random numbers to choose a frequency.</emphasis>
   afreq <emphasis role="op">=</emphasis> aur <emphasis role="op">*</emphasis> 500 <emphasis role="op">+</emphasis> 100
diff --git a/examples-xml/urandom_krate.csd.xml b/examples-xml/urandom_krate.csd.xml
index 01f8235..4dd0bfe 100644
--- a/examples-xml/urandom_krate.csd.xml
+++ b/examples-xml/urandom_krate.csd.xml
@@ -19,7 +19,7 @@
 <emphasis role="oblock">instr</emphasis> 1
   <emphasis role="comment">; Create random numbers at k-rate in the range -1 to 1 </emphasis>
   <emphasis role="comment">; with a uniform distribution.</emphasis>
-  k1 <emphasis role="opc">urandom</emphasis>
+  k1 urandom
         
   <emphasis role="opc">printks</emphasis> "k1<emphasis role="op">=</emphasis><emphasis role="op">%</emphasis>f\\n", 0.1, k1
 <emphasis role="oblock">endin</emphasis>
diff --git a/examples-xml/urd.csd.xml b/examples-xml/urd.csd.xml
new file mode 100644
index 0000000..4833498
--- /dev/null
+++ b/examples-xml/urd.csd.xml
@@ -0,0 +1,51 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac   <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o urd.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1 
+
+ktab  <emphasis role="op">=</emphasis> 1			<emphasis role="comment">;ftable 1</emphasis>
+kurd  <emphasis role="op">=</emphasis> <emphasis role="opc">urd</emphasis>(ktab) 
+ktrig <emphasis role="opc">metro</emphasis> 5			<emphasis role="comment">;triggers 5 times per second</emphasis>
+kres  <emphasis role="opc">samphold</emphasis> kurd, ktrig	<emphasis role="comment">;sample and hold value of kurd</emphasis>
+      <emphasis role="opc">printk2</emphasis> kres		<emphasis role="comment">;print it</emphasis>
+asig  <emphasis role="opc">poscil</emphasis> .5, 220<emphasis role="op">+</emphasis>kres, 2
+      <emphasis role="opc">outs</emphasis> asig, asig
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2
+
+<emphasis role="ohdr">seed</emphasis> 0	<emphasis role="comment">;every run new values</emphasis>
+
+ktab  <emphasis role="op">=</emphasis> 1 			<emphasis role="comment">;ftable 1</emphasis>
+kurd  <emphasis role="op">=</emphasis> <emphasis role="opc">urd</emphasis>(ktab) 
+ktrig <emphasis role="opc">metro</emphasis> 5			<emphasis role="comment">;triggers 5 times per second</emphasis>
+kres  <emphasis role="opc">samphold</emphasis> kurd, ktrig	<emphasis role="comment">;sample and hold value of kurd</emphasis>
+      <emphasis role="opc">printk2</emphasis> kres		<emphasis role="comment">;print it</emphasis>
+asig  <emphasis role="opc">poscil</emphasis> .5, 220<emphasis role="op">+</emphasis>kres, 2
+      <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 -20 -42  10 20 .3 100 200 .7 <emphasis role="comment">;30% choose between 10 and 20 and 70% between 100 and 200</emphasis>
+<emphasis role="stamnt">f</emphasis>2 0 8192 10 1			  <emphasis role="comment">;sine wave</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 5
+<emphasis role="stamnt">i</emphasis> 2 6 5
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/v.csd.xml b/examples-xml/v.csd.xml
new file mode 100644
index 0000000..dd48326
--- /dev/null
+++ b/examples-xml/v.csd.xml
@@ -0,0 +1,40 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o v.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+aenv <emphasis role="opc">expseg</emphasis> .01, p3<emphasis role="op">*</emphasis>0.25, 1, p3<emphasis role="op">*</emphasis>0.75, 0.01
+asig <emphasis role="opc">poscil3</emphasis> .4<emphasis role="op">*</emphasis>aenv, p4, 1
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1	<emphasis role="comment">;sine wave</emphasis>
+<emphasis role="comment">;because note 3 and 5 are played simultaneously and are nearly of the same frequency,</emphasis>
+<emphasis role="comment">;played together they will create a "beating" sound.</emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 2  110	<emphasis role="comment">; note1</emphasis>
+<emphasis role="stamnt">v</emphasis>2
+<emphasis role="stamnt">i</emphasis> 1 3 .  220	<emphasis role="comment">; note2</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 6 .  110	<emphasis role="comment">; note3</emphasis>
+<emphasis role="stamnt">v</emphasis>1
+<emphasis role="stamnt">i</emphasis> 1 9 .  880	<emphasis role="comment">; note4</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 12 . 100	<emphasis role="comment">; note5</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/valpass-2.csd.xml b/examples-xml/valpass-2.csd.xml
new file mode 100644
index 0000000..25c1848
--- /dev/null
+++ b/examples-xml/valpass-2.csd.xml
@@ -0,0 +1,39 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o valpass-2.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+giSine <emphasis role="ohdr">ftgen</emphasis> 0, 0, 65536, 10, 1			<emphasis role="comment">;sine wave</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1
+
+asig <emphasis role="opc">diskin2</emphasis> "beats.wav", 1, 0, 1
+krvt <emphasis role="opc">line</emphasis> 0.01, p3, p3				<emphasis role="comment">;reverb time</emphasis>
+adepth <emphasis role="op">=</emphasis> p4					<emphasis role="comment">;sine depth </emphasis>
+krate <emphasis role="op">=</emphasis> 0.3					<emphasis role="comment">;sine rate (speed)</emphasis>
+adel <emphasis role="opc">oscil</emphasis> 0.5, krate, giSine			<emphasis role="comment">;delay time oscillator (LFO)</emphasis>
+adel <emphasis role="op">=</emphasis> ((adel<emphasis role="op">+</emphasis>0.5)<emphasis role="op">*</emphasis>adepth)			<emphasis role="comment">;scale and offset LFO</emphasis>
+aout <emphasis role="opc">valpass</emphasis> asig, krvt, adel<emphasis role="op">*</emphasis>0.01, 0.5
+     <emphasis role="opc">outs</emphasis> aout, aout
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+	
+<emphasis role="stamnt">i</emphasis>1 0  10 1
+<emphasis role="stamnt">i</emphasis>1 11 10 5	
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/valpass.csd.xml b/examples-xml/valpass.csd.xml
index 5bee75b..8b79209 100644
--- a/examples-xml/valpass.csd.xml
+++ b/examples-xml/valpass.csd.xml
@@ -2,39 +2,35 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o valpass.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1 
 
 krvt <emphasis role="op">=</emphasis> 1.5
-klpt <emphasis role="opc">line</emphasis>	p4, p3, p5
+klpt <emphasis role="opc">line</emphasis> p4, p3, p5
 imaxlpt <emphasis role="op">=</emphasis> .1
 
-a1	<emphasis role="opc">diskin2</emphasis>	"fox.wav", 1
-a1	<emphasis role="opc">valpass</emphasis>	a1, krvt, klpt, imaxlpt
-a2	<emphasis role="opc">valpass</emphasis>	a1, krvt, klpt<emphasis role="op">*</emphasis>.5, imaxlpt
-	<emphasis role="opc">outs</emphasis>	a1, a2  
+a1 <emphasis role="opc">diskin2</emphasis> "fox.wav", 1
+a1 <emphasis role="opc">valpass</emphasis> a1, krvt, klpt, imaxlpt
+a2 <emphasis role="opc">valpass</emphasis> a1, krvt, klpt<emphasis role="op">*</emphasis>.5, imaxlpt
+   <emphasis role="opc">outs</emphasis>	a1, a2  
 
 <emphasis role="oblock">endin</emphasis>
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
 <emphasis role="stamnt">i</emphasis> 1 0 5 .01 .2
-
 <emphasis role="stamnt">e</emphasis>
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/vbap.csd.xml b/examples-xml/vbap.csd.xml
new file mode 100644
index 0000000..410fd93
--- /dev/null
+++ b/examples-xml/vbap.csd.xml
@@ -0,0 +1,36 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o vbap.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 4	<emphasis role="comment">;quad</emphasis>
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="opc">vbaplsinit</emphasis> 2, 4, 0, 90, 180, 270
+
+<emphasis role="oblock">instr</emphasis> 1
+
+asig <emphasis role="opc">diskin2</emphasis> "beats.wav", 1, 0, 1			<emphasis role="comment">;loop beats.wav</emphasis>
+kaz  <emphasis role="opc">line</emphasis> 0, p3, p4					<emphasis role="comment">;come from right rear speaker &	</emphasis>
+a1,a2,a3,a4 <emphasis role="opc">vbap</emphasis>  asig, 180, 100, kaz			<emphasis role="comment">;change spread of soundsource</emphasis>
+     <emphasis role="opc">printks</emphasis> "spread of source <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>d\n", 1, kaz		<emphasis role="comment">;print spread value</emphasis>
+     <emphasis role="opc">outq</emphasis> a1,a2,a3,a4
+
+<emphasis role="oblock">endin</emphasis> 
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 12 100
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/vbap4.csd.xml b/examples-xml/vbap4.csd.xml
new file mode 100644
index 0000000..c0a9dd4
--- /dev/null
+++ b/examples-xml/vbap4.csd.xml
@@ -0,0 +1,36 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o vbap4.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 4	<emphasis role="comment">;quad</emphasis>
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="opc">vbaplsinit</emphasis> 2, 4, 0, 90, 180, 270
+
+<emphasis role="oblock">instr</emphasis> 1
+
+asig <emphasis role="opc">diskin2</emphasis> "beats.wav", 1, 0, 1			<emphasis role="comment">;loop beats.wav</emphasis>
+kaz  <emphasis role="opc">line</emphasis> 0, p3, p4					<emphasis role="comment">;come from right rear speaker &	</emphasis>
+a1,a2,a3,a4 <emphasis role="opc">vbap4</emphasis>  asig, 180, 100, kaz			<emphasis role="comment">;change spread of soundsource</emphasis>
+     <emphasis role="opc">printks</emphasis> "spread of source <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>d\n", 1, kaz		<emphasis role="comment">;print spread value</emphasis>
+     <emphasis role="opc">outq</emphasis> a1,a2,a3,a4
+
+<emphasis role="oblock">endin</emphasis> 
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 12 100
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/vbap4move.csd.xml b/examples-xml/vbap4move.csd.xml
new file mode 100644
index 0000000..c22d467
--- /dev/null
+++ b/examples-xml/vbap4move.csd.xml
@@ -0,0 +1,34 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o vbap4move.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 4	<emphasis role="comment">;quad</emphasis>
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="opc">vbaplsinit</emphasis> 2, 4, 0, 90, 180, 270
+
+<emphasis role="oblock">instr</emphasis> 1
+
+asig <emphasis role="opc">diskin2</emphasis> "beats.wav", 1, 0, 1		<emphasis role="comment">;loop beats.wav</emphasis>
+a1,a2,a3,a4 <emphasis role="opc">vbap4move</emphasis>  asig, p3, 1, 2, 310, 180	<emphasis role="comment">;change movement of soundsource in</emphasis>
+     <emphasis role="opc">outq</emphasis> a1,a2,a3,a4				<emphasis role="comment">;the rear speakers</emphasis>
+
+<emphasis role="oblock">endin</emphasis> 
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 5
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/vbap8.csd.xml b/examples-xml/vbap8.csd.xml
index f1940a6..91c9c41 100644
--- a/examples-xml/vbap8.csd.xml
+++ b/examples-xml/vbap8.csd.xml
@@ -9,7 +9,7 @@
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-  <emphasis role="ohdr">sr</emphasis>       <emphasis role="op">=</emphasis>          41000
+  <emphasis role="ohdr">sr</emphasis>       <emphasis role="op">=</emphasis>          44100
   <emphasis role="ohdr">kr</emphasis>       <emphasis role="op">=</emphasis>           441
   <emphasis role="ohdr">ksmps</emphasis>    <emphasis role="op">=</emphasis>           100
   <emphasis role="ohdr">nchnls</emphasis>   <emphasis role="op">=</emphasis>             4
@@ -31,9 +31,9 @@
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
+<emphasis role="stamnt">f</emphasis> 1 0 8192 10 1
 <emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-,          azimuth
+<emphasis role="comment">;          azimuth</emphasis>
 <emphasis role="stamnt">i</emphasis> 1 0 1      20
 <emphasis role="stamnt">i</emphasis> 1 + .      40
 <emphasis role="stamnt">i</emphasis> 1 + .      60
diff --git a/examples-xml/vbapg.csd.xml b/examples-xml/vbapg.csd.xml
new file mode 100644
index 0000000..9b87391
--- /dev/null
+++ b/examples-xml/vbapg.csd.xml
@@ -0,0 +1,36 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o vbap4.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 4	<emphasis role="comment">;quad</emphasis>
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="opc">vbaplsinit</emphasis> 2.01, 4, 0, 90, 180, 270
+
+<emphasis role="oblock">instr</emphasis> 1
+
+asig <emphasis role="opc">diskin2</emphasis> "beats.wav", 1, 0, 1		<emphasis role="comment">;loop beats.wav</emphasis>
+kaz  <emphasis role="opc">line</emphasis> 0, p3, p4				<emphasis role="comment">;come from right rear speaker &	</emphasis>
+k1,k2,k3,k4 <emphasis role="opc">vbapg</emphasis>  180, 100, kaz, 1             <emphasis role="comment">;change spread of soundsource</emphasis>
+     <emphasis role="opc">printks</emphasis> "spread of source <emphasis role="op">=</emphasis> <emphasis role="op">%</emphasis>d\n", 1, kaz	<emphasis role="comment">;print spread value</emphasis>
+     <emphasis role="opc">outq</emphasis> asig<emphasis role="op">*</emphasis>k1,asig<emphasis role="op">*</emphasis>k2,asig<emphasis role="op">*</emphasis>k3,asig<emphasis role="op">*</emphasis>k4
+
+<emphasis role="oblock">endin</emphasis> 
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 12 100
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/vbapgmove.csd.xml b/examples-xml/vbapgmove.csd.xml
new file mode 100644
index 0000000..d0ab43b
--- /dev/null
+++ b/examples-xml/vbapgmove.csd.xml
@@ -0,0 +1,35 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o vbapgmove.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 4	<emphasis role="comment">;quad</emphasis>
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="opc">vbaplsinit</emphasis> 2, 4, 0, 90, 180, 270
+
+<emphasis role="oblock">instr</emphasis> 1
+
+asig <emphasis role="opc">diskin2</emphasis> "beats.wav", 1, 0, 1		<emphasis role="comment">;loop beats.wav</emphasis>
+
+k0,k1,k2,k3 <emphasis role="opc">vbapgmove</emphasis>  p3, 1, 2, 310, 180	<emphasis role="comment">;change movement of soundsource in</emphasis>
+     <emphasis role="opc">outq</emphasis> k0<emphasis role="op">*</emphasis>asig,k1<emphasis role="op">*</emphasis>asig,k2<emphasis role="op">*</emphasis>asig,k3<emphasis role="op">*</emphasis>asig	<emphasis role="comment">;the rear speakers</emphasis>
+
+<emphasis role="oblock">endin</emphasis> 
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 5
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/vbaplsinit.csd.xml b/examples-xml/vbaplsinit.csd.xml
new file mode 100644
index 0000000..20d54bf
--- /dev/null
+++ b/examples-xml/vbaplsinit.csd.xml
@@ -0,0 +1,41 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o vbaplsinit.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 8	
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="opc">vbaplsinit</emphasis> 2, 8, 0, 45, 90, 180, 270, 0, 0, 0		<emphasis role="comment">;5 speakers for 5.1 amps</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1
+
+asig <emphasis role="opc">diskin2</emphasis> "beats.wav", 1, 0, 1			<emphasis role="comment">;loop beats.wav</emphasis>
+kazim <emphasis role="opc">line</emphasis> 1, p3, 355				
+a1,a2,a3,a4,a5,a6,a7,a8 <emphasis role="opc">vbap8</emphasis>  asig, kazim, 0, 1	<emphasis role="comment">;change azimuth of soundsource</emphasis>
+<emphasis role="comment">; Speaker mapping</emphasis>
+aFL <emphasis role="op">=</emphasis> a1 						<emphasis role="comment">; Front Left</emphasis>
+aMF <emphasis role="op">=</emphasis> a5 						<emphasis role="comment">; Mid Front </emphasis>
+aFR <emphasis role="op">=</emphasis> a2 						<emphasis role="comment">; Front Right</emphasis>
+aBL <emphasis role="op">=</emphasis> a3 						<emphasis role="comment">; Back Left</emphasis>
+aBR <emphasis role="op">=</emphasis> a4 						<emphasis role="comment">; Back Right</emphasis>
+    <emphasis role="opc">outo</emphasis> aFL,aFR,aBL,aBR,aMF,a6,a7,a8			<emphasis role="comment">;a6, a7 and a8 are dummies				</emphasis>
+
+<emphasis role="oblock">endin</emphasis> 
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 5
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/vbapmove.csd.xml b/examples-xml/vbapmove.csd.xml
new file mode 100644
index 0000000..c913c48
--- /dev/null
+++ b/examples-xml/vbapmove.csd.xml
@@ -0,0 +1,34 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o vbapmove.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 4	<emphasis role="comment">;quad</emphasis>
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="opc">vbaplsinit</emphasis> 2, 4, 0, 90, 180, 270
+
+<emphasis role="oblock">instr</emphasis> 1
+
+asig <emphasis role="opc">diskin2</emphasis> "beats.wav", 1, 0, 1		<emphasis role="comment">;loop beats.wav</emphasis>
+a1,a2,a3,a4 <emphasis role="opc">vbapmove</emphasis>  asig, p3, 1, 2, 310, 180	<emphasis role="comment">;change movement of soundsource in</emphasis>
+     <emphasis role="opc">outq</emphasis> a1,a2,a3,a4				<emphasis role="comment">;the rear speakers</emphasis>
+
+<emphasis role="oblock">endin</emphasis> 
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 5
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/vco2ift.csd.xml b/examples-xml/vco2ift.csd.xml
index 468e96c..1d639f7 100644
--- a/examples-xml/vco2ift.csd.xml
+++ b/examples-xml/vco2ift.csd.xml
@@ -2,67 +2,41 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o vco2ift.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="ohdr">sr</emphasis>      <emphasis role="op">=</emphasis>  44100
-<emphasis role="ohdr">ksmps</emphasis>   <emphasis role="op">=</emphasis>  10
-<emphasis role="ohdr">nchnls</emphasis>  <emphasis role="op">=</emphasis>  1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; user defined waveform -1: trapezoid wave with default parameters (can be</emphasis>
-<emphasis role="comment">; accessed at ftables starting from 10000)</emphasis>
-itmp    <emphasis role="ohdr">ftgen</emphasis> 1, 0, 16384, 7, 0, 2048, 1, 4096, 1, 4096, <emphasis role="op">-</emphasis>1, 4096, <emphasis role="op">-</emphasis>1, 2048, 0
-ift     <emphasis role="opc">vco2init</emphasis> <emphasis role="op">-</emphasis>1, 10000, 0, 0, 0, 1
-<emphasis role="comment">; user defined waveform -2: fixed table size (4096), number of partials</emphasis>
-<emphasis role="comment">; multiplier is 1.02 (~238 tables)</emphasis>
-itmp    <emphasis role="ohdr">ftgen</emphasis> 2, 0, 16384, 7, 1, 4095, 1, 1, <emphasis role="op">-</emphasis>1, 4095, <emphasis role="op">-</emphasis>1, 1, 0, 8192, 0
-ift     <emphasis role="opc">vco2init</emphasis> <emphasis role="op">-</emphasis>2, ift, 1.02, 4096, 4096, 2
+<emphasis role="comment">; user defined waveform -2: fixed table size (64), number of partials</emphasis>
+<emphasis role="comment">; multiplier is 1.4</emphasis>
+itmp    <emphasis role="ohdr">ftgen</emphasis> 2, 0, 64, 5, 1, 2, 120, 60, 1, 1, 0.001, 1
+ift     <emphasis role="opc">vco2init</emphasis> <emphasis role="op">-</emphasis>2, 2, 1.4, 4096, 4096, 2
 
-        <emphasis role="oblock">instr</emphasis> 1
-kcps    <emphasis role="opc">expon</emphasis> p4, p3, p5                <emphasis role="comment">; instr 1: basic vco2 example</emphasis>
-a1      <emphasis role="opc">vco2</emphasis> 12000, kcps                <emphasis role="comment">; (sawtooth wave with default</emphasis>
-        <emphasis role="opc">out</emphasis> a1                          <emphasis role="comment">; parameters)</emphasis>
-        <emphasis role="oblock">endin</emphasis>
 
-        <emphasis role="oblock">instr</emphasis> 2
-kcps    <emphasis role="opc">expon</emphasis> p4, p3, p5                        <emphasis role="comment">; instr 2:</emphasis>
-kpw     <emphasis role="opc">linseg</emphasis> 0.1, p3<emphasis role="op">/</emphasis>2, 0.9, p3<emphasis role="op">/</emphasis>2, 0.1        <emphasis role="comment">; PWM example</emphasis>
-a1      <emphasis role="opc">vco2</emphasis> 10000, kcps, 2, kpw
-        <emphasis role="opc">out</emphasis> a1
-        <emphasis role="oblock">endin</emphasis>
-
-        <emphasis role="oblock">instr</emphasis> 3
-kcps    <emphasis role="opc">expon</emphasis> p4, p3, p5                <emphasis role="comment">; instr 3: vco2 with user</emphasis>
-a1      <emphasis role="opc">vco2</emphasis> 14000, kcps, 14            <emphasis role="comment">; defined waveform (-1)</emphasis>
-aenv    <emphasis role="opc">linseg</emphasis> 1, p3 <emphasis role="op">-</emphasis> 0.1, 1, 0.1, 0   <emphasis role="comment">; de-click envelope</emphasis>
-        <emphasis role="opc">out</emphasis> a1 <emphasis role="op">*</emphasis> aenv
-        <emphasis role="oblock">endin</emphasis>
-
-        <emphasis role="oblock">instr</emphasis> 4
-icps    <emphasis role="op">=</emphasis> p4                            <emphasis role="comment">; instr 4: vco2ift example,</emphasis>
-ifn     <emphasis role="opc">vco2ift</emphasis> icps, <emphasis role="op">-</emphasis>2, 0.25          <emphasis role="comment">; with user defined waveform</emphasis>
-a1      <emphasis role="opc">oscili</emphasis> 12000, icps, ifn         <emphasis role="comment">; (-2), and sr/4 bandwidth</emphasis>
-        <emphasis role="opc">out</emphasis> a1
-        <emphasis role="oblock">endin</emphasis>
+<emphasis role="oblock">instr</emphasis> 1
 
+icps <emphasis role="op">=</emphasis> p4
+ifn  <emphasis role="opc">vco2ift</emphasis> icps, <emphasis role="op">-</emphasis>2, 0.5	<emphasis role="comment">;with user defined waveform</emphasis>
+<emphasis role="opc">print</emphasis> ifn
+asig <emphasis role="opc">oscili</emphasis> 1, 220, ifn		<emphasis role="comment">; (-2), and sr/2 bandwidth</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="stamnt">i</emphasis> 1  0 3 20 2000
-<emphasis role="stamnt">i</emphasis> 2  4 2 200 400
-<emphasis role="stamnt">i</emphasis> 3  7 3 400 20
-<emphasis role="stamnt">i</emphasis> 4 11 2 200
-
-<emphasis role="stamnt">f</emphasis> 0 14
+<emphasis role="stamnt">i</emphasis> 1 0 2 20
+<emphasis role="stamnt">i</emphasis> 1 3 2 2000
+<emphasis role="stamnt">i</emphasis> 1 6 2 20000
 
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/vco2init.csd.xml b/examples-xml/vco2init.csd.xml
index 8f30f3b..801b90a 100644
--- a/examples-xml/vco2init.csd.xml
+++ b/examples-xml/vco2init.csd.xml
@@ -2,67 +2,39 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o vco2init.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="ohdr">sr</emphasis>      <emphasis role="op">=</emphasis>  44100
-<emphasis role="ohdr">ksmps</emphasis>   <emphasis role="op">=</emphasis>  10
-<emphasis role="ohdr">nchnls</emphasis>  <emphasis role="op">=</emphasis>  2
+<emphasis role="ohdr">sr</emphasis><emphasis role="op">=</emphasis>44100
+<emphasis role="ohdr">ksmps</emphasis><emphasis role="op">=</emphasis>1
+<emphasis role="ohdr">nchnls</emphasis><emphasis role="op">=</emphasis>2
 
-<emphasis role="comment">; user defined waveform -1: trapezoid wave with default parameters (can be</emphasis>
-<emphasis role="comment">; accessed at ftables starting from 10000)</emphasis>
-itmp    <emphasis role="ohdr">ftgen</emphasis> 1, 0, 16384, 7, 0, 2048, 1, 4096, 1, 4096, <emphasis role="op">-</emphasis>1, 4096, <emphasis role="op">-</emphasis>1, 2048, 0
-ift     <emphasis role="opc">vco2init</emphasis> <emphasis role="op">-</emphasis>1, 10000, 0, 0, 0, 1
-<emphasis role="comment">; user defined waveform -2: fixed table size (4096), number of partials</emphasis>
-<emphasis role="comment">; multiplier is 1.02 (~238 tables)</emphasis>
-itmp    <emphasis role="ohdr">ftgen</emphasis> 2, 0, 16384, 7, 1, 4095, 1, 1, <emphasis role="op">-</emphasis>1, 4095, <emphasis role="op">-</emphasis>1, 1, 0, 8192, 0
-ift     <emphasis role="opc">vco2init</emphasis> <emphasis role="op">-</emphasis>2, ift, 1.02, 4096, 4096, 2
+<emphasis role="comment">; create waveform with discontinuities, so it has a lot of high freq content</emphasis>
+gitable <emphasis role="ohdr">ftgen</emphasis> 0, 0, 2^16<emphasis role="op">+</emphasis>1, 7, <emphasis role="op">-</emphasis>1, 2^14, 1, 0, <emphasis role="op">-</emphasis>1, 2^14, 1, 0, <emphasis role="op">-</emphasis>1, 2^15, 1
+<emphasis role="comment">; make bandlimited tables of the waveform</emphasis>
+gi_nextfree <emphasis role="opc">vco2init</emphasis> <emphasis role="op">-</emphasis>gitable, gitable<emphasis role="op">+</emphasis>1, 1.05, 128, 2^16, gitable
+gitable_bl <emphasis role="op">=</emphasis> <emphasis role="op">-</emphasis>gitable
 
-        <emphasis role="oblock">instr</emphasis> 1
-kcps    <emphasis role="opc">expon</emphasis> p4, p3, p5                <emphasis role="comment">; instr 1: basic vco2 example</emphasis>
-a1      <emphasis role="opc">vco2</emphasis> 12000, kcps                <emphasis role="comment">; (sawtooth wave with default</emphasis>
-        <emphasis role="opc">outs</emphasis> a1, a1                     <emphasis role="comment">; parameters)</emphasis>
-        <emphasis role="oblock">endin</emphasis>
+<emphasis role="oblock">instr</emphasis> 1
 
-        <emphasis role="oblock">instr</emphasis> 2
-kcps    <emphasis role="opc">expon</emphasis> p4, p3, p5                        <emphasis role="comment">; instr 2:</emphasis>
-kpw     <emphasis role="opc">linseg</emphasis> 0.1, p3<emphasis role="op">/</emphasis>2, 0.9, p3<emphasis role="op">/</emphasis>2, 0.1        <emphasis role="comment">; PWM example</emphasis>
-a1      <emphasis role="opc">vco2</emphasis> 10000, kcps, 2, kpw
-        <emphasis role="opc">outs</emphasis> a1, a1
-        <emphasis role="oblock">endin</emphasis>
-
-        <emphasis role="oblock">instr</emphasis> 3
-kcps    <emphasis role="opc">expon</emphasis> p4, p3, p5                <emphasis role="comment">; instr 3: vco2 with user</emphasis>
-a1      <emphasis role="opc">vco2</emphasis> 14000, kcps, 14            <emphasis role="comment">; defined waveform (-1)</emphasis>
-aenv    <emphasis role="opc">linseg</emphasis> 1, p3 <emphasis role="op">-</emphasis> 0.1, 1, 0.1, 0   <emphasis role="comment">; de-click envelope</emphasis>
-        <emphasis role="opc">outs</emphasis> a1 <emphasis role="op">*</emphasis> aenv, a1 <emphasis role="op">*</emphasis> aenv
-        <emphasis role="oblock">endin</emphasis>
-
-        <emphasis role="oblock">instr</emphasis> 4
-kcps    <emphasis role="opc">expon</emphasis> p4, p3, p5                <emphasis role="comment">; instr 4: vco2ft example,</emphasis>
-kfn     <emphasis role="opc">vco2ft</emphasis> kcps, <emphasis role="op">-</emphasis>2, 0.25           <emphasis role="comment">; with user defined waveform</emphasis>
-a1      <emphasis role="opc">oscilikt</emphasis> 12000, kcps, kfn       <emphasis role="comment">; (-2), and sr/4 bandwidth</emphasis>
-        <emphasis role="opc">outs</emphasis> a1, a1
-        <emphasis role="oblock">endin</emphasis>
+kfreq  <emphasis role="opc">expon</emphasis> 14000, p3, 500
+kfn    <emphasis role="opc">vco2ft</emphasis> kfreq, gitable_bl
+asig   <emphasis role="opc">oscilikt</emphasis> 5000, kfreq, kfn
+<emphasis role="opc">printk</emphasis> 0.1, kfn
 
+<emphasis role="comment">; remove semicolon on next line to hear original waveform, demonstrating the aliasing</emphasis>
+<emphasis role="comment">;asig   oscili 5000, kfreq, gitable</emphasis>
+       <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-<emphasis role="stamnt">i</emphasis> 1  0 3 20 2000
-<emphasis role="stamnt">i</emphasis> 2  4 2 200 400
-<emphasis role="stamnt">i</emphasis> 3  7 3 400 20
-<emphasis role="stamnt">i</emphasis> 4 11 2 100 200
-
-<emphasis role="stamnt">f</emphasis> 0 14
-
+<emphasis role="stamnt">i</emphasis>1 0 5
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/vdelay.csd.xml b/examples-xml/vdelay.csd.xml
index a0f8762..5755d81 100644
--- a/examples-xml/vdelay.csd.xml
+++ b/examples-xml/vdelay.csd.xml
@@ -2,38 +2,35 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o vdelay.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">sr</emphasis>   <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1 
 
-ims	<emphasis role="op">=</emphasis>	100             <emphasis role="comment">; Maximum delay time in msec</emphasis>
-a1	<emphasis role="opc">oscil</emphasis>	10000, 1737, 1  <emphasis role="comment">; Make a signal</emphasis>
-a2	<emphasis role="opc">oscil</emphasis>	ims<emphasis role="op">/</emphasis>2, 1<emphasis role="op">/</emphasis>p3, 1  <emphasis role="comment">; Make an LFO</emphasis>
-a2	<emphasis role="op">=</emphasis>	a2 <emphasis role="op">+</emphasis> ims<emphasis role="op">/</emphasis>2      <emphasis role="comment">; Offset the LFO so that it is positive</emphasis>
-a3	<emphasis role="opc">vdelay</emphasis>	a1, a2, ims     <emphasis role="comment">; Use the LFO to control delay time</emphasis>
-	<emphasis role="opc">outs</emphasis>	a3, a3
+ims  <emphasis role="op">=</emphasis> 100				<emphasis role="comment">;maximum delay time in msec</emphasis>
+aout <emphasis role="opc">poscil</emphasis> .8, 220, 1			<emphasis role="comment">;make a signal</emphasis>
+a2   <emphasis role="opc">poscil3</emphasis> ims<emphasis role="op">/</emphasis>2, 1<emphasis role="op">/</emphasis>p3, 1		<emphasis role="comment">;make an LFO</emphasis>
+a2   <emphasis role="op">=</emphasis> a2 <emphasis role="op">+</emphasis> ims<emphasis role="op">/</emphasis>2 			<emphasis role="comment">;offset the LFO so that it is positive</emphasis>
+asig <emphasis role="opc">vdelay</emphasis> aout, a2, ims		<emphasis role="comment">;use the LFO to control delay time</emphasis>
+     <emphasis role="opc">outs</emphasis>  asig, asig
 
 <emphasis role="oblock">endin</emphasis>
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="stamnt">f</emphasis>1 0 8192 10 1
+<emphasis role="stamnt">f</emphasis>1 0 8192 10 1 <emphasis role="comment">;sine wave</emphasis>
 
 <emphasis role="stamnt">i</emphasis> 1 0 5 
 
 <emphasis role="stamnt">e</emphasis>
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/vdelay3.csd.xml b/examples-xml/vdelay3.csd.xml
index 8b920bf..fbc06a9 100644
--- a/examples-xml/vdelay3.csd.xml
+++ b/examples-xml/vdelay3.csd.xml
@@ -2,27 +2,26 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o vdelay3.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 <emphasis role="oblock">instr</emphasis> 1 
 
-ims	<emphasis role="op">=</emphasis>	100             <emphasis role="comment">; Maximum delay time in msec</emphasis>
-a1	<emphasis role="opc">oscil</emphasis>	10000, 1737, 1  <emphasis role="comment">; Make a signal</emphasis>
-a2	<emphasis role="opc">oscil</emphasis>	ims<emphasis role="op">/</emphasis>2, 1<emphasis role="op">/</emphasis>p3, 1  <emphasis role="comment">; Make an LFO</emphasis>
-a2	<emphasis role="op">=</emphasis>	a2 <emphasis role="op">+</emphasis> ims<emphasis role="op">/</emphasis>2      <emphasis role="comment">; Offset the LFO so that it is positive</emphasis>
-a3	<emphasis role="opc">vdelay3</emphasis>	a1, a2, ims     <emphasis role="comment">; Use the LFO to control delay time</emphasis>
-	<emphasis role="opc">outs</emphasis>	a3, a3
+ims  <emphasis role="op">=</emphasis> 100			<emphasis role="comment">;maximum delay time in msec</emphasis>
+aout <emphasis role="opc">poscil</emphasis> .8, 220, 1		<emphasis role="comment">;make a signal</emphasis>
+a2   <emphasis role="opc">poscil</emphasis> ims<emphasis role="op">/</emphasis>2, 1<emphasis role="op">/</emphasis>p3, 1	<emphasis role="comment">;make an LFO</emphasis>
+a2   <emphasis role="op">=</emphasis> a2 <emphasis role="op">+</emphasis> ims<emphasis role="op">/</emphasis>2		<emphasis role="comment">;offset the LFO so that it is positive</emphasis>
+asig <emphasis role="opc">vdelay3</emphasis> aout, a2, ims	<emphasis role="comment">;use the LFO to control delay time</emphasis>
+     <emphasis role="opc">outs</emphasis>  asig, asig
 
 <emphasis role="oblock">endin</emphasis>
 
diff --git a/examples-xml/vdelayx.csd.xml b/examples-xml/vdelayx.csd.xml
new file mode 100644
index 0000000..3c72ef2
--- /dev/null
+++ b/examples-xml/vdelayx.csd.xml
@@ -0,0 +1,38 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o vdelayx.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1 
+
+ims  <emphasis role="op">=</emphasis>	.5				<emphasis role="comment">;maximum delay time in seconds</emphasis>
+iws  <emphasis role="op">=</emphasis>	1024				<emphasis role="comment">;window size</emphasis>
+adl  <emphasis role="op">=</emphasis>	.5				<emphasis role="comment">;delay time</emphasis>
+asig <emphasis role="opc">diskin2</emphasis> "fox.wav", 1, 0, 1		<emphasis role="comment">;loop fox.wav</emphasis>
+a2   <emphasis role="opc">poscil</emphasis> .2, .2, 1			<emphasis role="comment">;make an LFO</emphasis>
+adl  <emphasis role="op">=</emphasis> a2 <emphasis role="op">+</emphasis> ims<emphasis role="op">/</emphasis>2      			<emphasis role="comment">;offset the LFO so that it is positive</emphasis>
+aout <emphasis role="opc">vdelayx</emphasis> asig, adl, ims, iws	<emphasis role="comment">;use the LFO to control delay time</emphasis>
+     <emphasis role="opc">outs</emphasis> aout, aout
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 8192 10 1
+
+<emphasis role="stamnt">i</emphasis> 1 0 10
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/vdelayxq.csd.xml b/examples-xml/vdelayxq.csd.xml
new file mode 100644
index 0000000..b0c48e6
--- /dev/null
+++ b/examples-xml/vdelayxq.csd.xml
@@ -0,0 +1,41 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o vdelayxq.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 4
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1 
+
+ims   <emphasis role="op">=</emphasis>	.5						<emphasis role="comment">;maximum delay time in seconds</emphasis>
+iws   <emphasis role="op">=</emphasis>	1024						<emphasis role="comment">;window size</emphasis>
+adl   <emphasis role="op">=</emphasis>	.5
+aout1  <emphasis role="opc">diskin2</emphasis> "beats.wav", 1, 0, 1			<emphasis role="comment">;loop beats.wav</emphasis>
+aout2  <emphasis role="opc">diskin2</emphasis> "fox.wav", 1, 0, 1			<emphasis role="comment">;loop fox.wav</emphasis>
+aout3  <emphasis role="opc">diskin2</emphasis> "Church.wav", 1, 0, 1			<emphasis role="comment">;loop Church.wav</emphasis>
+aout4  <emphasis role="opc">diskin2</emphasis> "flute.aiff", 1, 0, 1			<emphasis role="comment">;loop flute.aiff</emphasis>
+a2    <emphasis role="opc">poscil</emphasis> .1, .5, 1					<emphasis role="comment">;make an LFO, 1 cycle per 2 seconds</emphasis>
+adl   <emphasis role="op">=</emphasis> a2 <emphasis role="op">+</emphasis> ims<emphasis role="op">/</emphasis>2      				<emphasis role="comment">;offset the LFO so that it is positive</emphasis>
+aout1, aout2, aout3, aout4 <emphasis role="opc">vdelayxq</emphasis> aout1, aout2, aout3, aout4, adl, ims, iws<emphasis role="comment">; Use the LFO to control delay time</emphasis>
+      <emphasis role="opc">outq</emphasis> aout1, aout2, aout3, aout4
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 8192 10 1
+
+<emphasis role="stamnt">i</emphasis> 1 0 10 
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/vdelayxs.csd.xml b/examples-xml/vdelayxs.csd.xml
new file mode 100644
index 0000000..62ae67d
--- /dev/null
+++ b/examples-xml/vdelayxs.csd.xml
@@ -0,0 +1,38 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o vdelayxs.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1 
+
+ims  <emphasis role="op">=</emphasis>	.5						<emphasis role="comment">;maximum delay time in seconds</emphasis>
+iws  <emphasis role="op">=</emphasis>	1024						<emphasis role="comment">;window size</emphasis>
+adl  <emphasis role="op">=</emphasis>	.5						<emphasis role="comment">;delay time</emphasis>
+asig1, asig2 <emphasis role="opc">diskin2</emphasis> "kickroll.wav", 1, 0, 1		<emphasis role="comment">;loop stereo file kickroll.wav</emphasis>
+a2   <emphasis role="opc">poscil</emphasis> .25, .1, 1					<emphasis role="comment">;make an LFO, 1 cycle per 2 seconds</emphasis>
+adl  <emphasis role="op">=</emphasis> a2 <emphasis role="op">+</emphasis> ims<emphasis role="op">/</emphasis>2      					<emphasis role="comment">;offset the LFO so that it is positive</emphasis>
+aoutL, aoutR <emphasis role="opc">vdelayxs</emphasis> asig1, asig2, adl, ims, iws	<emphasis role="comment">;use the LFO to control delay time</emphasis>
+     <emphasis role="opc">outs</emphasis> aoutL, aoutR
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 8192 10 1
+
+<emphasis role="stamnt">i</emphasis> 1 0 10
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/vdelayxw.csd.xml b/examples-xml/vdelayxw.csd.xml
new file mode 100644
index 0000000..02780f7
--- /dev/null
+++ b/examples-xml/vdelayxw.csd.xml
@@ -0,0 +1,38 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o vdelayxw.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1 
+
+ims  <emphasis role="op">=</emphasis>	.5				<emphasis role="comment">;maximum delay time in seconds</emphasis>
+iws  <emphasis role="op">=</emphasis>	1024				<emphasis role="comment">;best quality</emphasis>
+adl  <emphasis role="op">=</emphasis>	.5				<emphasis role="comment">;delay time</emphasis>
+asig <emphasis role="opc">diskin2</emphasis> "flute.aiff", .5, 0, 1	<emphasis role="comment">;loop flute.aiff at half speed</emphasis>
+a2   <emphasis role="opc">poscil3</emphasis> .2, .1, 1			<emphasis role="comment">;make an LFO, 1 cycle per 2 seconds</emphasis>
+adl  <emphasis role="op">=</emphasis> a2 <emphasis role="op">+</emphasis> ims<emphasis role="op">/</emphasis>2      			<emphasis role="comment">;offset the LFO so that it is positive</emphasis>
+aout <emphasis role="opc">vdelayxw</emphasis> asig, adl, ims, iws	<emphasis role="comment">;use the LFO to control delay time</emphasis>
+     <emphasis role="opc">outs</emphasis> aout, aout
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 8192 10 1
+
+<emphasis role="stamnt">i</emphasis> 1 0 10
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/vdelayxwq.csd.xml b/examples-xml/vdelayxwq.csd.xml
new file mode 100644
index 0000000..2179c1a
--- /dev/null
+++ b/examples-xml/vdelayxwq.csd.xml
@@ -0,0 +1,41 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o vdelayxwq.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 4
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1 
+
+ims  <emphasis role="op">=</emphasis>	.5				<emphasis role="comment">;maximum delay time in seconds</emphasis>
+iws  <emphasis role="op">=</emphasis>	1024				<emphasis role="comment">;best quality</emphasis>
+adl  <emphasis role="op">=</emphasis>	.5				<emphasis role="comment">;delay time</emphasis>
+aout1  <emphasis role="opc">diskin2</emphasis> "beats.wav", 1, 0, 1	<emphasis role="comment">;loop beats.wav</emphasis>
+aout2  <emphasis role="opc">diskin2</emphasis> "fox.wav", 1, 0, 1	<emphasis role="comment">;loop fox.wav</emphasis>
+aout3  <emphasis role="opc">diskin2</emphasis> "Church.wav", 1, 0, 1	<emphasis role="comment">;loop Church.wav</emphasis>
+aout4  <emphasis role="opc">diskin2</emphasis> "flute.aiff", 1, 0, 1	<emphasis role="comment">;loop flute.aiff</emphasis>
+a2   <emphasis role="opc">poscil3</emphasis> .2, .1, 1			<emphasis role="comment">;make an LFO, 1 cycle per 2 seconds</emphasis>
+adl  <emphasis role="op">=</emphasis> a2 <emphasis role="op">+</emphasis> ims<emphasis role="op">/</emphasis>2      			<emphasis role="comment">;offset the LFO so that it is positive</emphasis>
+aout1, aout2, aout3, aout4 <emphasis role="opc">vdelayxwq</emphasis> aout1, aout2, aout3, aout4, adl, ims, iws	<emphasis role="comment">;use the LFO to control delay time</emphasis>
+     <emphasis role="opc">outq</emphasis> aout1, aout2, aout3, aout4
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 8192 10 1
+
+<emphasis role="stamnt">i</emphasis> 1 0 10
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/vdelayxws.csd.xml b/examples-xml/vdelayxws.csd.xml
new file mode 100644
index 0000000..e173d12
--- /dev/null
+++ b/examples-xml/vdelayxws.csd.xml
@@ -0,0 +1,38 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o vdelayxws.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1 
+
+ims  <emphasis role="op">=</emphasis>	.5						<emphasis role="comment">;maximum delay time in seconds</emphasis>
+iws  <emphasis role="op">=</emphasis>	1024						<emphasis role="comment">;window size</emphasis>
+adl  <emphasis role="op">=</emphasis>	.5						<emphasis role="comment">;delay time</emphasis>
+asig1, asig2 <emphasis role="opc">diskin2</emphasis> "kickroll.wav", 1, 0, 1		<emphasis role="comment">;loop stereo file kickroll.wav</emphasis>
+a2   <emphasis role="opc">poscil</emphasis> .2, .1, 1					<emphasis role="comment">;make an LFO, 1 cycle per 10 seconds</emphasis>
+adl  <emphasis role="op">=</emphasis> a2 <emphasis role="op">+</emphasis> ims<emphasis role="op">/</emphasis>2      					<emphasis role="comment">;offset the LFO so that it is positive</emphasis>
+aoutL, aoutR <emphasis role="opc">vdelayxws</emphasis> asig1, asig2, adl, ims, iws	<emphasis role="comment">;use the LFO to control delay time</emphasis>
+     <emphasis role="opc">outs</emphasis> aoutL, aoutR
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 8192 10 1
+
+<emphasis role="stamnt">i</emphasis> 1 0 10
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/veloc.csd.xml b/examples-xml/veloc.csd.xml
index f7bb85b..3248d0b 100644
--- a/examples-xml/veloc.csd.xml
+++ b/examples-xml/veloc.csd.xml
@@ -2,35 +2,32 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in   No messages  MIDI in</emphasis>
--odac           -iadc     -d         -M0  <emphasis role="comment">;;;RT audio I/O with MIDI in</emphasis>
-<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o veloc.wav -W ;;; for file output any platform</emphasis>
+-odac -+rtmidi=virtual  -M0  <emphasis role="comment">;;;realtime audio I/O with MIDI in</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+gisine	<emphasis role="ohdr">ftgen</emphasis> 0, 0, 1024, 10, 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  i1 <emphasis role="opc">veloc</emphasis>
 
-  <emphasis role="opc">print</emphasis> i1
+ivel <emphasis role="opc">veloc</emphasis> 0, 1				<emphasis role="comment">;scale 0 - 1</emphasis>
+<emphasis role="opc">print</emphasis> ivel				<emphasis role="comment">;print velocity</emphasis>
+asig <emphasis role="opc">poscil</emphasis> .5<emphasis role="op">*</emphasis>ivel, 220, gisine	<emphasis role="comment">;and use it as amplitude</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
+       
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for 12 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 12
-<emphasis role="stamnt">e</emphasis>
-
+<emphasis role="stamnt">f</emphasis> 0 30     <emphasis role="comment">;runs 30 seconds</emphasis>
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/vibr.csd.xml b/examples-xml/vibr.csd.xml
index e821d20..fc52b0e 100644
--- a/examples-xml/vibr.csd.xml
+++ b/examples-xml/vibr.csd.xml
@@ -2,47 +2,34 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o vibr.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Create a vibrato waveform.</emphasis>
-  kaverageamp <emphasis role="opc">init</emphasis> 7500
-  kaveragefreq <emphasis role="opc">init</emphasis> 5
-  ifn <emphasis role="op">=</emphasis> 1
-  kvamp <emphasis role="opc">vibr</emphasis> kaverageamp, kaveragefreq, ifn
 
-  <emphasis role="comment">; Generate a tone including the vibrato.</emphasis>
-  a1 <emphasis role="opc">oscili</emphasis> 10000<emphasis role="op">+</emphasis>kvamp, 440, 2
+kaverageamp  <emphasis role="opc">init</emphasis> 500
+kaveragefreq <emphasis role="opc">init</emphasis> 4
+kvib <emphasis role="opc">vibr</emphasis> kaverageamp, kaveragefreq, 1
+asig <emphasis role="opc">poscil</emphasis> .8, 220<emphasis role="op">+</emphasis>kvib, 1		<emphasis role="comment">;add vibrato</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
 
-  <emphasis role="opc">out</emphasis> a1
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1       <emphasis role="comment">;sine wave</emphasis>
 
-<emphasis role="comment">; Table #1, a sine wave for the vibrato.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 256 10 1
-<emphasis role="comment">; Table #1, a sine wave for the oscillator.</emphasis>
-<emphasis role="stamnt">f</emphasis> 2 0 16384 10 1
+<emphasis role="stamnt">i</emphasis> 1 0 10
 
-<emphasis role="comment">; Play Instrument #1 for 2 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/vibrato.csd.xml b/examples-xml/vibrato.csd.xml
index 8605d79..002a876 100644
--- a/examples-xml/vibrato.csd.xml
+++ b/examples-xml/vibrato.csd.xml
@@ -2,55 +2,40 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o vibrato.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Create a vibrato waveform.</emphasis>
-  kaverageamp <emphasis role="opc">init</emphasis> 2500
-  kaveragefreq <emphasis role="opc">init</emphasis> 6
-  krandamountamp <emphasis role="opc">init</emphasis> 0.3
-  krandamountfreq <emphasis role="opc">init</emphasis> 0.5
-  kampminrate <emphasis role="opc">init</emphasis> 3
-  kampmaxrate <emphasis role="opc">init</emphasis> 5
-  kcpsminrate <emphasis role="opc">init</emphasis> 3
-  kcpsmaxrate <emphasis role="opc">init</emphasis> 5
-  ifn <emphasis role="op">=</emphasis> 1
-  kvamp <emphasis role="opc">vibrato</emphasis> kaverageamp, kaveragefreq, krandamountamp, \
-                krandamountfreq, kampminrate, kampmaxrate, \
-                kcpsminrate, kcpsmaxrate, ifn
 
-  <emphasis role="comment">; Generate a tone including the vibrato.</emphasis>
-  a1 <emphasis role="opc">oscili</emphasis> 10000<emphasis role="op">+</emphasis>kvamp, 440, 2
+kaverageamp     <emphasis role="opc">init</emphasis> .5
+kaveragefreq    <emphasis role="opc">init</emphasis> 5
+krandamountamp  <emphasis role="opc">line</emphasis> p4, p3, p5			<emphasis role="comment">;increase random amplitude of vibrato</emphasis>
+krandamountfreq <emphasis role="opc">init</emphasis> .3
+kampminrate <emphasis role="opc">init</emphasis> 3
+kampmaxrate <emphasis role="opc">init</emphasis> 5
+kcpsminrate <emphasis role="opc">init</emphasis> 3
+kcpsmaxrate <emphasis role="opc">init</emphasis> 5
+kvib <emphasis role="opc">vibrato</emphasis> kaverageamp, kaveragefreq, krandamountamp, krandamountfreq, kampminrate, kampmaxrate, kcpsminrate, kcpsmaxrate, 1
+asig <emphasis role="opc">poscil</emphasis> .8, 220<emphasis role="op">+</emphasis>kvib, 1			<emphasis role="comment">;add vibrato</emphasis>
+     <emphasis role="opc">outs</emphasis> asig, asig
 
-  <emphasis role="opc">out</emphasis> a1
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1       <emphasis role="comment">;sine wave</emphasis>
 
-<emphasis role="comment">; Table #1, a sine wave for the vibrato.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 256 10 1
-<emphasis role="comment">; Table #1, a sine wave for the oscillator.</emphasis>
-<emphasis role="stamnt">f</emphasis> 2 0 16384 10 1
+<emphasis role="stamnt">i</emphasis> 1 0 15 .01 20
 
-<emphasis role="comment">; Play Instrument #1 for 2 seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/vincr-complex.csd.xml b/examples-xml/vincr-complex.csd.xml
new file mode 100644
index 0000000..8d30d29
--- /dev/null
+++ b/examples-xml/vincr-complex.csd.xml
@@ -0,0 +1,51 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o vincr-complex.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+gaReverbSend <emphasis role="opc">init</emphasis> 0
+
+<emphasis role="oblock">instr</emphasis> 1
+
+iamp   <emphasis role="op">=</emphasis> p4
+ifreq  <emphasis role="op">=</emphasis> p5
+aenv   <emphasis role="opc">linseg</emphasis>  0.0, 0.1<emphasis role="op">*</emphasis>p3, iamp, 0.6<emphasis role="op">*</emphasis>p3, iamp, 0.3<emphasis role="op">*</emphasis>p3, 0.0
+aosc   <emphasis role="opc">poscil</emphasis> aenv, ifreq, 1
+       <emphasis role="opc">vincr</emphasis>   gaReverbSend, aosc
+<emphasis role="oblock">endin</emphasis>
+
+
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">; global reverb instrument</emphasis>
+
+al, ar <emphasis role="opc">reverbsc</emphasis> gaReverbSend, gaReverbSend, 0.85, 12000
+       <emphasis role="opc">outs</emphasis>     gaReverbSend<emphasis role="op">+</emphasis>al, gaReverbSend<emphasis role="op">+</emphasis>ar
+       <emphasis role="opc">clear</emphasis>    gaReverbSend
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 4096 10 1
+
+{ 4 CNT
+  { 8 PARTIAL
+      <emphasis role="comment">;   start time     duration            amplitude          frequency     </emphasis>
+      <emphasis role="stamnt">i</emphasis>1  [0.5 * $CNT.]  [1 + ($CNT * 0.2)]  [.04 + (~ * .02)]  [800 + (200 * $CNT.) + ($PARTIAL. * 20)]
+  }
+}
+
+<emphasis role="stamnt">i</emphasis>2 0 6
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/vincr.csd.xml b/examples-xml/vincr.csd.xml
index 199b6ee..fb835ec 100644
--- a/examples-xml/vincr.csd.xml
+++ b/examples-xml/vincr.csd.xml
@@ -2,40 +2,41 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o vincr.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
-  <emphasis role="ohdr">sr</emphasis>	    <emphasis role="op">=</emphasis>  44100
-  <emphasis role="ohdr">ksmps</emphasis>	    <emphasis role="op">=</emphasis>  10
-  <emphasis role="ohdr">nchnls</emphasis>    <emphasis role="op">=</emphasis>  2
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
 gaReverb <emphasis role="opc">init</emphasis> 0
 
 <emphasis role="oblock">instr</emphasis> 1
     
-idur	<emphasis role="op">=</emphasis>	p3
-kpitch	<emphasis role="op">=</emphasis>	p4
+idur	<emphasis role="op">=</emphasis> p3
+kpitch	<emphasis role="op">=</emphasis> p4
 a1	<emphasis role="opc">diskin2</emphasis>	"fox.wav", kpitch
-a1	<emphasis role="op">=</emphasis>	a1<emphasis role="op">*</emphasis>.5			<emphasis role="comment">;reduce volume</emphasis>
+a1	<emphasis role="op">=</emphasis> a1<emphasis role="op">*</emphasis>.5			<emphasis role="comment">;reduce volume</emphasis>
 	<emphasis role="opc">vincr</emphasis>	gaReverb, a1
 <emphasis role="oblock">endin</emphasis>
 
-<emphasis role="comment">; global reverb</emphasis>
-<emphasis role="oblock">instr</emphasis> 99
-kfb	<emphasis role="opc">line</emphasis>	1, p3, 0
-al, ar	<emphasis role="opc">reverbsc</emphasis> gaReverb, gaReverb, kfb, 10000
+<emphasis role="oblock">instr</emphasis> 99 <emphasis role="comment">; global reverb		</emphasis>
+al, ar	<emphasis role="opc">reverbsc</emphasis> gaReverb, gaReverb, .8, 10000
 	<emphasis role="opc">outs</emphasis>	gaReverb<emphasis role="op">+</emphasis>al, gaReverb<emphasis role="op">+</emphasis>ar
-	<emphasis role="opc">clear</emphasis>	gaReverb
+	
+<emphasis role="opc">clear</emphasis>	gaReverb
+
 <emphasis role="oblock">endin</emphasis>
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
 <emphasis role="stamnt">i</emphasis>1  0 3 1
-<emphasis role="stamnt">i</emphasis>1  0.1 3 1.1
 <emphasis role="stamnt">i</emphasis>99 0 5
 <emphasis role="stamnt">e</emphasis>
 
diff --git a/examples-xml/vlowres.csd.xml b/examples-xml/vlowres.csd.xml
index e8738f2..fa1603d 100644
--- a/examples-xml/vlowres.csd.xml
+++ b/examples-xml/vlowres.csd.xml
@@ -2,48 +2,44 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o vlowres.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Use a nice sawtooth waveform.</emphasis>
-  asig <emphasis role="opc">vco</emphasis> 10000, 220, 1
-
-  <emphasis role="comment">; Vary the cutoff frequency from 30 to 300 Hz.</emphasis>
-  kfco <emphasis role="opc">line</emphasis> 30, p3, 300
-  kres <emphasis role="op">=</emphasis> 25
-  iord <emphasis role="op">=</emphasis> 2
-  ksep <emphasis role="op">=</emphasis> 20
 
-  <emphasis role="comment">; Apply the filters.</emphasis>
-  avlr <emphasis role="opc">vlowres</emphasis> asig, kfco, kres, iord, ksep
+<emphasis role="oblock">instr</emphasis> 1
 
-  <emphasis role="comment">; It gets loud, so clip the output amplitude to 30,000.</emphasis>
-  a1 <emphasis role="opc">clip</emphasis> avlr, 1, 30000
-  <emphasis role="opc">outs</emphasis> a1, a1
+kamp <emphasis role="opc">init</emphasis> p4
+asig <emphasis role="opc">vco2</emphasis>  kamp, 110			<emphasis role="comment">;saw wave</emphasis>
+kfco <emphasis role="opc">line</emphasis> 30, p3, 300			<emphasis role="comment">;vary the cutoff frequency from 30 to 300 Hz.</emphasis>
+kres <emphasis role="op">=</emphasis> 20	
+ksep <emphasis role="op">=</emphasis> p5				<emphasis role="comment">;different resonance values</emphasis>
+iord <emphasis role="op">=</emphasis> p6				<emphasis role="comment">;and different number of filters</emphasis>
+aout <emphasis role="opc">vlowres</emphasis> asig, kfco, kres, iord, ksep
+aclp <emphasis role="opc">clip</emphasis> aout, 1, 1			<emphasis role="comment">;avoid distortion</emphasis>
+     <emphasis role="opc">outs</emphasis> aclp, aclp
+     
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1	<emphasis role="comment">;sine</emphasis>
 
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 10 .1 5  2	<emphasis role="comment">;compensate volume and </emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 10 .1 25 2	<emphasis role="comment">;number of filters = 2</emphasis>
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 10 .01 5  6	<emphasis role="comment">;compensate volume and </emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 10 .04 15 6	<emphasis role="comment">;number of filters = 6</emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for two seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 10
 <emphasis role="stamnt">e</emphasis>
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/voice.csd.xml b/examples-xml/voice.csd.xml
index 09f2aa0..a5f279c 100644
--- a/examples-xml/voice.csd.xml
+++ b/examples-xml/voice.csd.xml
@@ -2,51 +2,50 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o voice.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
-<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 22050
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 2205
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 3
-  kfreq <emphasis role="op">=</emphasis> 0.8
-  kphoneme <emphasis role="op">=</emphasis> 6
-  kform <emphasis role="op">=</emphasis> 0.488
-  kvibf <emphasis role="op">=</emphasis> 0.04
-  kvamp <emphasis role="op">=</emphasis> 1
-  ifn <emphasis role="op">=</emphasis> 1
-  ivfn <emphasis role="op">=</emphasis> 2
 
-  av <emphasis role="opc">voice</emphasis> kamp, kfreq, kphoneme, kform, kvibf, kvamp, ifn, ivfn
+kamp  <emphasis role="op">=</emphasis> p4
+kphon <emphasis role="op">=</emphasis> p5
+asig  <emphasis role="opc">voice</emphasis> kamp, 200, kphon, 0.488, 0, 1, 1, 2
+      <emphasis role="opc">outs</emphasis> asig, asig
 
-  <emphasis role="comment">; It tends to get loud, so clip voice's amplitude at 30,000.</emphasis>
-  a1 <emphasis role="opc">clip</emphasis> av, 2, 30000
-  <emphasis role="opc">out</emphasis> a1
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 256 1 "impuls20.ai<emphasis role="stamnt">f</emphasis><emphasis role="stamnt">f</emphasis>" 0 0 0	<emphasis role="comment">;audio file for the carrier waveform</emphasis>
+<emphasis role="stamnt">f</emphasis> 2 0 256 10 1				<emphasis role="comment">;sine wave for the vibrato waveform</emphasis>
+
+<emphasis role="comment">;       ampl phoneme</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 2 0.8    1
+<emphasis role="stamnt">i</emphasis> 1 + . 0.6    2
+<emphasis role="stamnt">i</emphasis> 1 + . 1.8    3
+<emphasis role="stamnt">i</emphasis> 1 + . 15.0   4
+<emphasis role="stamnt">i</emphasis> 1 + . 0.05   5
+<emphasis role="stamnt">i</emphasis> 1 + . 0.06   6
+<emphasis role="stamnt">i</emphasis> 1 + . 0.03   7
+<emphasis role="stamnt">i</emphasis> 1 + . 0.0002 8
+<emphasis role="stamnt">i</emphasis> 1 + . 0.1    9
+<emphasis role="stamnt">i</emphasis> 1 + . 0.5   10
+<emphasis role="stamnt">i</emphasis> 1 + . 100   11
+<emphasis role="stamnt">i</emphasis> 1 + . 0.03  12
+<emphasis role="stamnt">i</emphasis> 1 + . 0.04  13
+<emphasis role="stamnt">i</emphasis> 1 + . 0.04  14
+<emphasis role="stamnt">i</emphasis> 1 + . 0.04  15
+<emphasis role="stamnt">i</emphasis> 1 + . 0.05  16
 
-<emphasis role="comment">; Table #1, an audio file for the carrier waveform.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 256 1 "impuls20.ai<emphasis role="stamnt">f</emphasis><emphasis role="stamnt">f</emphasis>" 0 0 0
-<emphasis role="comment">; Table #2, a sine wave for the vibrato waveform.</emphasis>
-<emphasis role="stamnt">f</emphasis> 2 0 256 10 1
-
-<emphasis role="comment">; Play Instrument #1 for a half-second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 0.5
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/vpow-2.csd.xml b/examples-xml/vpow-2.csd.xml
new file mode 100644
index 0000000..504df9c
--- /dev/null
+++ b/examples-xml/vpow-2.csd.xml
@@ -0,0 +1,41 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o vpow-2.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ain   <emphasis role="opc">diskin2</emphasis> "fox.wav", 1				<emphasis role="comment">;soundfile</emphasis>
+fsrc  <emphasis role="opc">pvsanal</emphasis> ain, 1024, 256, 1024, 1
+ifn   <emphasis role="ohdr">ftgen</emphasis>   0, 0, 1024<emphasis role="op">/</emphasis>2, 2, 0			<emphasis role="comment">;create empty function table for the 513 bins</emphasis>
+kflag <emphasis role="opc">pvsftw</emphasis> fsrc,ifn					<emphasis role="comment">;export only amplitudes to table	</emphasis>
+kval  <emphasis role="opc">line</emphasis> .001, p3, 1					<emphasis role="comment">;start with big distortion, cahnge over note duration to clean sound</emphasis>
+kbin  <emphasis role="opc">line</emphasis> p4, p3, p5					<emphasis role="comment">;vary the bins</emphasis>
+<emphasis role="opc">vpow</emphasis>  ifn, kval, kbin, 0				<emphasis role="comment">;note that this operation is applied each k-cycle!</emphasis>
+<emphasis role="comment">;vpow ifn, kval, kbin, 10				;if you set kdstoffset to 10 it will affect bins 10+(kbin line p4, p3, p5)</emphasis>
+      <emphasis role="opc">pvsftr</emphasis>  fsrc,ifn					<emphasis role="comment">;read modified data back to fsrc</emphasis>
+aout  <emphasis role="opc">pvsynth</emphasis> fsrc					<emphasis role="comment">;and resynth</emphasis>
+      <emphasis role="opc">outs</emphasis> aout<emphasis role="op">*</emphasis>p6, aout<emphasis role="op">*</emphasis>p6				<emphasis role="comment">;adjust volume to compensate</emphasis>
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1 0 4 100 100 .02	<emphasis role="comment">;first 100 bins are affected</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 4 10  10  .1	<emphasis role="comment">;first 10 bins</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 4 1 400	.05	<emphasis role="comment">;sweep from bin 1 to 400</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/vpow_i-2.csd.xml b/examples-xml/vpow_i-2.csd.xml
new file mode 100644
index 0000000..e64c8a9
--- /dev/null
+++ b/examples-xml/vpow_i-2.csd.xml
@@ -0,0 +1,38 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac  <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o vpow_i-2.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+gifil <emphasis role="ohdr">ftgen</emphasis> 1, 0, 0, 1, "fox.wav", 0, 0, 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+ival       <emphasis role="op">=</emphasis> p4				<emphasis role="comment">;different distortion settings</emphasis>
+ielements  <emphasis role="op">=</emphasis> p5
+idstoffset <emphasis role="op">=</emphasis> p6				<emphasis role="comment">;index offset</emphasis>
+<emphasis role="opc">vpow_i</emphasis> 1, ival, ielements, idstoffset
+asig <emphasis role="opc">lposcil</emphasis> 1, 1, 0, 0, 1
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+	
+<emphasis role="stamnt">i</emphasis>1	0	2.7	.5	70000	0	<emphasis role="comment">;no offset</emphasis>
+<emphasis role="stamnt">i</emphasis>1	3	2.7	.01	50000	70000	<emphasis role="comment">;add another period of distortion, starting at sample 70000	</emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/vpvoc.csd.xml b/examples-xml/vpvoc.csd.xml
index 1968d1c..ad60a46 100644
--- a/examples-xml/vpvoc.csd.xml
+++ b/examples-xml/vpvoc.csd.xml
@@ -2,40 +2,34 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o vpvoc.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">;analyze "fox.wav" with pvanal first</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-
-ktime   <emphasis role="opc">line</emphasis>            0, p3,3 <emphasis role="comment">; time pointer, in seconds, into file</emphasis>
-        <emphasis role="opc">tablexseg</emphasis>       3, p3<emphasis role="op">*</emphasis>.5, 1, p3<emphasis role="op">*</emphasis>.5, 2
-apv     <emphasis role="opc">vpvoc</emphasis>           ktime,1, "fox.pvx"
-apv	<emphasis role="op">=</emphasis>	apv<emphasis role="op">*</emphasis>1
-<emphasis role="opc">outs</emphasis> apv, apv
-<emphasis role="oblock">endin</emphasis>
-
-
+<emphasis role="comment">; analyze "fox.wav" with PVANAL first</emphasis>
+iend  <emphasis role="op">=</emphasis> p4
+ktime <emphasis role="opc">line</emphasis> 0, p3, iend
+      <emphasis role="opc">tablexseg</emphasis> p5, p3, p6		<emphasis role="comment">;morph from table 1</emphasis>
+asig  <emphasis role="opc">vpvoc</emphasis> ktime, 1, "fox.pvx"		<emphasis role="comment">;to table 2</emphasis>
+      <emphasis role="opc">outs</emphasis> asig<emphasis role="op">*</emphasis>3, asig<emphasis role="op">*</emphasis>3
+
+<emphasis role="oblock">endin</emphasis>      
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 512 9 .5 1 0
+<emphasis role="stamnt">f</emphasis> 2 0 512 5 1 60 0.01 390 0.01 62 1
 
-<emphasis role="stamnt">f</emphasis> 1 0 256 5 .001 128 1 128 .001
-<emphasis role="stamnt">f</emphasis> 2 0 256  5 1 128 .001 128 1
-<emphasis role="stamnt">f</emphasis> 3 0 256  7 1 256 1
-
-<emphasis role="stamnt">i</emphasis>1 0 10
+<emphasis role="stamnt">i</emphasis> 1 0 5 2.7 1 2
 <emphasis role="stamnt">e</emphasis>
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/vst4cs.csd.xml b/examples-xml/vst4cs.csd.xml
index 7508b3c..7966283 100644
--- a/examples-xml/vst4cs.csd.xml
+++ b/examples-xml/vst4cs.csd.xml
@@ -12,13 +12,13 @@
 <emphasis role="ohdr">ksmps</emphasis>  <emphasis role="op">=</emphasis> 20
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
                 <emphasis role="comment">; Load the Pianoteq into memory.</emphasis>
-gipianoteq      vstinit         "C<emphasis role="op">:</emphasis>\\Program Files\\Steinberg\\VstPlugins\\Pianoteq 3.0 Trial\\Pianoteq30 Trial.dll", 1
+gipianoteq      <emphasis role="opc">vstinit</emphasis>         "C<emphasis role="op">:</emphasis>\\Program Files\\Steinberg\\VstPlugins\\Pianoteq 3.0 Trial\\Pianoteq30 Trial.dll", 1
                 
                 <emphasis role="comment">; Print information about the Pianoteq, such as parameter names and numbers.</emphasis>
-                vstinfo         gipianoteq
+                <emphasis role="opc">vstinfo</emphasis>         gipianoteq
                 
                 <emphasis role="comment">; Open the Pianoteq's GUI.</emphasis>
-                vstedit         gipianoteq
+                <emphasis role="opc">vstedit</emphasis>         gipianoteq
 
                 <emphasis role="comment">; Send notes from the score to the Pianoteq.</emphasis>
                 <emphasis role="oblock">instr</emphasis> 1 
@@ -27,20 +27,20 @@ gipianoteq      vstinit         "C<emphasis role="op">:</emphasis>\\Program File
                 <emphasis role="comment">; p4 contains the MIDI key number (pitch),</emphasis>
                 <emphasis role="comment">; p5 contains the MIDI velocity number (loudness),</emphasis>
 imidichannel    <emphasis role="opc">init</emphasis>            0
-                vstnote         gipianoteq, imidichannel, p4, p5, p3
+                <emphasis role="opc">vstnote</emphasis>         gipianoteq, imidichannel, p4, p5, p3
                 <emphasis role="oblock">endin</emphasis>
 
                 <emphasis role="comment">; Send parameter changes to the Pianoteq.</emphasis>
                 <emphasis role="oblock">instr</emphasis> 2 
                 <emphasis role="comment">; p4 is the parameter number.</emphasis>
                 <emphasis role="comment">; p5 is the parameter value.</emphasis>
-                vstparamset     gipianoteq, p4, p5 
+                <emphasis role="opc">vstparamset</emphasis>     gipianoteq, p4, p5 
                 <emphasis role="oblock">endin</emphasis>
 
                 <emphasis role="comment">; Send audio from the Pianoteq to the output.</emphasis>
                 <emphasis role="oblock">instr</emphasis> 3 
 ablankinput     <emphasis role="opc">init</emphasis>            0
-aleft, aright   vstaudio        gipianoteq, ablankinput, ablankinput
+aleft, aright   <emphasis role="opc">vstaudio</emphasis>        gipianoteq, ablankinput, ablankinput
                 <emphasis role="opc">outs</emphasis>            aleft, aright
                 <emphasis role="oblock">endin</emphasis>
 
diff --git a/examples-xml/vtablewa.csd.xml b/examples-xml/vtablewa.csd.xml
index 8f4a52b..c6fb1fb 100644
--- a/examples-xml/vtablewa.csd.xml
+++ b/examples-xml/vtablewa.csd.xml
@@ -10,11 +10,12 @@
 <emphasis role="ohdr">kr</emphasis><emphasis role="op">=</emphasis>4410
 <emphasis role="ohdr">ksmps</emphasis><emphasis role="op">=</emphasis>10
 <emphasis role="ohdr">nchnls</emphasis><emphasis role="op">=</emphasis>2
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
 
 	<emphasis role="oblock">instr</emphasis> 1
-<emphasis role="opc">vcopy</emphasis>
+<emphasis role="opc">vcopy</emphasis> 2, 1, 262144
 ar <emphasis role="opc">random</emphasis> 0, 1
-<emphasis role="opc">vtablewa</emphasis> ar
+<emphasis role="opc">vtablewa</emphasis> ar,2,1,ar
 <emphasis role="opc">out</emphasis> ar,ar
 	<emphasis role="oblock">endin</emphasis>    
 
@@ -24,15 +25,6 @@ ar <emphasis role="opc">random</emphasis> 0, 1
 <emphasis role="stamnt">f</emphasis>1  0 262144   -1 "beats.wav" 0 4 0
 <emphasis role="stamnt">f</emphasis>2  0 262144   2  0
 
-
-<emphasis role="stamnt">i</emphasis>1 0 4
-<emphasis role="stamnt">i</emphasis>2 3 1
-
-<emphasis role="stamnt">s</emphasis>
-<emphasis role="stamnt">i</emphasis>1 0 4
-<emphasis role="stamnt">i</emphasis>3 3 1
-<emphasis role="stamnt">s</emphasis>
-
 <emphasis role="stamnt">i</emphasis>1 0 4
 
 <emphasis role="csdtag"></CsScore></emphasis>
diff --git a/examples-xml/vtablewk.csd.xml b/examples-xml/vtablewk.csd.xml
index c8935bf..16257aa 100644
--- a/examples-xml/vtablewk.csd.xml
+++ b/examples-xml/vtablewk.csd.xml
@@ -13,7 +13,7 @@
 <emphasis role="ohdr">nchnls</emphasis><emphasis role="op">=</emphasis>2
 
 	<emphasis role="oblock">instr</emphasis> 1
-ilen <emphasis role="op">=</emphasis> <emphasis role="opc">ftlen</emphasis> (1)
+ilen <emphasis role="op">=</emphasis> <emphasis role="opc">ftlen</emphasis>(1)
 
 knew1 <emphasis role="opc">oscil</emphasis> 10000, 440, 3
 knew2 <emphasis role="opc">oscil</emphasis> 15000, 440, 3, 0.5
@@ -26,7 +26,7 @@ asig <emphasis role="opc">oscil</emphasis> 1, <emphasis role="ohdr">sr</emphasis
 
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="stamnt">f</emphasis>1  0 262144   -1 "beats.ai<emphasis role="stamnt">f</emphasis><emphasis role="stamnt">f</emphasis>" 0 4 0
+<emphasis role="stamnt">f</emphasis>1  0 262144   -1 "beats.wav" 0 4 0
 <emphasis role="stamnt">f</emphasis>2  0 262144   2  0
 <emphasis role="stamnt">f</emphasis>3  0 1024  10 1
 
diff --git a/examples-xml/waveset.csd.xml b/examples-xml/waveset.csd.xml
index df58d1c..bfa0d97 100644
--- a/examples-xml/waveset.csd.xml
+++ b/examples-xml/waveset.csd.xml
@@ -2,45 +2,34 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o waveset.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>   <emphasis role="op">=</emphasis>1
 
-<emphasis role="comment">; Instrument #1 - play an audio file.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  asig <emphasis role="opc">soundin</emphasis> "beats.wav"
-  <emphasis role="opc">out</emphasis> asig
-<emphasis role="oblock">endin</emphasis>
-
 
-<emphasis role="comment">; Instrument #2 - stretch the audio file with waveset.</emphasis>
-<emphasis role="oblock">instr</emphasis> 2
-  asig <emphasis role="opc">soundin</emphasis> "beats.wav"
-  a1 <emphasis role="opc">waveset</emphasis> asig, 2
-
-  <emphasis role="opc">out</emphasis> a1
+krep <emphasis role="opc">init</emphasis> p4
+asig <emphasis role="opc">soundin</emphasis> "flute.aiff"
+aout <emphasis role="opc">waveset</emphasis> asig, krep
+     <emphasis role="opc">outs</emphasis> aout, aout
+  
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
 
-<emphasis role="comment">; Play Instrument #1 for two seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
-<emphasis role="comment">; Play Instrument #2 for four seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 2 3 4
-<emphasis role="stamnt">e</emphasis>
-
+<emphasis role="stamnt">i</emphasis> 1 0 3 1	<emphasis role="comment">;no repetitions</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 10 3	<emphasis role="comment">;stretching 3 times</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 14 6	<emphasis role="comment">;6 times</emphasis>
 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/weibull.csd.xml b/examples-xml/weibull.csd.xml
index 33b2e97..9c0306f 100644
--- a/examples-xml/weibull.csd.xml
+++ b/examples-xml/weibull.csd.xml
@@ -2,53 +2,52 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in</emphasis>
--odac           -iadc    <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o weibull.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="comment">; Generate a random number in a Weibull distribution.</emphasis>
-  <emphasis role="comment">; ksigma = 1</emphasis>
-  <emphasis role="comment">; ktau = 1</emphasis>
+<emphasis role="oblock">instr</emphasis> 1  	<emphasis role="comment">; every run time same values</emphasis>
 
-  i1 <emphasis role="opc">weibull</emphasis> 1, 1
-
-  <emphasis role="opc">print</emphasis> i1
+ktri	<emphasis role="opc">weibull</emphasis> 100, 1
+	<emphasis role="opc">printk</emphasis> .2, ktri			<emphasis role="comment">; look </emphasis>
+aout	<emphasis role="opc">oscili</emphasis> 0.8, 440<emphasis role="op">+</emphasis>ktri, 1		<emphasis role="comment">; & listen</emphasis>
+	<emphasis role="opc">outs</emphasis>	aout, aout
 <emphasis role="oblock">endin</emphasis>
 
-<emphasis role="comment">; Instrument #2.</emphasis>
-<emphasis role="oblock">instr</emphasis> 2
-  <emphasis role="comment">; Generate a random number in a Weibull distribution.</emphasis>
-  <emphasis role="comment">; ksigma = 1</emphasis>
-  <emphasis role="comment">; ktau = 1</emphasis>
+<emphasis role="oblock">instr</emphasis> 2		<emphasis role="comment">; every run time different values</emphasis>
 
-  <emphasis role="ohdr">seed</emphasis> 0
+	<emphasis role="ohdr">seed</emphasis> 0
+ktri	<emphasis role="opc">weibull</emphasis> 100, 1
+	<emphasis role="opc">printk</emphasis> .2, ktri			<emphasis role="comment">; look </emphasis>
+aout	<emphasis role="opc">oscili</emphasis> 0.8, 440<emphasis role="op">+</emphasis>ktri, 1		<emphasis role="comment">; & listen</emphasis>
+	<emphasis role="opc">outs</emphasis>	aout, aout
+<emphasis role="oblock">endin</emphasis>
 
-  i1 <emphasis role="opc">weibull</emphasis> 1, 1
+<emphasis role="oblock">instr</emphasis> 3		<emphasis role="comment">; every run time different values</emphasis>
 
-  <emphasis role="opc">print</emphasis> i1
+	<emphasis role="ohdr">seed</emphasis> 0
+ktri	<emphasis role="opc">weibull</emphasis> 100, 10			<emphasis role="comment">; closer to ksigma..</emphasis>
+	<emphasis role="opc">printk</emphasis> .2, ktri			<emphasis role="comment">; look </emphasis>
+aout	<emphasis role="opc">oscili</emphasis> 0.8, 440<emphasis role="op">+</emphasis>ktri, 1		<emphasis role="comment">; & listen</emphasis>
+	<emphasis role="opc">outs</emphasis>	aout, aout
 <emphasis role="oblock">endin</emphasis>
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">; sine wave</emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
 
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
-<emphasis role="comment">; Play Instrument #2 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 2 1 1
+<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 2 3 2
+<emphasis role="stamnt">i</emphasis> 3 6 2
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/wgbow.csd.xml b/examples-xml/wgbow.csd.xml
index 9cb0b74..856e0f5 100644
--- a/examples-xml/wgbow.csd.xml
+++ b/examples-xml/wgbow.csd.xml
@@ -2,48 +2,39 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o wgbow.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 31129.60
-  kfreq <emphasis role="op">=</emphasis> 440
-  kpres <emphasis role="op">=</emphasis> 3.0
-  krat <emphasis role="op">=</emphasis> 0.127236
-  kvibf <emphasis role="op">=</emphasis> 6.12723
-  ifn <emphasis role="op">=</emphasis> 1
 
-  <emphasis role="comment">; Create an amplitude envelope for the vibrato.</emphasis>
-  kv <emphasis role="opc">linseg</emphasis> 0, 0.5, 0, 1, 1, p3<emphasis role="op">-</emphasis>0.5, 1
-  kvamp <emphasis role="op">=</emphasis> kv <emphasis role="op">*</emphasis> 0.01
-
-  a1 <emphasis role="opc">wgbow</emphasis> kamp, kfreq, kpres, krat, kvibf, kvamp, ifn
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
+kpres <emphasis role="op">=</emphasis> p4							<emphasis role="comment">;pressure value</emphasis>
+krat <emphasis role="op">=</emphasis> p5							<emphasis role="comment">;position along string</emphasis>
+kvibf <emphasis role="op">=</emphasis> 6.12723
 
+kvib  <emphasis role="opc">linseg</emphasis> 0, 0.5, 0, 1, 1, p3<emphasis role="op">-</emphasis>0.5, 1				<emphasis role="comment">; amplitude envelope for the vibrato.		</emphasis>
+kvamp <emphasis role="op">=</emphasis> kvib <emphasis role="op">*</emphasis> 0.01
+asig  <emphasis role="opc">wgbow</emphasis> .7, 55, kpres, krat, kvibf, kvamp, 1
+      <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 2048 10 1	<emphasis role="comment">;sine wave</emphasis>
 
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 128 10 1
+<emphasis role="stamnt">i</emphasis> 1 0 3 3 0.127236
+<emphasis role="stamnt">i</emphasis> 1 + 3 5 0.127236
+<emphasis role="stamnt">i</emphasis> 1 + 3 5 0.23
 
-<emphasis role="comment">; Play Instrument #1 for two seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/wgbowedbar.csd.xml b/examples-xml/wgbowedbar.csd.xml
index 673c749..16edafc 100644
--- a/examples-xml/wgbowedbar.csd.xml
+++ b/examples-xml/wgbowedbar.csd.xml
@@ -2,44 +2,37 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o wgbowedbar.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-  <emphasis role="oblock">instr</emphasis> 1
-<emphasis role="comment">; pos      =         [0, 1]</emphasis>
-<emphasis role="comment">; bowpress =         [1, 10]</emphasis>
-<emphasis role="comment">; gain     =         [0.8, 1]</emphasis>
-<emphasis role="comment">; intr     =         [0,1]</emphasis>
-<emphasis role="comment">; trackvel =         [0, 1]</emphasis>
-<emphasis role="comment">; bowpos   =         [0, 1]</emphasis>
-
-  kb      <emphasis role="opc">line</emphasis> 0.5, p3, 0.1
-  kp      <emphasis role="opc">line</emphasis> 0.6, p3, 0.7
-  kc      <emphasis role="opc">line</emphasis> 1, p3, 1
-
-  a1      <emphasis role="opc">wgbowedbar</emphasis> p4, <emphasis role="opc">cpspch</emphasis>(p5), kb, kp, 0.995, p6, 0
-
-          <emphasis role="opc">out</emphasis> a1
-          <emphasis role="oblock">endin</emphasis>
+<emphasis role="oblock">instr</emphasis> 1
 
+kp   <emphasis role="op">=</emphasis> p6
+asig <emphasis role="opc">wgbowedbar</emphasis> p4, <emphasis role="opc">cpspch</emphasis>(p5), 1, kp, 0.995
+     <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-
-  <emphasis role="stamnt">i</emphasis>1      0  3 32000 7.00 0
-  <emphasis role="stamnt">e</emphasis>
-
-
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 .5 .5 7.00 .1	<emphasis role="comment">;short sound</emphasis>
+<emphasis role="stamnt">i</emphasis>1 + .  .3 8.00 .1
+<emphasis role="stamnt">i</emphasis>1 + .  .5 9.00 .1
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 .5 .5 7.00  1	<emphasis role="comment">;longer sound</emphasis>
+<emphasis role="stamnt">i</emphasis>1 + .  .3 8.00  1
+<emphasis role="stamnt">i</emphasis>1 + .  .5 9.00  1
+ 
+<emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/wgclar.csd.xml b/examples-xml/wgclar.csd.xml
index 01e4225..e03bf06 100644
--- a/examples-xml/wgclar.csd.xml
+++ b/examples-xml/wgclar.csd.xml
@@ -2,48 +2,40 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o wgclar.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="opc">init</emphasis> 31129.60
-  kfreq <emphasis role="op">=</emphasis> 440
-  kstiff <emphasis role="op">=</emphasis> <emphasis role="op">-</emphasis>0.3
-  iatt <emphasis role="op">=</emphasis> 0.1
-  idetk <emphasis role="op">=</emphasis> 0.1
-  kngain <emphasis role="op">=</emphasis> 0.2
-  kvibf <emphasis role="op">=</emphasis> 5.735
-  kvamp <emphasis role="op">=</emphasis> 0.1
-  ifn <emphasis role="op">=</emphasis> 1
 
-  a1 <emphasis role="opc">wgclar</emphasis> kamp, kfreq, kstiff, iatt, idetk, kngain, kvibf, kvamp, ifn
-
-  <emphasis role="opc">out</emphasis> a1
+kfreq <emphasis role="op">=</emphasis> 330
+kstiff <emphasis role="op">=</emphasis> <emphasis role="op">-</emphasis>0.3
+iatt <emphasis role="op">=</emphasis> 0.1
+idetk <emphasis role="op">=</emphasis> 0.1
+kngain <emphasis role="opc">init</emphasis> p4		<emphasis role="comment">;vary breath</emphasis>
+kvibf <emphasis role="op">=</emphasis> 5.735
+kvamp <emphasis role="op">=</emphasis> 0.1
+
+asig <emphasis role="opc">wgclar</emphasis> .9, kfreq, kstiff, iatt, idetk, kngain, kvibf, kvamp, 1
+     <emphasis role="opc">outs</emphasis> asig, asig
+      
 <emphasis role="oblock">endin</emphasis>
-
-
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1	<emphasis role="comment">;sine wave</emphasis>
 
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for one second.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="stamnt">i</emphasis> 1 0 2 0.2
+<emphasis role="stamnt">i</emphasis> 1 + 2 0.5		<emphasis role="comment">;more breath</emphasis>
 <emphasis role="stamnt">e</emphasis>
 
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/wgflute.csd.xml b/examples-xml/wgflute.csd.xml
index 1719b67..b2f0a3f 100644
--- a/examples-xml/wgflute.csd.xml
+++ b/examples-xml/wgflute.csd.xml
@@ -2,47 +2,39 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac      <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
 <emphasis role="comment">; -o wgflute.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
 
-<emphasis role="comment">; Initialize the global variables.</emphasis>
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-<emphasis role="ohdr">kr</emphasis> <emphasis role="op">=</emphasis> 4410
-<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 10
-<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 1
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
 
-<emphasis role="comment">; Instrument #1.</emphasis>
 <emphasis role="oblock">instr</emphasis> 1
-  kamp <emphasis role="op">=</emphasis> 31129.60
-  kfreq <emphasis role="op">=</emphasis> 440
-  kjet <emphasis role="op">=</emphasis> 0.32
-  iatt <emphasis role="op">=</emphasis> 0.1
-  idetk <emphasis role="op">=</emphasis> 0.1
-  kngain <emphasis role="op">=</emphasis> 0.15
-  kvibf <emphasis role="op">=</emphasis> 5.925
-  kvamp <emphasis role="op">=</emphasis> 0.05
-  ifn <emphasis role="op">=</emphasis> 1
 
-  a1 <emphasis role="opc">wgflute</emphasis> kamp, kfreq, kjet, iatt, idetk, kngain, kvibf, kvamp, ifn
-  <emphasis role="opc">out</emphasis> a1
-<emphasis role="oblock">endin</emphasis>
+kfreq <emphasis role="op">=</emphasis> 440
+kjet <emphasis role="opc">init</emphasis> p4			<emphasis role="comment">;vary air jet</emphasis>
+iatt <emphasis role="op">=</emphasis> 0.1
+idetk <emphasis role="op">=</emphasis> 0.1
+kngain <emphasis role="op">=</emphasis> 0.15
+kvibf <emphasis role="op">=</emphasis> 5.925
+kvamp <emphasis role="op">=</emphasis> 0.05
 
+asig <emphasis role="opc">wgflute</emphasis> .8, kfreq, kjet, iatt, idetk, kngain, kvibf, kvamp, 1
+     <emphasis role="opc">outs</emphasis> asig, asig
 
+<emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1		<emphasis role="comment">;sine wave</emphasis>
 
-<emphasis role="comment">; Table #1, a sine wave.</emphasis>
-<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
-
-<emphasis role="comment">; Play Instrument #1 for two seconds.</emphasis>
-<emphasis role="stamnt">i</emphasis> 1 0 2
+<emphasis role="stamnt">i</emphasis> 1 0 2 0.02			<emphasis role="comment">;more air jet</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 + 2 0.32
 <emphasis role="stamnt">e</emphasis>
-
-
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
 </programlisting>
\ No newline at end of file
diff --git a/examples-xml/wguide2.csd.xml b/examples-xml/wguide2.csd.xml
index e7a9df7..c3a9a2b 100644
--- a/examples-xml/wguide2.csd.xml
+++ b/examples-xml/wguide2.csd.xml
@@ -2,26 +2,36 @@
 <emphasis role="csdtag"><CsoundSynthesizer></emphasis>
 <emphasis role="csdtag"><CsOptions></emphasis>
 <emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
-<emphasis role="comment">; Audio out   Audio in    No messages</emphasis>
--odac           -iadc     -d     <emphasis role="comment">;;;RT audio I/O</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
 <emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
-<emphasis role="comment">; -o wguide1.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="comment">; -o wguide2.wav -W ;;; for file output any platform</emphasis>
 <emphasis role="csdtag"></CsOptions></emphasis>
 <emphasis role="csdtag"><CsInstruments></emphasis>
+
 <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
 <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-<emphasis role="oblock">instr</emphasis> 1
-  afrq  <emphasis role="opc">line</emphasis>    50, 10, 100
-  asig  <emphasis role="opc">oscil</emphasis>   3000, afrq, 1
-  aenv  <emphasis role="opc">expon</emphasis>   1,10,0.000001
-  aexc  <emphasis role="op">=</emphasis>       aenv<emphasis role="op">*</emphasis>asig
-  ares  <emphasis role="opc">wguide2</emphasis> aexc, 500, 1200, 777, 1500, 0.2, 0.25
-        <emphasis role="opc">out</emphasis> ares,asig
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis>	1
+
+aout <emphasis role="opc">diskin2</emphasis> "beats.wav", 1, 0, 1				<emphasis role="comment">;in signal</emphasis>
+afreq1 <emphasis role="opc">line</emphasis> 100, p3, 2000						
+afreq2 <emphasis role="opc">line</emphasis> 1200, p3, p4					<emphasis role="comment">;vary second frequency in the score	</emphasis>
+kcutoff1   <emphasis role="op">=</emphasis> 3000
+kcutoff2   <emphasis role="op">=</emphasis> 1500
+kfeedback1 <emphasis role="op">=</emphasis> 0.25						<emphasis role="comment">;the sum of the two feedback</emphasis>
+kfeedback2 <emphasis role="op">=</emphasis> 0.25						<emphasis role="comment">;values should not exceed  0.5</emphasis>
+asig <emphasis role="opc">wguide2</emphasis> aout, afreq1, afreq2, kcutoff1, kcutoff2, kfeedback1, kfeedback2
+asig <emphasis role="opc">dcblock2</emphasis> asig						<emphasis role="comment">;get rid of DC</emphasis>
+      <emphasis role="opc">outs</emphasis> asig, asig 
+      
 <emphasis role="oblock">endin</emphasis>
 <emphasis role="csdtag"></CsInstruments></emphasis>
 <emphasis role="csdtag"><CsScore></emphasis>
-<emphasis role="stamnt">f</emphasis>1 0 4096 10 1
-<emphasis role="stamnt">i</emphasis>1 0 3
+<emphasis role="stamnt">i</emphasis> 1 0 8 1200	<emphasis role="comment">;freqency of afreq2 remains the same</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 9 8 100	<emphasis role="comment">;freqency of afreq2 gets lower</emphasis>
 <emphasis role="stamnt">e</emphasis>
 <emphasis role="csdtag"></CsScore></emphasis>
 <emphasis role="csdtag"></CsoundSynthesizer></emphasis>
diff --git a/examples-xml/wrap.csd.xml b/examples-xml/wrap.csd.xml
new file mode 100644
index 0000000..9c30af2
--- /dev/null
+++ b/examples-xml/wrap.csd.xml
@@ -0,0 +1,55 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o wrap.wav -W  ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100 
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32 
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1 
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+
+<emphasis role="oblock">instr</emphasis>    1 <emphasis role="comment">; Limit / Mirror / Wrap</emphasis>
+
+igain    <emphasis role="op">=</emphasis> p4				<emphasis role="comment">;gain</emphasis>
+ilevl1   <emphasis role="op">=</emphasis> p5				<emphasis role="comment">; + level</emphasis>
+ilevl2   <emphasis role="op">=</emphasis> p6				<emphasis role="comment">; - level</emphasis>
+imode    <emphasis role="op">=</emphasis> p7				<emphasis role="comment">;1 = limit, 2 = mirror, 3 = wrap</emphasis>
+
+ain   <emphasis role="opc">soundin</emphasis>  "fox.wav"
+ain   <emphasis role="op">=</emphasis> ain<emphasis role="op">*</emphasis>igain
+
+<emphasis role="octrl">if</emphasis>    imode <emphasis role="op">=</emphasis> 1 <emphasis role="octrl">goto</emphasis> <emphasis role="olabel">limit</emphasis>
+<emphasis role="octrl">if</emphasis>    imode <emphasis role="op">=</emphasis> 2 <emphasis role="octrl">goto</emphasis> <emphasis role="olabel">mirror</emphasis>
+
+asig  <emphasis role="opc">wrap</emphasis>  ain, ilevl2, ilevl1
+<emphasis role="octrl">goto</emphasis>  <emphasis role="olabel">outsignal</emphasis>
+
+<emphasis role="olabel">limit</emphasis><emphasis role="op">:</emphasis>
+asig  <emphasis role="olabel">limit</emphasis>  ain, ilevl2, ilevl1
+<emphasis role="octrl">goto</emphasis>  <emphasis role="olabel">outsignal</emphasis>
+
+<emphasis role="olabel">mirror</emphasis><emphasis role="op">:</emphasis>
+asig  <emphasis role="olabel">mirror</emphasis>  ain, ilevl2, ilevl1
+<emphasis role="olabel">outsignal</emphasis><emphasis role="op">:</emphasis>
+
+<emphasis role="opc">outs</emphasis>  asig<emphasis role="op">*</emphasis>.5, asig<emphasis role="op">*</emphasis>.5			<emphasis role="comment">;mind your speakers</emphasis>
+  
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="comment">;           Gain  +Levl -Levl Mode</emphasis>
+<emphasis role="stamnt">i</emphasis>1  0  3    4.00  .25  -1.00   1	<emphasis role="comment">;limit</emphasis>
+<emphasis role="stamnt">i</emphasis>1  4  3    4.00  .25  -1.00   2	<emphasis role="comment">;mirror</emphasis>
+<emphasis role="stamnt">i</emphasis>1  8  3    4.00  .25  -1.00   3	<emphasis role="comment">;wrap</emphasis>
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/x.csd.xml b/examples-xml/x.csd.xml
new file mode 100644
index 0000000..036e62e
--- /dev/null
+++ b/examples-xml/x.csd.xml
@@ -0,0 +1,47 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o x.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+aenv <emphasis role="opc">expseg</emphasis> .01, p3<emphasis role="op">*</emphasis>0.25, 1, p3<emphasis role="op">*</emphasis>0.75, 0.01
+asig <emphasis role="opc">poscil3</emphasis> .8<emphasis role="op">*</emphasis>aenv, p4, 1
+     <emphasis role="opc">outs</emphasis> asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">f</emphasis> 1 0 16384 10 1	<emphasis role="comment">;sine wave</emphasis>
+
+<emphasis role="stamnt">s</emphasis>			<emphasis role="comment">;first section</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 2 110
+<emphasis role="stamnt">i</emphasis> 1 3 2 220
+<emphasis role="stamnt">i</emphasis> 1 6 2 440
+<emphasis role="stamnt">i</emphasis> 1 9 2 880
+<emphasis role="stamnt">s</emphasis>			<emphasis role="comment">;second section</emphasis>
+<emphasis role="stamnt">x</emphasis>			<emphasis role="comment">;skip the rest</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 2 110		<emphasis role="comment">;of this section</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 3 2 220
+<emphasis role="stamnt">i</emphasis> 1 6 2 440
+<emphasis role="stamnt">i</emphasis> 1 9 2 880
+<emphasis role="stamnt">s</emphasis>			<emphasis role="comment">;but continue with this one</emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 2 880
+<emphasis role="stamnt">i</emphasis> 1 3 2 440
+<emphasis role="stamnt">i</emphasis> 1 6 2 220
+<emphasis role="stamnt">i</emphasis> 1 9 2 110
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/xadsr.csd.xml b/examples-xml/xadsr.csd.xml
new file mode 100644
index 0000000..8222680
--- /dev/null
+++ b/examples-xml/xadsr.csd.xml
@@ -0,0 +1,42 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac     <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o xadsr.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis> <emphasis role="op">=</emphasis> 1
+
+<emphasis role="oblock">instr</emphasis> 1
+
+iatt  <emphasis role="op">=</emphasis> p5
+idec  <emphasis role="op">=</emphasis> p6  
+islev <emphasis role="op">=</emphasis> p7
+irel  <emphasis role="op">=</emphasis> p8
+
+kenv	<emphasis role="opc">xadsr</emphasis> iatt, idec, islev, irel
+kcps <emphasis role="op">=</emphasis>  <emphasis role="opc">cpspch</emphasis>(p4) 	  <emphasis role="comment">;frequency</emphasis>
+
+asig	<emphasis role="opc">vco2</emphasis>  kenv <emphasis role="op">*</emphasis> 0.8, kcps
+	<emphasis role="opc">outs</emphasis>  asig, asig
+
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="stamnt">i</emphasis> 1  0  1  7.00  .0001  1  .01  .001 <emphasis role="comment">; short attack</emphasis>
+<emphasis role="stamnt">i</emphasis> 1  2  1  7.02  1  .5  .01  .001    <emphasis role="comment">; long attack</emphasis>
+<emphasis role="stamnt">i</emphasis> 1  4  2  6.09  .0001  1 .1  .7     <emphasis role="comment">; long release</emphasis>
+
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/xscanmap.csd.xml b/examples-xml/xscanmap.csd.xml
new file mode 100644
index 0000000..03108a8
--- /dev/null
+++ b/examples-xml/xscanmap.csd.xml
@@ -0,0 +1,75 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o xscanmap.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+<emphasis role="comment">;the matrices can be found in /manual/examples</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; Plain scanned syntnesis</emphasis>
+	<emphasis role="comment">; note - scanu display is turned off</emphasis>
+a0    <emphasis role="op">=</emphasis> 0							
+      <emphasis role="opc">xscanu</emphasis>   1, .01, 6, 2, "128<emphasis role="op">-</emphasis>stringcircularX", 4, 5, 2, .1, .1, <emphasis role="op">-</emphasis>.01, .1, .5, 0, 0, a0, 0, 0  		
+  a1  <emphasis role="opc">xscans</emphasis>   p4, <emphasis role="opc">cpspch</emphasis>(p5), 7, 0, 3
+k1,k2 <emphasis role="opc">xscanmap</emphasis> 0, 1000, 1000, 64
+      <emphasis role="opc">display</emphasis>  k1, .25 <emphasis role="comment">; note - display is updated every second</emphasis>
+      <emphasis role="opc">outs</emphasis>     a1, a1
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">; Scan synthesis with audio injection and dual scan paths</emphasis>
+	<emphasis role="comment">; note - scanu display is turned off</emphasis>
+ain   <emphasis role="opc">diskin2</emphasis> "fox.wav",1,0,1	
+ain   <emphasis role="opc">in</emphasis>
+a0    <emphasis role="op">=</emphasis> ain<emphasis role="op">/</emphasis>10000 						
+      <emphasis role="opc">xscanu</emphasis>   1, .01, 6, 2, "128,8<emphasis role="op">-</emphasis>gridX", 14, 5, 2, .01, .05, <emphasis role="op">-</emphasis>.05, .1, .5, 0, 0, a0, 0, 0 		
+a1    <emphasis role="opc">xscans</emphasis>   p4, <emphasis role="opc">cpspch</emphasis>(p5), 7, 0, 2
+a2    <emphasis role="opc">xscans</emphasis>   p4, <emphasis role="opc">cpspch</emphasis>(p6), 77, 0, 3
+k1,k2 <emphasis role="opc">xscanmap</emphasis> 0, 1000, 1000, 127
+      <emphasis role="opc">display</emphasis>  k2, .5  						<emphasis role="comment">; note - display is updated ever 500ms</emphasis>
+      <emphasis role="opc">outs</emphasis>     a1,a2
+<emphasis role="oblock">endin</emphasis> 
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">; Initial condition</emphasis>
+<emphasis role="comment">;f1 0 16 7 0 8 1 8 0</emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 128 7 0 64 1 64 0
+
+<emphasis role="comment">; Masses</emphasis>
+<emphasis role="stamnt">f</emphasis>2 0 128 -7 1 128 1
+
+<emphasis role="comment">; Centering force</emphasis>
+<emphasis role="stamnt">f</emphasis>4  0 128 -7 0 128 2
+<emphasis role="stamnt">f</emphasis>14 0 128 -7 2 64 0 64 2
+
+<emphasis role="comment">; Damping</emphasis>
+<emphasis role="stamnt">f</emphasis>5 0 128 -7 1 128 1
+
+<emphasis role="comment">; Initial velocity</emphasis>
+<emphasis role="stamnt">f</emphasis>6 0 128 -7 -.0 128 .0
+
+<emphasis role="comment">; Trajectories</emphasis>
+<emphasis role="stamnt">f</emphasis>7 0 128 -5 .001 128 128
+<emphasis role="stamnt">f</emphasis>77 0 128 -23 "128-spiral-8,16,128,2,1over2"
+
+<emphasis role="comment">; Sine</emphasis>
+<emphasis role="stamnt">f</emphasis>9 0 1024 10 1
+<emphasis role="comment">;--------------------------------</emphasis>
+<emphasis role="comment">; Note list</emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 10 .9 7.00                                  
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis>2 0 10 1  8.00 6.00
+<emphasis role="stamnt">i</emphasis>2 0 10 1  7.00 8.05
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/xscans.csd.xml b/examples-xml/xscans.csd.xml
new file mode 100644
index 0000000..054a26e
--- /dev/null
+++ b/examples-xml/xscans.csd.xml
@@ -0,0 +1,109 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o xscans.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+<emphasis role="comment">;the matrices can be found in /manual/examples</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; Plain scanned syntnesis</emphasis>
+
+  a0       <emphasis role="op">=</emphasis>           0
+           <emphasis role="opc">xscanu</emphasis>      1, .01, 6, 2, "128,8<emphasis role="op">-</emphasis>cylinderX", 4, 5, 2, .1, .1, <emphasis role="op">-</emphasis>.01, .1, .5, 0, 0, a0, 0, 0
+  a1       <emphasis role="opc">xscans</emphasis>      .7, <emphasis role="opc">cpspch</emphasis>(p4), 7, 0, 1
+           <emphasis role="opc">outs</emphasis>        a1, a1
+<emphasis role="oblock">endin</emphasis>
+
+
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">; Scan synthesis with audio injection and dual scan paths</emphasis>
+	<emphasis role="comment">; tap the mic or sing to inject audio into the resonators</emphasis>
+
+  a0,aa    <emphasis role="opc">ins</emphasis>
+  a0       <emphasis role="op">=</emphasis>           a0<emphasis role="op">/</emphasis>.8
+           <emphasis role="opc">xscanu</emphasis>      1, .01, 6, 2, "128,8<emphasis role="op">-</emphasis>gridX", 14, 5, 2, .01, .05, <emphasis role="op">-</emphasis>.05, .1, .5, 0, 0, a0, 0, 0
+  a1       <emphasis role="opc">xscans</emphasis>      .5, <emphasis role="opc">cpspch</emphasis>(7.00), 7, 0, 1
+  a2       <emphasis role="opc">xscans</emphasis>      .5, <emphasis role="opc">cpspch</emphasis>(7.001), 77, 0, 1
+           <emphasis role="opc">outs</emphasis>        a1<emphasis role="op">+</emphasis>a2,a1<emphasis role="op">+</emphasis>a2
+<emphasis role="oblock">endin</emphasis> 
+
+
+<emphasis role="oblock">instr</emphasis> 3	<emphasis role="comment">; Vibrating structure with audio injection</emphasis>
+	<emphasis role="comment">; Tap the MIC - to inject audio into the resonators</emphasis>
+
+  a0,aa    <emphasis role="opc">ins</emphasis>          
+  a0       <emphasis role="op">=</emphasis>          a0<emphasis role="op">/</emphasis>.8
+           <emphasis role="opc">xscanu</emphasis>     1, .01, 6, 2, "128<emphasis role="op">-</emphasis>stringcircularX", 14, 5, 2, .01, .05, <emphasis role="op">-</emphasis>.05, .25, .75, 0, 0, a0, 0, 1
+<emphasis role="oblock">endin</emphasis>
+
+
+<emphasis role="oblock">instr</emphasis> 4	<emphasis role="comment">; Modulated scanners</emphasis>
+
+  i1       <emphasis role="opc">bexprnd</emphasis>     5
+  i2       <emphasis role="opc">bexprnd</emphasis>     1
+  ko       <emphasis role="opc">oscil</emphasis>       i1, i2, 9
+  ka1      <emphasis role="opc">oscili</emphasis>      .5, .15<emphasis role="op">*</emphasis>8, p7
+  ka2      <emphasis role="opc">oscili</emphasis>      .5, .15<emphasis role="op">*</emphasis>8, p8
+  kf       <emphasis role="opc">oscili</emphasis>      1, .15, p4
+  kf       <emphasis role="op">=</emphasis>           2^(kf<emphasis role="op">/</emphasis>12)<emphasis role="op">*</emphasis>p6<emphasis role="op">*</emphasis>440<emphasis role="op">+</emphasis>ko
+  a1       <emphasis role="opc">xscans</emphasis>      p9<emphasis role="op">*</emphasis>ka1, kf<emphasis role="op">+</emphasis>i1, 777, 1, 1
+  a2       <emphasis role="opc">xscans</emphasis>      p9<emphasis role="op">*</emphasis>ka2, (kf<emphasis role="op">+</emphasis>i1)<emphasis role="op">*</emphasis>2.1, 77, 1, 1
+           <emphasis role="opc">outs</emphasis>        a1<emphasis role="op">+</emphasis>a2, a1<emphasis role="op">+</emphasis>a2
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="comment">; Initial condition</emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 128 7 0 64 1 64 0
+<emphasis role="comment">; Masses</emphasis>
+<emphasis role="stamnt">f</emphasis>2 0 128 -7 1 128 1
+<emphasis role="comment">; Centering force</emphasis>
+<emphasis role="stamnt">f</emphasis>4  0 128 -7 0 128 2
+<emphasis role="stamnt">f</emphasis>14 0 128 -7 2 64 0 64 2
+<emphasis role="comment">; Damping</emphasis>
+<emphasis role="stamnt">f</emphasis>5 0 128 -7 1 128 1
+<emphasis role="comment">; Initial velocity</emphasis>
+<emphasis role="stamnt">f</emphasis>6 0 128 -7 -.0 128 .0
+<emphasis role="comment">; Trajectories</emphasis>
+<emphasis role="stamnt">f</emphasis>7 0 128 -5 .001 128 128
+<emphasis role="stamnt">f</emphasis>777 0 128 -23 "128-stringcircular"
+<emphasis role="stamnt">f</emphasis>77 0 128 -23 "128-spiral-8,16,128,2,1over2"
+<emphasis role="comment">; Sine</emphasis>
+<emphasis role="stamnt">f</emphasis>9 0 16384 10 1
+
+<emphasis role="comment">; Pitch tables</emphasis>
+<emphasis role="stamnt">f</emphasis>100 0 1024 -7 +3 128 +3 128 -2 128 -2 128 +0 128 +0 128 -4 128 -4 128 +3
+<emphasis role="stamnt">f</emphasis>101 0 1024 -7 -2 128 -2 128 -2 128 -2 128 -5 128 -5 128 -4 128 -4 128 -2
+<emphasis role="stamnt">f</emphasis>102 0 1024 -7 +3 128 +3 128 +2 128 +2 128 +0 128 +0 128 +0 128 +0 128 +3
+<emphasis role="stamnt">f</emphasis>103 0 1024 -7 +7 128 +7 128 +5 128 +5 128 +3 128 +3 128 +3 128 +3 128 +7 
+
+<emphasis role="comment">; Amplitude tables</emphasis>
+<emphasis role="stamnt">f</emphasis>200 0 1024 7 1 128 0 128 0 127 0 1 1 128 0 128 0 127 0 1 1 128 0 127 0 1 1
+<emphasis role="stamnt">f</emphasis>201 0 1024 7 0 127 0 1 1 127 0 1 1 128 0 127 0 1 1 127 0 1 1 128 0 127 0 1 1 127 0 1 1
+<emphasis role="stamnt">f</emphasis>202 0 1024 7 1 127 0 1 1 127 0 1 1 127 0 1 1 127 0 1 1 127 0 1 1 127 0 1 1 127 0 1 1 127 0 1 
+<emphasis role="stamnt">f</emphasis>203 0 1024 7 1 1024 0
+
+<emphasis role="comment">;----------------------------------</emphasis>
+
+<emphasis role="comment">; Note list</emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 10 6.00 1                                 
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis>2 1 10
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis>3 1 23
+<emphasis role="stamnt">i</emphasis>4 1 23  101 1 .5  200 202 1.5
+<emphasis role="stamnt">i</emphasis>4 . .   102 0 .5  200 201 1
+<emphasis role="stamnt">i</emphasis>4 . .   103 0 .5  200 201 1 
+<emphasis role="stamnt">i</emphasis>4 . .   100 0 .25 200 200 2
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples-xml/xscanu.csd.xml b/examples-xml/xscanu.csd.xml
new file mode 100644
index 0000000..fb3ca36
--- /dev/null
+++ b/examples-xml/xscanu.csd.xml
@@ -0,0 +1,99 @@
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="comment">; Select audio/midi flags here according to platform</emphasis>
+-odac    <emphasis role="comment">;;;realtime audio out</emphasis>
+<emphasis role="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</emphasis>
+<emphasis role="comment">; For Non-realtime ouput leave only the line below:</emphasis>
+<emphasis role="comment">; -o xscanu.wav -W ;;; for file output any platform</emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+
+<emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 32
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
+<emphasis role="ohdr">0dbfs</emphasis>  <emphasis role="op">=</emphasis> 1
+<emphasis role="comment">;the matrices can be found in /manual/examples</emphasis>
+
+<emphasis role="oblock">instr</emphasis> 1	<emphasis role="comment">; Plain scanned syntnesis</emphasis>
+	<emphasis role="comment">; Note Also that I am using quadratic interpolation on these.</emphasis>
+  a0	<emphasis role="op">=</emphasis>           0
+	<emphasis role="opc">xscanu</emphasis>      1, .01, 6, 2, "128,8<emphasis role="op">-</emphasis>gridX", 4, 5, 2, .1, .1, <emphasis role="op">-</emphasis>.01, .1, .5, 0, 0, a0, 0, 0
+  a1	<emphasis role="opc">xscans</emphasis>      .5, <emphasis role="opc">cpspch</emphasis>(p4), 333, 0, p6			<emphasis role="comment">; NOTE LEFT RIGHT TRAJECTORY (f333) IS CLEAN!</emphasis>
+  a1	<emphasis role="opc">dcblock</emphasis> a1
+	<emphasis role="opc">outs</emphasis>        a1, a1
+<emphasis role="oblock">endin</emphasis>
+
+
+<emphasis role="oblock">instr</emphasis> 2	<emphasis role="comment">; Scan synthesis with audio injection and dual scan paths</emphasis>
+
+  a0  <emphasis role="opc">diskin2</emphasis>       "fox.wav",1,0,1	
+ <emphasis role="comment">; a0,aa	    ins</emphasis>
+  a0	<emphasis role="op">=</emphasis>           a0<emphasis role="op">/</emphasis>.8
+	<emphasis role="opc">xscanu</emphasis>      1, .01, 6, 2, "128,8<emphasis role="op">-</emphasis>torusX", 14, 5, 2, .01, .05, <emphasis role="op">-</emphasis>.05, .1, .5, 0, 0, a0, 0, 0
+  a1	<emphasis role="opc">xscans</emphasis>      .3, <emphasis role="opc">cpspch</emphasis>(7.00), 333, 0, 2			<emphasis role="comment">; NOTE LEFT RIGHT TRAJECTORY (f333) IS CLEAN!</emphasis>
+  a2	<emphasis role="opc">xscans</emphasis>      .3, <emphasis role="opc">cpspch</emphasis>(6.00), 77, 0, 2
+  a1	<emphasis role="opc">dcblock</emphasis> a1
+  a2	<emphasis role="opc">dcblock</emphasis> a2
+	<emphasis role="opc">outs</emphasis>        a1<emphasis role="op">*</emphasis>.5,a2<emphasis role="op">*</emphasis>.1
+<emphasis role="oblock">endin</emphasis> 
+
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+
+<emphasis role="comment">; Initial condition</emphasis>
+<emphasis role="comment">;f1 0 16 7 0 8 1 8 0</emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 128 7 0 64 1 64 0
+
+<emphasis role="comment">; Masses</emphasis>
+<emphasis role="stamnt">f</emphasis>2 0 128 -7 1 128 1
+
+<emphasis role="comment">; Centering force</emphasis>
+<emphasis role="stamnt">f</emphasis>4  0 128 -7 0 128 2
+<emphasis role="stamnt">f</emphasis>14 0 128 -7 2 64 0 64 2
+
+<emphasis role="comment">; Damping</emphasis>
+<emphasis role="stamnt">f</emphasis>5 0 128 -7 1 128 1
+
+<emphasis role="comment">; Initial velocity</emphasis>
+<emphasis role="stamnt">f</emphasis>6 0 128 -7 -.0 128 .0
+
+<emphasis role="comment">; Trajectories</emphasis>
+<emphasis role="stamnt">f</emphasis>7 0 128 -5 .001 128 128
+<emphasis role="stamnt">f</emphasis>77 0 128 -23 "128-spiral-8,16,128,2,1over2"
+<emphasis role="stamnt">f</emphasis>777 0 128 -23 "128,8-torusX"
+
+<emphasis role="comment">; Spring matrices</emphasis>
+<emphasis role="stamnt">f</emphasis>3 0 128 -23 "128-stringX"
+<emphasis role="stamnt">f</emphasis>33 0 128 -23 "128-stringcircularX"
+<emphasis role="stamnt">f</emphasis>333  0 128 -23 "128-le<emphasis role="stamnt">f</emphasis>t_rightX"
+<emphasis role="stamnt">f</emphasis>3333 0 128 -23 "128,8-torusX"
+<emphasis role="stamnt">f</emphasis>33333 0 128 -23 "128,8-cylinderX"
+<emphasis role="stamnt">f</emphasis>333333 0 128 -23 "128,8-gridX"
+
+<emphasis role="comment">; Sine</emphasis>
+<emphasis role="stamnt">f</emphasis>9 0 1024 10 1
+
+<emphasis role="comment">; Pitch tables</emphasis>
+<emphasis role="stamnt">f</emphasis>100 0 1024 -7 +3 128 +3 128 -2 128 -2 128 +0 128 +0 128 -4 128 -4 128 +3
+<emphasis role="stamnt">f</emphasis>101 0 1024 -7 -2 128 -2 128 -2 128 -2 128 -5 128 -5 128 -4 128 -4 128 -2
+<emphasis role="stamnt">f</emphasis>102 0 1024 -7 +3 128 +3 128 +2 128 +2 128 +0 128 +0 128 +0 128 +0 128 +3
+<emphasis role="stamnt">f</emphasis>103 0 1024 -7 +7 128 +7 128 +5 128 +5 128 +3 128 +3 128 +3 128 +3 128 +7 
+
+<emphasis role="comment">; Amplitude tables</emphasis>
+<emphasis role="stamnt">f</emphasis>200 0 1024 7 1 128 0 128 0 127 0 1 1 128 0 128 0 127 0 1 1 128 0 127 0 1 1
+<emphasis role="stamnt">f</emphasis>201 0 1024 7 0 127 0 1 1 127 0 1 1 128 0 127 0 1 1 127 0 1 1 128 0 127 0 1 1 127 0 1 1
+<emphasis role="stamnt">f</emphasis>202 0 1024 7 1 127 0 1 1 127 0 1 1 127 0 1 1 127 0 1 1 127 0 1 1 127 0 1 1 127 0 1 1 127 0 1 
+<emphasis role="stamnt">f</emphasis>203 0 1024 7 1 1024 0
+<emphasis role="comment">;;f204 0 1024 7 1 512 0 511 0 1 1</emphasis>
+
+<emphasis role="comment">;-----------------------</emphasis>
+
+<emphasis role="comment">; Note list</emphasis>
+<emphasis role="stamnt">i</emphasis>1 0 10 6.00 1  2                               
+<emphasis role="stamnt">s</emphasis>
+<emphasis role="stamnt">i</emphasis>2 0 15
+<emphasis role="stamnt">e</emphasis>
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis>
+</programlisting>
\ No newline at end of file
diff --git a/examples/07AcousticGuitar.sf2 b/examples/07AcousticGuitar.sf2
old mode 100755
new mode 100644
diff --git a/examples/128,8-cylinderX b/examples/128,8-cylinderX
new file mode 100755
index 0000000..8ed832a
--- /dev/null
+++ b/examples/128,8-cylinderX
@@ -0,0 +1,482 @@
+<MATRIX>
+0 1
+0 8
+0 120
+1 0
+1 2
+1 9
+1 121
+2 1
+2 3
+2 10
+2 122
+3 2
+3 4
+3 11
+3 123
+4 3
+4 5
+4 12
+4 124
+5 4
+5 6
+5 13
+5 125
+6 5
+6 7
+6 14
+6 126
+7 6
+7 15
+7 127
+8 0
+8 9
+8 16
+9 1
+9 8
+9 10
+9 17
+10 2
+10 9
+10 11
+10 18
+11 3
+11 10
+11 12
+11 19
+12 4
+12 11
+12 13
+12 20
+13 5
+13 12
+13 14
+13 21
+14 6
+14 13
+14 15
+14 22
+15 7
+15 14
+15 23
+16 8
+16 17
+16 24
+17 9
+17 16
+17 18
+17 25
+18 10
+18 17
+18 19
+18 26
+19 11
+19 18
+19 20
+19 27
+20 12
+20 19
+20 21
+20 28
+21 13
+21 20
+21 22
+21 29
+22 14
+22 21
+22 23
+22 30
+23 15
+23 22
+23 31
+24 16
+24 25
+24 32
+25 17
+25 24
+25 26
+25 33
+26 18
+26 25
+26 27
+26 34
+27 19
+27 26
+27 28
+27 35
+28 20
+28 27
+28 29
+28 36
+29 21
+29 28
+29 30
+29 37
+30 22
+30 29
+30 31
+30 38
+31 23
+31 30
+31 39
+32 24
+32 33
+32 40
+33 25
+33 32
+33 34
+33 41
+34 26
+34 33
+34 35
+34 42
+35 27
+35 34
+35 36
+35 43
+36 28
+36 35
+36 37
+36 44
+37 29
+37 36
+37 38
+37 45
+38 30
+38 37
+38 39
+38 46
+39 31
+39 38
+39 47
+40 32
+40 41
+40 48
+41 33
+41 40
+41 42
+41 49
+42 34
+42 41
+42 43
+42 50
+43 35
+43 42
+43 44
+43 51
+44 36
+44 43
+44 45
+44 52
+45 37
+45 44
+45 46
+45 53
+46 38
+46 45
+46 47
+46 54
+47 39
+47 46
+47 55
+48 40
+48 49
+48 56
+49 41
+49 48
+49 50
+49 57
+50 42
+50 49
+50 51
+50 58
+51 43
+51 50
+51 52
+51 59
+52 44
+52 51
+52 53
+52 60
+53 45
+53 52
+53 54
+53 61
+54 46
+54 53
+54 55
+54 62
+55 47
+55 54
+55 63
+56 48
+56 57
+56 64
+57 49
+57 56
+57 58
+57 65
+58 50
+58 57
+58 59
+58 66
+59 51
+59 58
+59 60
+59 67
+60 52
+60 59
+60 61
+60 68
+61 53
+61 60
+61 62
+61 69
+62 54
+62 61
+62 63
+62 70
+63 55
+63 62
+63 71
+64 56
+64 65
+64 72
+65 57
+65 64
+65 66
+65 73
+66 58
+66 65
+66 67
+66 74
+67 59
+67 66
+67 68
+67 75
+68 60
+68 67
+68 69
+68 76
+69 61
+69 68
+69 70
+69 77
+70 62
+70 69
+70 71
+70 78
+71 63
+71 70
+71 79
+72 64
+72 73
+72 80
+73 65
+73 72
+73 74
+73 81
+74 66
+74 73
+74 75
+74 82
+75 67
+75 74
+75 76
+75 83
+76 68
+76 75
+76 77
+76 84
+77 69
+77 76
+77 78
+77 85
+78 70
+78 77
+78 79
+78 86
+79 71
+79 78
+79 87
+80 72
+80 81
+80 88
+81 73
+81 80
+81 82
+81 89
+82 74
+82 81
+82 83
+82 90
+83 75
+83 82
+83 84
+83 91
+84 76
+84 83
+84 85
+84 92
+85 77
+85 84
+85 86
+85 93
+86 78
+86 85
+86 87
+86 94
+87 79
+87 86
+87 95
+88 80
+88 89
+88 96
+89 81
+89 88
+89 90
+89 97
+90 82
+90 89
+90 91
+90 98
+91 83
+91 90
+91 92
+91 99
+92 84
+92 91
+92 93
+92 100
+93 85
+93 92
+93 94
+93 101
+94 86
+94 93
+94 95
+94 102
+95 87
+95 94
+95 103
+96 88
+96 97
+96 104
+97 89
+97 96
+97 98
+97 105
+98 90
+98 97
+98 99
+98 106
+99 91
+99 98
+99 100
+99 107
+100 92
+100 99
+100 101
+100 108
+101 93
+101 100
+101 102
+101 109
+102 94
+102 101
+102 103
+102 110
+103 95
+103 102
+103 111
+104 96
+104 105
+104 112
+105 97
+105 104
+105 106
+105 113
+106 98
+106 105
+106 107
+106 114
+107 99
+107 106
+107 108
+107 115
+108 100
+108 107
+108 109
+108 116
+109 101
+109 108
+109 110
+109 117
+110 102
+110 109
+110 111
+110 118
+111 103
+111 110
+111 119
+112 104
+112 113
+112 120
+113 105
+113 112
+113 114
+113 121
+114 106
+114 113
+114 115
+114 122
+115 107
+115 114
+115 116
+115 123
+116 108
+116 115
+116 117
+116 124
+117 109
+117 116
+117 118
+117 125
+118 110
+118 117
+118 119
+118 126
+119 111
+119 118
+119 127
+120 0
+120 112
+120 121
+121 1
+121 113
+121 120
+121 122
+122 2
+122 114
+122 121
+122 123
+123 3
+123 115
+123 122
+123 124
+124 4
+124 116
+124 123
+124 125
+125 5
+125 117
+125 124
+125 126
+126 6
+126 118
+126 125
+126 127
+127 7
+127 119
+127 126
+</MATRIX>
diff --git a/examples/128,8-gridX b/examples/128,8-gridX
new file mode 100755
index 0000000..1df4eff
--- /dev/null
+++ b/examples/128,8-gridX
@@ -0,0 +1,466 @@
+<MATRIX>
+0 1
+0 8
+1 0
+1 2
+1 9
+2 1
+2 3
+2 10
+3 2
+3 4
+3 11
+4 3
+4 5
+4 12
+5 4
+5 6
+5 13
+6 5
+6 7
+6 14
+7 6
+7 15
+8 0
+8 9
+8 16
+9 1
+9 8
+9 10
+9 17
+10 2
+10 9
+10 11
+10 18
+11 3
+11 10
+11 12
+11 19
+12 4
+12 11
+12 13
+12 20
+13 5
+13 12
+13 14
+13 21
+14 6
+14 13
+14 15
+14 22
+15 7
+15 14
+15 23
+16 8
+16 17
+16 24
+17 9
+17 16
+17 18
+17 25
+18 10
+18 17
+18 19
+18 26
+19 11
+19 18
+19 20
+19 27
+20 12
+20 19
+20 21
+20 28
+21 13
+21 20
+21 22
+21 29
+22 14
+22 21
+22 23
+22 30
+23 15
+23 22
+23 31
+24 16
+24 25
+24 32
+25 17
+25 24
+25 26
+25 33
+26 18
+26 25
+26 27
+26 34
+27 19
+27 26
+27 28
+27 35
+28 20
+28 27
+28 29
+28 36
+29 21
+29 28
+29 30
+29 37
+30 22
+30 29
+30 31
+30 38
+31 23
+31 30
+31 39
+32 24
+32 33
+32 40
+33 25
+33 32
+33 34
+33 41
+34 26
+34 33
+34 35
+34 42
+35 27
+35 34
+35 36
+35 43
+36 28
+36 35
+36 37
+36 44
+37 29
+37 36
+37 38
+37 45
+38 30
+38 37
+38 39
+38 46
+39 31
+39 38
+39 47
+40 32
+40 41
+40 48
+41 33
+41 40
+41 42
+41 49
+42 34
+42 41
+42 43
+42 50
+43 35
+43 42
+43 44
+43 51
+44 36
+44 43
+44 45
+44 52
+45 37
+45 44
+45 46
+45 53
+46 38
+46 45
+46 47
+46 54
+47 39
+47 46
+47 55
+48 40
+48 49
+48 56
+49 41
+49 48
+49 50
+49 57
+50 42
+50 49
+50 51
+50 58
+51 43
+51 50
+51 52
+51 59
+52 44
+52 51
+52 53
+52 60
+53 45
+53 52
+53 54
+53 61
+54 46
+54 53
+54 55
+54 62
+55 47
+55 54
+55 63
+56 48
+56 57
+56 64
+57 49
+57 56
+57 58
+57 65
+58 50
+58 57
+58 59
+58 66
+59 51
+59 58
+59 60
+59 67
+60 52
+60 59
+60 61
+60 68
+61 53
+61 60
+61 62
+61 69
+62 54
+62 61
+62 63
+62 70
+63 55
+63 62
+63 71
+64 56
+64 65
+64 72
+65 57
+65 64
+65 66
+65 73
+66 58
+66 65
+66 67
+66 74
+67 59
+67 66
+67 68
+67 75
+68 60
+68 67
+68 69
+68 76
+69 61
+69 68
+69 70
+69 77
+70 62
+70 69
+70 71
+70 78
+71 63
+71 70
+71 79
+72 64
+72 73
+72 80
+73 65
+73 72
+73 74
+73 81
+74 66
+74 73
+74 75
+74 82
+75 67
+75 74
+75 76
+75 83
+76 68
+76 75
+76 77
+76 84
+77 69
+77 76
+77 78
+77 85
+78 70
+78 77
+78 79
+78 86
+79 71
+79 78
+79 87
+80 72
+80 81
+80 88
+81 73
+81 80
+81 82
+81 89
+82 74
+82 81
+82 83
+82 90
+83 75
+83 82
+83 84
+83 91
+84 76
+84 83
+84 85
+84 92
+85 77
+85 84
+85 86
+85 93
+86 78
+86 85
+86 87
+86 94
+87 79
+87 86
+87 95
+88 80
+88 89
+88 96
+89 81
+89 88
+89 90
+89 97
+90 82
+90 89
+90 91
+90 98
+91 83
+91 90
+91 92
+91 99
+92 84
+92 91
+92 93
+92 100
+93 85
+93 92
+93 94
+93 101
+94 86
+94 93
+94 95
+94 102
+95 87
+95 94
+95 103
+96 88
+96 97
+96 104
+97 89
+97 96
+97 98
+97 105
+98 90
+98 97
+98 99
+98 106
+99 91
+99 98
+99 100
+99 107
+100 92
+100 99
+100 101
+100 108
+101 93
+101 100
+101 102
+101 109
+102 94
+102 101
+102 103
+102 110
+103 95
+103 102
+103 111
+104 96
+104 105
+104 112
+105 97
+105 104
+105 106
+105 113
+106 98
+106 105
+106 107
+106 114
+107 99
+107 106
+107 108
+107 115
+108 100
+108 107
+108 109
+108 116
+109 101
+109 108
+109 110
+109 117
+110 102
+110 109
+110 111
+110 118
+111 103
+111 110
+111 119
+112 104
+112 113
+112 120
+113 105
+113 112
+113 114
+113 121
+114 106
+114 113
+114 115
+114 122
+115 107
+115 114
+115 116
+115 123
+116 108
+116 115
+116 117
+116 124
+117 109
+117 116
+117 118
+117 125
+118 110
+118 117
+118 119
+118 126
+119 111
+119 118
+119 127
+120 112
+120 121
+121 113
+121 120
+121 122
+122 114
+122 121
+122 123
+123 115
+123 122
+123 124
+124 116
+124 123
+124 125
+125 117
+125 124
+125 126
+126 118
+126 125
+126 127
+127 119
+127 126
+</MATRIX>
diff --git a/examples/128,8-torus b/examples/128,8-torus
new file mode 100755
index 0000000..272c453
--- /dev/null
+++ b/examples/128,8-torus
@@ -0,0 +1 @@
+0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
\ No newline at end of file
diff --git a/examples/128,8-torusX b/examples/128,8-torusX
new file mode 100755
index 0000000..715246c
--- /dev/null
+++ b/examples/128,8-torusX
@@ -0,0 +1,514 @@
+<MATRIX>
+0 1
+0 7
+0 8
+0 120
+1 0
+1 2
+1 9
+1 121
+2 1
+2 3
+2 10
+2 122
+3 2
+3 4
+3 11
+3 123
+4 3
+4 5
+4 12
+4 124
+5 4
+5 6
+5 13
+5 125
+6 5
+6 7
+6 14
+6 126
+7 0
+7 6
+7 15
+7 127
+8 0
+8 9
+8 15
+8 16
+9 1
+9 8
+9 10
+9 17
+10 2
+10 9
+10 11
+10 18
+11 3
+11 10
+11 12
+11 19
+12 4
+12 11
+12 13
+12 20
+13 5
+13 12
+13 14
+13 21
+14 6
+14 13
+14 15
+14 22
+15 7
+15 8
+15 14
+15 23
+16 8
+16 17
+16 23
+16 24
+17 9
+17 16
+17 18
+17 25
+18 10
+18 17
+18 19
+18 26
+19 11
+19 18
+19 20
+19 27
+20 12
+20 19
+20 21
+20 28
+21 13
+21 20
+21 22
+21 29
+22 14
+22 21
+22 23
+22 30
+23 15
+23 16
+23 22
+23 31
+24 16
+24 25
+24 31
+24 32
+25 17
+25 24
+25 26
+25 33
+26 18
+26 25
+26 27
+26 34
+27 19
+27 26
+27 28
+27 35
+28 20
+28 27
+28 29
+28 36
+29 21
+29 28
+29 30
+29 37
+30 22
+30 29
+30 31
+30 38
+31 23
+31 24
+31 30
+31 39
+32 24
+32 33
+32 39
+32 40
+33 25
+33 32
+33 34
+33 41
+34 26
+34 33
+34 35
+34 42
+35 27
+35 34
+35 36
+35 43
+36 28
+36 35
+36 37
+36 44
+37 29
+37 36
+37 38
+37 45
+38 30
+38 37
+38 39
+38 46
+39 31
+39 32
+39 38
+39 47
+40 32
+40 41
+40 47
+40 48
+41 33
+41 40
+41 42
+41 49
+42 34
+42 41
+42 43
+42 50
+43 35
+43 42
+43 44
+43 51
+44 36
+44 43
+44 45
+44 52
+45 37
+45 44
+45 46
+45 53
+46 38
+46 45
+46 47
+46 54
+47 39
+47 40
+47 46
+47 55
+48 40
+48 49
+48 55
+48 56
+49 41
+49 48
+49 50
+49 57
+50 42
+50 49
+50 51
+50 58
+51 43
+51 50
+51 52
+51 59
+52 44
+52 51
+52 53
+52 60
+53 45
+53 52
+53 54
+53 61
+54 46
+54 53
+54 55
+54 62
+55 47
+55 48
+55 54
+55 63
+56 48
+56 57
+56 63
+56 64
+57 49
+57 56
+57 58
+57 65
+58 50
+58 57
+58 59
+58 66
+59 51
+59 58
+59 60
+59 67
+60 52
+60 59
+60 61
+60 68
+61 53
+61 60
+61 62
+61 69
+62 54
+62 61
+62 63
+62 70
+63 55
+63 56
+63 62
+63 71
+64 56
+64 65
+64 71
+64 72
+65 57
+65 64
+65 66
+65 73
+66 58
+66 65
+66 67
+66 74
+67 59
+67 66
+67 68
+67 75
+68 60
+68 67
+68 69
+68 76
+69 61
+69 68
+69 70
+69 77
+70 62
+70 69
+70 71
+70 78
+71 63
+71 64
+71 70
+71 79
+72 64
+72 73
+72 79
+72 80
+73 65
+73 72
+73 74
+73 81
+74 66
+74 73
+74 75
+74 82
+75 67
+75 74
+75 76
+75 83
+76 68
+76 75
+76 77
+76 84
+77 69
+77 76
+77 78
+77 85
+78 70
+78 77
+78 79
+78 86
+79 71
+79 72
+79 78
+79 87
+80 72
+80 81
+80 87
+80 88
+81 73
+81 80
+81 82
+81 89
+82 74
+82 81
+82 83
+82 90
+83 75
+83 82
+83 84
+83 91
+84 76
+84 83
+84 85
+84 92
+85 77
+85 84
+85 86
+85 93
+86 78
+86 85
+86 87
+86 94
+87 79
+87 80
+87 86
+87 95
+88 80
+88 89
+88 95
+88 96
+89 81
+89 88
+89 90
+89 97
+90 82
+90 89
+90 91
+90 98
+91 83
+91 90
+91 92
+91 99
+92 84
+92 91
+92 93
+92 100
+93 85
+93 92
+93 94
+93 101
+94 86
+94 93
+94 95
+94 102
+95 87
+95 88
+95 94
+95 103
+96 88
+96 97
+96 103
+96 104
+97 89
+97 96
+97 98
+97 105
+98 90
+98 97
+98 99
+98 106
+99 91
+99 98
+99 100
+99 107
+100 92
+100 99
+100 101
+100 108
+101 93
+101 100
+101 102
+101 109
+102 94
+102 101
+102 103
+102 110
+103 95
+103 96
+103 102
+103 111
+104 96
+104 105
+104 111
+104 112
+105 97
+105 104
+105 106
+105 113
+106 98
+106 105
+106 107
+106 114
+107 99
+107 106
+107 108
+107 115
+108 100
+108 107
+108 109
+108 116
+109 101
+109 108
+109 110
+109 117
+110 102
+110 109
+110 111
+110 118
+111 103
+111 104
+111 110
+111 119
+112 104
+112 113
+112 119
+112 120
+113 105
+113 112
+113 114
+113 121
+114 106
+114 113
+114 115
+114 122
+115 107
+115 114
+115 116
+115 123
+116 108
+116 115
+116 117
+116 124
+117 109
+117 116
+117 118
+117 125
+118 110
+118 117
+118 119
+118 126
+119 111
+119 112
+119 118
+119 127
+120 0
+120 112
+120 121
+120 127
+121 1
+121 113
+121 120
+121 122
+122 2
+122 114
+122 121
+122 123
+123 3
+123 115
+123 122
+123 124
+124 4
+124 116
+124 123
+124 125
+125 5
+125 117
+125 124
+125 126
+126 6
+126 118
+126 125
+126 127
+127 7
+127 119
+127 120
+127 126
+</MATRIX>
diff --git a/examples/128-left_rightX b/examples/128-left_rightX
new file mode 100755
index 0000000..2613c3a
--- /dev/null
+++ b/examples/128-left_rightX
@@ -0,0 +1,258 @@
+<MATRIX>
+0 1
+0 127
+1 0
+1 2
+2 1
+2 3
+3 2
+3 4
+4 3
+4 5
+5 4
+5 6
+6 5
+6 7
+7 6
+7 8
+8 7
+8 9
+9 8
+9 10
+10 9
+10 11
+11 10
+11 12
+12 11
+12 13
+13 12
+13 14
+14 13
+14 15
+15 14
+15 16
+16 15
+16 17
+17 16
+17 18
+18 17
+18 19
+19 18
+19 20
+20 19
+20 21
+21 20
+21 22
+22 21
+22 23
+23 22
+23 24
+24 23
+24 25
+25 24
+25 26
+26 25
+26 27
+27 26
+27 28
+28 27
+28 29
+29 28
+29 30
+30 29
+30 31
+31 30
+31 32
+32 31
+32 33
+33 32
+33 34
+34 33
+34 35
+35 34
+35 36
+36 35
+36 37
+37 36
+37 38
+38 37
+38 39
+39 38
+39 40
+40 39
+40 41
+41 40
+41 42
+42 41
+42 43
+43 42
+43 44
+44 43
+44 45
+45 44
+45 46
+46 45
+46 47
+47 46
+47 48
+48 47
+48 49
+49 48
+49 50
+50 49
+50 51
+51 50
+51 52
+52 51
+52 53
+53 52
+53 54
+54 53
+54 55
+55 54
+55 56
+56 55
+56 57
+57 56
+57 58
+58 57
+58 59
+59 58
+59 60
+60 59
+60 61
+61 60
+61 62
+62 61
+62 63
+63 62
+63 64
+64 63
+64 65
+65 64
+65 66
+66 65
+66 67
+67 66
+67 68
+68 67
+68 69
+69 68
+69 70
+70 69
+70 71
+71 70
+71 72
+72 71
+72 73
+73 72
+73 74
+74 73
+74 75
+75 74
+75 76
+76 75
+76 77
+77 76
+77 78
+78 77
+78 79
+79 78
+79 80
+80 79
+80 81
+81 80
+81 82
+82 81
+82 83
+83 82
+83 84
+84 83
+84 85
+85 84
+85 86
+86 85
+86 87
+87 86
+87 88
+88 87
+88 89
+89 88
+89 90
+90 89
+90 91
+91 90
+91 92
+92 91
+92 93
+93 92
+93 94
+94 93
+94 95
+95 94
+95 96
+96 95
+96 97
+97 96
+97 98
+98 97
+98 99
+99 98
+99 100
+100 99
+100 101
+101 100
+101 102
+102 101
+102 103
+103 102
+103 104
+104 103
+104 105
+105 104
+105 106
+106 105
+106 107
+107 106
+107 108
+108 107
+108 109
+109 108
+109 110
+110 109
+110 111
+111 110
+111 112
+112 111
+112 113
+113 112
+113 114
+114 113
+114 115
+115 114
+115 116
+116 115
+116 117
+117 116
+117 118
+118 117
+118 119
+119 118
+119 120
+120 119
+120 121
+121 120
+121 122
+122 121
+122 123
+123 122
+123 124
+124 123
+124 125
+125 124
+125 126
+126 125
+126 127
+127 0
+127 126
+</MATRIX>
diff --git a/examples/128-spiral-8,16,128,2,1over2 b/examples/128-spiral-8,16,128,2,1over2
new file mode 100755
index 0000000..5eba4ed
--- /dev/null
+++ b/examples/128-spiral-8,16,128,2,1over2
@@ -0,0 +1 @@
+123
17
71
97
4
110
48
30
123
10
79
89
12
117
40
47
114
10
86
80
13
116
33
55
106
11
94
64
21
116
25
63
97
12
102
56
30
115
18
78
89
12
109
49
46
107
18
86
81
21
108
41
54
106
19
94
73
29
108
33
62
98
19
93
65
37
107
26
70
90
20
101
57
46
107
26
78
81
28
101
49
54
99
27
86
73
29
100
42
62
90
27
85
65
37
100
34
62
90
28
93
57
45
99
34
70
82
28
93
50
53
99
35
77
74
36
92
50
53
91
35
85
66
37
92
42
61
82
35
\ No newline at end of file
diff --git a/examples/128-stringX b/examples/128-stringX
new file mode 100755
index 0000000..e703add
--- /dev/null
+++ b/examples/128-stringX
@@ -0,0 +1,256 @@
+<MATRIX>
+0 1
+1 0
+1 2
+2 1
+2 3
+3 2
+3 4
+4 3
+4 5
+5 4
+5 6
+6 5
+6 7
+7 6
+7 8
+8 7
+8 9
+9 8
+9 10
+10 9
+10 11
+11 10
+11 12
+12 11
+12 13
+13 12
+13 14
+14 13
+14 15
+15 14
+15 16
+16 15
+16 17
+17 16
+17 18
+18 17
+18 19
+19 18
+19 20
+20 19
+20 21
+21 20
+21 22
+22 21
+22 23
+23 22
+23 24
+24 23
+24 25
+25 24
+25 26
+26 25
+26 27
+27 26
+27 28
+28 27
+28 29
+29 28
+29 30
+30 29
+30 31
+31 30
+31 32
+32 31
+32 33
+33 32
+33 34
+34 33
+34 35
+35 34
+35 36
+36 35
+36 37
+37 36
+37 38
+38 37
+38 39
+39 38
+39 40
+40 39
+40 41
+41 40
+41 42
+42 41
+42 43
+43 42
+43 44
+44 43
+44 45
+45 44
+45 46
+46 45
+46 47
+47 46
+47 48
+48 47
+48 49
+49 48
+49 50
+50 49
+50 51
+51 50
+51 52
+52 51
+52 53
+53 52
+53 54
+54 53
+54 55
+55 54
+55 56
+56 55
+56 57
+57 56
+57 58
+58 57
+58 59
+59 58
+59 60
+60 59
+60 61
+61 60
+61 62
+62 61
+62 63
+63 62
+63 64
+64 63
+64 65
+65 64
+65 66
+66 65
+66 67
+67 66
+67 68
+68 67
+68 69
+69 68
+69 70
+70 69
+70 71
+71 70
+71 72
+72 71
+72 73
+73 72
+73 74
+74 73
+74 75
+75 74
+75 76
+76 75
+76 77
+77 76
+77 78
+78 77
+78 79
+79 78
+79 80
+80 79
+80 81
+81 80
+81 82
+82 81
+82 83
+83 82
+83 84
+84 83
+84 85
+85 84
+85 86
+86 85
+86 87
+87 86
+87 88
+88 87
+88 89
+89 88
+89 90
+90 89
+90 91
+91 90
+91 92
+92 91
+92 93
+93 92
+93 94
+94 93
+94 95
+95 94
+95 96
+96 95
+96 97
+97 96
+97 98
+98 97
+98 99
+99 98
+99 100
+100 99
+100 101
+101 100
+101 102
+102 101
+102 103
+103 102
+103 104
+104 103
+104 105
+105 104
+105 106
+106 105
+106 107
+107 106
+107 108
+108 107
+108 109
+109 108
+109 110
+110 109
+110 111
+111 110
+111 112
+112 111
+112 113
+113 112
+113 114
+114 113
+114 115
+115 114
+115 116
+116 115
+116 117
+117 116
+117 118
+118 117
+118 119
+119 118
+119 120
+120 119
+120 121
+121 120
+121 122
+122 121
+122 123
+123 122
+123 124
+124 123
+124 125
+125 124
+125 126
+126 125
+126 127
+127 126
+</MATRIX>
diff --git a/examples/128-stringcircular b/examples/128-stringcircular
new file mode 100755
index 0000000..6900528
--- /dev/null
+++ b/examples/128-stringcircular
@@ -0,0 +1 @@
+0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
\ No newline at end of file
diff --git a/examples/128-stringcircularX b/examples/128-stringcircularX
new file mode 100755
index 0000000..2613c3a
--- /dev/null
+++ b/examples/128-stringcircularX
@@ -0,0 +1,258 @@
+<MATRIX>
+0 1
+0 127
+1 0
+1 2
+2 1
+2 3
+3 2
+3 4
+4 3
+4 5
+5 4
+5 6
+6 5
+6 7
+7 6
+7 8
+8 7
+8 9
+9 8
+9 10
+10 9
+10 11
+11 10
+11 12
+12 11
+12 13
+13 12
+13 14
+14 13
+14 15
+15 14
+15 16
+16 15
+16 17
+17 16
+17 18
+18 17
+18 19
+19 18
+19 20
+20 19
+20 21
+21 20
+21 22
+22 21
+22 23
+23 22
+23 24
+24 23
+24 25
+25 24
+25 26
+26 25
+26 27
+27 26
+27 28
+28 27
+28 29
+29 28
+29 30
+30 29
+30 31
+31 30
+31 32
+32 31
+32 33
+33 32
+33 34
+34 33
+34 35
+35 34
+35 36
+36 35
+36 37
+37 36
+37 38
+38 37
+38 39
+39 38
+39 40
+40 39
+40 41
+41 40
+41 42
+42 41
+42 43
+43 42
+43 44
+44 43
+44 45
+45 44
+45 46
+46 45
+46 47
+47 46
+47 48
+48 47
+48 49
+49 48
+49 50
+50 49
+50 51
+51 50
+51 52
+52 51
+52 53
+53 52
+53 54
+54 53
+54 55
+55 54
+55 56
+56 55
+56 57
+57 56
+57 58
+58 57
+58 59
+59 58
+59 60
+60 59
+60 61
+61 60
+61 62
+62 61
+62 63
+63 62
+63 64
+64 63
+64 65
+65 64
+65 66
+66 65
+66 67
+67 66
+67 68
+68 67
+68 69
+69 68
+69 70
+70 69
+70 71
+71 70
+71 72
+72 71
+72 73
+73 72
+73 74
+74 73
+74 75
+75 74
+75 76
+76 75
+76 77
+77 76
+77 78
+78 77
+78 79
+79 78
+79 80
+80 79
+80 81
+81 80
+81 82
+82 81
+82 83
+83 82
+83 84
+84 83
+84 85
+85 84
+85 86
+86 85
+86 87
+87 86
+87 88
+88 87
+88 89
+89 88
+89 90
+90 89
+90 91
+91 90
+91 92
+92 91
+92 93
+93 92
+93 94
+94 93
+94 95
+95 94
+95 96
+96 95
+96 97
+97 96
+97 98
+98 97
+98 99
+99 98
+99 100
+100 99
+100 101
+101 100
+101 102
+102 101
+102 103
+103 102
+103 104
+104 103
+104 105
+105 104
+105 106
+106 105
+106 107
+107 106
+107 108
+108 107
+108 109
+109 108
+109 110
+110 109
+110 111
+111 110
+111 112
+112 111
+112 113
+113 112
+113 114
+114 113
+114 115
+115 114
+115 116
+116 115
+116 117
+117 116
+117 118
+118 117
+118 119
+119 118
+119 120
+120 119
+120 121
+121 120
+121 122
+122 121
+122 123
+123 122
+123 124
+124 123
+124 125
+125 124
+125 126
+126 125
+126 127
+127 0
+127 126
+</MATRIX>
diff --git a/examples/19Trumpet.sf2 b/examples/19Trumpet.sf2
old mode 100755
new mode 100644
diff --git a/examples/ATSadd-2.csd b/examples/ATSadd-2.csd
new file mode 100644
index 0000000..823d69a
--- /dev/null
+++ b/examples/ATSadd-2.csd
@@ -0,0 +1,54 @@
+<CsoundSynthesizer>
+<CsOptions>
+-odac -d -m1
+</CsOptions>
+<CsInstruments>
+;example by joachim heintz
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs = 1
+
+giSine    ftgen     0, 0, 1024, 10, 1
+
+  instr AllTheTones
+Sfile     =         "fox.ats"
+          prints    "Resynthesizing with all the tones.\n"
+iDur      ATSinfo   Sfile, 7
+p3        =         iDur
+iNumParts ATSinfo   Sfile, 3
+          prints    "Overall number of partials = %d\n", iNumParts
+ktime     line      0, iDur, iDur
+asig      ATSadd    ktime, 1, Sfile, giSine, iNumParts
+          outs      asig, asig
+
+;start next instr
+          event_i   "i", "TonesInBandsOfTen", iDur+1, iDur, 0, iNumParts
+  endin
+
+  instr TonesInBandsOfTen
+Sfile     =         "fox.ats"
+iOffset   =         p4 ;start at this partial
+iNumParts =         p5 ;overall number of partials
+          prints    "Resynthesizing with partials %d - %d.\n", iOffset+1, iOffset+10
+ktime     line      0, p3, p3
+asig      ATSadd    ktime, 1, Sfile, giSine, 10, iOffset
+          outs      asig, asig
+
+;start next instance until there are enough partials left
+ if iOffset+20 < iNumParts then
+          event_i   "i", "TonesInBandsOfTen", p3+1, p3, iOffset+10, iNumParts
+          else
+          event_i   "i", "End", p3, 1
+ endif
+  endin
+
+  instr End
+          exitnow
+  endin
+</CsInstruments>
+<CsScore>
+i "AllTheTones" 0 1
+e 999
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/ATSadd.csd b/examples/ATSadd.csd
old mode 100755
new mode 100644
diff --git a/examples/ATSaddnz-2.csd b/examples/ATSaddnz-2.csd
new file mode 100644
index 0000000..4ae65d1
--- /dev/null
+++ b/examples/ATSaddnz-2.csd
@@ -0,0 +1,44 @@
+<CsoundSynthesizer>
+<CsOptions>
+-odac -d -m1
+</CsOptions>
+<CsInstruments>
+;example by joachim heintz
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs = 1
+
+instr AllTheNoise
+Sfile    =        "fox.ats"
+         prints   "Resynthesizing with all the noise.\n"
+iDur     ATSinfo  Sfile, 7
+p3       =        iDur
+ktime    line     0, iDur, iDur
+asig     ATSaddnz ktime, Sfile, 25
+         outs     asig, asig
+
+;start next instr
+         event_i  "i", "NoiseInBandsOfFive", iDur+1, 1, 0
+endin
+
+instr NoiseInBandsOfFive
+Sfile    =        "fox.ats"
+         prints   "Resynthesizing with noise bands %d - %d.\n", p4, p4+5
+iDur     ATSinfo  Sfile, 7
+p3       =        iDur
+ktime    line     0, iDur, iDur
+asig     ATSaddnz ktime, Sfile, 5, p4
+         outs     asig, asig
+
+;start next instr
+if p4 < 20 then
+         event_i  "i", "NoiseInBandsOfFive", iDur+1, 1, p4+5
+endif
+endin
+</CsInstruments>
+<CsScore>
+i "AllTheNoise" 0 1
+e 25
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/ATSaddnz.csd b/examples/ATSaddnz.csd
old mode 100755
new mode 100644
diff --git a/examples/ATSbufread.csd b/examples/ATSbufread.csd
old mode 100755
new mode 100644
diff --git a/examples/ATScross.csd b/examples/ATScross.csd
old mode 100755
new mode 100644
diff --git a/examples/ATSinfo-2.csd b/examples/ATSinfo-2.csd
new file mode 100644
index 0000000..a2bbd1c
--- /dev/null
+++ b/examples/ATSinfo-2.csd
@@ -0,0 +1,40 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-n     ;;;no audio out
+</CsOptions>
+<CsInstruments>
+;example by joachim heintz
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs = 1
+
+instr 1	; "fox.ats" has been created by ATSanal
+Sfile   =       "fox.ats"
+isr     ATSinfo Sfile, 0
+ifs     ATSinfo Sfile, 1
+iws     ATSinfo Sfile, 2
+inp     ATSinfo Sfile, 3
+inf     ATSinfo Sfile, 4
+ima     ATSinfo Sfile, 5
+imf     ATSinfo Sfile, 6
+id      ATSinfo Sfile, 7
+ift     ATSinfo Sfile, 8
+        prints  {{
+Sample rate =   %d Hz
+Frame Size =    %d samples
+Window Size =   %d samples
+Number of Partials = %d
+Number of Frames = %d
+Maximum Amplitude = %f
+Maximum Frequency = %f Hz
+Duration =      %f seconds
+ATS file Type = %d
+}}, isr, ifs, iws, inp, inf, ima, imf, id, ift
+endin
+</CsInstruments>
+<CsScore>
+i 1 0 0 
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/ATSinfo.csd b/examples/ATSinfo.csd
old mode 100755
new mode 100644
diff --git a/examples/ATSinterpread.csd b/examples/ATSinterpread.csd
old mode 100755
new mode 100644
diff --git a/examples/ATSpartialtap.csd b/examples/ATSpartialtap.csd
old mode 100755
new mode 100644
diff --git a/examples/ATSread-2.csd b/examples/ATSread-2.csd
new file mode 100644
index 0000000..795aed7
--- /dev/null
+++ b/examples/ATSread-2.csd
@@ -0,0 +1,118 @@
+<CsoundSynthesizer>
+<CsOptions>
+-odac -d -m128
+</CsOptions>
+<CsInstruments>
+;example by joachim heintz
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs = 1
+
+giSine    ftgen     0, 0, 1024, 10, 1
+gSfile    =         "fox.ats"
+giNumParts ATSinfo  gSfile, 3 ;overall number of partials
+giDur     ATSinfo   gSfile, 7 ;duration 
+          seed      0
+
+
+  instr ReadOnePartial
+iPartial  =         p4
+p3        =         giDur
+ktime     line      0, giDur, giDur
+          prints    "Resynthesizing partial number %d.\n", iPartial
+kFq,kAmp  ATSread   ktime, gSfile, iPartial
+kAmp      port      kAmp, .1 ;smooth amplitudes - still not satisfactoring
+aOut      poscil    kAmp, kFq, giSine
+aOut      linen     aOut, 0, p3, .01 ;anti-click
+          outs      aOut*10, aOut*10
+
+;start next instr: normal speed, three loops, pause between loops one second
+          event_i   "i", "MasterRand", giDur+3, 1, 1, 3, 2
+  endin
+
+  instr MasterRand
+  ;random selections of 10 partials per second, overlapping
+iSpeed    =         p4 ;speed of reading / playing
+iNumLoops =         p5 ;number of loops
+iPause    =         p6 ;length of pause between loops
+          prints    "Resynthesizing random partials.\n"
+p3        =         (giDur/iSpeed+iPause) * iNumLoops
+;start next instr: half speed, three loops, three seonds pause between loops
+          event_i   "i", "MasterArp", p3+3, 1, .5, 3, 3
+;loop over duration plus pause
+loop:
+          timout    0, giDur/iSpeed+iPause, play
+          reinit    loop
+play:
+gkTime    line      0, giDur/iSpeed, giDur ;start time from 0 in each loop
+kTrig     metro     10 ;10 new partials per second
+ ;call subinstrument if trigger and no pause
+ if kTrig == 1 && gkTime < giDur then
+kPart     random    1, giNumParts+.999
+          event     "i", "PlayRand", 0, 1, int(kPart)
+ endif
+
+  endin
+  
+  instr MasterArp
+  ;argeggio-like reading and playing of partials 
+iSpeed    =         p4 ;speed of reading / playing
+iNumLoops =         p5 ;number of loops
+iPause    =         p6 ;length of pause between loops
+          prints    "Arpeggiating partials.\n"
+p3        =         (giDur/iSpeed+iPause) * iNumLoops
+loop:
+          timout    0, giDur/iSpeed+iPause, play
+          reinit    loop
+play:
+gkTime    line      0, giDur/iSpeed, giDur
+kArp      linseg    1, (giDur/iSpeed)/2, giNumParts, (giDur/iSpeed)/2, 1 ;arp up and down
+kTrig     metro     10 ;10 new partials per second
+ if kTrig == 1 && gkTime < giDur then
+          event     "i", "PlayArp", 0, 5, int(kArp)
+ endif
+
+;exit csound when finished
+          event_i   "i", "End", p3+5, 1
+  endin
+
+  instr PlayRand
+iPartial  =         p4
+kFq,kAmp  ATSread   gkTime, gSfile, iPartial
+kamp      port      kAmp, .15 ;smooth amplitudes
+aOut      poscil    kAmp, kFq, giSine
+aOut      linen     aOut, .01, p3, .01
+          outs      aOut, aOut
+  endin
+
+  instr PlayArp
+kCount    init      1 ;k-cycle
+iPartial  =         p4
+kFq,kAmp  ATSread   gkTime, gSfile, iPartial
+ if kCount == 1 then ;get freq from first k-cycle
+kModFq    =         kFq
+  ;avoid to go with 0 Hz as this blocks the mode filter
+  if kModFq == 0 then
+          turnoff
+  endif
+ endif
+iVol      random    -42, -12 ;db
+iOffset   random    .01, .1 ;no too regularily ...
+aImp      mpulse    ampdb(iVol), p3, iOffset
+iQ        random    500, 5000
+aOut      mode      aImp, kModFq, iQ
+aOut      linen     aOut, 0, p3, p3/3
+          outs      aOut, aOut
+kCount    =         2
+  endin
+
+  instr End
+          exitnow
+  endin
+</CsInstruments>
+<CsScore>
+i "ReadOnePartial" 0 1 10
+e 999
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/ATSread.csd b/examples/ATSread.csd
old mode 100755
new mode 100644
diff --git a/examples/ATSreadnz.csd b/examples/ATSreadnz.csd
old mode 100755
new mode 100644
diff --git a/examples/ATSsinnoi-2.csd b/examples/ATSsinnoi-2.csd
new file mode 100644
index 0000000..311b5ec
--- /dev/null
+++ b/examples/ATSsinnoi-2.csd
@@ -0,0 +1,79 @@
+<CsoundSynthesizer>
+<CsOptions>
+-odac -d -m128
+</CsOptions>
+<CsInstruments>
+;example by joachim heintz
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs = 1
+
+giSine    ftgen     0, 0, 1024, 10, 1
+gSfile    =         "fox.ats"
+giNumParts ATSinfo  gSfile, 3 ;overall number of partials
+giDur     ATSinfo   gSfile, 7 ;duration 
+          seed      0
+          
+
+  instr PlayList
+event_i "i", "PlayAll", 0, 1, 1, 0, .5 ;sine only, half speed
+event_i "i", "PlayAll", giDur*2+1, 1, 0, 1, .5 ;noise only
+event_i "i", "PlayAll", giDur*4+2, 1, .5, .5, .5 ;half sine, half noise
+  endin
+
+  instr PlayAll
+iSinAmnt  =         p4 ;sinee amount (0-1)
+iNzAmnt   =         p5 ;noise amount (0-1)
+iSpeed    =         p6 ;speed
+p3        =         giDur/iSpeed
+ktime     line      0, giDur/iSpeed, giDur
+          prints    "Resynthesizing all partials with tone = %.1f and noise = %.1f.\n", iSinAmnt, iNzAmnt
+aOut      ATSsinnoi ktime, iSinAmnt, iNzAmnt, 1, gSfile, giNumParts
+          outs      aOut, aOut
+  endin
+
+  instr PlayBand
+iOffset   =         p4 ;offset in partials
+iSpeed    =         p5 ;speed
+p3        =         giDur/iSpeed
+ktime     line      0, giDur/iSpeed, giDur
+          prints    "Resynthesizing partials %d to %d with related noise.\n", iOffset+1, iOffset+10
+aOut      ATSsinnoi ktime, 1, 1, 1, gSfile, 10, iOffset, 1
+          outs      aOut, aOut
+;call itself again
+ if iOffset < giNumParts - 20 then
+          event_i   "i", "PlayBand", giDur/iSpeed+1, 1, iOffset+10, iSpeed
+ endif
+  endin
+
+  instr PlayWeighted
+  ;sine amount, noise amount and speeed are varying
+kSinAmnt  randomi   0, 1, 1, 3
+kNzAmnt   =         1-kSinAmnt
+kSpeed    randomi   .01, .3, 1, 3
+async     init      0
+atime, aEnd syncphasor kSpeed/giDur, async
+kTrig     metro     100
+kEnd      max_k     aEnd, kTrig, 1 ;1 if phasor signal crosses zero
+ktime     downsamp  atime
+aOut      ATSsinnoi ktime*giDur, kSinAmnt, kNzAmnt, 1, gSfile, giNumParts
+          outs      aOut, aOut
+  ;exit if file is at the end 
+  if kEnd == 1 then
+          event     "i", "End", 0, 1
+  endif
+  endin
+
+  instr End
+          exitnow
+  endin
+
+
+</CsInstruments>
+<CsScore>
+i "PlayList" 0 1
+i "PlayBand" 20 1 0 .5
+i "PlayWeighted" 110 100
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/ATSsinnoi.csd b/examples/ATSsinnoi.csd
old mode 100755
new mode 100644
diff --git a/examples/Church.wav b/examples/Church.wav
new file mode 100644
index 0000000..219a02a
Binary files /dev/null and b/examples/Church.wav differ
diff --git a/examples/FLsavesnap.csd b/examples/FLsavesnap.csd
index c4259a5..4865b4f 100644
--- a/examples/FLsavesnap.csd
+++ b/examples/FLsavesnap.csd
@@ -28,7 +28,7 @@ FLpanel	"Snapshots", 530, 350, 40, 410, 3
     gksliderD, gislidSM4 	FLslider "Slider D", 0, 1, 0, 3, ivalSM4, 250, 20, 20, 140
     itext1		 FLbox	  "store", 1, 1, 14, 50, 25, 355, 15
     itext2		 FLbox	  "load", 1, 1, 14, 50, 25, 415, 15
-    itext3		 FLbox	  "G\nr\no\nu\np\n \n1", 1, 1, 14, 30, 145, 485, 15
+    itext3		 FLbox	  "Group 1", 1, 1, 14, 30, 145, 485, 15
     gksnap, ibuttn1	 FLbutton "1", 1, 0, 11, 25, 25, 364, 45, 0, 3, 0, 3, 1
     gksnap, ibuttn2	 FLbutton "2", 1, 0, 11, 25, 25, 364, 75, 0, 3, 0, 3, 2
     gksnap, ibuttn3	 FLbutton "3", 1, 0, 11, 25, 25, 364, 105, 0, 3, 0, 3, 3
@@ -50,7 +50,7 @@ FLpanel	"Snapshots", 530, 350, 40, 410, 3
     gkknobD, gislidSM8 	FLknob "Knob D", 0, 1, 0, 3, ivalSM8, 45, 205, 230
     itext4		 FLbox	  "store", 1, 1, 14, 50, 25, 355, 185
     itext5		 FLbox	  "load", 1, 1, 14, 50, 25, 415, 185
-    itext6		 FLbox	  "G\nr\no\nu\np\n \n2", 1, 1, 14, 30, 145, 485, 185
+    itext6		 FLbox	  "Group 2", 1, 1, 14, 30, 145, 485, 185
     gksnap, ibuttn1	 FLbutton "5", 1, 0, 11, 25, 25, 364, 215, 0, 3, 0, 3, 5
     gksnap, ibuttn2	 FLbutton "6", 1, 0, 11, 25, 25, 364, 245, 0, 3, 0, 3, 6
     gksnap, ibuttn3	 FLbutton "7", 1, 0, 11, 25, 25, 364, 275, 0, 3, 0, 3, 7
diff --git a/examples/JackoInfo.csd b/examples/JackoInfo.csd
new file mode 100644
index 0000000..7f368d1
--- /dev/null
+++ b/examples/JackoInfo.csd
@@ -0,0 +1,24 @@
+<CsoundSynthesizer>
+<CsOptions>
+-n
+</CsOptions>
+<CsInstruments>
+
+sr  = 48000
+ksmps = 128
+nchnls  = 2
+0dbfs   = 1
+
+instr 1
+
+JackoInit "default", "csound"
+JackoInfo
+
+endin
+</CsInstruments>
+<CsScore>
+
+ i 1 0 0
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/JackoInit.csd b/examples/JackoInit.csd
new file mode 100644
index 0000000..7f368d1
--- /dev/null
+++ b/examples/JackoInit.csd
@@ -0,0 +1,24 @@
+<CsoundSynthesizer>
+<CsOptions>
+-n
+</CsOptions>
+<CsInstruments>
+
+sr  = 48000
+ksmps = 128
+nchnls  = 2
+0dbfs   = 1
+
+instr 1
+
+JackoInit "default", "csound"
+JackoInfo
+
+endin
+</CsInstruments>
+<CsScore>
+
+ i 1 0 0
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/Mixer.csd b/examples/Mixer.csd
new file mode 100644
index 0000000..2740382
--- /dev/null
+++ b/examples/Mixer.csd
@@ -0,0 +1,54 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+; Audio out   Audio in
+-odac       ;   -iadc    ;;;RT audio out
+; For Non-realtime ouput leave only the line below:
+; -o Mixer.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps =	32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+katt	expon 0.01, p3, 1		;create an attack
+aout	poscil .7, 440,1
+	MixerSetLevel	1, 3, katt	;impose attack on the gain level
+	MixerSend aout, 1, 3, 0		;send to channel 0
+endin
+
+instr 2
+
+aout	vco2 .5, 110			;saw wave
+	MixerSetLevel 2, 3, .25		;set level to .25 of vco2
+	MixerSend aout, 2, 3, 1		;send to channel 1
+endin
+
+instr 3	;mix instr.1 and 2 with reverb
+	
+kgain1	MixerGetLevel	1,3		;get level form buss 3
+kgain2	MixerGetLevel	2,3		;get level form buss 3
+a1	MixerReceive	3,0		;receive channel 0
+a2	MixerReceive	3,1		;receive channel 1
+aout	= a1*kgain1+a2*kgain2		;mix them
+aoutL, aoutR reverbsc aout, aout,  0.85, 12000	;add a nice reverb
+	outs  aoutL, aoutR
+	MixerClear
+endin
+
+</CsInstruments>
+<CsScore>
+f1 0 4096 10 1
+
+i1 0 2
+i2 0 2
+i3 0 8	;reverb stays on for 8 sec.
+
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/STKBandedWG.csd b/examples/STKBandedWG.csd
old mode 100755
new mode 100644
index 3de4a12..dd164a3
--- a/examples/STKBandedWG.csd
+++ b/examples/STKBandedWG.csd
@@ -1,7 +1,7 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
--odac     ;;;RT audio out
+-odac     ;;;realtime audio out
 ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o STKBandedWG.wav -W ;;; for file output any platform
@@ -11,25 +11,25 @@
 sr = 44100
 ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
 instr 1
 
-ifrq	=	p4
-kblw	line	p5, p3, p6
-kenv	line	1, p3, 0
+ifrq =    p4
+kv1  line p5, p3, p6					;pressure of bow
+kenv line 1, p3, 0
 
-asig	STKBandedWG cpspch(ifrq), 1, 2, p5, 4, 100, 11, 0, 1, 0, 64, 100, 128, 120, 16, 2
-asig	=	asig * kenv				;envelope
-	outs asig, asig
+asig STKBandedWG cpspch(ifrq), 1, 2, kv1, 4, 100, 11, 0, 1, 0, 64, 100, 128, 120, 16, 2
+asig = asig * kenv					;simple envelope
+     outs asig, asig
 endin
 
 </CsInstruments>
 <CsScore>
 
 i 1 0 10 5.00 100 0
-i 1 2  8 6.03 10 .
-i 1 5  5 7.05 50 127
+i 1 10 8 6.03 10 .
+i 1 20 5 7.05 50 127
 
 e
 </CsScore>
diff --git a/examples/STKBeeThree.csd b/examples/STKBeeThree.csd
old mode 100755
new mode 100644
index 24e143e..a8acc41
--- a/examples/STKBeeThree.csd
+++ b/examples/STKBeeThree.csd
@@ -1,7 +1,7 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
--odac     ;;;RT audio out
+-odac     ;;;realtime audio out
 ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o STKBeeThree.wav -W ;;; for file output any platform
@@ -11,16 +11,16 @@
 sr = 44100
 ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
 instr 1
 
-kfdb	=	p6
-kop3	line	p4, p3, p5
-kvol	line	0, p3, 100
+kv1	=	p6					;feedback of operator 4
+kv2	line	p4, p3, p5				;gain of operator 3
+kv5	line	0, p3, 100
 ipch	=	p7
 
-asig	STKBeeThree	cpspch(ipch), 1, 2, kfdb, 4, kop3, 11, 50, 1, 0, 128, kvol
+asig	STKBeeThree	cpspch(ipch), 1, 2, kv1, 4, kv2, 11, 50, 1, 0, 128, kv5
 	outs	asig, asig
 endin
 
@@ -28,7 +28,7 @@ endin
 <CsScore>
 
 i 1 0 2 20 100 127 8.00
-i 1 + 3 120 0 0 6.09
+i 1 + 8 120 0 0 6.09
 e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/STKBlowBotl.csd b/examples/STKBlowBotl.csd
old mode 100755
new mode 100644
index 17fbb16..c97ec7e
--- a/examples/STKBlowBotl.csd
+++ b/examples/STKBlowBotl.csd
@@ -1,7 +1,7 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
--odac     ;;;RT audio out
+-odac     ;;;realtime audio out
 ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o STKBlowBotl.wav -W ;;; for file output any platform
@@ -11,16 +11,16 @@
 sr = 44100
 ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
 instr 1
 
 ipch	= p4
-knoise	line p5, p3, p6					;noise
-kvol	line	100, p3, 70				;volume
+kv1	line p5, p3, p6					;gain of noise
+kv4	line	100, p3, 70				;volume
 
-asig	STKBlowBotl cpspch(ipch), 1, 4, knoise, 11, 10, 1, 50, 128, kvol
-asig	=	asig * .7				;too loud
+asig	STKBlowBotl cpspch(ipch), 1, 4, kv1, 11, 10, 1, 50, 128, kv4
+asig	=	asig * .5				;too loud
 	outs	asig, asig
 endin
 
@@ -28,7 +28,7 @@ endin
 <CsScore>
 
 i 1 0 2 9.00 20 100
-i 1 + 3 8.03 120 0
+i 1 + 5 8.03 120 0
 e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/STKBlowHole.csd b/examples/STKBlowHole.csd
old mode 100755
new mode 100644
index 14deb6d..9308e56
--- a/examples/STKBlowHole.csd
+++ b/examples/STKBlowHole.csd
@@ -1,7 +1,7 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
--odac     ;;;RT audio out
+-odac     ;;;realtime audio out
 ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o STKBlowHole.wav -W ;;; for file output any platform
@@ -11,15 +11,15 @@
 sr = 44100
 ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
 instr 1	
 
-ipch	= p4
-kstiff	=	p7
-khole	line	p5, p3, p6
+ipch	=	p4
+kv1	=	p7						;stiffness of reed
+kv3	line	p5, p3, p6					;state of tonehole
 
-asig	STKBlowHole	cpspch(ipch), 1, 2, kstiff, 4, 100, 11, khole, 1, 10, 128, 100
+asig	STKBlowHole	cpspch(ipch), 1, 2, kv1, 4, 100, 11, kv3, 1, 10, 128, 100
 	outs	asig, asig
 endin
 
@@ -27,7 +27,7 @@ endin
 <CsScore>
 
 i 1 0 4 10.00 20 127 100
-i 1 + 3 6.09 120  0  10
+i 1 + 7 6.09 120  0  10
 e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/STKBowed.csd b/examples/STKBowed.csd
old mode 100755
new mode 100644
index 841b864..b078e58
--- a/examples/STKBowed.csd
+++ b/examples/STKBowed.csd
@@ -1,7 +1,7 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
--odac     ;;;RT audio out
+-odac     ;;;realtime audio out
 ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o STKBowed.wav -W ;;; for file output any platform
@@ -11,27 +11,27 @@
 sr = 44100
 ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
 instr 1
 
 ipch	= p4
-kpos	= p7
-kpres	line	p5, p3, p6
-kvib	line	0, p3, 7
+kv2	= p7							;position on bow
+kv1	line	p5, p3, p6					;bow pressure
+kv4	line	0, p3, 7					;depth of low-frequency oscillator
 
-asig	STKBowed cpspch(ipch), 1, 2, kpres, 4, kpos, 11, 40, 1, kvib, 128, 100
-asig	=	asig*4			;amplify
+asig	STKBowed cpspch(ipch), 1, 2, kv1, 4, kv2, 11, 40, 1, kv4, 128, 100
+asig	=	asig*2						;amplify
 	outs	asig, asig
 endin
 
 </CsInstruments>
 <CsScore>
 
-i 1 0 5 6.00 20 100 127
-i 1 + 3 7.00 120 0 0
-i 1 8 3 7.05 120 0 30
-i 1 8 4 7.03  50 0 0
+i 1 0 15 6.00 20 100 115
+i 1 17 3 7.00 120 0  0
+i 1 21 3 7.09 120 0  30
+i 1 21 4 7.03 50  0  0
 e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/STKBrass.csd b/examples/STKBrass.csd
old mode 100755
new mode 100644
index bed8292..4c2dad5
--- a/examples/STKBrass.csd
+++ b/examples/STKBrass.csd
@@ -1,7 +1,7 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
--odac     ;;;RT audio out
+-odac     ;;;realtime audio out
 ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o STKBrass.wav -W ;;; for file output any platform
@@ -11,15 +11,16 @@
 sr = 44100
 ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
 instr 1
+
 ifrq	=	p4
-kjet	line	p5, p3, p6
-ktrl	line	p7, p3, p8
+kv1	line	p5, p3, p6					;lip tension
+kv3	line	p7, p3, p8					;speed of low-frequency oscillator
 
-asig	STKBrass cpspch(ifrq), 1, 2, kjet, 4, 100, 11, ktrl, 1, 10, 128, 50
-asig	=	asig * 3			;amplify
+asig	STKBrass cpspch(ifrq), 1, 2, kv1, 4, 100, 11, kv3, 1, 10, 128, 40
+asig	=	asig *3						;amplify
 	outs asig, asig
 endin
 
diff --git a/examples/STKClarinet.csd b/examples/STKClarinet.csd
old mode 100755
new mode 100644
index be483e0..94a9508
--- a/examples/STKClarinet.csd
+++ b/examples/STKClarinet.csd
@@ -1,7 +1,7 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
--odac     ;;;RT audio out
+-odac     ;;;realtime audio out
 ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o STKclarinet.wav -W ;;; for file output any platform
@@ -11,14 +11,14 @@
 sr = 44100
 ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
 instr 1
 
 ifrq	=	p4
-kpress	=	p5
-kstiff	line	p6, p3, p7
-asig	STKClarinet cpspch(p4), 1, 2, kstiff, 4, 100, 11, 60, 1, 10, 128, kpress
+kv5	=	p5						;breath pressure
+kv1	line	p6, p3, p7					;reed stiffness
+asig	STKClarinet cpspch(p4), 1, 2, kv1, 4, 100, 11, 60, 1, 10, 128, kv5
 	outs asig, asig
 endin
 
diff --git a/examples/STKDrummer.csd b/examples/STKDrummer.csd
old mode 100755
new mode 100644
index 56b0a9c..ceb185f
--- a/examples/STKDrummer.csd
+++ b/examples/STKDrummer.csd
@@ -1,7 +1,7 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
--odac      -M0  ;;;RT audio out and midi in
+-odac      -M0  ;;;realtime audio out and midi in
 ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o STKDrummer.wav -W ;;; for file output any platform
@@ -11,9 +11,9 @@
 sr = 44100
 ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
-instr 1	;STK Drummer - has no controllers but plays samples
+instr 1	;STK Drummer - has no controllers but plays samples (11)
 
 icps	cpsmidi
 iamp	ampmidi	1
diff --git a/examples/STKFMVoices.csd b/examples/STKFMVoices.csd
old mode 100755
new mode 100644
index 77f8b35..b212ee0
--- a/examples/STKFMVoices.csd
+++ b/examples/STKFMVoices.csd
@@ -1,7 +1,7 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
--odac     ;;;RT audio out
+-odac     ;;;realtime audio out
 ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o STKFMVoices.wav -W ;;; for file output any platform
@@ -11,16 +11,16 @@
 sr = 44100
 ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
 instr 1
 
 ifrq	=	p4
-kjet	line	p5, p3, p6			;vowel
-ktlt	line	p7, p3, p8			;specral tilt
+kv1	line	p5, p3, p6					;vowel
+kv2	line	p7, p3, p8					;specral tilt
 
-asig	STKFMVoices cpspch(ifrq), 1, 2, kjet, 4, ktlt, 11, 10, 1, 10, 128, 50
-asig	=	asig * 4		;amplify
+asig	STKFMVoices cpspch(ifrq), 1, 2, kv1, 4, kv2, 11, 10, 1, 10, 128, 50
+asig	=	asig * 4					;amplify
 	outs asig, asig
 endin
 
diff --git a/examples/STKFlute.csd b/examples/STKFlute.csd
old mode 100755
new mode 100644
index 50ec8f3..cad84d5
--- a/examples/STKFlute.csd
+++ b/examples/STKFlute.csd
@@ -1,7 +1,7 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
--odac     ;;;RT audio out
+-odac     ;;;realtime audio out
 ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o STKFlute.wav -W ;;; for file output any platform
@@ -11,22 +11,22 @@
 sr = 44100
 ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
 instr 1
 
 ifrq	=	p4
-kjet	line	p5, p3, p6				;jet delay
-kvib	line	0, p3, 100				;vibrato depth
+kv1	line	p5, p3, p6				;jet delay
+kv4	line	0, p3, 100				;vibrato depth
 
-asig	STKFlute cpspch(ifrq), 1, 2, kjet, 4, 100, 11, 100, 1, kvib, 128, 100
+asig	STKFlute cpspch(ifrq), 1, 2, kv1, 4, 100, 11, 100, 1, kv4, 128, 100
 	outs asig, asig
 endin
 
 </CsInstruments>
 <CsScore>
-i 1 0 2 8.00 0 0
-i 1 3 3 9.00 20 120 
+i 1 0 5 8.00 0 0
+i 1 7 3 9.00 20 120 
 e
 </CsScore>
 </CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/STKHevyMetl.csd b/examples/STKHevyMetl.csd
old mode 100755
new mode 100644
index 3f2bf1b..26a3d62
--- a/examples/STKHevyMetl.csd
+++ b/examples/STKHevyMetl.csd
@@ -1,7 +1,7 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
--odac     ;;;RT audio out
+-odac     ;;;realtime audio out
 ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o STKHevyMetl.wav -W ;;; for file output any platform
@@ -11,15 +11,15 @@
 sr = 44100
 ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
 instr 1
 
 ifrq	=	p4
-kndx	line	p5, p3, p6				;Total Modulator Index
-kfad	line	p7, p3, 0				;Modulator Crossfade
+kv1	line	p5, p3, p6				;Total Modulator Index
+kv2	line	p7, p3, 0				;Modulator Crossfade
 
-asig	STKHevyMetl cpspch(ifrq), 1, 2, kndx, 4, kfad, 11, 0, 1, 100, 128, 40
+asig	STKHevyMetl cpspch(ifrq), 1, 2, kv1, 4, kv2, 11, 0, 1, 100, 128, 40
 	outs asig, asig
 endin
 
diff --git a/examples/STKMandolin.csd b/examples/STKMandolin.csd
old mode 100755
new mode 100644
index fc96801..94d26a9
--- a/examples/STKMandolin.csd
+++ b/examples/STKMandolin.csd
@@ -1,7 +1,7 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
--odac     ;;;RT audio out
+-odac     ;;;realtime audio out
 ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o STKMandolin.wav -W ;;; for file output any platform
@@ -11,15 +11,15 @@
 sr = 44100
 ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
 instr 1
 
 ifrq	=	p4
-kbody	line	p5, p3, p6			;body size
-ksus	=	p7				;sustain
+kv1	line	p5, p3, p6			;body size
+kv3	=	p7				;sustain
 
-asig	STKMandolin cpspch(ifrq), 1, 2, kbody, 4, 10, 11, ksus, 1, 100, 128, 100
+asig	STKMandolin cpspch(ifrq), 1, 2, kv1, 4, 10, 11, kv3, 1, 100, 128, 100
 	outs asig, asig
 endin
 
diff --git a/examples/STKModalBar.csd b/examples/STKModalBar.csd
old mode 100755
new mode 100644
index b33e72a..d35dcc8
--- a/examples/STKModalBar.csd
+++ b/examples/STKModalBar.csd
@@ -11,15 +11,15 @@
 sr = 44100
 ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
 instr 1
 
 ifrq	=	p4
-khard	=	p5					;stick hardness					;
+kv1	=	p5					;stick hardness					;
 
-asig	STKModalBar cpspch(ifrq), 1, 2, khard, 4, 120, 11, 0, 1, 0, 8, 10, 16, 1
-asig	=	asig * 3		;amplify
+asig	STKModalBar cpspch(ifrq), 1, 2, kv1, 4, 120, 11, 0, 1, 0, 8, 10, 16, 1
+asig	=	asig * 3				;amplify
 	outs asig, asig
 endin
 
diff --git a/examples/STKMoog.csd b/examples/STKMoog.csd
old mode 100755
new mode 100644
index 013755f..49d7a29
--- a/examples/STKMoog.csd
+++ b/examples/STKMoog.csd
@@ -1,7 +1,7 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
--odac     ;;;RT audio out
+-odac     ;;;realtime audio out
 ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o STKMoog.wav -W ;;; for file output any platform
@@ -11,14 +11,14 @@
 sr = 44100
 ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
 instr 1
 
 ifrq	=	p4
-kfil	line	p5, p3, p6				;filter Q
+kv1	line	p5, p3, p6				;filter Q
 
-asig	STKMoog cpspch(ifrq), 1, 2,kfil, 4, 120, 11, 40, 1, 1, 128, 120
+asig	STKMoog cpspch(ifrq), 1, 2,kv1, 4, 120, 11, 40, 1, 1, 128, 120
 asig	=	asig * .3				;too loud
 	outs asig, asig
 endin
diff --git a/examples/STKPercFlut.csd b/examples/STKPercFlut.csd
old mode 100755
new mode 100644
index 2bf4b5a..9ea0c9e
--- a/examples/STKPercFlut.csd
+++ b/examples/STKPercFlut.csd
@@ -1,7 +1,7 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
--odac     ;;;RT audio out
+-odac     ;;;realtime audio out
 ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o STKPercFlut.wav -W ;;; for file output any platform
@@ -11,15 +11,15 @@
 sr = 44100
 ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
 instr 1
 
 ifrq	=	p4
-kndx	line	p5, p3, p6				;Total Modulator Index
-kfad	line	p7, p3, 0				;Modulator Crossfade
+kv1	line	p5, p3, p6				;Total Modulator Index
+kv2	line	p7, p3, 0				;Modulator Crossfade
 
-asig	STKPercFlut cpspch(ifrq), 1, 2, kndx, 4, kfad, 11, 0, 1, 100, 128, 40
+asig	STKPercFlut cpspch(ifrq), 1, 2, kv1, 4, kv2, 11, 0, 1, 100, 128, 40
 	outs asig, asig
 endin
 
diff --git a/examples/STKPlucked.csd b/examples/STKPlucked.csd
old mode 100755
new mode 100644
index 2ba10c5..fe1e5d4
--- a/examples/STKPlucked.csd
+++ b/examples/STKPlucked.csd
@@ -1,7 +1,7 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
--odac     ;;;RT audio out
+-odac     ;;;realtime audio out
 ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o STKPlucked.wav -W ;;; for file output any platform
@@ -11,7 +11,7 @@
 sr = 44100
 ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
 instr 1  ;STKPlucked - has no controllers
 
diff --git a/examples/STKResonate.csd b/examples/STKResonate.csd
old mode 100755
new mode 100644
index f1d21e3..1b293c7
--- a/examples/STKResonate.csd
+++ b/examples/STKResonate.csd
@@ -1,7 +1,7 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
--odac     ;;;RT audio out
+-odac     ;;;realtime audio out
 ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o STKResonate.wav -W ;;; for file output any platform
@@ -11,15 +11,15 @@
 sr = 44100
 ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
-instr 1 ; frequency of STKResonate has no effect on sound
+instr 1 ; frequency and amplitude of STKResonate have no effect
 
-kpol	=	p4				;pole radii
-kfrq	line	100, p3, 0			;resonance freq + notch freq
-
-asig	STKResonate 1, 1, 2, kfrq, 4, kpol, 1, 10, 11, kfrq, 128, 127
-asig	=	asig * .7			;too loud
+kv2	=	p4				;pole radii
+kv1	line	100, p3, 0			;resonance freq + notch freq
+kv3	=	kv1
+asig	STKResonate 1, 1, 2, kv1, 4, kv2, 1, 10, 11, kv3, 128, 100
+asig	=	asig * .3			;too loud
 	outs asig, asig
 endin
 
diff --git a/examples/STKRhodey.csd b/examples/STKRhodey.csd
old mode 100755
new mode 100644
index 0ca285e..51ae6bb
--- a/examples/STKRhodey.csd
+++ b/examples/STKRhodey.csd
@@ -1,34 +1,34 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
--odac     ;;;RT audio out
+-odac     ;;;realtime audio out
 ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o STKWurley.wav -W ;;; for file output any platform
+; -o STKRhodey.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
 sr = 44100
 ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
 instr 1
 
 ifrq	=	p4
-kndx	line	p5, p3, p6				;(FM) Modulator Index One
-
-asig	STKRhodey cpspch(p4), 1, 2, kndx, 4, 10, 11, 100, 1, 3, 128, 75
+kv1	line	p5, p3, p6				;(FM) Modulator Index One
+kv5	=	p7					;ADSR 2 and 4 target
+asig	STKRhodey cpspch(p4), 1, 2, kv1, 4, 10, 11, 100, 1, 3, 128, kv5
 	outs asig, asig
 endin
 
 </CsInstruments>
 <CsScore>
 
-i 1 0 .5 7.00 75  0  20
-i 1 + .  8.00 120 0  20
-i 1 + 1  6.00 50 120 20
-i 1 + 4  8.00 10 10  127
+i 1 0 .5 7.00 75  0    0
+i 1 + .  8.00 120 0    120
+i 1 + 1  6.00 50  120  50
+i 1 + 4  8.00 10  120  100
 e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/STKSaxofony.csd b/examples/STKSaxofony.csd
old mode 100755
new mode 100644
index ffa7b8f..79978e3
--- a/examples/STKSaxofony.csd
+++ b/examples/STKSaxofony.csd
@@ -1,7 +1,7 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
--odac     ;;;RT audio out
+-odac     ;;;realtime audio out
 ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o STKSaxofony.wav -W ;;; for file output any platform
@@ -11,16 +11,16 @@
 sr = 44100
 ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
 instr 1
 
 ifreq	=	p4
-kstiff	=	p5					;reed stiffness
-kblw	line	p6, p3, p7				;blow position
-kvib	line	0, p3, 127				;vibrato speed
+kv1	=	p5					;reed stiffness
+kv3	line	p6, p3, p7				;blow position
+kv6	line	0, p3, 127				;depth of low-frequency oscillator
 
-asig	STKSaxofony cpspch(p4), 1, 2, kstiff, 4, 100, 26, 70, 11, kblw, 1, kvib, 29, 100
+asig	STKSaxofony cpspch(p4), 1, 2, kv1, 4, 100, 26, 70, 11, kv3, 1, kv6, 29, 100
 asig	=	asig * .5				;too loud
 	outs asig, asig
 endin
diff --git a/examples/STKShakers.csd b/examples/STKShakers.csd
old mode 100755
new mode 100644
index a00dcf4..52fad2f
--- a/examples/STKShakers.csd
+++ b/examples/STKShakers.csd
@@ -1,7 +1,7 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
--odac     ;;;RT audio out
+-odac     ;;;realtime audio out
 ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o STKShakers.wav -W ;;; for file output any platform
@@ -11,14 +11,14 @@
 sr = 44100
 ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
 instr 1
 
 ifrq	=	p4
 
 asig	STKShakers cpspch(p4), 1, 2, 10, 4, 10, 11, 10, 1, 112, 128, 80, 1071, 5
-asig	=	asig				;amplify
+asig	=	asig *2				;amplify
 	outs asig, asig
 endin
 
diff --git a/examples/STKSimple.csd b/examples/STKSimple.csd
old mode 100755
new mode 100644
index 9d9e6dc..ab25fa9
--- a/examples/STKSimple.csd
+++ b/examples/STKSimple.csd
@@ -1,7 +1,7 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
--odac     ;;;RT audio out
+-odac     ;;;realtime audio out
 ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o STKSimple.wav -W ;;; for file output any platform
@@ -11,25 +11,25 @@
 sr = 44100
 ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
 instr 1
 
 ifrq	=	p4
-kfil	line	p5, p3, p6				;Filter Pole Position
-knois	line	20, p3, 90				;Noise/Pitched Cross-Fade
+kv1	line	p5, p3, p6				;Filter Pole Position
+kv2	line	20, p3, 90				;Noise/Pitched Cross-Fade
 
-asig	STKSimple cpspch(p4), 1, 2, kfil, 4, knois, 11, 100, 128, 120
+asig	STKSimple cpspch(p4), 1, 2, kv1, 4, kv2, 11, 10, 128, 120
 	outs asig, asig
 endin
 
 </CsInstruments>
 <CsScore>
 
-i 1 0 .5 7.00 100 0 120
-i 1 + .  7.05 10 127 220
-i 1 + .  8.03 100 0 320
-i 1 + 5  5.00 10 10 127
+i 1 0 5 7.00 100 0
+i 1 + .  7.05 10 127
+i 1 + .  8.03 100 0
+i 1 + .  5.00 10 10
 e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/STKSitar.csd b/examples/STKSitar.csd
old mode 100755
new mode 100644
index d9784af..f6dcd10
--- a/examples/STKSitar.csd
+++ b/examples/STKSitar.csd
@@ -1,7 +1,7 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
--odac     ;;;RT audio out
+-odac     ;;;realtime audio out
 ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o STKSitar.wav -W ;;; for file output any platform
@@ -11,14 +11,14 @@
 sr = 44100
 ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
 instr 1  ;STKSitar - has no controllers
 
 ifrq	=	p4
 
 asig	STKSitar cpspch(p4), 1
-asig	=	asig * 3			;amplify
+asig	=	asig * 2			;amplify
 	outs asig, asig
 endin
 
@@ -27,7 +27,7 @@ endin
 
 i 1 0 4 6.00 
 i 1 + 2 7.05
-i 1 + 4 5.05
+i 1 + 7 5.05
 e
 </CsScore>
 </CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/STKStifKarp.csd b/examples/STKStifKarp.csd
old mode 100755
new mode 100644
index cf71eaa..b486ec7
--- a/examples/STKStifKarp.csd
+++ b/examples/STKStifKarp.csd
@@ -1,7 +1,7 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
--odac     ;;;RT audio out
+-odac     ;;;realtime audio out
 ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o STKStifKarp.wav -W ;;; for file output any platform
@@ -11,15 +11,15 @@
 sr = 44100
 ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
 instr 1
 
 ifrq	=	p4
-kpos	line	p6, p3, p7				;Pickup Position
-ksus	=	p5					;String Sustain
+kv1	line	p6, p3, p7				;Pickup Position
+kv2	=	p5					;String Sustain
 
-asig	STKStifKarp cpspch(p4), 1, 4, kpos, 11, ksus, 1, 10
+asig	STKStifKarp cpspch(p4), 1, 4, kv1, 11, kv2, 1, 10
 	outs asig, asig
 endin
 
diff --git a/examples/STKTubeBell.csd b/examples/STKTubeBell.csd
old mode 100755
new mode 100644
index 6ed4261..08202d2
--- a/examples/STKTubeBell.csd
+++ b/examples/STKTubeBell.csd
@@ -1,7 +1,7 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
--odac     ;;;RT audio out
+-odac     ;;;realtime audio out
 ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o STKTubeBell.wav -W ;;; for file output any platform
@@ -11,15 +11,15 @@
 sr = 44100
 ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
 instr 1
 
 ifrq	=	p4
-kfad	line	p6, p3, p7				;Crossfade of Outputs
-kindx	=	p5					;(FM) Modulator Index One
+kv2	line	p6, p3, p7				;Crossfade of Outputs
+kv1	=	p5					;(FM) Modulator Index One
 
-asig	STKTubeBell cpspch(p4), 1, 2, kindx, 4, kfad, 11, 10, 1, 70, 128,50
+asig	STKTubeBell cpspch(p4), 1, 2, kv1, 4, kv2, 11, 10, 1, 70, 128,50
 	outs asig, asig
 endin
 
diff --git a/examples/STKVoicForm.csd b/examples/STKVoicForm.csd
old mode 100755
new mode 100644
index c99ba8d..3cda52f
--- a/examples/STKVoicForm.csd
+++ b/examples/STKVoicForm.csd
@@ -1,7 +1,7 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
--odac     ;;;RT audio out
+-odac     ;;;realtime audio out
 ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o STKVoicForm.wav -W ;;; for file output any platform
@@ -11,14 +11,14 @@
 sr = 44100
 ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
 instr 1
 
 ifrq	=	p4
-ksel	line	p5, p3, p6				;Vowel/Phoneme Selection
+kv2	line	p5, p3, p6				;Vowel/Phoneme Selection
 
-asig	STKVoicForm cpspch(p4), 1, 2, 1, 4, ksel, 128, 100, 1, 10, 11, 100
+asig	STKVoicForm cpspch(p4), 1, 2, 1, 4, kv2, 128, 100, 1, 10, 11, 100
 asig	=	asig * .5				;too loud
 	outs asig, asig
 endin
diff --git a/examples/STKWhistle.csd b/examples/STKWhistle.csd
old mode 100755
new mode 100644
index f0e3a70..11b90b6
--- a/examples/STKWhistle.csd
+++ b/examples/STKWhistle.csd
@@ -1,7 +1,7 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
--odac     ;;;RT audio out
+-odac     ;;;realtime audio out
 ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o STKWhistle.wav -W ;;; for file output any platform
@@ -11,15 +11,15 @@
 sr = 44100
 ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
 instr 1
 
 ifrq	=	p4
-kblw	line	p5, p3, p6				;Blowing Frequency Modulation
-kflp	=	p7					;Fipple Modulation Frequency
+kv1	line	p5, p3, p6				;Blowing Frequency Modulation
+kv3	=	p7					;Fipple Modulation Frequency
 
-asig	STKWhistle cpspch(p4), 1, 4, 20, 11, kflp, 1, 100, 2, kblw, 128, 127
+asig	STKWhistle cpspch(p4), 1, 4, 20, 11, kv3, 1, 100, 2, kv1, 128, 127
 asig	=	asig*.7				;too loud
 	outs asig, asig
 endin
diff --git a/examples/STKWurley.csd b/examples/STKWurley.csd
old mode 100755
new mode 100644
index a69e141..3b43653
--- a/examples/STKWurley.csd
+++ b/examples/STKWurley.csd
@@ -1,7 +1,7 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
--odac     ;;;RT audio out
+-odac     ;;;realtime audio out
 ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o STKWurley.wav -W ;;; for file output any platform
@@ -11,15 +11,15 @@
 sr = 44100
 ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
 instr 1
 
 ifrq	=	p4
-kndx	line	p5, p3, p6				;(FM) Modulator Index One
-kspd	=	p7
+kv1	line	p5, p3, p6				;(FM) Modulator Index One
+kv3	=	p7
 
-asig	STKWurley cpspch(p4), 1, 2,kndx, 4, 10, 11, kspd, 1, 30, 128, 75
+asig	STKWurley cpspch(p4), 1, 2,kv1, 4, 10, 11, kv3, 1, 30, 128, 75
 	outs asig, asig
 endin
 
diff --git a/examples/a.csd b/examples/a.csd
new file mode 100644
index 0000000..43cc256
--- /dev/null
+++ b/examples/a.csd
@@ -0,0 +1,42 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o a.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+aenv expseg .01, p3*0.25, 1, p3*0.75, 0.01
+asig poscil3 .8*aenv, p4, 1
+     outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0 16384 10 1 ;sine wave
+;two sections
+s
+a 0 0 6		;advance score 6 seconds
+i 1 0 2 110	;these first 2 notes
+i 1 3 2 220	;will not sound
+i 1 6 2 440
+i 1 9 2 880
+s
+a 0 3 6		;advance score 6 seconds, but do this after 3 seconds
+i 1 0 2 110	;this will sound, because action time (p2) from a statement = 3
+i 1 3 2 220	;so these 2 notes
+i 1 6 2 440	;will not sound
+i 1 9 2 880	;and this one will
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/adsynt2.csd b/examples/adsynt2.csd
old mode 100755
new mode 100644
diff --git a/examples/alpass.csd b/examples/alpass.csd
index 905b6f6..bc4fcbe 100644
--- a/examples/alpass.csd
+++ b/examples/alpass.csd
@@ -9,7 +9,7 @@
 <CsInstruments>
 
 sr = 44100
-ksmps = 32
+ksmps = 100
 nchnls = 2
 0dbfs = 1
 
@@ -17,8 +17,8 @@ gamix init 0
 
 instr 1 
 
-kcps    expon p4, p3, p5
-asig	vco2  0.6, kcps
+acps    expon p4, p3, p5
+asig	vco  0.6, acps, 1
 	outs  asig, asig 
 
 gamix = gamix + asig 
@@ -27,10 +27,11 @@ endin
 
 instr 99 
 
-krvt =  3.5
+arvt1 line 3.5*1.5, p3, 6
+arvt2 line 3.5, p3, 4
 ilpt =  0.1
-aleft	alpass gamix, krvt*1.5, ilpt
-aright	alpass gamix, krvt, ilpt*2
+aleft	alpass gamix, arvt1, ilpt
+aright	alpass gamix, arvt2, ilpt*2
 	outs   aleft, aright
 
 gamix = 0	; clear mixer
@@ -39,7 +40,7 @@ endin
 
 </CsInstruments>
 <CsScore>
-
+f1 0 4096 10 1
 i 1 0 3 20 2000
 
 i 99 0 8
diff --git a/examples/alwayson.csd b/examples/alwayson.csd
old mode 100755
new mode 100644
diff --git a/examples/array.csd b/examples/array.csd
new file mode 100644
index 0000000..8e01741
--- /dev/null
+++ b/examples/array.csd
@@ -0,0 +1,26 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-n
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+  kS[] = array(1,7,5)
+       printk2 kS[0]
+       printk2 kS[1]
+       printk2 kS[2]
+endin
+
+</CsInstruments>
+<CsScore>
+i 1 0 0
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/array_array_math.csd b/examples/array_array_math.csd
new file mode 100644
index 0000000..574d027
--- /dev/null
+++ b/examples/array_array_math.csd
@@ -0,0 +1,80 @@
+<CsoundSynthesizer>
+<CsOptions>
+-n -m128
+</CsOptions>
+<CsInstruments>
+
+  instr 1
+
+;create array and fill with numbers 1..10 resp .1..1
+kArr1[] fillarray 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
+kArr2[] fillarray 1, 2, 3, 5, 8, 13, 21, 34, 55, 89
+
+;print contents
+        printf  "%s", 1, "\nkArr1:\n"
+kndx    =       0
+  until kndx == lenarray(kArr1) do
+        printf  "kArr1[%d] = %f\n", kndx+1, kndx, kArr1[kndx]
+kndx    +=      1
+  od
+        printf  "%s", 1, "\nkArr2:\n"
+kndx    =       0
+  until kndx == lenarray(kArr2) do
+        printf  "kArr2[%d] = %f\n", kndx+1, kndx, kArr2[kndx]
+kndx    +=      1
+  od
+
+;add arrays
+kArr3[] =       kArr1 + kArr2
+
+;print content
+        printf  "%s", 1, "\nkArr1 + kArr2:\n"
+kndx    =       0
+  until kndx == lenarray(kArr3) do
+        printf  "kArr3[%d] = %f\n", kndx+1, kndx, kArr3[kndx]
+kndx    +=      1
+  od
+
+;subtract arrays
+kArr4[] =       kArr1 - kArr2
+
+;print content
+        printf  "%s", 1, "\nkArr1 - kArr2:\n"
+kndx    =       0
+  until kndx == lenarray(kArr4) do
+        printf  "kArr4[%d] = %f\n", kndx+1, kndx, kArr4[kndx]
+kndx    +=      1
+  od
+
+;multiply arrays
+kArr5[] =       kArr1 * kArr2
+
+;print content
+        printf  "%s", 1, "\nkArr1 * kArr2:\n"
+kndx    =       0
+  until kndx == lenarray(kArr5) do
+        printf  "kArr5[%d] = %f\n", kndx+1, kndx, kArr5[kndx]
+kndx += 1
+  od
+
+;divide arrays
+kArr6[] =       kArr1 / kArr2
+
+;print content
+        printf  "%s", 1, "\nkArr1 / kArr2:\n"
+kndx    =       0
+  until kndx == lenarray(kArr6) do
+        printf  "kArr5[%d] = %f\n", kndx+1, kndx, kArr6[kndx]
+kndx += 1
+  od
+
+;turnoff
+        turnoff
+        
+  endin
+  
+</CsInstruments>
+<CsScore>
+i 1 0 .1
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/array_scalar_math.csd b/examples/array_scalar_math.csd
new file mode 100644
index 0000000..73172cb
--- /dev/null
+++ b/examples/array_scalar_math.csd
@@ -0,0 +1,74 @@
+<CsoundSynthesizer>
+<CsOptions>
+-n -m128
+</CsOptions>
+<CsInstruments>
+
+
+  instr 1
+
+;create array and fill with numbers 1..10
+kArr1[] fillarray 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
+
+;print content
+        printf  "%s", 1, "\nInitial content:\n"
+kndx    =       0
+  until kndx == lenarray(kArr1) do
+        printf  "kArr[%d] = %f\n", kndx+1, kndx, kArr1[kndx]
+kndx    +=      1
+  od
+
+;add 10
+kArr2[] =       kArr1 + 10
+
+;print content
+        printf  "%s", 1, "\nAfter adding 10:\n"
+kndx    =       0
+  until kndx == lenarray(kArr2) do
+        printf  "kArr[%d] = %f\n", kndx+1, kndx, kArr2[kndx]
+kndx    +=      1
+  od
+
+;subtract 5
+kArr3[] =       kArr2 - 5
+
+;print content
+        printf  "%s", 1, "\nAfter subtracting 5:\n"
+kndx    =       0
+  until kndx == lenarray(kArr3) do
+        printf  "kArr[%d] = %f\n", kndx+1, kndx, kArr3[kndx]
+kndx    +=      1
+  od
+
+;multiply by -1.5
+kArr4[] =       kArr3 * -1.5
+
+;print content
+        printf  "%s", 1, "\nAfter multiplying by -1.5:\n"
+kndx    =       0
+  until kndx == lenarray(kArr4) do
+        printf  "kArr[%d] = %f\n", kndx+1, kndx, kArr4[kndx]
+kndx    +=      1
+  od
+
+;divide by -3/2
+kArr5[] =       kArr4 / -(3/2)
+
+;print content
+        printf  "%s", 1, "\nAfter dividing by -3/2:\n"
+kndx    =       0
+  until kndx == lenarray(kArr5) do
+        printf  "kArr[%d] = %f\n", kndx+1, kndx, kArr5[kndx]
+kndx    +=      1
+  od
+
+;turnoff
+        turnoff
+  endin
+  
+
+</CsInstruments>
+<CsScore>
+i 1 0 .1
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/array_udo.csd b/examples/array_udo.csd
new file mode 100644
index 0000000..35bc91b
--- /dev/null
+++ b/examples/array_udo.csd
@@ -0,0 +1,24 @@
+<CsoundSynthesizer>
+<CsOptions>
+-nm128
+</CsOptions>
+<CsInstruments>
+
+  opcode FirstEl, k, k[]
+  ;returns the first element of vector kArr
+kArr[] xin
+xout kArr[0]
+  endop
+
+  instr 1 
+kArr[] fillarray 6, 3, 9, 5, 1
+kFirst FirstEl kArr
+printf "kFirst = %d\n", 1, kFirst
+turnoff
+  endin
+
+</CsInstruments>
+<CsScore>
+i 1 0 .1
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/atonex.csd b/examples/atonex.csd
old mode 100755
new mode 100644
diff --git a/examples/b.csd b/examples/b.csd
new file mode 100644
index 0000000..bff1306
--- /dev/null
+++ b/examples/b.csd
@@ -0,0 +1,66 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o b.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+aenv expseg .01, p3*0.25, 1, p3*0.75, 0.01
+asig poscil3 .4*aenv, 220, 1
+     outs asig, asig
+
+endin
+
+instr 2
+
+asig pluck 0.7, p4, 220, 0, 1
+     outs asig, asig
+
+endin
+
+instr 3
+
+asig loscil .8, 1, 2, 1
+     outs asig, asig
+
+endin
+
+instr 4
+asig  bamboo .8, 0.01
+      outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+f 1 0 16384 10 1		;sine wave
+f 2 0 0 1 "fox.wav" 0 0 0	;sample
+
+i1  0 2
+i1  10 2
+
+b 5			; set the clock "forward"
+i2 1 2 220		; start time = 6
+i2 2 2 110		; start time = 7
+
+b -1     
+i3  3  2		; start time = 2
+i3 5.5 1		; start time = 4.5
+
+
+b 0			; reset clock to normal
+i4 10 2			; start time = 10
+
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/bbcuts.csd b/examples/bbcuts.csd
old mode 100755
new mode 100644
diff --git a/examples/beats.ats b/examples/beats.ats
new file mode 100644
index 0000000..b56f84d
Binary files /dev/null and b/examples/beats.ats differ
diff --git a/examples/bformenc1.csd b/examples/bformenc1.csd
index 9f2ff76..8df29ad 100644
--- a/examples/bformenc1.csd
+++ b/examples/bformenc1.csd
@@ -8,35 +8,65 @@
 </CsOptions>
 <CsInstruments>
 sr = 44100
-kr = 4410
-ksmps = 10
+ksmps = 32
 nchnls = 8
+0dbfs = 1
 
-instr 1
-        ; generate pink noise
-        anoise pinkish 1000
+instr 1 ;without arrays
+; generate pink noise
+anoise pinkish 1
         
-        ; two full turns
-        kalpha line 0, p3, 720
-        kbeta = 0
+; two full turns
+kalpha line 0, p3, 720
+kbeta = 0
         
-        ; generate B format
-        aw, ax, ay, az, ar, as, at, au, av bformenc1 anoise, kalpha, kbeta
+; generate B format
+aw, ax, ay, az, ar, as, at, au, av bformenc1 anoise, kalpha, kbeta
         
-        ; decode B format for 8 channel circle loudspeaker setup
-        a1, a2, a3, a4, a5, a6, a7, a8 bformdec1 4, aw, ax, ay, az, ar, as, at, au, av
+; decode B format for 8 channel circle loudspeaker setup
+a1, a2, a3, a4, a5, a6, a7, a8 bformdec1 4, aw, ax, ay, az, ar, as, at, au, av        
+
+; write audio out
+outo a1, a2, a3, a4, a5, a6, a7, a8
+endin
+
+instr 2 ;with arrays (csound6)
+;set file names for:
+S_bform = "bform_out.wav" ;b-format (2nd order) output
+S_sound = "sound_out.wav" ;sound output
+
+; generate pink noise
+anoise pinkish 1
         
-        ; write audio out
-        outo a1, a2, a3, a4, a5, a6, a7, a8
+; two full turns
+kalpha line 0, p3, 720
+kbeta = 0
+        
+;create array for B-format 2nd order (9 chnls)
+aBform[] init 9
+
+; generate B-format
+aBform bformenc1 anoise, kalpha, kbeta
+
+;write out b-format
+fout "fout.wav", 18, aBform
+
+;create array for audio output (8 channels)
+aAudio[] init 8
+        
+;decode B format for 8 channel circle loudspeaker setup
+aAudio bformdec1 4, aBform
+
+; write audio out
+fout S_sound, 18, aAudio
 endin
 
+
 </CsInstruments>
 <CsScore>
-
-; Play Instrument #1 for 20 seconds.
-i 1 0 20
+i 1 0 8
+i 2 8 8
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/binit.csd b/examples/binit.csd
old mode 100755
new mode 100644
diff --git a/examples/bitwise.csd b/examples/bitwise.csd
index dfbc833..5f9aa3c 100644
--- a/examples/bitwise.csd
+++ b/examples/bitwise.csd
@@ -43,7 +43,7 @@ i 1 +  .   1  3
 i 1 +  .   2  4
 i 1 +  .   3  10
 
-i 2 2  .    12
+i 2 2 0.1   12
 i 2 +  .    9
 i 2 +  .    15
 i 2 +  .    49
diff --git a/examples/butterbr.csd b/examples/butterbr.csd
index a9cf6c5..d652aaa 100644
--- a/examples/butterbr.csd
+++ b/examples/butterbr.csd
@@ -23,7 +23,7 @@ endin
 instr 2	; filtered noise
 
 asig rand 0.7
-abr  butterbr asig, 3000, 2000	;cutting 2000 to 5000 Hz
+abr  butterbr asig, 3000, 2000	;center frequency = 3000, bandwidth =  +/- (2000)/2, so 2000-4000 
      outs abr, abr
 
 endin
diff --git a/examples/cauchyi.csd b/examples/cauchyi.csd
new file mode 100644
index 0000000..a7e3aee
--- /dev/null
+++ b/examples/cauchyi.csd
@@ -0,0 +1,32 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o exprand.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs = 1
+
+instr 1
+klambda	cauchyi	100, 1, 3
+	printk2 klambda		; look
+aout	oscili	0.8, 440+klambda, 1	; & listen
+	outs	aout, aout
+endin
+
+</CsInstruments>
+<CsScore>
+; sine wave
+f 1 0 16384 10 1
+
+i 1 0 4
+e
+
+</CsScore>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/ceil.csd b/examples/ceil.csd
old mode 100755
new mode 100644
diff --git a/examples/cell.csd b/examples/cell.csd
new file mode 100644
index 0000000..f994887
--- /dev/null
+++ b/examples/cell.csd
@@ -0,0 +1,75 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+;-odac           -iadc     ;;;RT audio I/O
+; For Non-realtime ouput leave only the line below:
+; -o cell.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+; cell.csd by Gleb Rogozinsky
+
+sr        = 44100
+kr        = 4410
+ksmps     = 10
+nchnls    = 1
+0dbfs     = 1
+
+; Cellular automaton-driven synthesis in spectral domain
+instr 1
+
+  iatt      = p4                                ; envelope attack time
+  isus      = p5                                ; envelope sustain time
+  irel      = p6                                ; envelope release time
+  ivol      = p7                                ; overall volume
+  
+  ; create some white noise
+  asig      rand      0.8                      
+  
+  ; spectral analysis of asig
+  fsig      pvsanal   asig, 2048, 1024, 2048, 0  ; get a vector of magnitudes
+           
+  ; calculate cellular automaton state
+  kfreq     line      50, 5, 1                  ; variable CA triggering frequency
+  ktrig     metro     kfreq                     ; trigger the CA to update cells
+            cell      ktrig, 0, 3, 1, 2, 2048   ; cells are written into ftable 3 
+                                                                        
+                                                                         
+  ; use current row of cells in spectral domain
+  fmas      pvstencil fsig, 0, 1, 3             ; apply spectral mask 
+  aout      pvsynth   fmas                      ; reconstruct time signal 
+  
+  ; apply envelope and out signal
+  kenv      expseg    .001, iatt, 1, isus, 1, irel, .001
+            out       aout*kenv*ivol
+endin
+
+</CsInstruments>
+<CsScore>
+
+; This example uses one-dimensional cellular automaton
+; to produce structures in spectral domain
+
+; We have to prepare initial row of cells.
+; One alive cell is enough to produce a simple fractal,
+; so two alivee cells will make structure more sophisticated
+f1 0 2048 7 0 150 0 0 1 1 1 0 0 45 0 0 1 1 1 0 0
+
+; The CA rule is used as follows:
+; the states (values) of each cell are summed with their neighboring cells.
+; Each sum is used as an index to read a next state of cell
+; from the rule table.
+; Let us try rule # 129 (LSB binary 1 0 0 0 0 0 0 1).
+; This rule will produce a fractal structure for single active cell
+; For more rules see http://mathworld.wolfram.com/ElementaryCellularAutomaton.html
+f2 0 8 -2 1 0 0 0 0 0 0 1
+; Try some different rules i.E. 254 (0 1 1 1 1 1 1 1) or 169 (1 0 0 1 0 1 0 1)
+
+; Prepare the output table of ielements size
+f3 0 2048 10 0
+
+; Time to make it sound!
+i1 0  13  0.3  7  3  1 
+e
+
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/centroid.csd b/examples/centroid.csd
new file mode 100644
index 0000000..c0fc1b0
--- /dev/null
+++ b/examples/centroid.csd
@@ -0,0 +1,38 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o centroid.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giSine ftgen 0, 0, 16384, 10, 1
+
+instr 1
+
+ktrig init 1				;calculate centroid
+a1   oscil3 0.5, p4, giSine		;of the sine wave
+k1   centroid a1, ktrig, 16384
+asig oscil3 0.5, k1, giSine
+     printk2 k1				;print & compare:
+     outs a1, asig			;left = original, right = centroid signal
+
+endin
+</CsInstruments>
+<CsScore>
+
+i1 0 2 20
+i1 + 2 200
+i1 + 2 2000
+e     
+
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/chanctrl.csd b/examples/chanctrl.csd
old mode 100755
new mode 100644
diff --git a/examples/chnclear.csd b/examples/chnclear.csd
new file mode 100644
index 0000000..3332624
--- /dev/null
+++ b/examples/chnclear.csd
@@ -0,0 +1,83 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o chnclear.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+;Example by Joachim Heintz
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs = 1
+
+  instr 1; send i-values
+          chnset    1, "sio"
+          chnset    -1, "non"
+  endin
+
+  instr 2; send k-values
+kfreq     randomi   100, 300, 1
+          chnset    kfreq, "cntrfreq"
+kbw       =         kfreq/10
+          chnset    kbw, "bandw"
+  endin
+
+  instr 3; send a-values
+anois     rand      .1
+          chnset    anois, "noise"
+ loop:
+idur      random    .3, 1.5
+          timout    0, idur, do
+          reinit    loop
+ do:
+ifreq     random    400, 1200
+iamp      random    .1, .3
+asig      oscils    iamp, ifreq, 0
+aenv      transeg   1, idur, -10, 0
+asine     =         asig * aenv
+          chnset    asine, "sine"
+  endin
+
+  instr 11; receive some chn values and send again
+ival1     chnget    "sio"
+ival2     chnget    "non"
+          print     ival1, ival2
+kcntfreq  chnget    "cntrfreq"
+kbandw    chnget    "bandw"
+anoise    chnget    "noise"
+afilt     reson     anoise, kcntfreq, kbandw
+afilt     balance   afilt, anoise
+          chnset    afilt, "filtered"
+  endin
+
+  instr 12; mix the two audio signals
+amix1     chnget     "sine"
+amix2     chnget     "filtered"
+          chnmix     amix1, "mix"
+          chnmix     amix2, "mix"
+  endin
+
+  instr 20; receive and reverb
+amix      chnget     "mix"
+aL, aR    freeverb   amix, amix, .8, .5
+          outs       aL, aR
+  endin
+
+  instr 100; clear
+          chnclear   "mix"
+  endin
+
+</CsInstruments>
+<CsScore>
+i 1 0 20
+i 2 0 20
+i 3 0 20
+i 11 0 20
+i 12 0 20
+i 20 0 20
+i 100 0 20
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/chnget.csd b/examples/chnget.csd
new file mode 100644
index 0000000..ccfef06
--- /dev/null
+++ b/examples/chnget.csd
@@ -0,0 +1,83 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o chnget.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+;Example by Joachim Heintz
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs = 1
+
+  instr 1; send i-values
+          chnset    1, "sio"
+          chnset    -1, "non"
+  endin
+
+  instr 2; send k-values
+kfreq     randomi   100, 300, 1
+          chnset    kfreq, "cntrfreq"
+kbw       =         kfreq/10
+          chnset    kbw, "bandw"
+  endin
+
+  instr 3; send a-values
+anois     rand      .1
+          chnset    anois, "noise"
+ loop:
+idur      random    .3, 1.5
+          timout    0, idur, do
+          reinit    loop
+ do:
+ifreq     random    400, 1200
+iamp      random    .1, .3
+asig      oscils    iamp, ifreq, 0
+aenv      transeg   1, idur, -10, 0
+asine     =         asig * aenv
+          chnset    asine, "sine"
+  endin
+
+  instr 11; receive some chn values and send again
+ival1     chnget    "sio"
+ival2     chnget    "non"
+          print     ival1, ival2
+kcntfreq  chnget    "cntrfreq"
+kbandw    chnget    "bandw"
+anoise    chnget    "noise"
+afilt     reson     anoise, kcntfreq, kbandw
+afilt     balance   afilt, anoise
+          chnset    afilt, "filtered"
+  endin
+
+  instr 12; mix the two audio signals
+amix1     chnget     "sine"
+amix2     chnget     "filtered"
+          chnmix     amix1, "mix"
+          chnmix     amix2, "mix"
+  endin
+
+  instr 20; receive and reverb
+amix      chnget     "mix"
+aL, aR    freeverb   amix, amix, .8, .5
+          outs       aL, aR
+  endin
+
+  instr 100; clear
+          chnclear   "mix"
+  endin
+
+</CsInstruments>
+<CsScore>
+i 1 0 20
+i 2 0 20
+i 3 0 20
+i 11 0 20
+i 12 0 20
+i 20 0 20
+i 100 0 20
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/chnmix.csd b/examples/chnmix.csd
new file mode 100644
index 0000000..44833fb
--- /dev/null
+++ b/examples/chnmix.csd
@@ -0,0 +1,83 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o chnmix.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+;Example by Joachim Heintz
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs = 1
+
+  instr 1; send i-values
+          chnset    1, "sio"
+          chnset    -1, "non"
+  endin
+
+  instr 2; send k-values
+kfreq     randomi   100, 300, 1
+          chnset    kfreq, "cntrfreq"
+kbw       =         kfreq/10
+          chnset    kbw, "bandw"
+  endin
+
+  instr 3; send a-values
+anois     rand      .1
+          chnset    anois, "noise"
+ loop:
+idur      random    .3, 1.5
+          timout    0, idur, do
+          reinit    loop
+ do:
+ifreq     random    400, 1200
+iamp      random    .1, .3
+asig      oscils    iamp, ifreq, 0
+aenv      transeg   1, idur, -10, 0
+asine     =         asig * aenv
+          chnset    asine, "sine"
+  endin
+
+  instr 11; receive some chn values and send again
+ival1     chnget    "sio"
+ival2     chnget    "non"
+          print     ival1, ival2
+kcntfreq  chnget    "cntrfreq"
+kbandw    chnget    "bandw"
+anoise    chnget    "noise"
+afilt     reson     anoise, kcntfreq, kbandw
+afilt     balance   afilt, anoise
+          chnset    afilt, "filtered"
+  endin
+
+  instr 12; mix the two audio signals
+amix1     chnget     "sine"
+amix2     chnget     "filtered"
+          chnmix     amix1, "mix"
+          chnmix     amix2, "mix"
+  endin
+
+  instr 20; receive and reverb
+amix      chnget     "mix"
+aL, aR    freeverb   amix, amix, .8, .5
+          outs       aL, aR
+  endin
+
+  instr 100; clear
+          chnclear   "mix"
+  endin
+
+</CsInstruments>
+<CsScore>
+i 1 0 20
+i 2 0 20
+i 3 0 20
+i 11 0 20
+i 12 0 20
+i 20 0 20
+i 100 0 20
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/chnset.csd b/examples/chnset.csd
new file mode 100644
index 0000000..bb388d0
--- /dev/null
+++ b/examples/chnset.csd
@@ -0,0 +1,83 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o chnset.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+;Example by Joachim Heintz
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs = 1
+
+  instr 1; send i-values
+          chnset    1, "sio"
+          chnset    -1, "non"
+  endin
+
+  instr 2; send k-values
+kfreq     randomi   100, 300, 1
+          chnset    kfreq, "cntrfreq"
+kbw       =         kfreq/10
+          chnset    kbw, "bandw"
+  endin
+
+  instr 3; send a-values
+anois     rand      .1
+          chnset    anois, "noise"
+ loop:
+idur      random    .3, 1.5
+          timout    0, idur, do
+          reinit    loop
+ do:
+ifreq     random    400, 1200
+iamp      random    .1, .3
+asig      oscils    iamp, ifreq, 0
+aenv      transeg   1, idur, -10, 0
+asine     =         asig * aenv
+          chnset    asine, "sine"
+  endin
+
+  instr 11; receive some chn values and send again
+ival1     chnget    "sio"
+ival2     chnget    "non"
+          print     ival1, ival2
+kcntfreq  chnget    "cntrfreq"
+kbandw    chnget    "bandw"
+anoise    chnget    "noise"
+afilt     reson     anoise, kcntfreq, kbandw
+afilt     balance   afilt, anoise
+          chnset    afilt, "filtered"
+  endin
+
+  instr 12; mix the two audio signals
+amix1     chnget     "sine"
+amix2     chnget     "filtered"
+          chnmix     amix1, "mix"
+          chnmix     amix2, "mix"
+  endin
+
+  instr 20; receive and reverb
+amix      chnget     "mix"
+aL, aR    freeverb   amix, amix, .8, .5
+          outs       aL, aR
+  endin
+
+  instr 100; clear
+          chnclear   "mix"
+  endin
+
+</CsInstruments>
+<CsScore>
+i 1 0 20
+i 2 0 20
+i 3 0 20
+i 11 0 20
+i 12 0 20
+i 20 0 20
+i 100 0 20
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/clarinet.sdif b/examples/clarinet.sdif
old mode 100755
new mode 100644
diff --git a/examples/clear.csd b/examples/clear.csd
index 7e6a547..62815d2 100644
--- a/examples/clear.csd
+++ b/examples/clear.csd
@@ -1,16 +1,17 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
--odac     ;;;RT audio out
+-odac     ;;;realtime audio out
 ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o clear.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-sr =  44100
-ksmps =  32
-nchnls =  2
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
 gaReverb init 0
 
diff --git a/examples/combinv.csd b/examples/combinv.csd
new file mode 100644
index 0000000..71143f1
--- /dev/null
+++ b/examples/combinv.csd
@@ -0,0 +1,34 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;RT audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o comb.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs = 1
+
+instr 1 
+
+kcps    expon p5, p3, p4
+asig	oscil3 0.3, kcps, 1
+krvt =  3.5
+ilpt =  0.1
+aleft	combinv asig, krvt, ilpt
+	outs   aleft, asig
+
+endin
+
+</CsInstruments>
+<CsScore>
+f1 0 4096 10 1
+i 1 0 3 20 2000
+e
+
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/compileorc.csd b/examples/compileorc.csd
new file mode 100644
index 0000000..e39f354
--- /dev/null
+++ b/examples/compileorc.csd
@@ -0,0 +1,24 @@
+<CsoundSynthesizer>
+<CsOptions>
+-o dac -d
+</CsOptions>
+<CsInstruments>
+sr = 44100
+nchnls = 1
+ksmps = 32
+0dbfs = 1
+
+instr 1
+ires compileorc "does_not_exist.orc"
+print ires ; -1 as could not compile
+ires compileorc "my.orc"
+print ires ; 0 as compiled successfully
+event_i "i", 2, 0, 3, .2, 465 ;send event 
+endin
+
+</CsInstruments>
+<CsScore>
+i1 0 1
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/compilestr.csd b/examples/compilestr.csd
new file mode 100644
index 0000000..5291632
--- /dev/null
+++ b/examples/compilestr.csd
@@ -0,0 +1,42 @@
+<CsoundSynthesizer>
+<CsOptions>
+-o dac -d
+</CsOptions>
+<CsInstruments>
+sr = 44100
+nchnls = 1
+ksmps = 32
+0dbfs = 1
+
+instr 1
+
+ ;will fail because of wrong code
+ires compilestr {{
+instr 2 
+a1 oscilb p4, p5, 0
+out a1 
+endin 
+}}
+print ires ; returns -1 because not successfull
+
+ ;will compile ...
+ires compilestr {{
+instr 2 
+a1 oscils p4, p5, 0
+out a1 
+endin 
+}}
+print ires ; ... and returns 0
+
+ ;call the new instrument
+ ;(note that the overall performance is extended)
+scoreline_i "i 2 0 3 .2 415"
+
+endin
+
+</CsInstruments>
+<CsScore>
+i1 0 1
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/compress.csd b/examples/compress.csd
old mode 100755
new mode 100644
diff --git a/examples/connect.csd b/examples/connect.csd
old mode 100755
new mode 100644
diff --git a/examples/copya2ftab.csd b/examples/copya2ftab.csd
new file mode 100644
index 0000000..53a4d95
--- /dev/null
+++ b/examples/copya2ftab.csd
@@ -0,0 +1,62 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-n
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+;an 'empty' function table with 10 points
+giTable ftgen   0, 0, -10, 2, 0
+
+
+  instr 1
+
+;print inital values of giTable
+        puts    "\nInitial table content:", 1
+indx    =       0
+  until indx == ftlen(giTable) do
+iVal    table   indx, giTable
+        printf_i "Table index %d = %f\n", 1, indx, iVal
+indx += 1
+  od
+
+;create array
+kArr[]  init    10
+
+;fill in values
+kArr    genarray 1, 10
+
+;print array values
+        printf  "%s", 1, "\nArray content:\n"
+kndx    =       0
+  until kndx == lenarray(kArr) do
+        printf  "kArr[%d] = %f\n", kndx+1, kndx, kArr[kndx]
+kndx    +=      1
+  od
+
+;copy array values to table
+        copya2ftab kArr, giTable
+
+;print modified values of giTable
+        printf  "%s", 1, "\nModified table content after copya2ftab:\n"
+kndx    =       0
+  until kndx == ftlen(giTable) do
+kVal    table   kndx, giTable
+        printf  "Table index %d = %f\n", kndx+1, kndx, kVal
+kndx += 1
+  od
+
+;turn instrument off
+        turnoff
+  endin
+  
+</CsInstruments>
+<CsScore>
+i 1 0 0.1
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/copyf2array.csd b/examples/copyf2array.csd
new file mode 100644
index 0000000..3fb779a
--- /dev/null
+++ b/examples/copyf2array.csd
@@ -0,0 +1,39 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-n
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+;8 points sine wave function table
+giSine  ftgen   0, 0, 8, 10, 1
+
+
+  instr 1
+;create array
+kArr[]  init    8
+
+;copy table values in it
+        copyf2array kArr, giSine
+        
+;print values
+kndx    =       0
+  until kndx == lenarray(kArr) do
+        printf  "kArr[%d] = %f\n", kndx+1, kndx, kArr[kndx]
+kndx    +=      1
+  od
+
+;turn instrument off
+        turnoff
+  endin
+  
+</CsInstruments>
+<CsScore>
+i 1 0 0.1
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/cosseg.csd b/examples/cosseg.csd
new file mode 100644
index 0000000..cfa60c6
--- /dev/null
+++ b/examples/cosseg.csd
@@ -0,0 +1,56 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+;-o linseg.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giSine ftgen 0, 0, 2^10, 10, 1
+
+instr 1
+
+kcps = cpspch(p4)
+kenv cosseg 0, 0.25, 1, 0.75, 0	; together = 1 sec
+asig poscil kenv, kcps, giSine
+     outs asig, asig
+
+endin
+
+instr 2	; scaling to duration
+
+kcps = cpspch(p4)
+kenv cosseg 0, p3*0.25, 1, p3*0.75, 0
+asig poscil kenv, kcps, giSine
+     outs asig, asig
+
+endin
+
+instr 3	; with negative value
+
+kcps = cpspch(p4)
+aenv cosseg 0, 0.1, 1, 0.5, -0.9, 0.4, 0
+asig poscil aenv, kcps, giSine
+     outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 1   7.00	; = 1 sec, p3 fits exactly
+i 1 2 2   7.00	; = 2 sec, p3 truncated at 1 sec
+
+i 2 4 1   7.00	; scales to duration
+i 2 6 2   7.00	; of p3
+
+i 3 9 2   7.00
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/cossegb.csd b/examples/cossegb.csd
new file mode 100644
index 0000000..dc7bb07
--- /dev/null
+++ b/examples/cossegb.csd
@@ -0,0 +1,47 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+;-o linseg.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giSine ftgen 0, 0, 2^10, 10, 1
+
+instr 1
+
+kcps = cpspch(p4)
+kenv cossegb 0, 0.25, 1, 1, 0
+asig poscil kenv, kcps, giSine
+     outs asig, asig
+
+endin
+
+instr 2	; scaling to duration
+
+kcps = cpspch(p4)
+kenv cossegb 0, p3*0.25, 1, p3, 0
+asig poscil kenv, kcps, giSine
+     outs asig, asig
+
+endin
+
+</CsInstruments>
+<CsScore>
+
+i 1 0 1   7.00	; = 1 sec, p3 fits exactly
+i 1 2 2   7.00	; = 2 sec, p3 truncated at 1 sec
+
+i 2 4 1   7.00	; scales to duration
+i 2 6 2   7.00	; of p3
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/cossegr.csd b/examples/cossegr.csd
new file mode 100644
index 0000000..cd22326
--- /dev/null
+++ b/examples/cossegr.csd
@@ -0,0 +1,34 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  -+rtmidi=virtual -M0   ;;;realtime audio out and realtime midi in
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o linsegr.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+	 	 
+icps	cpsmidi	 	 
+iamp	ampmidi	.3	 
+ 	 	 	 
+kenv	cossegr	1, .05, 0.5, 1, 0
+asig	pluck	kenv, icps, 200, 1, 1	 
+	outs	asig, asig
+	 
+endin
+</CsInstruments>
+<CsScore>
+f 1 0 4096 10 1	;sine wave
+
+f0 30	;runs 30 seconds
+e
+</CsScore>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/cpumeter.csd b/examples/cpumeter.csd
new file mode 100644
index 0000000..969b21e
--- /dev/null
+++ b/examples/cpumeter.csd
@@ -0,0 +1,42 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o cpumeter.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 1
+0dbfs  = 1
+
+
+instr 1 ;cpu metering; stop when too large
+k0   cpumeter   0.1
+     printk2 k0
+     if k0>70 then
+       event "i", 3, 0.1, 1
+     endif
+endin
+
+instr 2
+     event_i    "i", 2, 1, 1000
+     asig oscil 0.2, 440, 1
+     out asig
+endin
+ 
+instr 3
+     exitnow
+endin
+</CsInstruments>
+<CsScore>
+f 1 0 32768 10 1	; sine wave
+
+i 1 0 1000
+i 2 0 1000
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/crossfm.csd b/examples/crossfm.csd
old mode 100755
new mode 100644
diff --git a/examples/csbeats.csd b/examples/csbeats.csd
new file mode 100644
index 0000000..13bad4f
--- /dev/null
+++ b/examples/csbeats.csd
@@ -0,0 +1,111 @@
+<CsoundSynthesizer>
+<CsOptions>
+</CsOptions>
+
+<CsInstruments>
+sr      =           44100
+nchnls 	= 		2
+
+gi1 ftgen 1, 0, 4096, 10, 1
+gi2 ftgen 2, 0, 4096, 7, -1, 4096, 1    ; sawtooth
+gi3 ftgen 3, 0, 4096, 7,  0, 1024, 1, 2048, -1, 1024, 0  ;triangle
+
+instr 101,102,103
+  iamp =      ampdbfs(p5)
+  a1   oscil  iamp, p4, p1-100
+  kenv expseg 1, p3, .01
+  a1   =      a1 * kenv
+       outs   a1, a1
+endin
+ 
+</CsInstruments>
+<CsScore bin="csbeats">
+; by Brian Baughn 3-14-05
+; bbaughn at berklee.net
+
+beats = 100
+permeasure = 4
+
+i101    m1 b1   q    mp   D3
+i101                      F3
+i101                      D3
+
+i101    m2 b1             D3
+i101       b3             D3
+
+i101    m3 b1             D3
+i101                      F3
+i101                      D3
+
+i101    m4 b1             D3
+i101       b3             D3
+
+i101    m5 b1              D3
+i101       b4              G5
+
+i101    m6 b1              E5
+i101       b2              F5
+i101       b3     e      Eb5
+i101       b3.5   e          
+i101       b4     q          
+
+i101    m7 b1     e       D5
+i101                            
+i101                q          
+i101                e      Db5
+i101                            
+i101                q          
+
+i101    m8 b1     q       D5
+i101                         E5
+i101                         D5
+
+i102    m1 b2      q      D4
+i102       b4              E4
+i102       b4             Bb3
+
+i102    m2 b2              F4
+i102       b2              B3
+i102       b4             C#4
+i102       b4             Bb3
+
+i102    m3 b2      q      D4
+i102       b4              E4
+i102       b4             Bb3
+
+i102    m4 b2              F4
+i102       b2              B3
+i102       b4             C#4
+i102       b4             Bb3
+
+i103    m5 b2      e     F6
+i103       b2      e     A5
+i103       b2.5    e     D6
+i103       b3      e     F6
+i103       b3      e     A5
+i103       b4      e     E6
+
+i103    m6 b1      q     C#6
+i103               q     D6
+i103               e     C6
+i103                           
+i103               q        
+
+i103    m7 b1      e     B5
+i103                            
+i103                 q         
+i103                 e    Bb5
+i103                            
+i103                 q         
+
+i103     m8 b1     e     F5
+i103        b1     e     A5
+i103        b1.5   e     D6
+i103        b2     e    Bb5
+i103        b2.5   e     D6
+i103        b3     q     F5
+i103        b3           A5
+end
+</CsScore>
+
+</CsoundSynthesizer>
diff --git a/examples/ctrl7.csd b/examples/ctrl7.csd
old mode 100755
new mode 100644
diff --git a/examples/cuserrnd.csd b/examples/cuserrnd.csd
new file mode 100644
index 0000000..e806ef7
--- /dev/null
+++ b/examples/cuserrnd.csd
@@ -0,0 +1,42 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o cuserrnd.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1	; every run time same values
+
+kuser cuserrnd 0, 100, 1
+      printk .2, kuser
+asig  poscil .5, 220+kuser, 3
+      outs asig, asig
+endin
+
+instr 2	; every run time different values
+
+      seed 0
+kuser cuserrnd 0, 100, 1
+      printk .2, kuser
+asig  poscil .5, 220+kuser, 3
+      outs asig, asig
+endin
+</CsInstruments>
+<CsScore>
+f 1 0 16 -7 1 4 0 8 0 4 1	;distrubution using GEN07
+f 2 0 16384 40 1		;GEN40 is to be used with cuserrnd
+f 3 0 8192 10 1			;sine
+
+i 1 0 2
+i 2 3 2
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/dcblock2.csd b/examples/dcblock2.csd
old mode 100755
new mode 100644
diff --git a/examples/deltap.csd b/examples/deltap.csd
old mode 100755
new mode 100644
diff --git a/examples/deltap3.csd b/examples/deltap3.csd
old mode 100755
new mode 100644
diff --git a/examples/deltapi.csd b/examples/deltapi.csd
old mode 100755
new mode 100644
diff --git a/examples/deltapx.csd b/examples/deltapx.csd
index 7dcde93..37b863a 100644
--- a/examples/deltapx.csd
+++ b/examples/deltapx.csd
@@ -19,10 +19,10 @@ a1      phasor   300
 a1      =  a1 - 0.5
 a_      delayr   1
 adel    phasor   4
-adel    =  sin (2 * 3.14159265 * adel) * 0.01 + 0.2
+adel    =  sin(2 * 3.14159265 * adel) * 0.01 + 0.2
         deltapxw a1, adel, 32
 adel    phasor   2
-adel    =  sin (2 * 3.14159265 * adel) * 0.01 + 0.2
+adel    =  sin(2 * 3.14159265 * adel) * 0.01 + 0.2
         deltapxw a1, adel, 32
 adel    =  0.3
 a2      deltapx  adel, 32
diff --git a/examples/deltapxw.csd b/examples/deltapxw.csd
index c529cbc..3395aab 100644
--- a/examples/deltapxw.csd
+++ b/examples/deltapxw.csd
@@ -19,10 +19,10 @@ a1      phasor   300
 a1      =  a1 - 0.5
 a_      delayr   1
 adel    phasor   4
-adel    =  sin (2 * 3.14159265 * adel) * 0.01 + 0.2
+adel    =  sin(2 * 3.14159265 * adel) * 0.01 + 0.2
         deltapxw a1, adel, 32
 adel    phasor   2
-adel    =  sin (2 * 3.14159265 * adel) * 0.01 + 0.2
+adel    =  sin(2 * 3.14159265 * adel) * 0.01 + 0.2
         deltapxw a1, adel, 32
 adel    =  0.3
 a2      deltapx  adel, 32
diff --git a/examples/distort.csd b/examples/distort.csd
old mode 100755
new mode 100644
diff --git a/examples/divides.csd b/examples/divides.csd
index b199bb6..bbb3f32 100644
--- a/examples/divides.csd
+++ b/examples/divides.csd
@@ -1,33 +1,37 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o divides.wav -W ;;; for file output any platform
+; -o /.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  i1 = 24 / 8
-  print i1
-endin
 
+idiv  = 1/p3 * p4
+ktrm  oscil 1, idiv, 1						;use oscil as an envelope
+printf "retrigger rate per note duration = %f\n",1, idiv
+kndx  line 5, p3, 1						;vary index of FM
+asig  foscil ktrm, 200, 1, 1.4, kndx, 1
+      outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
+f 1  0 4096 10   1    ;sine wave
 
-; Play Instrument #1 for one second.
-i 1 0 1
-e
-
+i 1 0 3	10   
+i 1 4 3 15  	
+i 1 8 3 2 
 
+e
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/dripwater.csd b/examples/dripwater.csd
index 1ac944a..a1f2bf8 100644
--- a/examples/dripwater.csd
+++ b/examples/dripwater.csd
@@ -1,32 +1,40 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o dripwater.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-instr 01  ;example of a water drip
-a1  line 5, p3, 5  ;preset an amplitude boost
-a2  dripwater p4, 0.01, 0, .9  ;dripwater needs a little amplitude help at these values
-a3  product a1, a2 ;increase amplitude
-    out a3
-    endin
+instr 1
 
+imaxshake = p4
+ifreq     = p5
+ifreq1    = p6
+ifreq2    = p7
 
+;low amplitude
+adrp dripwater .1, 0.09, 10, .9, imaxshake, ifreq, ifreq1, ifreq2 
+asig clip adrp, 2, 0.9	; avoid drips that drip too loud
+     outs asig, asig
+
+endin
 </CsInstruments>
 <CsScore>
 
-i1 0 1 20000
-e
+{100 CNT 
 
+i1 [0.1 * $CNT] 0.5 0.5 430 1000 800 
 
+} 
+
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/dssiactivate.csd b/examples/dssiactivate.csd
old mode 100755
new mode 100644
diff --git a/examples/dssictls.csd b/examples/dssictls.csd
old mode 100755
new mode 100644
diff --git a/examples/dssiinit.csd b/examples/dssiinit.csd
old mode 100755
new mode 100644
diff --git a/examples/dssilist.csd b/examples/dssilist.csd
old mode 100755
new mode 100644
diff --git a/examples/dssiplay_mono.csd b/examples/dssiplay_mono.csd
old mode 100755
new mode 100644
diff --git a/examples/dssiplay_stereo.csd b/examples/dssiplay_stereo.csd
old mode 100755
new mode 100644
diff --git a/examples/dumpk-2.csd b/examples/dumpk-2.csd
new file mode 100644
index 0000000..356c73f
--- /dev/null
+++ b/examples/dumpk-2.csd
@@ -0,0 +1,37 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o dumpk-2.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giSine ftgen 0, 0, 2^10, 10, 1
+
+instr 1 ;writes a control signal to a file
+kfreq randh  100, 1, 2, 1, 500 ;generates one random number between 400 and 600 per second
+      dumpk  kfreq, "dumpk.txt", 8, 1 ;writes the control signal
+      printk 1, kfreq 				 ;prints it
+endin
+
+instr 2 ;reads the file written by instr 1
+kfreq readk  "dumpk.txt", 8, 1
+      printk 1, kfreq ;prints it
+aout  poscil .2, kfreq, giSine
+      outs   aout, aout
+endin
+
+</CsInstruments>
+<CsScore>
+i 1 0 5
+i 2 5 5
+e
+</CsScore>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/dumpk2.csd b/examples/dumpk2.csd
new file mode 100644
index 0000000..7c1d25f
--- /dev/null
+++ b/examples/dumpk2.csd
@@ -0,0 +1,42 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o dumpk2.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giSine ftgen 0, 0, 2^10, 10, 1
+
+instr 1 ;writes two control signals to a file
+kfreq     randh     100, 1, 2, 1, 500 ;generates one random number between 400 and 600 per second
+kdb       randh     12, 1, 2, 1, -12 ;amplitudes in dB between -24 and 0
+          dumpk2    kfreq, kdb, "dumpk2.txt", 8, 1 ;writes the control signals
+          prints    "WRITING:\n"
+          printks   "kfreq = %f, kdb = %f\n", 1, kfreq, kdb  ;prints them
+endin
+
+instr 2 ;reads the file written by instr 1
+kf,kdb    readk2    "dumpk2.txt", 8, 1
+          prints    "READING:\n"
+          printks   "kfreq = %f, kdb = %f\n", 1, kf, kdb  ;prints again
+kdb       lineto    kdb, .1 ;smoothing amp transition
+aout      poscil    ampdb(kdb), kf, giSine
+          outs      aout, aout
+endin
+
+</CsInstruments>
+<CsScore>
+i 1 0 5
+i 2 5 5
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/dumpk3.csd b/examples/dumpk3.csd
new file mode 100644
index 0000000..f0dbe92
--- /dev/null
+++ b/examples/dumpk3.csd
@@ -0,0 +1,45 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o dumpk3.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giSine ftgen 0, 0, 2^10, 10, 1
+
+instr 1 ;writes three control signals to a file
+kfreq     randh     100, 1, 2, 1, 500 ;generates one random number between 400 and 600 per second
+kdb       randh     12, 1, 2, 1, -12 ;amplitudes in dB between -24 and 0
+kpan      randh     .5, 1, 2, 1, .5 ;panning between 0 and 1
+          dumpk3    kfreq, kdb, kpan, "dumpk3.txt", 8, 1 ;writes the control signals
+          prints    "WRITING:\n"
+          printks   "kfreq = %f, kdb = %f, kpan = %f\n", 1, kfreq, kdb, kpan  ;prints them
+endin
+
+instr 2 ;reads the file written by instr 1
+kf,kdb,kp readk3    "dumpk3.txt", 8, 1
+          prints    "READING:\n"
+          printks   "kfreq = %f, kdb = %f, kpan = %f\n", 1, kf, kdb, kp  ;prints again
+kdb       lineto    kdb, .1 ;smoothing amp transition
+kp        lineto    kp, .1 ;smoothing pan transition
+aout      poscil    ampdb(kdb), kf, giSine
+aL, aR    pan2      aout, kp
+          outs      aL, aR
+endin
+
+</CsInstruments>
+<CsScore>
+i 1 0 5
+i 2 5 5
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/dumpk4.csd b/examples/dumpk4.csd
new file mode 100644
index 0000000..3e96d18
--- /dev/null
+++ b/examples/dumpk4.csd
@@ -0,0 +1,48 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o dumpk4.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giSine ftgen 0, 0, 2^10, 10, 1
+
+instr 1 ;writes four control signals to a file
+kcf       randh     950, 1, 2, 1, 1050 ;generates one random number between 100 and 2000 per second
+kq        randh     10, 1, 2, 1, 11 ;generates another random number between 1 and 21 per second
+kdb       randh     9, 1, 2, 1, -15 ;amplitudes in dB between -24 and -6
+kpan      randh     .5, 1, 2, 1, .5 ;panning between 0 and 1
+          dumpk4    kcf, kq, kdb, kpan, "dumpk4.txt", 8, 1 ;writes the control signals
+          prints    "WRITING:\n"
+          printks   "kcf = %f, kq = %f, kdb = %f, kpan = %f\n", 1, kcf, kq, kdb, kpan  ;prints them
+endin
+
+instr 2 ;reads the file written by instr 1
+kcf,kq,kdb,kp readk4 "dumpk4.txt", 8, 1
+          prints    "READING:\n"
+          printks   "kcf = %f, kq = %f, kdb = %f, kpan = %f\n", 1, kcf, kq, kdb, kp  ;prints values
+kdb       lineto    kdb, .1 ;smoothing amp transition
+kp        lineto    kp, .1 ;smoothing pan transition
+anoise    rand      ampdb(kdb), 2, 1
+kbw       =         kcf/kq ;bandwidth of resonant filter
+abp       reson     anoise, kcf, kbw
+aout      balance   abp, anoise
+aL, aR    pan2      aout, kp
+          outs      aL, aR
+endin
+
+</CsInstruments>
+<CsScore>
+i 1 0 5
+i 2 5 5
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/duserrnd.csd b/examples/duserrnd.csd
new file mode 100644
index 0000000..073d1df
--- /dev/null
+++ b/examples/duserrnd.csd
@@ -0,0 +1,33 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o duserrnd.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+k1   duserrnd 1
+     printk 0, k1
+asig poscil .5, 220*k1, 2	;multiply frequency with random value
+     outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0 -20 -41  2 .1 8 .9	;choose 2 at 10% probability, and 8 at 90%
+
+f2 0 8192 10 1
+
+i1 0 2
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/dust.csd b/examples/dust.csd
new file mode 100644
index 0000000..01d6402
--- /dev/null
+++ b/examples/dust.csd
@@ -0,0 +1,28 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o oscil.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+kdens expon 2, p3, 20000
+aout  dust 0.5, kdens
+outs  aout, aout
+
+endin
+</CsInstruments>
+<CsScore>
+i1 0 10
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/dust2.csd b/examples/dust2.csd
new file mode 100644
index 0000000..e1affaf
--- /dev/null
+++ b/examples/dust2.csd
@@ -0,0 +1,28 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o oscil.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+kdens expon 2, p3, 20000
+aout  dust2 0.5, kdens
+outs  aout, aout
+
+endin
+</CsInstruments>
+<CsScore>
+i1 0 10
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/e.csd b/examples/e.csd
new file mode 100644
index 0000000..61184c6
--- /dev/null
+++ b/examples/e.csd
@@ -0,0 +1,47 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o e.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+ga1 init 0
+
+instr 1
+
+aenv expseg .01, p3*0.1, 1, p3*0.9, 0.01
+ga1  poscil3 .5*aenv, cpspch(p4), 1
+     outs ga1,ga1
+endin
+
+instr 99
+ 
+aL, aR  reverbsc ga1, ga1, 0.85, 12000, sr, 0.5, 1
+outs aL,aR
+
+ga1 = 0
+
+endin
+</CsInstruments>
+<CsScore>
+f 1 0 128 10 1		;sine wave
+
+i 1 1 0.1 8.00
+i 1 2 0.1 8.02
+i 1 3 0.1 8.04
+i 1 4 0.1 9.06
+
+i 99 0 6		;remains active for 6 seconds
+
+e10
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/eqfil.csd b/examples/eqfil.csd
old mode 100755
new mode 100644
diff --git a/examples/equal.csd b/examples/equal.csd
old mode 100755
new mode 100644
diff --git a/examples/equals.csd b/examples/equals.csd
index b2502b6..87d6219 100644
--- a/examples/equals.csd
+++ b/examples/equals.csd
@@ -1,43 +1,43 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o equal.wav -W ;;; for file output any platform
+; -o equals.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 44100
-ksmps = 1
-nchnls = 1
-
-; Instrument #1.
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+	
 instr 1
-  ; Get the 4th p-field from the score.
-  k1 =  p4
 
-  ; Is it equal to 3? (1 = true, 0 = false)
-  k2 = (p4 == 3 ? 1 : 0)
+ienv = p4				;choose envelope in score
 
-  ; Print the values of k1 and k2.
-  printks "k1 = %f, k2 = %f\\n", 1, k1, k2
-endin
+if (ienv == 0) kthen 	
+  kenv adsr 0.05, 0.05, 0.95, 0.05	;sustained envelope
+elseif (ienv == 1) kthen 
+  kenv adsr 0.5, 1, 0.5, 0.5		;triangular envelope
+elseif (ienv == 2) kthen 
+  kenv adsr 1, 1, 1, 0			;ramp up
+endif
 
+aout   vco2 .1, 110, 10
+aout   = aout * kenv
+       outs aout, aout
+
+endin
 
 </CsInstruments>
 <CsScore>
 
-; Call Instrument #1 with a p4 = 2.
-i 1 0 0.5 2
-; Call Instrument #1 with a p4 = 3.
-i 1 1 0.5 3
-; Call Instrument #1 with a p4 = 4.
-i 1 2 0.5 4
-e
-
+i1 0 2  0
+i1 3 2  1
+i1 6 2  2
 
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/event_i.csd b/examples/event_i.csd
new file mode 100644
index 0000000..d6a5625
--- /dev/null
+++ b/examples/event_i.csd
@@ -0,0 +1,50 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;RT audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o event_i.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+seed 0
+gisine ftgen 0, 0, 2^10, 10, 1
+
+instr 1 ;master instrument
+
+ininstr = 10 ;number of called instances
+indx = 0
+loop:
+ipan  random 0, 1
+ifreq random 100, 1000
+iamp  = 1/ininstr
+event_i "i", 10, 0, p3, iamp, ifreq, ipan
+loop_lt indx, 1, ininstr, loop
+
+endin
+
+instr 10
+
+      print p4, p5, p6
+ipeak random 0, 1 ;where is the envelope peak
+asig  poscil3 p4, p5, gisine
+aenv  transeg 0, p3*ipeak, 6, 1, p3-p3*ipeak, -6, 0
+aL,aR pan2 asig*aenv, p6
+      outs aL, aR
+
+endin
+
+</CsInstruments>
+<CsScore>
+i1 0 10
+i1 8 10
+i1 16 15
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/exitnow.csd b/examples/exitnow.csd
new file mode 100644
index 0000000..366efd5
--- /dev/null
+++ b/examples/exitnow.csd
@@ -0,0 +1,53 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-n     ;;;no sound
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o exitnow.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+;after an example by Iain McCurdy
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+FLcolor	200, 200, 200, 0, 0, 0
+;	LABEL     | WIDTH | HEIGHT | X | Y
+FLpanel	"rtclock",   500,    130,    0,  0
+;                                  ON,OFF,TYPE,WIDTH, HEIGHT, X, Y, OPCODE, INS,START,IDUR
+gkOnOff,ihOnOff	FLbutton "On/Off", 1,  0,  22,  150,   25,    5, 5,    0,   1,   0,   3600
+gkExit,ihExit	FLbutton "exitnow",1,  0,  21,  150,   25,  345, 5,    0,  999,  0,   0.001
+FLsetColor2 255, 0, 50, ihOnOff	;reddish color
+
+;VALUE DISPLAY BOXES	 WIDTH,HEIGHT,X, Y
+gidclock FLvalue "clock", 100, 25, 200, 60
+FLsetVal_i 1, ihOnOff	
+FLpanel_end
+FLrun
+
+instr 1	
+
+if gkOnOff !=0 kgoto CONTINUE ;sense if FLTK on/off switch is not off (in which case skip the next line)  
+turnoff			      ;turn this instr. off now
+CONTINUE:
+ktime rtclock                 ;clock continues to run even 
+FLprintk2 ktime, gidclock     ;after the on/off button was used to stop
+
+endin
+
+instr 999
+
+exitnow			      ;exit Csound as fast as possible
+
+endin
+</CsInstruments>
+<CsScore>
+
+f 0 60	;runs 60 seconds
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/exprandi.csd b/examples/exprandi.csd
new file mode 100644
index 0000000..ee6d8f4
--- /dev/null
+++ b/examples/exprandi.csd
@@ -0,0 +1,32 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o exprand.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs = 1
+
+instr 1
+klambda	exprandi	20, 1, 3
+	printk2 klambda		; look
+aout	oscili	0.8, 440+klambda, 1	; & listen
+	outs	aout, aout
+endin
+
+</CsInstruments>
+<CsScore>
+; sine wave
+f 1 0 16384 10 1
+
+i 1 0 4
+e
+
+</CsScore>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/expsegb.csd b/examples/expsegb.csd
new file mode 100644
index 0000000..e719f4a
--- /dev/null
+++ b/examples/expsegb.csd
@@ -0,0 +1,49 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+; Audio out   Audio in
+-odac           -iadc    ;;;RT audio I/O
+; For Non-realtime ouput leave only the line below:
+; -o expseg.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+; Initialize the global variables.
+sr = 44100
+kr = 4410
+ksmps = 10
+nchnls = 1
+
+; Instrument #1.
+instr 1
+  ; p4 = frequency in pitch-class notation.
+  kcps = cpspch(p4)
+
+  ; Create an amplitude envelope.
+  kenv expsegb 0.01, p3*0.25, 1, p3, 0.01
+  kamp = kenv * 30000
+
+  a1 oscil kamp, kcps, 1
+  out a1
+endin
+
+
+</CsInstruments>
+<CsScore>
+
+; Table #1, a sine wave.
+f 1 0 16384 10 1
+
+; Play Instrument #1 for a half-second, p4=8.00
+i 1 0 0.5 8.00
+; Play Instrument #1 for a half-second, p4=8.01
+i 1 1 0.5 8.01
+; Play Instrument #1 for a half-second, p4=8.02
+i 1 2 0.5 8.02
+; Play Instrument #1 for a half-second, p4=8.03
+i 1 3 0.5 8.03
+e
+
+
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/expsegba.csd b/examples/expsegba.csd
new file mode 100644
index 0000000..214708e
--- /dev/null
+++ b/examples/expsegba.csd
@@ -0,0 +1,46 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+; Audio out   Audio in    No messages
+-odac           -iadc     -d     ;;;RT audio I/O
+; For Non-realtime ouput leave only the line below:
+; -o expsega.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+; Initialize the global variables.
+sr = 44100
+kr = 4410
+ksmps = 10
+nchnls = 1
+
+; Instrument #1.
+instr 1
+  ; Define a short percussive amplitude envelope that
+  ; goes from 0.01 to 20,000 and back.
+  aenv expsegba 0.01, 0.1, 20000, 0.2, 0.01
+
+  a1 oscil aenv, 440, 1
+  out a1
+endin
+
+
+</CsInstruments>
+<CsScore>
+
+; Table #1, a sine wave.
+f 1 0 16384 10 1
+
+; Play Instrument #1 for one second.
+i 1 0 1
+; Play Instrument #1 for one second.
+i 1 1 1
+; Play Instrument #1 for one second.
+i 1 2 1
+; Play Instrument #1 for one second.
+i 1 3 1
+e
+
+
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/fareyleni.csd b/examples/fareyleni.csd
new file mode 100644
index 0000000..b6e2d65
--- /dev/null
+++ b/examples/fareyleni.csd
@@ -0,0 +1,89 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc for RT audio input as well 
+; For Non-realtime ouput leave only the line below:
+; -o fareyleni.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+      ; initialise integer n for Farey Sequence F_8
+      gifarn init 8	
+
+      ; calculate length of F_8, it should return 23 for |F_8|
+      gires fareyleni gifarn  
+
+      ; convert to negative number for the GEN routine because
+      ; the table length won't be a power of 2 
+      ; (The length of a Farey Sequence of n > 1 is always an odd number)
+      gilen init gires * -1 
+      	   	       	               
+      ; create F_8 with GENfarey, the negative table number prevents 
+      ; unnecessary normalisation (F_8 IS already normalised)
+      ; 	         	    n  	   mode: 
+      gifarey ftgen 100, 0, gilen, "farey", gifarn, 4
+      ; if mode=4 then 1 is added to each element of F_n.
+      ; Useful for creating just tuning tables that can be read by the cps2pch opcode.
+
+instr 1
+      ; the very last element of F_n is not needed in the case of tuning tables
+      ires = gires - 1 
+      ; read out and print to file
+      kndx init 0 
+      if (kndx < ires) then    
+      	 kelem tab kndx, gifarey
+      	 fprintks "farey8_tuning.txt", "%2.6f\\n", kelem
+      	 kndx = kndx+1
+      endif
+      
+endin
+
+instr 2
+
+ip   cps2pch p4, -100
+asig poscil .5, ip, 1
+aenv linseg 0, 0.1, 1, p3-0.2, 1, 0.1, 0
+     outs asig * aenv, asig * aenv
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0 8192 10 1	;sine wave
+
+i1	0     .1
+
+i2	1	.5	8.00
+i2	+	.	>
+i2	+	.	>
+i2	+	.	>
+i2	+	.	>
+i2	+	.	>
+i2	+	.	>
+i2	+	.	>
+i2	+	.	>
+i2	+	.	>
+i2	+	.	>
+i2	+	.	>
+i2	+	.	>
+i2	+	.	>
+i2	+	.	>
+i2	+	.	>
+i2	+	.	>
+i2	+	.	>
+i2	+	.	>
+i2	+	.	>
+i2	+	.	>
+i2	+	.	>
+i2	+	1	8.22
+
+
+e
+</CsScore>
+</CsoundSynthesizer>
+ 
diff --git a/examples/ficlose.csd b/examples/ficlose.csd
new file mode 100644
index 0000000..b763c23
--- /dev/null
+++ b/examples/ficlose.csd
@@ -0,0 +1,32 @@
+<CsoundSynthesizer> 
+<CsOptions> 
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o ficlose.wav -W ;;; for file output any platform
+</CsOptions> 
+<CsInstruments> 
+
+sr = 44100 
+ksmps = 32 
+nchnls = 2 
+0dbfs  = 1 
+
+gihand fiopen "test1.txt", 0 
+
+instr 1
+
+ires  random  0, 100
+      fouti gihand, 0, 1, ires 
+      ficlose gihand 
+
+endin 
+</CsInstruments> 
+<CsScore> 
+
+i 1 0 1 
+
+e
+</CsScore> 
+</CsoundSynthesizer> 
diff --git a/examples/filelen.csd b/examples/filelen.csd
index b185dd3..43ba8cf 100644
--- a/examples/filelen.csd
+++ b/examples/filelen.csd
@@ -1,35 +1,44 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+;-odac     ;;;realtime audio out
+-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o filelen.wav -W ;;; for file output any platform
+;-o filelen.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
-
-; Instrument #1.
-instr 1
-  ; Print out the length of the audio file 
-  ; "mary.wav" in seconds. 
-  ilen  filelen "mary.wav"
-  print ilen
-endin
+ksmps = 32
+nchnls = 2
+0dbfs = 1
+
+instr 1 ; choose between mono or stereo file
+
+ilen   filelen p4	;calculate length of soundfile
+print  ilen
+ichn filenchnls  p4	;check number of channels
+;print  ichn
+
+if (ichn == 1) then
+;mono signal
+asig diskin2 p4, 1	
+     outs    asig, asig
+
+else
+;stereo signal
+aL, aR diskin2 p4, .5, 0, 1 
+       outs    aL, aR
 
+endif
 
+endin
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for 1 second.
-i 1 0 1
-e
-
+i 1 0 3 "fox.wav"	;mono signal
+i 1 5 2 "kickroll.wav"	;stereo signal
 
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/filenchnls.csd b/examples/filenchnls.csd
index 5b7ff30..ab075a0 100644
--- a/examples/filenchnls.csd
+++ b/examples/filenchnls.csd
@@ -1,35 +1,44 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+;-odac     ;;;realtime audio out
+-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o filenchnls.wav -W ;;; for file output any platform
+;-o filechnls.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
-
-; Instrument #1.
-instr 1
-  ; Print out the number of channels in the 
-  ; audio file "mary.wav".
-  ichnls filenchnls "mary.wav"
-  print ichnls
-endin
+ksmps = 32
+nchnls = 2
+0dbfs = 1
+
+instr 1 ; choose between mono or stereo file
+
+ilen   filelen p4	;calculate length of soundfile
+;print  ilen
+ichn filenchnls  p4	;check number of channels
+print  ichn
+
+if (ichn == 1) then
+;mono signal
+asig diskin2 p4, 1	
+     outs    asig, asig
+
+else
+;stereo signal
+aL, aR diskin2 p4, .5, 0, 1 
+       outs    aL, aR
 
+endif
 
+endin
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for 1 second.
-i 1 0 1
-e
-
+i 1 0 3 "fox.wav"	;mono signal
+i 1 5 2 "kickroll.wav"	;stereo signal
 
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/filepeak.csd b/examples/filepeak.csd
index 5b74d43..39d594d 100644
--- a/examples/filepeak.csd
+++ b/examples/filepeak.csd
@@ -1,35 +1,46 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o filepeak.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
-
-; Instrument #1.
-instr 1
-  ; Print out the peak absolute value of the
-  ; audio file "mary.wav".
-  ipeak filepeak "mary.wav"
-  print ipeak
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1 
+
+iscaldb = p4 ;set peak amplitude in dB
+ipeak   filepeak "Church.wav"
+iscal   = ampdb(iscaldb)/ipeak ;calculate amp multiplier
+printf_i "\nPeak value in file '%s' is %f (%.3f dB).\n\n", 1, "Church.wav", ipeak, dbamp(ipeak)
+
+asnd soundin "Church.wav"
+     outs asnd, asnd
+; scale & write file to disk
+asig = asnd*iscal ;scale to p4
+fout "Church_norm.wav", 14, asig
+
 endin
 
+instr 2 ; play scaled file
 
+aout   soundin  "Church_norm.wav"
+ipknew filepeak "Church_norm.wav"
+printf_i "\nPeak value in file '%s' is %f (%.3f dB).\n\n", 1, "Church_norm.wav", ipknew, dbamp(ipknew)
+       outs aout, aout
+
+endin
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for 1 second.
-i 1 0 1
+i 1 0 2 -6 ; normalize audio to -6 dB
+i 2 2 2
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/filesr.csd b/examples/filesr.csd
index dbafb7e..ac74261 100644
--- a/examples/filesr.csd
+++ b/examples/filesr.csd
@@ -1,35 +1,39 @@
-<CsoundSynthesizer>
-<CsOptions>
+<CsoundSynthesizer> 
+<CsOptions> 
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o filesr.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
-instr 1
-  ; Print out the sampling rate of the 
-  ; audio file "mary.wav".
-  isr filesr "mary.wav"
-  print isr
-endin
+;after an example from Jonathan Murphy
 
+instr 1 
+;load sound into an ftable
+  Sfile	    strcpy    "beats.wav" 
+  ilen	    filelen   Sfile 
+  isr	    filesr    Sfile 
+  isamps    =  ilen * isr 
+;adjust the length of the table to be a power of two closest
+;to the actual size of the sound 
+  isize	    init      1 
+loop: 
+  isize	    =  isize * 2 
+  if (isize < isamps) igoto loop 
+  itab	    ftgen     0, 0, isize, 1, Sfile, 0, 0, 0 
+prints  "sample rate = %f, size = %f\n", isr, isize ;prints them
 
-</CsInstruments>
-<CsScore>
-
-; Play Instrument #1 for 1 second.
-i 1 0 1
-e
-
-
-</CsScore>
-</CsoundSynthesizer>
+endin 
+</CsInstruments> 
+<CsScore> 
+i1 0 2
+e 
+</CsScore> 
+</CsoundSynthesizer> 
\ No newline at end of file
diff --git a/examples/filevalid.csd b/examples/filevalid.csd
index 799c02e..4706709 100644
--- a/examples/filevalid.csd
+++ b/examples/filevalid.csd
@@ -1,34 +1,36 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o filelen.wav -W ;;; for file output any platform
+;-o filevalid.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs = 1
 
-; Instrument #1.
 instr 1
-  ; Check that the audio file "mary.wav" is avalable
-  ivld  filevalid "mary.wav"
-  print ivld
-endin
+Sfile     strget    p4
+ivld      filevalid Sfile
 
+if ivld>0 then
+asig      diskin2   Sfile, 1
+          outs      asig, asig
+else
+          printf_i  "Audiofile '%s' does not exist!\n", 1, Sfile
+endif
+endin
 
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for 0.1 second.
-i 1 0 0.1
-e
-
+i 1 0 3 "frox.wav";file does not exist!!!
+i 1 + 3 "fox.wav" ;but this one certainly does...
 
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/fillarray.csd b/examples/fillarray.csd
new file mode 100644
index 0000000..1955679
--- /dev/null
+++ b/examples/fillarray.csd
@@ -0,0 +1,26 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-n
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+  kS[] fillarray 1,7,5
+       printk2 kS[0]
+       printk2 kS[1]
+       printk2 kS[2]
+endin
+
+</CsInstruments>
+<CsScore>
+i 1 0 0
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/filter2.csd b/examples/filter2.csd
new file mode 100644
index 0000000..5101781
--- /dev/null
+++ b/examples/filter2.csd
@@ -0,0 +1,37 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o filter2.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1	 ; 2 saw waves of which one is slightly detuned
+ 
+ib1   = p5  
+ivol  = p6				;volume to compensate                                               
+kcps  init cpspch(p4)
+asig1 vco2 .05, kcps			;saw 1
+asaw1 filter2 asig1, 1, 1, 1, ib1	;filter 1 
+asig2 vco2 .05, kcps+1			;saw 2                      
+asaw2 filter2 asig2, 1, 1, 1, ib1	;filter 2
+aout  = (asaw1+asaw2)*ivol		;mix
+      outs aout, aout
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 4 6.00 -.001 5	;different filter values
+i 1 + 4 6.00 -.6   2	;and different volumes
+i 1 + 4 6.00 -.95 .3	;to compensate
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/fin.csd b/examples/fin.csd
new file mode 100644
index 0000000..dec5140
--- /dev/null
+++ b/examples/fin.csd
@@ -0,0 +1,33 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o fin.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1 
+
+asnd init 0 			;input of fin must be initialized
+     fin  "fox.wav", 0, 0, asnd	;read audiofile
+aenv follow asnd, 0.01		;envelope follower
+kenv downsamp aenv
+asig rand kenv			;gate the noise with audiofile
+     outs asig, asig 
+endin 
+
+</CsInstruments>
+<CsScore>
+
+i 1 0 3
+e
+
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/fiopen.csd b/examples/fiopen.csd
new file mode 100644
index 0000000..72aba67
--- /dev/null
+++ b/examples/fiopen.csd
@@ -0,0 +1,32 @@
+<CsoundSynthesizer> 
+<CsOptions> 
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o fiopen.wav -W ;;; for file output any platform
+</CsOptions> 
+<CsInstruments> 
+
+sr = 44100 
+ksmps = 32 
+nchnls = 2 
+0dbfs  = 1 
+
+gihand fiopen "test1.txt", 0 
+
+instr 1
+
+ires  random  0, 100
+      fouti gihand, 0, 1, ires 
+      ficlose gihand 
+
+endin 
+</CsInstruments> 
+<CsScore> 
+
+i 1 0 1 
+
+e
+</CsScore> 
+</CsoundSynthesizer> 
diff --git a/examples/flanger.csd b/examples/flanger.csd
index cf63f4d..f9f1852 100644
--- a/examples/flanger.csd
+++ b/examples/flanger.csd
@@ -1,44 +1,33 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o flanger.wav -W ;;; for file output any platform
+;-o flanger.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs = 1
 
-; Instrument #1.
 instr 1
-  ; Use the "beat.wav" audio file.
-  asig soundin "beats.wav"
 
-  ; Vary the delay amount from 0 to 0.01 seconds.
-  adel line 0, p3, 0.01
-  kfeedback = 0.7
+kfeedback = p4
+asnd vco2 .2, 50
+adel linseg 0, p3*.5, 0.02, p3*.5, 0	;max delay time =20ms	
+aflg flanger asnd, adel, kfeedback
+asig clip aflg, 1, 1
+     outs asig+asnd, asig+asnd		;mix flanger with original
 
-  ; Apply flange to the input signal.
-  aflang flanger asig, adel, kfeedback
-
-  ; It can get loud, so clip its amplitude to 30,000.
-  a1 clip aflang, 1, 30000
-  out a1
 endin
-
-
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for two seconds.
-i 1 0 2
+i 1 0 10 .2
+i 1 11 10 .8	;lot of feedback
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/flooper.csd b/examples/flooper.csd
old mode 100755
new mode 100644
index 6865bda..f05f3b9
--- a/examples/flooper.csd
+++ b/examples/flooper.csd
@@ -1,32 +1,32 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o flooper.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
-sr      =  44100
-ksmps   =  10
-nchnls  =  1
 
-       instr 1
-kpitch	line	1, p3, 4
-aout	flooper	26000, kpitch, 1, .53, 0.05, 1  ; loop starts at 1 sec, for .53 secs, 0.05 crossfade
-	out	aout
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-       endin
+instr 1
 
+kpitch	line	1, p3, .9 ;lower pitch a bit during the note
+aout	flooper	.9, kpitch, 1, .53, 0.05, 1  ; loop starts at 1 sec, for .53 secs, 0.05 crossfade
+	outs	aout, aout
+
+endin
 </CsInstruments>
 <CsScore>
-; Table #1: an audio file.
-; Its table size is deferred,
-; and format taken from the soundfile header.
-f 1 0 0 1 "beats.wav" 0 0 0
+;table size is deferred,
+; and format taken from the soundfile header
+f 1 0 0 1 "fox.wav" 0 0 0
 
-i 1 0 4
+i 1 0 8.2
 e
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/flooper2.csd b/examples/flooper2.csd
old mode 100755
new mode 100644
index ac94723..50d148d
--- a/examples/flooper2.csd
+++ b/examples/flooper2.csd
@@ -1,32 +1,32 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o flooper2.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
-sr      =  44100
-ksmps   =  10
-nchnls  =  1
 
-       instr 1
-; looping back and forth,  0.05 crossfade
-aout	flooper2	16000, 1, 0, 1.6, 0.05, 1, 0, 2  
-	out	aout
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-       endin
+instr 1
+; looping back and forth,  0.05 crossfade 
+kst  line     .2, p3, 2 ;vary loopstartpoint
+aout flooper2 .8, 1, 0, kst, 0.05, 1, 0, 2  
+     outs     aout, aout
 
+endin
 </CsInstruments>
 <CsScore>
-; Table #1: an audio file.
 ; Its table size is deferred,
-; and format taken from the soundfile header.
-f 1 0 0 1 "beats.wav" 0 0 0
+; and format taken from the soundfile header
+f 1 0 0 1 "fox.wav" 0 0 0
 
-i 1 0 6.5
+i 1 0 12
 e
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/floor.csd b/examples/floor.csd
old mode 100755
new mode 100644
index 09cece7..60cef23
--- a/examples/floor.csd
+++ b/examples/floor.csd
@@ -1,31 +1,35 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+;-o floor.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  i1 = 6 / 5
-  i2 = floor(i1)
 
-  print i2
-endin
+idiv init 1
 
+loop:
+inumber = 9
+i1  = inumber / idiv
+ifl = floor(i1)
+print inumber, idiv, ifl ;print number / idiv = result using floor
+idiv = idiv + 1
+if (idiv <= 10) igoto loop
 
+endin
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for one second.
-i 1 0 1
+i 1 0 0
 e
 
 </CsScore>
diff --git a/examples/fluid-2.csd b/examples/fluid-2.csd
old mode 100755
new mode 100644
index a9646a5..9ffe692
--- a/examples/fluid-2.csd
+++ b/examples/fluid-2.csd
@@ -1,35 +1,36 @@
 <CsoundSynthesizer>
-
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages   Look for midifile in folder manual/examples
--odac           -iadc     -d   -F midichn_advanced.mid ;;;RT audio I/O
+; Audio out No messages   Look for midifile in folder manual/examples
+-odac           -d        -F midichn_advanced.mid ;;;reatime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o fluid2.wav -W ;;; for file output any platform
+; -o fluid-2.wav -W ;;; for file output any platform
 </CsOptions>
-
 <CsInstruments>
 
 sr = 44100
-kr = 4410
-ksmps = 10  
+ksmps = 32  
 nchnls = 2
-0dbfs = 32767
+0dbfs  = 1
 
 ; LOAD SOUNDFONTS
 gienginenum1	fluidEngine
 gienginenum2	fluidEngine
-isfnum1	fluidLoad	"Piano Steinway Grand Model C (21,738KB).sf2", gienginenum1, 1	; Bright Steinway, program 1, channel 1
-		fluidProgramSelect	gienginenum1, 1, isfnum1, 0, 1 ; Concert Steinway with reverb, program 2, channel 3
+isfnum1	fluidLoad "Piano Steinway Grand Model C (21,738KB).sf2", gienginenum1, 1
+; Bright Steinway, program 1, channel 1
+		fluidProgramSelect	gienginenum1, 1, isfnum1, 0, 1
+; Concert Steinway with reverb, program 2, channel 3
 		fluidProgramSelect	gienginenum1, 3, isfnum1, 0, 2
-isfnum2	fluidLoad	"63.3mg The Sound Site Album Bank V1.0.sf2", gienginenum2, 1	; General MIDI, program 50, channel 2
+isfnum2	fluidLoad "63.3mg The Sound Site Album Bank V1.0.SF2", gienginenum2, 1
+; General MIDI, program 50, channel 2
 		fluidProgramSelect	gienginenum2, 2, isfnum2, 0, 50
 
 ; SEND NOTES TO STEINWAY SOUNDFONT
 
 instr 1 ; FluidSynth Steinway Rev
   ; INITIALIZATION
-	mididefault		60, p3 ; Default duration of 60 -- overridden by score.
+	mididefault	60, p3 ; Default duration of 60 -- overridden by score.
 	midinoteonkey	p4, p5 ; Channels MIDI input to pfields.
   ; Use channel assigned in fluidload.
   ichannel   = 1
@@ -40,33 +41,32 @@ endin
 
 instr 2 ; GM soundfont
   ; INITIALIZATION
-             mididefault   60, p3 ; Default duration of 60 -- overridden by score.
-             midinoteonkey p4, p5 ; Channels MIDI input to pfields.
+         mididefault   60, p3 ; Default duration of 60 -- overridden by score.
+         midinoteonkey p4, p5 ; Channels MIDI input to pfields.
   ; Use channel assigned in fluidload.
   ichannel   = 2
   ikey       = p4
   ivelocity  = p5
-             fluidNote gienginenum2, ichannel, ikey, ivelocity
+         fluidNote gienginenum2, ichannel, ikey, ivelocity
 endin
 
 instr 3 ; FluidSynth Steinway Rev
   ; INITIALIZATION
-             mididefault   60, p3 ; Default duration of 60 -- overridden by score.
-             midinoteonkey p4, p5 ; Channels MIDI input to pfields.
+         mididefault   60, p3 ; Default duration of 60 -- overridden by score.
+         midinoteonkey p4, p5 ; Channels MIDI input to pfields.
   ; Use channel assigned in fluidload.
   ichannel   = 3
   ikey       = p4
   ivelocity  = p5
-             fluidNote gienginenum1, ichannel, ikey, ivelocity
+         fluidNote gienginenum1, ichannel, ikey, ivelocity
 endin
 
 ; COLLECT AUDIO FROM ALL SOUNDFONTS
 
 instr 100 ; Fluidsynth output
-  ; INITIALIZATION
-  ; Normalize so iamplitude for p5 of 80 == ampdb(80).
-  iamplitude1 = ampdb(p4) * 100000
-  iamplitude2 = ampdb(p5) * 100000
+
+  iamplitude1 = 7
+  iamplitude2 = 7
 
 ; AUDIO
 aleft1, aright1 fluidOut   gienginenum1
@@ -74,18 +74,14 @@ aleft2, aright2 fluidOut   gienginenum2
                 outs       (aleft1 * iamplitude1) + (aleft2 * iamplitude2),  \
                            (aright1 * iamplitude1) + (aright2 * iamplitude2)
 endin
-
-
 </CsInstruments>
-
 <CsScore>
-i 1 0 36 60 100
-i 2 1 36 60 100
-i 3 3 36 63 100
-i 100 0 40 8 8
-e
 
+i 1 0 3  60  100
+i 2 1 3  60  100
+i 3 3 3  63  100
+i 100 0 10		;run for 10seconds 
+e
 </CsScore>
-
 </CsoundSynthesizer>
 
diff --git a/examples/fluid.csd b/examples/fluid.csd
old mode 100755
new mode 100644
diff --git a/examples/fluidAllOut.csd b/examples/fluidAllOut.csd
new file mode 100644
index 0000000..5b1d9ce
--- /dev/null
+++ b/examples/fluidAllOut.csd
@@ -0,0 +1,60 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  -+rtmidi=virtual -M0    ;;;realtime audio out and realtime midi in
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+;-o fluidAllOut.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giengine1 fluidEngine
+isfnum1	  fluidLoad "sf_GMbank.sf2", giengine1, 1
+	  fluidProgramSelect giengine1, 1, isfnum1, 0, 0
+
+giengine2 fluidEngine
+; soundfont path to manual/examples
+isfnum2	  fluidLoad "22Bassoon.sf2", giengine2, 1
+	  fluidProgramSelect giengine2, 1, isfnum2, 0, 70
+
+instr 1
+
+     mididefault   60, p3
+     midinoteonkey p4, p5
+ikey init p4
+ivel init p5
+     fluidNote giengine1, 1, ikey, ivel
+
+endin
+
+instr 2
+
+     mididefault   60, p3
+     midinoteonkey p4, p5
+ikey init p4
+ivel init p5
+     fluidNote giengine2, 1, ikey, ivel
+
+endin
+
+instr 100
+
+imvol init 7 ;amplify a bit
+asigl, asigr fluidAllOut
+      outs asigl*imvol, asigr*imvol
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 2 60 127 ;play one note on instr 1
+i 2 2 2 60 127 ;play another note on instr 2 and...
+i 100 0 60     ;play virtual midi keyboard
+e
+</CsScore>
+</CsoundSynthesizer> 
diff --git a/examples/fluidCCi.csd b/examples/fluidCCi.csd
new file mode 100644
index 0000000..36cdb0d
--- /dev/null
+++ b/examples/fluidCCi.csd
@@ -0,0 +1,48 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  -+rtmidi=virtual  -M0    ;;;realtime audio out and realtime midi in
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+;-o fluidCCi.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giengine fluidEngine
+; soundfont path to manual/examples
+isfnum	 fluidLoad "19Trumpet.sf2", giengine, 1
+	 fluidProgramSelect giengine, 1, isfnum, 0, 56
+
+instr 1
+
+	mididefault   60, p3
+	midinoteonkey p4, p5
+ikey	init p4
+ivel	init p5
+	fluidCCi giengine, 1, 93, 127 	;full chorus &
+	fluidCCi giengine, 1, 91, 127 	;full reverb!
+	fluidNote giengine, 1, ikey, ivel
+
+endin
+
+instr 99
+
+imvol  init 7
+asigl, asigr fluidOut giengine
+       outs asigl*imvol, asigr*imvol
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 5 60 100 ;play one note from score and...
+i 99 0 60      ;play virtual keyboard for 60 sec.
+e
+
+</CsScore>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/fluidCCk.csd b/examples/fluidCCk.csd
new file mode 100644
index 0000000..462619a
--- /dev/null
+++ b/examples/fluidCCk.csd
@@ -0,0 +1,52 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+;-o fluidCCk.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs = 1
+
+giengine fluidEngine
+; soundfont path to manual/examples
+isfnum	 fluidLoad "22Bassoon.sf2", giengine, 1
+	 fluidProgramSelect giengine, 1, isfnum, 0, 70
+
+instr 1
+
+	mididefault   60, p3
+	midinoteonkey p4, p5
+ikey	init p4
+ivel	init p5
+kpan	line 0, p3, 127 ;panning from left to right
+	fluidCCk giengine, 1, 10, kpan ;CC 10 = pan
+	fluidNote giengine, 1, ikey, ivel
+
+endin
+
+instr 99
+
+imvol  init 7
+asigl, asigr fluidOut giengine
+       outs asigl*imvol, asigr*imvol
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 4 48 100
+i 1 4 2 50 120
+i 1 6 1 53 80
+i 1 7 1 45 70
+i 1 8 1.5 48 80
+
+i 99 0 10      ;keep instr 99 active
+e
+</CsScore>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/fluidEngine.csd b/examples/fluidEngine.csd
new file mode 100644
index 0000000..4deef91
--- /dev/null
+++ b/examples/fluidEngine.csd
@@ -0,0 +1,87 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  -F  midichn_advanced.mid ;;;reatime audio out and midifile in
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o fluidEngine.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32  
+nchnls = 2
+0dbfs  = 1
+
+; LOAD SOUNDFONTS
+gienginenum1	fluidEngine
+gienginenum2	fluidEngine
+isfnum1	fluidLoad "sf_GMbank.sf2", gienginenum1, 1
+                ; Piano 2, program 1, channel 1
+		fluidProgramSelect	gienginenum1, 1, isfnum1, 0, 1
+                ; Piano 3, program 2, channel 2
+		fluidProgramSelect	gienginenum1, 2, isfnum1, 0, 2
+isfnum2	fluidLoad "19Trumpet.sf2", gienginenum2, 1
+                ; Trumpet, program 56, channel 3
+		fluidProgramSelect	gienginenum2, 3, isfnum2, 0, 56
+
+;Look for midifile in folder manual/examples
+;"midichn_advanced.mid" sends notes to the soundfonts
+
+instr 1 ; GM soundfont
+  ; INITIALIZATION
+	mididefault	60, p3 ; Default duration of 60 -- overridden by score.
+	midinoteonkey	p4, p5 ; Channels MIDI input to pfields.
+  ; Use channel assigned in fluidload.
+  ichannel   = 1
+  ikey       = p4
+  ivelocity  = p5
+	fluidNote gienginenum1, ichannel, ikey, ivelocity
+endin
+
+instr 2 ; GM soundfont
+  ; INITIALIZATION
+         mididefault   60, p3 ; Default duration of 60 -- overridden by score.
+         midinoteonkey p4, p5 ; Channels MIDI input to pfields.
+  ; Use channel assigned in fluidload.
+  ichannel   = 2
+  ikey       = p4
+  ivelocity  = p5
+         fluidNote gienginenum1, ichannel, ikey, ivelocity
+endin
+
+instr 3 ; Trumpet
+  ; INITIALIZATION
+         mididefault   60, p3 ; Default duration of 60 -- overridden by score.
+         midinoteonkey p4, p5 ; Channels MIDI input to pfields.
+  ; Use channel assigned in fluidload.
+  ichannel   = 3
+  ikey       = p4
+  ivelocity  = p5
+         fluidNote gienginenum2, ichannel, ikey, ivelocity
+endin
+
+; COLLECT AUDIO FROM ALL SOUNDFONTS
+
+instr 100 ; Fluidsynth output
+
+  iamplitude1 = 7
+  iamplitude2 = 7
+
+; AUDIO
+aleft1, aright1 fluidOut   gienginenum1
+aleft2, aright2 fluidOut   gienginenum2
+                outs       (aleft1 * iamplitude1) + (aleft2 * iamplitude2),  \
+                           (aright1 * iamplitude1) + (aright2 * iamplitude2)
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 3  60  100
+i 2 1 3  60  100
+i 3 3 3  63  100
+i 100 0 10		;run for 10 seconds 
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/fluidLoad.csd b/examples/fluidLoad.csd
new file mode 100644
index 0000000..89422b1
--- /dev/null
+++ b/examples/fluidLoad.csd
@@ -0,0 +1,46 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   -+rtmidi=virtual  -M0    ;;;realtime audio out and realtime midi in
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+;-o fluidLoad.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs = 1
+
+giengine fluidEngine
+; soundfont path to manual/examples
+isfnum	 fluidLoad "07AcousticGuitar.sf2", giengine, 1
+	 fluidProgramSelect giengine, 1, isfnum, 0, 0
+
+instr 1
+
+	mididefault   60, p3
+	midinoteonkey p4, p5
+ikey	init p4
+ivel	init p5
+	fluidNote giengine, 1, ikey, ivel
+
+endin
+
+instr 99
+
+imvol  init 7
+asigl, asigr fluidOut giengine
+       outs asigl*imvol, asigr*imvol
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 2 60 100 ;play one note from score and...
+i 99 0 60      ;play virtual keyboard for 60 sec.
+e
+
+</CsScore>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/fluidNote.csd b/examples/fluidNote.csd
new file mode 100644
index 0000000..3342ec2
--- /dev/null
+++ b/examples/fluidNote.csd
@@ -0,0 +1,46 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   -+rtmidi=virtual  -M0    ;;;realtime audio out and realtime midi in
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+;-o fluidNote.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs = 1
+
+giengine fluidEngine
+; soundfont path to manual/examples
+isfnum	 fluidLoad "19Trumpet.sf2", giengine, 1
+	 fluidProgramSelect giengine, 1, isfnum, 0, 56
+
+instr 1
+
+	mididefault   60, p3
+	midinoteonkey p4, p5
+ikey	init p4
+ivel	init p5
+	fluidNote giengine, 1, ikey, ivel
+
+endin
+
+instr 99
+
+imvol  init 7
+asigl, asigr fluidOut giengine
+       outs asigl*imvol, asigr*imvol
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 2 60 100 ;play one note from score and...
+i 99 0 60      ;play virtual keyboard for 60 sec.
+e
+
+</CsScore>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/fluidOut.csd b/examples/fluidOut.csd
new file mode 100644
index 0000000..64bfb69
--- /dev/null
+++ b/examples/fluidOut.csd
@@ -0,0 +1,72 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   -+rtmidi=virtual  -M0    ;;;realtime audio out and realtime midi in
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+;-o fluidOut.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs = 1
+
+giengine1 fluidEngine
+; soundfont path to manual/examples
+isfnum1	 fluidLoad "01hpschd.sf2", giengine1, 1
+	 fluidProgramSelect giengine1, 1, isfnum1, 0, 0
+
+giengine2 fluidEngine
+; soundfont path to manual/examples
+isfnum2	 fluidLoad "22Bassoon.sf2", giengine2, 1
+	 fluidProgramSelect giengine2, 1, isfnum2, 0, 70
+
+instr 1
+
+	mididefault   60, p3
+	midinoteonkey p4, p5
+ikey	init p4
+ivel	init p5
+	fluidNote giengine1, 1, ikey, ivel
+
+endin
+
+instr 2
+
+	mididefault   60, p3
+	midinoteonkey p4, p5
+ikey	init p4
+ivel	init p5
+	fluidNote giengine2, 1, ikey, ivel
+
+endin
+
+instr 98
+
+imvol  init 7
+asigl, asigr fluidOut giengine1
+       outs asigl*imvol, asigr*imvol
+endin
+
+instr 99
+
+imvol init 4
+asigl, asigr fluidOut giengine2		 ;add a stereo flanger
+adelL linseg 0, p3*.5, 0.02, p3*.5, 0	 ;max delay time =20ms
+adelR linseg 0.02, p3*.5, 0, p3*.5, 0.02 ;max delay time =20ms		
+asigL flanger asigl, adelL, .6
+asigR flanger asigr, adelR, .6
+      outs asigL*imvol, asigR*imvol
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 2 60 100 ;play one note of instr 1
+i 2 2 2 60 100 ;play another note of instr 2 and...
+i 98 0 60      ;play virtual keyboard for 60 sec.
+i 99 0 60
+e
+</CsScore>
+</CsoundSynthesizer> 
diff --git a/examples/fluidProgramSelect.csd b/examples/fluidProgramSelect.csd
new file mode 100644
index 0000000..b21bcf0
--- /dev/null
+++ b/examples/fluidProgramSelect.csd
@@ -0,0 +1,46 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   -+rtmidi=virtual  -M0    ;;;realtime audio out and realtime midi in
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+;-o fluidProgramSelect.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs = 1
+
+giengine fluidEngine
+; soundfont path to manual/examples
+isfnum	 fluidLoad "19Trumpet.sf2", giengine, 1
+	 fluidProgramSelect giengine, 1, isfnum, 0, 56
+
+instr 1
+
+	mididefault   60, p3
+	midinoteonkey p4, p5
+ikey	init p4
+ivel	init p5
+	fluidNote giengine, 1, ikey, ivel
+
+endin
+
+instr 99
+
+imvol  init 7
+asigl, asigr fluidOut giengine
+       outs asigl*imvol, asigr*imvol
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 2 60 100 ;play one note from score and...
+i 99 0 60      ;play virtual keyboard for 60 sec.
+e
+
+</CsScore>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/fluidSetInterpMethod.csd b/examples/fluidSetInterpMethod.csd
new file mode 100644
index 0000000..c9e54f8
--- /dev/null
+++ b/examples/fluidSetInterpMethod.csd
@@ -0,0 +1,52 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out and realtime midi in
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+;-o fluidSetInterpMethod.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs = 1
+
+giengine fluidEngine
+; soundfont path to manual/examples
+isfnum	 fluidLoad "07AcousticGuitar.sf2", giengine, 1
+	 fluidProgramSelect giengine, 1, isfnum, 0, 0
+
+instr 1
+
+	mididefault   60, p3
+	midinoteonkey p4, p5
+ikey	init p4
+ivel	init p5
+iInterpMethod = p6
+fluidSetInterpMethod giengine, 1, iInterpMethod
+	fluidNote giengine, 1, ikey, ivel
+
+endin
+
+instr 99
+
+imvol  init 7
+asigl, asigr fluidOut giengine
+       outs asigl*imvol, asigr*imvol
+
+endin
+</CsInstruments>
+<CsScore>
+;hear the difference
+i 1 0 2 60 120 0 ;no interpolation
+i 1 3 2 72 120 0
+i 1 6 2 60 120 7 ;7th order interpolation
+i 1 9 2 72 120 7
+
+i 99 0 12    
+
+e
+</CsScore>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/fluidcomplex.csd b/examples/fluidcomplex.csd
index 2b99883..f8d63bb 100644
--- a/examples/fluidcomplex.csd
+++ b/examples/fluidcomplex.csd
@@ -1,15 +1,18 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages   Load external midi file
--d -m2 -o dac -T -F Anna.mid          ;;;RT audio I/O
-
+;Load external midi file from manual/examples
+-odac -T -F  Anna.mid;;;realtime audio I/O and midifile in
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o fluidcomplex.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
+
 sr = 44100
-ksmps = 128
+ksmps = 32
 nchnls = 2
-0dbfs = 1
+0dbfs  = 1
 
 ; Example by Istvan Varga
 
@@ -24,7 +27,7 @@ lp1:
 ; initialize FluidSynth
 
 gifld   fluidEngine
-gisf2   fluidLoad "07AcousticGuitar.sf2", gifld, 1
+gisf2   fluidLoad "sf_GMbank.sf2", gifld, 1
 
 ; k-rate version of fluidProgramSelect
 
@@ -61,9 +64,10 @@ nxt:
       kgoto nxt
   endif
 
-  ; get audio output from FluidSynth
+; get audio output from FluidSynth
+  ivol   init 3 ;a bit louder
   aL, aR fluidOut gifld
-        outs      aL, aR
+         outs     aL*ivol, aR*ivol
 endin
 
 </CsInstruments>
diff --git a/examples/flute.aiff b/examples/flute.aiff
new file mode 100644
index 0000000..7a1c9b7
Binary files /dev/null and b/examples/flute.aiff differ
diff --git a/examples/fmb3.csd b/examples/fmb3.csd
index 8117073..be3a5f8 100644
--- a/examples/fmb3.csd
+++ b/examples/fmb3.csd
@@ -1,49 +1,37 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o fmb3.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32  
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  kamp = 15000
-  kfreq = 440
-  kc1 = 5
-  kc2 = 5
-  kvdepth = 0.005
-  kvrate = 6
-  ifn1 = 1
-  ifn2 = 1
-  ifn3 = 1
-  ifn4 = 1
-  ivfn = 1
 
-  a1 fmb3 kamp, kfreq, kc1, kc2, kvdepth, kvrate,  \
-          ifn1, ifn2, ifn3, ifn4, ivfn
-  out a1
-endin
+kfreq = 220
+kc1 = p4
+kc2 = p5
+kvrate = 6
 
+kvdpth line 0, p3, p6
+asig   fmb3 .4, kfreq, kc1, kc2, kvdpth, kvrate
+       outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
-
-; Table #1, a sine wave.
+;sine wave.
 f 1 0 32768 10 1
 
-; Play Instrument #1 for two seconds.
-i 1 0 2
+i 1 0 2  5  5 0.1
+i 1 3 2 .5 .5 0.01
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/fmbell.csd b/examples/fmbell.csd
index 85216b4..fe14a25 100644
--- a/examples/fmbell.csd
+++ b/examples/fmbell.csd
@@ -1,48 +1,56 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o fmbell.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32  
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  kamp = 10000
-  kfreq = 880
-  kc1 = 5
-  kc2 = 5
-  kvdepth = 0.005
-  kvrate = 6
-  ifn1 = 1
-  ifn2 = 1
-  ifn3 = 1
-  ifn4 = 1
-  ivfn = 1
-
-  a1 fmbell kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, ifn4, ivfn
-  out a1
+
+kamp = p4
+kfreq = 880
+kc1 = p5
+kc2 = p6
+kvdepth = 0.005
+kvrate = 6
+
+asig fmbell kamp, kfreq, kc1, kc2, kvdepth, kvrate
+     outs asig, asig
 endin
 
+instr 2
+
+kamp = p4
+kfreq = 880
+kc1 = p5
+kc2 = p6
+kvdepth = 0.005
+kvrate = 6
+
+asig fmbell kamp, kfreq, kc1, kc2, kvdepth, kvrate, 1, 1, 1, 1, 1, p7
+     outs asig, asig
+endin
 
 </CsInstruments>
 <CsScore>
-
-; Table #1, a sine wave.
+; sine wave.
 f 1 0 32768 10 1
 
-; Play Instrument #1 for three seconds.
-i 1 0 3
-e
+i 1 0 3 .2  5 5 
+i 1 + 4 .3 .5 1
+s
+i 2 0 12 .2  5 5 16
+i 2 + 12 .3 .5 1 12
 
 
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/fmmetal.csd b/examples/fmmetal.csd
index ccdb8bc..e833b66 100644
--- a/examples/fmmetal.csd
+++ b/examples/fmmetal.csd
@@ -1,50 +1,45 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o fmmetal.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32  
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  kamp = 10000
-  kfreq = 440
-  kc1 = 6
-  kc2 = 5
-  kvdepth = 0
-  kvrate = 0
-  ifn1 = 1
-  ifn2 = 2
-  ifn3 = 2
-  ifn4 = 1
-  ivfn = 1
 
-  a1 fmmetal kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, ifn4, ivfn
-  out a1
-endin
+kfreq = 440
+kvdepth = 0
+kvrate = 0
+ifn1 = 1
+ifn2 = 2
+ifn3 = 2
+ifn4 = 1
+ivfn = 1
+kc2  = p5
 
+kc1  line p4, p3, 1
+asig fmmetal .5, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, ifn4, ivfn
+     outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
-
-; Table #1, a normal sine wave.
+; sine wave.
 f 1 0 32768 10 1
-; Table #2, the "twopeaks.aiff" audio file.
+; the "twopeaks.aiff" audio file.
 f 2 0 256 1 "twopeaks.aiff" 0 0 0 
 
-; Play Instrument #1 for one second.
-i 1 0 1
-e
-
 
+i 1 0 4 6 5 
+i 1 5 4 .2 10 
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/fmpercfl.csd b/examples/fmpercfl.csd
index 9a0b62c..7d4f6d1 100644
--- a/examples/fmpercfl.csd
+++ b/examples/fmpercfl.csd
@@ -1,48 +1,39 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o fmpercfl.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32  
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  kamp = 30000
-  kfreq = 220
-  kc1 = 5
-  kc2 = 5
-  kvdepth = 0.005
-  kvrate = 6
-  ifn1 = 1
-  ifn2 = 1
-  ifn3 = 1
-  ifn4 = 1
-  ivfn = 1
-
-  a1 fmpercfl kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, ifn4, ivfn
-  out a1
+
+kfreq = 220
+kc1 = 5
+kvdepth = .01
+kvrate = 6
+
+kc2  line 5, p3, p4
+asig fmpercfl .5, kfreq, kc1, kc2, kvdepth, kvrate
+     outs asig, asig
 endin
 
 
 </CsInstruments>
 <CsScore>
-
-; Table #1, a sine wave.
+; sine wave.
 f 1 0 32768 10 1
 
-; Play Instrument #1 for one second.
-i 1 0 1
-e
-
+i 1 0 4 5
+i 1 5 8 .1
 
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/fmrhode.csd b/examples/fmrhode.csd
index d2ad965..c38aadc 100644
--- a/examples/fmrhode.csd
+++ b/examples/fmrhode.csd
@@ -1,50 +1,45 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o fmrhode.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32  
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  kamp = 30000
-  kfreq = 220
-  kc1 = 6
-  kc2 = 0
-  kvdepth = 0.01
-  kvrate = 3
-  ifn1 = 1
-  ifn2 = 1
-  ifn3 = 1
-  ifn4 = 2
-  ivfn = 1
 
-  a1 fmrhode kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, ifn4, ivfn
-  out a1
-endin
+kfreq = 220
+kc1 = p4
+kc2 = p5
+kvdepth = 0.01
+kvrate = 3
+ifn1 = 1
+ifn2 = 1
+ifn3 = 1
+ifn4 = 2
+ivfn = 1
 
+asig fmrhode .5, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, ifn4, ivfn
+     outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
-
-; Table #1, a sine wave.
+;  sine wave.
 f 1 0 32768 10 1
-; Table #2, the "fwavblnk.aiff" audio file.
+; audio file.
 f 2 0 256 1 "fwavblnk.aiff" 0 0 0
 
-; Play Instrument #1 for two seconds.
-i 1 0 2
+i 1 0 3 6 0
+i 1 + . 6 3
+i 1 + . 20 0
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/fmvoice.csd b/examples/fmvoice.csd
index 357844e..3ef85ec 100644
--- a/examples/fmvoice.csd
+++ b/examples/fmvoice.csd
@@ -1,58 +1,53 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o fmvoice.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32  
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  kamp = 30000
-  kfreq = 110
-  ; Use the fourth p-field for the vowel.
-  kvowel = p4
-  ktilt = 0
-  kvibamt = 0.005
-  kvibrate = 6
-  ifn1 = 1
-  ifn2 = 1
-  ifn3 = 1
-  ifn4 = 1
-  ivibfn = 1
-
-  a1 fmvoice kamp, kfreq, kvowel, ktilt, kvibamt, kvibrate, ifn1, ifn2, ifn3, ifn4, ivibfn
-  out a1
-endin
 
+kfreq = 110
+kvowel = p4	; p4 = vowel (0 - 64)
+ktilt  = p5
+kvibamt = 0.005
+kvibrate = 6
+
+asig fmvoice .5, kfreq, kvowel, ktilt, kvibamt, kvibrate
+outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
-
-; Table #1, a sine wave.
+;  sine wave.
 f 1 0 16384 10 1
 
-; p4 = vowel (a value from 0 to 64)
-; Play Instrument #1 for one second, vowel=1.
-i 1 0 1 1
-; Play Instrument #1 for one second, vowel=2.
-i 1 1 1 2
-; Play Instrument #1 for one second, vowel=3.
-i 1 2 1 3
-; Play Instrument #1 for one second, vowel=4.
-i 1 3 1 4
-; Play Instrument #1 for one second, vowel=5.
-i 1 4 1 5
-e
-
+i 1 0 1 1  0	; tilt=0
+i 1 1 1 >  .
+i 1 2 1 >  .
+i 1 3 1 >  .
+i 1 4 1 >  .
+i 1 5 1 >  .
+i 1 6 1 >  .
+i 1 7 1 12 .
+
+i 1 10 1 1  90	; tilt=90
+i 1 11 1 >  .
+i 1 12 1 >  .
+i 1 13 1 >  .
+i 1 14 1 >  .
+i 1 15 1 >  .
+i 1 16 1 >  .
+i 1 17 1 12 .
 
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/fmwurlie.csd b/examples/fmwurlie.csd
index 96df346..6251c21 100644
--- a/examples/fmwurlie.csd
+++ b/examples/fmwurlie.csd
@@ -1,50 +1,45 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o fmwurlie.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 22050
-kr = 2205
-ksmps = 10
-nchnls = 1
+sr = 44100
+ksmps = 32  
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  kamp = 30000
-  kfreq = 440
-  kc1 = 6
-  kc2 = 1
-  kvdepth = 0.005
-  kvrate = 6
-  ifn1 = 1
-  ifn2 = 1
-  ifn3 = 1
-  ifn4 = 2
-  ivfn = 1
 
-  a1 fmwurlie kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, ifn4, ivfn
-  out a1
-endin
+kfreq = 440
+kc1 = p4
+kc2 = 1
+kvdepth = 0.05
+kvrate = 6
+ifn1 = 1
+ifn2 = 1
+ifn3 = 1
+ifn4 = 2
+ivfn = 1
 
+asig fmwurlie .5, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, ifn4, ivfn
+     outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
-
-; Table #1, a sine wave.
+; sine wave
 f 1 0 32768 10 1
-; Table #2, the "fwavblnk.aiff" audio file.
+; audio file
 f 2 0 256 1 "fwavblnk.aiff" 0 0 0
 
-; Play Instrument #1 for two seconds.
-i 1 0 2
+i 1 0 3 6
+i 1 + 3 30
+i 1 + 2 60
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/fof.csd b/examples/fof.csd
index b9413cc..4888853 100644
--- a/examples/fof.csd
+++ b/examples/fof.csd
@@ -1,60 +1,56 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o fof.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32  
+nchnls = 2
 
-; Instrument #1.
 instr 1
   ; Combine five formants together to create 
-  ; an alto-"a" sound.
-
+  ; a transformation from an alto-"a" sound
+  ; to an alto-"i" sound.
   ; Values common to all of the formants.
   kfund init 261.659
   koct init 0
   kris init 0.003
   kdur init 0.02
   kdec init 0.007
-  iolaps = 14850
+  iolaps = 100
   ifna = 1
   ifnb = 2
   itotdur = p3
 
   ; First formant.
   k1amp = ampdb(0)
-  k1form init 800
-  k1band init 80
+  k1form line 800, p3, 350
+  k1band line 80, p3, 50
 
   ; Second formant.
-  k2amp = ampdb(-4)
-  k2form init 1150
-  k2band init 90
+  k2amp line ampdb(-4), p3, ampdb(-20)
+  k2form line 1150, p3, 1700
+  k2band line 90, p3, 100
 
   ; Third formant.
-  k3amp = ampdb(-20)
-  k3form init 2800
+  k3amp line ampdb(-20), p3, ampdb(-30)
+  k3form line 2800, p3, 2700
   k3band init 120
 
   ; Fourth formant.
-  k4amp = ampdb(-36)
-  k4form init 3500
-  k4band init 130
+  k4amp init ampdb(-36)
+  k4form line 3500, p3, 3700
+  k4band line 130, p3, 150
 
   ; Fifth formant.
-  k5amp = ampdb(-60)
+  k5amp init ampdb(-60)
   k5form init 4950
-  k5band init 140
+  k5band line 140, p3, 200
 
   a1 fof k1amp, kfund, k1form, koct, k1band, kris, \
          kdur, kdec, iolaps, ifna, ifnb, itotdur
@@ -67,24 +63,20 @@ instr 1
   a5 fof k5amp, kfund, k5form, koct, k5band, kris, \
          kdur, kdec, iolaps, ifna, ifnb, itotdur
 
-  ; Combine all of the formants together.
-  out (a1+a2+a3+a4+a5) * 16384
-endin
-
+  ; Combine all of the formants together
+asig sum (a1+a2+a3+a4+a5) * 13000
+     outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
-
-
-; Table #1, a sine wave.
+; sine wave
 f 1 0 4096 10 1
-; Table #2.
+; sigmoid wave
 f 2 0 1024 19 0.5 0.5 270 0.5
 
-; Play Instrument #1 for three seconds.
-i 1 0 3
+i 1 0 1
+i 1 2 5	; same but slower
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/fofilter.csd b/examples/fofilter.csd
old mode 100755
new mode 100644
index ac37c13..6fbab40
--- a/examples/fofilter.csd
+++ b/examples/fofilter.csd
@@ -1,32 +1,33 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o fofilter.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
-sr	=  44100
-ksmps   =  10
-nchnls  =  1
 
-       instr 1
-kfe	expseg	10, p3*0.9, 180, p3*0.1, 175
-kenv	linen		1000, 0.05, p3, 0.05
-asig	buzz		kenv, kfe, sr/(2*kfe), 1
-afil	fofilter	asig, 900, 0.007, 0.04
-             
-	out	afil 
+sr = 44100
+ksmps = 32  
+nchnls = 2
+0dbfs  = 1
 
-       endin
+instr 1
+
+kfe  expseg 10, p3*0.9, 180, p3*0.1, 175
+kenv linen .1, 0.05, p3, 0.05
+asig buzz  kenv, kfe, sr/(2*kfe), 1
+afil fofilter asig, 900, 0.007, 0.04
+     outs  afil, afil 
+
+endin
 </CsInstruments>
 <CsScore>
-; Table #1, a sine wave.
+; sine wave
 f 1 0 16384 10 1
+
 i 1 0 10
 e
 </CsScore>
-
-
 </CsoundSynthesizer>
diff --git a/examples/fog.csd b/examples/fog.csd
old mode 100755
new mode 100644
index f97862d..3fde86f
--- a/examples/fog.csd
+++ b/examples/fog.csd
@@ -1,36 +1,37 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d    ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o fog.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
-; Initialize the global variables.
+
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
 instr 1
 
 ;p4 = transposition factor
 ;p5 = speed factor
 ;p6 = function table for grain data
-i1	=	sr/ftlen(p6) ;scaling to reflect sample rate and table length
-a1	phasor	i1*p5 ;index for speed
-a2	fog	15000, 20, p4, a1, 1, 0, .01, .5, .01, 30, 1, 2, p3 
-
-	out	a2
+i1    =	sr/ftlen(1) ;scaling to reflect sample rate and table length
+a1    phasor i1*p5 ;index for speed
+asigl fog    .5, 15, p4, a1, 1, 0, .01, .5, .01, 30, 1, 2, p3 		;left channel
+asigr fog    .4, 25, p4+.2, a1, 1, 0, .01, .5, .01, 30, 1, 2, p3, .5	;right channel
+      outs   asigl, asigr
 endin
 
 </CsInstruments>
 <CsScore>
-f 1 0 131072 1 "beats.wav" 0 0 0
+f 1 0 131072 1 "fox.wav" 0 0 0
 f 2 0 1024 19 .5 .5 270 .5
 
-i 1 0 6 1 .01 1
+i 1 0 10 .7  .1
+i 1 + 4  1.2  2
 e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/fold.csd b/examples/fold.csd
index aa21186..db1c9b9 100644
--- a/examples/fold.csd
+++ b/examples/fold.csd
@@ -1,39 +1,36 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o fold.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  ; Use an ordinary sine wave.
-  asig oscils 30000, 100, 1
 
-  ; Vary the fold-over amount from 1 to 200.
-  kincr line 1, p3, 200
-  a1 fold asig, kincr
+asig  poscil3 .8, 400, 1 ;very clean sine
+kincr line p4, p3, p5
+asig  fold asig, kincr
+      outs asig, asig
 
-  out a1
 endin
-
-
 </CsInstruments>
 <CsScore>
+;sine wave.
+f 1 0 16384 10 1
 
-; Play Instrument #1 for four seconds.
-i 1 0 4
-e
-
+i 1 0  4 2  2 
+i 1 5  4 5  5 
+i 1 10 4 10 10 
+i 1 15 4 1 100	; Vary the fold-over amount from 1 to 100
 
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/follow.csd b/examples/follow.csd
index 907d43f..2736df8 100644
--- a/examples/follow.csd
+++ b/examples/follow.csd
@@ -1,52 +1,45 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o follow.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1 - play a WAV file.
 instr 1
-  a1 soundin "beats.wav"
-  out a1
-endin
-
-; Instrument #2 - have another waveform follow the WAV file.
-instr 2
-  ; Follow the WAV file.
-  as soundin "beats.wav"
-  af follow as, 0.01
 
-  ; Use a sine waveform.
-  as oscil 4000, 440, 1
-  ; Have it use the amplitude of the followed WAV file.
-  a1 balance as, af
+asig soundin "beats.wav"
+     outs asig, asig
 
-  out a1
 endin
 
+instr 2	;envelope follower
 
+as   soundin "beats.wav"
+as   = as*.7		;reduce volume a bit
+at   tone    as, 500	;smooth estimated envelope
+af   follow  at, p4
+asin poscil3 .5, 440, 1
+; "beats.wav" provides amplitude for poscil
+asig balance asin, af
+     outs    asig, asig
+
+endin
 </CsInstruments>
 <CsScore>
-
-; Just generate a nice, ordinary sine wave.
+;sine wave.
 f 1 0 32768 10 1
 
-; Play Instrument #1 for two seconds.
 i 1 0 2
-; Play Instrument #2 for two seconds.
-i 2 2 2
+i 2 2 2 0.001 ;follow quickly
+i 2 5 3 0.2   ;follow slowly
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/follow2.csd b/examples/follow2.csd
index 5f11a7d..e49b6ee 100644
--- a/examples/follow2.csd
+++ b/examples/follow2.csd
@@ -1,49 +1,41 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o follow2.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1 - play a WAV file.
 instr 1
-  a1 soundin "beats.wav"
-  out a1
+
+asig soundin "beats.wav"
+     outs asig, asig
 endin
 
-; Instrument #2 - have another waveform follow the WAV file.
-instr 2
-  ; Follow the WAV file.
-  as soundin "beats.wav"
-  af follow2 as, 0.01, 0.1
+instr 2 ;using follow2
 
-  ; Use a noise waveform.
-  ar rand 44100
-  ; Have it use the amplitude of the followed WAV file.
-  a1 balance ar, af
+as soundin "beats.wav"
+af follow2 as, p4, p5
+ar rand 44100	;noise
+; "beats.wav" provides amplitude for noise
+asig balance ar, af
+     outs asig, asig
 
-  out a1
 endin
-
-
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for two seconds.
 i 1 0 2
-; Play Instrument #2 for two seconds.
-i 2 2 2
-e
-
+i 2 2 2 0.001 0.01 ;quick attack & deacy
+i 2 5 2  0.1   0.5  ;slow attack & deacy	
 
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/foscil.csd b/examples/foscil.csd
index 614a5b4..8e31e69 100644
--- a/examples/foscil.csd
+++ b/examples/foscil.csd
@@ -1,43 +1,38 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o foscil.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1 - a basic FM waveform.
 instr 1
-  kamp = 10000
-  kcps = 440
-  kcar = 600
-  kmod = 210
-  kndx = 2
-  ifn = 1
 
-  a1 foscil kamp, kcps, kcar, kmod, kndx, ifn
-  out a1
-endin
+kcps = 440
+kcar = 1
+kmod = p4
+kndx line 0, p3, 20	;intensivy sidebands
 
+asig foscil .5, kcps, kcar, kmod, kndx, 1
+     outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
-
-; Table #1, a sine wave.
+; sine
 f 1 0 16384 10 1
 
-; Play Instrument #1 for 2 seconds.
-i 1 0 2
+i 1 0  9 .01	;vibrato
+i 1 10 .  1
+i 1 20 . 1.414	;gong-ish
+i 1 30 5 2.05	;with "beat"
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/foscili.csd b/examples/foscili.csd
index 2e0771a..8be8cf3 100644
--- a/examples/foscili.csd
+++ b/examples/foscili.csd
@@ -1,61 +1,38 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o foscili.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1 - a basic FM waveform.
 instr 1
-  kamp = 10000
-  kcps = 440
-  kcar = 600
-  kmod = 210
-  kndx = 2
-  ifn = 1
 
-  a1 foscil kamp, kcps, kcar, kmod, kndx, ifn
-  out a1
-endin
+kcps = 440
+kcar = 1
+kmod = p4
+kndx line 0, p3, 20	;intensivy sidebands
 
-; Instrument #2 - the basic FM waveform with extra interpolation.
-instr 2
-  kamp = 10000
-  kcps = 440
-  kcar = 600
-  kmod = 210
-  kndx = 2
-  ifn = 1
+asig foscili .5, kcps, kcar, kmod, kndx, 1
+     outs asig, asig
 
-  a1 foscili kamp, kcps, kcar, kmod, kndx, ifn
-  out a1
 endin
-
-
 </CsInstruments>
 <CsScore>
+; sine
+f 1 0 16384 10 1
 
-; Table #1, a sine wave table with a small amount of data.
-f 1 0 4096 10 1
-
-; Play Instrument #1, the basic FM instrument, for 
-; two seconds. This should sound relatively rough.
-i 1 0 2
-
-; Play Instrument #2, the interpolated FM instrument, for
-; two seconds. This should sound relatively smooth.
-i 2 2 2
+i 1 0  9 .01	;vibrato
+i 1 10 .  1
+i 1 20 . 1.414	;gong-ish
+i 1 30 5 2.05	;with "beat"
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/fout.csd b/examples/fout.csd
index 89526af..33ea409 100644
--- a/examples/fout.csd
+++ b/examples/fout.csd
@@ -1,41 +1,54 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o fout.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giSine ftgen 0, 0, 2^10, 10, 1
 
-; Instrument #1.
 instr 1
-  iamp = 10000
-  icps = 440
-  iphs = 0
 
-  ; Create an audio signal.
-  asig oscils iamp, icps, iphs
+asig poscil3 .5, 880, giSine
+;write a raw file: 32 bits with header
+     fout "fout_880.wav", 15, asig	
+     outs asig, asig
+
+endin
+
+instr 2
+
+klfo lfo 1, 2, 0
+asig poscil3 .5*klfo, 220, giSine
+;write an aiff file: 32 bits with header
+     fout "fout_aif.aiff", 25, asig	
+;        fout "fout_all3.wav", 14, asig
+     outs asig, asig
 
-  ; Write the audio signal to a headerless audio file 
-  ; called "fout.raw".
-  fout "fout.raw", 1, asig
 endin
 
+instr 99 ;read the stereo csound output buffer
 
+allL, allR monitor
+;write the output of csound to an audio file
+;to a wav file: 16 bits with header
+           fout "fout_all.wav", 14, allL, allR
+
+endin
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for 2 seconds.
 i 1 0 2
+i 2 0 3
+i 99 0 3
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/fouti.csd b/examples/fouti.csd
new file mode 100644
index 0000000..d794b88
--- /dev/null
+++ b/examples/fouti.csd
@@ -0,0 +1,32 @@
+<CsoundSynthesizer> 
+<CsOptions> 
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o fouti.wav -W ;;; for file output any platform
+</CsOptions> 
+<CsInstruments> 
+
+sr = 44100 
+ksmps = 32 
+nchnls = 2 
+0dbfs  = 1 
+
+gihand fiopen "test.txt", 0 
+
+instr 1
+
+ires  random  0, 10 
+      fouti gihand, 0, 1, ires 
+      ficlose gihand
+
+endin 
+</CsInstruments> 
+<CsScore> 
+
+i 1 0 1 
+
+e
+</CsScore> 
+</CsoundSynthesizer> 
diff --git a/examples/foutir.csd b/examples/foutir.csd
new file mode 100644
index 0000000..b2f0df1
--- /dev/null
+++ b/examples/foutir.csd
@@ -0,0 +1,39 @@
+<CsoundSynthesizer> 
+<CsOptions> 
+; Select audio/midi flags here according to platform
+-odac  -+rtmidi=virtual -M0  ;;;realtime audio out and midi in
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o foutir.wav -W ;;; for file output any platform
+</CsOptions> 
+<CsInstruments> 
+
+sr = 44100 
+ksmps = 32 
+nchnls = 2 
+0dbfs  = 1 
+
+gihand fiopen "foutir.sco", 0 
+
+instr 1 ; play virtual midi keyboard
+
+inot  notnum  ;just for priting on screen
+icps  cpsmidi    
+iamp  ampmidi 1
+
+      foutir  gihand, 0, 1, icps, iamp 
+      prints  "WRITING:\n"
+      prints  "note = %f,velocity = %f\n", icps, iamp  ;prints them
+      ficlose gihand
+asig  pluck   iamp, icps, 1000, 0, 1
+      outs    asig, asig
+
+endin 
+</CsInstruments> 
+<CsScore> 
+
+f 0 10
+
+e
+</CsScore> 
+</CsoundSynthesizer> 
diff --git a/examples/fox.ats b/examples/fox.ats
new file mode 100644
index 0000000..9bd7f2c
Binary files /dev/null and b/examples/fox.ats differ
diff --git a/examples/fractalnoise.csd b/examples/fractalnoise.csd
new file mode 100644
index 0000000..9a5a467
--- /dev/null
+++ b/examples/fractalnoise.csd
@@ -0,0 +1,29 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o oscil.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+kbeta linseg 0, p3/4, 2, p3/4, 0, p3*0.1, 2, p3*0.15, 0
+seed  20120124
+aout  fractalnoise 0.05, kbeta 
+outs  aout, aout
+
+endin
+</CsInstruments>
+<CsScore>
+i1 0 10
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/ftchnls.csd b/examples/ftchnls.csd
index 99733de..d4545a2 100644
--- a/examples/ftchnls.csd
+++ b/examples/ftchnls.csd
@@ -1,37 +1,43 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+;-odac     ;;;realtime audio out
+-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o ftchnls.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  ; Print out the number of channels in Table #1.
-  ichnls = ftchnls(1)
-  print ichnls
-endin
 
+ichnls = ftchnls(p4)
+print ichnls
+
+if (ichnls == 1) then
+   asigL loscil3 .8, 4, p4
+   asigR = 	asigL
+elseif (ichnls == 2) then
+   asigL, asigR loscil3 .8, 4, p4
+;safety precaution if not mono or stereo
+else
+   asigL = 0
+   asigR = 0
+endif
+        outs asigL, asigR
 
+endin
 </CsInstruments>
 <CsScore>
-
-; Table #1: Use an audio file, Csound will determine its size.
 f 1 0 0 1 "mary.wav" 0 0 0
+f 2 0 0 1 "kickroll.wav" 0 0 0
 
-; Play Instrument #1 for 1 second.
-i 1 0 1
+i 1 0 3 1 ;mono file
+i 1 + 2 2 ;stereo file
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/ftfree.csd b/examples/ftfree.csd
new file mode 100644
index 0000000..556150a
--- /dev/null
+++ b/examples/ftfree.csd
@@ -0,0 +1,37 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o ftfree.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+gitempTable ftgen 0, 0, 65537, 10, 1
+
+instr 1
+
+aout oscili .5, 440, gitempTable
+     outs aout, aout
+
+;free temp table at deinit time
+ftfree gitempTable, 1
+print  gitempTable
+
+endin
+</CsInstruments>
+<CsScore>
+f 0 5
+
+i 1 0 .1
+i 1 3 1
+
+e
+</CsScore>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/ftgen.csd b/examples/ftgen.csd
index 710c254..2333d87 100644
--- a/examples/ftgen.csd
+++ b/examples/ftgen.csd
@@ -1,41 +1,35 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o ftgen.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs   =1
 
-; Table #1, a sine wave using the GEN10 routine.
-gitemp ftgen 1, 0, 16384, 10, 1
+gisine   ftgen 1, 0, 16384, 10, 1	;sine wave
+gisquare ftgen 2, 0, 16384, 10, 1, 0 , .33, 0, .2 , 0, .14, 0 , .11, 0, .09 ;odd harmonics
+gisaw    ftgen 3, 0, 16384, 10, 0, .2, 0, .4, 0, .6, 0, .8, 0, 1, 0, .8, 0, .6, 0, .4, 0,.2 ;even harmonics
 
-; Instrument #1 - a basic oscillator.
 instr 1
-  kamp = 10000
-  kcps = 440
-  ; Use Table #1.
-  ifn = 1
-
-  a1 oscil kamp, kcps, ifn
-  out a1
-endin
 
+ifn = p4
+asig poscil .6, 200, ifn
+     outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for 2 seconds.
-i 1 0 2
+i 1 0 2 1 ;sine wave
+i 1 3 2 2 ;odd harmonics
+i 1 6 2 3 ;even harmonics
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/ftgenonce.csd b/examples/ftgenonce.csd
new file mode 100644
index 0000000..fbde12a
--- /dev/null
+++ b/examples/ftgenonce.csd
@@ -0,0 +1,33 @@
+<CsoundSynthesizer> 
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o ftgenonce.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments> 
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1 
+; Use ftgenonce instead of ftgen, ftgentmp, or f statement
+iHz	= p4
+isine	ftgenonce 0, 0, 1024, 10, 1 
+aoscili	pluck .7, iHz, 100, isine, 1 
+aadsr 	adsr 0.015, 0.07, 0.6, 0.3
+asig 	= aoscili * aadsr
+        outs asig, asig
+endin 
+
+</CsInstruments> 
+<CsScore> 
+
+i 1 0 1 220 
+i 1 2 1 261 
+e
+</CsScore> 
+</CsoundSynthesizer> 
\ No newline at end of file
diff --git a/examples/ftlen.csd b/examples/ftlen.csd
index 5844458..57f4391 100644
--- a/examples/ftlen.csd
+++ b/examples/ftlen.csd
@@ -1,38 +1,34 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o ftlen.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs   =1
 
-; Instrument #1.
 instr 1
-  ; Print out the size of Table #1.
-  ; The size will be the number of points excluding the guard point.
-  ilen = ftlen(1)
-  print ilen
-endin
 
+ift  = ftlen(p4)
+     print ift
+aout loscil3 .8, 4, p4
+     outs aout, aout
 
-</CsInstruments>
-<CsScore>
+endin 
+</CsInstruments> 
+<CsScore> 
+f 1 0 0 1 "fox.wav" 0 0 0 ;Csound computes tablesize
+f 2 0 0 1 "beats.wav" 0 0 0 ;Csound computes tablesize
 
-; Table #1: Use an audio file, Csound will determine its size.
-f 1 0 0 1 "mary.wav" 0 0 0
+i 1 0 3 1 ;"fox.wav"
+i 1 3 3 2 ;"beats.wav"
 
-; Play Instrument #1 for 1 second.
-i 1 0 1
 e
-
-
 </CsScore>
-</CsoundSynthesizer>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/ftlptim.csd b/examples/ftlptim.csd
index 16448de..92527c2 100644
--- a/examples/ftlptim.csd
+++ b/examples/ftlptim.csd
@@ -1,37 +1,31 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o ftlptim.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs   =1
 
-; Instrument #1.
 instr 1
-  ; Print out the loop-segment start time in Table #1.
-  itim = ftlptim(1)
-  print itim
-endin
 
+itim = ftlptim(1)
+     print itim
+aout loscil3 .8, 40, 1
+     outs aout, aout
 
+endin
 </CsInstruments>
 <CsScore>
+f 1 0 0 1 "Church.wav" 0 0 0 ;Csound computes tablesize
 
-; Table #1: Use an audio file, Csound will determine its size.
-f 1 0 0 1 "mary.wav" 0 0 0
-
-; Play Instrument #1 for 1 second.
-i 1 0 1
+i 1 0 5
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/ftmorf.csd b/examples/ftmorf.csd
index 1b41b1c..cd7e471 100644
--- a/examples/ftmorf.csd
+++ b/examples/ftmorf.csd
@@ -1,26 +1,26 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o ftmorf.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs   =1
 
 instr 1
-kndx    line    0, p3, 7
-        ftmorf  kndx, 1, 2
-asig    oscili  30000, 440, 2
-        out     asig
-endin
 
+kndx  line   0, p3, 7
+      ftmorf kndx, 1, 2
+asig  oscili .8, 440, 2
+      outs   asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
 
@@ -35,9 +35,7 @@ f8 0 1024 10 0 0 0 0 0 1
 f9 0 1024 10 0 0 0 0 0 0 1
 f10 0 1024 10 1 1 1 1 1 1 1
 
-i1 0 10
+i1 0 15
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/ftsr.csd b/examples/ftsr.csd
index 914a16f..96376b8 100644
--- a/examples/ftsr.csd
+++ b/examples/ftsr.csd
@@ -1,37 +1,36 @@
-<CsoundSynthesizer>
-<CsOptions>
-; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
-; For Non-realtime ouput leave only the line below:
-; -o ftsr.wav -W ;;; for file output any platform
-</CsOptions>
-<CsInstruments>
+<CsoundSynthesizer> 
+<CsOptions> 
+; Select audio/midi flags here according to platform 
+-odac     ;;;realtime audio out 
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too 
+; For Non-realtime ouput leave only the line below: 
+; -o ftsr.wav -W ;;; for file output any platform 
+</CsOptions> 
+<CsInstruments> 
+
+sr = 44100 
+ksmps = 32 
+nchnls = 2 
+0dbfs  = 1 
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
-
-; Instrument #1.
 instr 1
-  ; Print out the sampling rate of Table #1.
-  isr = ftsr(1)
-  print isr
-endin
-
 
+itab = p4
+isr = ftsr(itab)
+prints "sampling-rate of table number %d = %d\n", itab, isr
+    
+endin
 </CsInstruments>
 <CsScore>
-
-; Table #1: Use an audio file.
-f 1 0 262144 1 "mary.wav" 0 0 0
-
-; Play Instrument #1 for 1 second.
-i 1 0 1
+f 1 0 0 1 "kickroll.wav" 0 0 0	;stereo file
+f 2 0 0 1 "ahh.aiff" 0 0 0	;& different formats
+f 3 0 0 1 "beats.mp3" 0 0 0
+f 4 0 0 1 "beats.ogg" 0 0 0
+
+i 1 0 1 1
+i 1 + 1 2
+i 1 + 1 3
+i 1 + 1 4
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/gain.csd b/examples/gain.csd
index 43112c4..7e21311 100644
--- a/examples/gain.csd
+++ b/examples/gain.csd
@@ -1,39 +1,35 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o gain.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  asrc buzz  30000, 440, sr/440, 1 ; band-limited pulse train.
+
+  asrc buzz  .8, 440, sr/440, 1    ; band-limited pulse train.
   a1   reson asrc, 1000, 100       ; Sent through
   a2   reson a1, 3000, 500         ; 2 filters
   krms rms   asrc                  ; then balanced
   afin gain  a2, krms              ; with source
-       out   afin
+       outs  afin, afin
 endin
 
 
 </CsInstruments>
 <CsScore>
-
-; Table #1, a sine wave.
+;sine wave.
 f 1 0 16384 10 1
 
-; Play Instrument #1 for two seconds.
 i 1 0 2
 e
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/gaussi.csd b/examples/gaussi.csd
new file mode 100644
index 0000000..1e2d893
--- /dev/null
+++ b/examples/gaussi.csd
@@ -0,0 +1,32 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o exprand.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs = 1
+
+instr 1
+klambda	gaussi	100, 1, 3
+	printk2 klambda		; look
+aout	oscili	0.8, 440+klambda, 1	; & listen
+	outs	aout, aout
+endin
+
+</CsInstruments>
+<CsScore>
+; sine wave
+f 1 0 16384 10 1
+
+i 1 0 4
+e
+
+</CsScore>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/gausstrig-2.csd b/examples/gausstrig-2.csd
new file mode 100644
index 0000000..1a06d61
--- /dev/null
+++ b/examples/gausstrig-2.csd
@@ -0,0 +1,36 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o oscil.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+kfrq0 oscil 8, 0.25, 1
+ktrig metro 1
+kfrq  samphold kfrq0+8, ktrig 
+seed  20120125
+aimp  gausstrig 0.5, kfrq, 0.5, 1
+aenv  filter2 aimp, 1, 1, 0.993, 0.993
+anoi  fractalnoise 0.2, 1.7
+al    = anoi*aenv
+ar    delay al, 0.02
+outs  al, ar
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0 8192 10 1
+i1 0 16
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/gausstrig.csd b/examples/gausstrig.csd
new file mode 100644
index 0000000..e544ff0
--- /dev/null
+++ b/examples/gausstrig.csd
@@ -0,0 +1,33 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o oscil.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+kdev line 0, p3, 0.9
+seed 20120125
+aimp gausstrig 0.5, 10, kdev
+aenv filter2 aimp, 1, 1, 0.993, 0.993
+anoi fractalnoise 0.2, 1.7
+al   = anoi*aenv
+ar   delay al, 0.02
+outs al, ar
+
+endin
+</CsInstruments>
+<CsScore>
+i1 0 10
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/gbuzz.csd b/examples/gbuzz.csd
index 86c5aae..60085e4 100644
--- a/examples/gbuzz.csd
+++ b/examples/gbuzz.csd
@@ -1,43 +1,38 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o gbuzz.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs   =1
 
-; Instrument #1.
 instr 1
-  kamp = 20000
-  kcps = 440
-  knh = 3
-  klh = 2
-  kmul = 0.7
-  ifn = 1
-
-  a1 gbuzz kamp, kcps, knh, klh, kmul, ifn
-  out a1
-endin
 
+kcps = 220
+knh  = p4		;total no. of harmonics
+klh  = p5		;lowest harmonic
+kmul line 0, p3, 1	;increase amplitude of
+			;higer partials
+asig gbuzz .6, kcps, knh, klh, kmul, 1
+     outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
-
-; Table #1, a simple cosine waveform.
+; a cosine wave
 f 1 0 16384 11 1
 
-; Play Instrument #1 for one second.
-i 1 0 1
+i 1 0 3 3  1 ;3 harmonics, lowest harmonic=1
+i 1 + 3 30 1 ;30 harmonics, lowest harmonic=1
+i 1 + 3 3  2 ;3 harmonics, lowest harmonic=3
+i 1 + 3 30 2 ;30 harmonics, lowest harmonic=3
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/gen01.csd b/examples/gen01.csd
index 9a2c0b4..bcd58b1 100644
--- a/examples/gen01.csd
+++ b/examples/gen01.csd
@@ -1,42 +1,48 @@
-<CsoundSynthesizer>
-<CsOptions>
-; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
-; For Non-realtime ouput leave only the line below:
-; -o gen01.wav -W ;;; for file output any platform
-</CsOptions>
-<CsInstruments>
-
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
-
-; Instrument #1.
-instr 1
-   kamp = 30000
-   kcps = 1
-   ifn = 1
-   ibas = 1
-
-   ; Play the audio sample stored in Table #1.
-   a1 loscil kamp, kcps, ifn, ibas
-   out a1
+<CsoundSynthesizer> 
+<CsOptions> 
+; Select audio/midi flags here according to platform 
+-odac     ;;;realtime audio out 
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too 
+; For Non-realtime ouput leave only the line below: 
+; -o gen01.wav -W ;;; for file output any platform 
+</CsOptions> 
+<CsInstruments> 
+
+sr = 44100 
+ksmps = 32 
+nchnls = 2 
+0dbfs  = 1 
+
+instr 1	;plays deferred and non-deferred sounds with loscil
+
+ifn = p4
+ibas = 1
+
+asig loscil 1, 1, ifn, ibas
+     outs asig, asig
+    
 endin
 
+instr 2	;plays only non-deffered sound            
 
+isnd  = p4
+aread line   sr*p3, p3, 0				;play this backward
+asig  tablei aread, isnd				;use table 1
+      outs   asig, asig
+        
+endin
 </CsInstruments>
 <CsScore>
+f 1 0 131072 1 "beats.wav" 0 0 0			;non-deferred sound
+f 2 0    0   1 "flute.aiff" 0 0 0			;& deferred sounds in 
+f 3 0    0   1 "beats.ogg" 0 0 0			;different formats					
 
-; Table #1: read an audio file (using GEN01).
-f 1 0 131072 1 "beats.wav" 0 4 0
+i 1 0 1 1
+i 1 + 1 2
+i 1 + 1 3
 
-; Play Instrument #1 for 2 seconds.
-i 1 0 2
+i 2 4 2 1	;non-deffered sound for instr. 2
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/gen02.csd b/examples/gen02.csd
index eec5385..3213307 100644
--- a/examples/gen02.csd
+++ b/examples/gen02.csd
@@ -1,49 +1,40 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o gen02.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+sr = 44100 
+ksmps = 32 
+nchnls = 2 
+0dbfs  = 1 
 
-; Instrument #1.
 instr 1
-  ; Create an index over the length of our entire note.
-  kcps init 1/p3
-  kndx phasor kcps
 
-  ; Read Table #1 with our index.
-  ifn = 1
-  ixmode = 1
-  kamp tablei kndx, ifn, ixmode
+ifn  = p4				;choose different tables of GEN02
+kcps init 1/p3				;index over the length of entire note
+kndx phasor kcps
+ixmode = 1				;normalize index data
+kamp tablei kndx, ifn, ixmode
+asig poscil kamp, 440, 1		;use GEN02 as envelope for amplitude
+     outs asig, asig
 
-  ; Create a sine wave, use the Table #1 values to control
-  ; the amplitude. This creates a sound with a long attack.
-  a1 oscil kamp*30000, 440, 2
-  out a1
 endin
-
-
 </CsInstruments>
 <CsScore>
-
-; Table #1: an envelope with a long attack (using GEN02).
-f 1 0 16 2 0 1 2 3 4 5 6 7 8 9 10 11 0
-; Table #2, a sine wave.
-f 2 0 16384 10 1
-
-; Play Instrument #1 for 2 seconds.
-i 1 0 2
+f 1 0 8192 10 1	;sine wave
+f 2 0 5 2 0 2 0
+f 3 0 5 2 0 2 10 0
+f 4 0 9 2 0 2 10 100 0
+
+i 1 0 2 2
+i 1 3 2 3
+i 1 6 2 4
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/gen03.csd b/examples/gen03.csd
index b7d8613..69e86d9 100644
--- a/examples/gen03.csd
+++ b/examples/gen03.csd
@@ -1,49 +1,65 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o gen03.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
-
-; Instrument #1.
-instr 1
-  ; Create an index over the length of our entire note.
-  kcps init 1/p3
-  kndx phasor kcps
-
-  ; Read Table #1 with our index.
-  ifn = 1
-  ixmode = 1
-  kamp table kndx, ifn, ixmode
-
-  ; Create a sine wave, use the Table #1 values to control
-  ; the amplitude.
-  a1 oscil kamp*30000, 440, 2
-  out a1
-endin
+sr = 44100 
+ksmps = 32 
+nchnls = 2 
+0dbfs  = 1
+;example by Russell Pinkston - Univ. of Texas  (but slightly modified)
+
+gisine   ftgen 1, 0, 16384, 10, 1						;sine wave
 
+instr   1
 
+ihertz = cpspch(p4)
+ipkamp = p5
+iwsfn  = p6									;waveshaping function
+inmfn  = p7									;normalization function
+aenv    linen  1, .01, p3, .1        						;overall amp envelope
+actrl   linen  1, 2, p3, 2							;waveshaping index control
+aindex  poscil actrl/2, ihertz, gisine						;sine wave to be distorted
+asignal tablei .5+aindex, iwsfn, 1						;waveshaping
+anormal tablei actrl, inmfn,1							;amplitude normalization
+asig    =      asignal*anormal*ipkamp*aenv	
+asig    dcblock2  asig								;get rid of possible DC						
+        outs   asig, asig
+           
+endin
 </CsInstruments>
 <CsScore>
+; first four notes are specific Chebyshev polynomials using gen03. The values were obtained from Dodge page 147
 
-; Table #1: a polynomial function (using GEN03).
-f 1 0 1025 3 -1 1 5 4 3 2 2 1
-; Table #2, a sine wave.
-f 2 0 16384 10 1
+f4 0 513 3 -1 1 0 1			; First-order Chebyshev: x
+f5 0 257 4 4 1				; Normalizing function for fn4
 
-; Play Instrument #1 for 2 seconds.
-i 1 0 2
-e
+f6 0 513 3 -1 1 -1 0 2			; Second-order Chebyshev: 2x2 - 1
+f7 0 257 4 6 1				; Normalizing function for fn6
+
+f8 0 513 3 -1 1 0 -3 0 4		; Third-order Chebyshev: 4x3 - 3x
+f9 0 257 4 8 1				; Normalizing function for fn8
 
+f10 0 513 3 -1 10 0 -7 0 56 0 -112 0 64	; Seventh-order Chebyshev: 64x7 - 112x5 + 56x3 - 7x
+f11 0 257 4 10 1			; Normalizing function for fn10
 
+f12 0 513 3 -1 1 5 4 3 2 2 1		; a 4th order polynomial function over the x-interval -1 to 1
+f13 0 257 4 12 1			; Normalizing function for fn12
+
+; five notes with same fundamental, different waveshape & normalizing functions
+;        pch	 amp	wsfn	nmfn
+i1 0  3 8.00     .7      4	 5
+i1 +  .  .	 .	 6	 7    
+i1 +  .  .	 .	 8	 9     
+i1 +  .  .       .	 10	 11   
+i1 +  .  .       .	 12	 13 
+
+e
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/gen04.csd b/examples/gen04.csd
new file mode 100644
index 0000000..54b31b3
--- /dev/null
+++ b/examples/gen04.csd
@@ -0,0 +1,53 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o gen04.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100 
+ksmps = 32 
+nchnls = 2 
+0dbfs  = 1 
+
+gisine   ftgen 0, 0, 16384, 10, 1						;sine wave
+
+instr   1
+
+ihertz = cpspch(p4)
+ipkamp = p5
+iwsfn  = p6									;waveshaping function	
+inmfn  = p7									;normalization function 								
+agate   linen   1, .01, p3, .1            					;overall amp envelope
+kctrl   linen  	.9, 2, p3, 2							;waveshaping index control
+aindex  poscil  kctrl/2, ihertz, gisine						;sine wave to be distorted
+asignal tablei  .5+aindex, iwsfn, 1						;waveshaping
+knormal tablei  1/kctrl, inmfn , 1						;amplitude normalization
+        outs    asignal*knormal*ipkamp*agate, asignal*knormal*ipkamp*agate
+           
+endin
+</CsInstruments>
+<CsScore>
+f1 0 64 21 6	;Gaussian (random) distribution
+f2 0 33 4 1 1	;normalizing function with midpoint bipolar offset
+
+s
+;	st	dur	pch	amp   wsfn inmfn
+i1      0       4      6.00    .7      1     2
+i1      4       .      7.00    .
+i1      8       .      8.00    .
+;-------------------------------------------------------------------------------------
+f3 0 1025 13 1 1 0 5 0 5 0 10	;Chebyshev algorithm
+f4 0 513 4 3 1			;normalizing function with midpoint bipolar offset
+s
+;	st	dur	pch	amp   wsfn inmfn
+i1      0       4      6.00    .9      3     4
+i1      4       .      7.00    .
+i1      8       .      8.00    .
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/gen05.csd b/examples/gen05.csd
index effef65..33ba717 100644
--- a/examples/gen05.csd
+++ b/examples/gen05.csd
@@ -1,49 +1,40 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o gen05.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+sr = 44100 
+ksmps = 32 
+nchnls = 2 
+0dbfs  = 1 
 
-; Instrument #1.
 instr 1
-  ; Create an index over the length of our entire note.
-  kcps init 1/p3
-  kndx phasor kcps
-
-  ; Read Table #1 with our index.
-  ifn = 1
-  ixmode = 1
-  kamp table kndx, ifn, ixmode
-
-  ; Create a sine wave, use the Table #1 values to control
-  ; the amplitude. This creates a nice percussive sound.
-  a1 oscil kamp*30000, 440, 2
-  out a1
-endin
 
+ifn = p4					;choose different tables for GEN05
+kcps init 1/p3					;index over the length of  entire note
+kndx phasor kcps
+ixmode = 1					;normalize index data
+kamp tablei kndx, ifn, ixmode
+asig poscil kamp, 440, 1
+     outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
+f 1 0 8192 10 1	;sine wave
+f 2 0 129 5    1   100 0.0001 29 		;short attack
+f 3 0 129 5 0.00001 87    1   22 .5 20 0.0001 	;long attack
 
-; Table #1: a percussive envelope (using GEN05).
-f 1 0 64 5 1 2 120 60 1 1 0.001 1
-; Table #2, a sine wave.
-f 2 0 16384 10 1
-
-; Play Instrument #1 for 2 seconds.
-i 1 0 2
-e
 
+i 1 0 2 2
+i 1 3 2 3
 
+e
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/gen06.csd b/examples/gen06.csd
index af802ae..fee9247 100644
--- a/examples/gen06.csd
+++ b/examples/gen06.csd
@@ -1,51 +1,39 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o gen06.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  ; Create an index over the length of our entire note.
-  kcps init 1/p3
-  kndx phasor kcps
 
-  ; Read Table #1 with our index.
-  ifn = 1
-  ixmode = 1
-  kval table kndx, ifn, ixmode
+ifn  = p4				;choose between tables
+kcps init 1/p3				;create index over duration of note.
+kndx phasor kcps
+ixmode = 1
+kval table kndx, ifn, ixmode		;normalize mode
 
-  ; Generate a sine waveform, use our Table #1 value to 
-  ; vary its frequency by 100 Hz from its base frequency.
-  ibasefreq = 440
-  kfreq = kval * 100
-  a1 oscil 20000, ibasefreq + kfreq, 2
-  out a1
+kfreq = kval * 30			;scale frequency to emphasixe effect
+asig  poscil .7, 220 + kfreq, 1		;add to frequency
+      outs asig, asig
+  
 endin
-
-
 </CsInstruments>
 <CsScore>
+f 1 0 16384 10 1 ;sine wave.
+f 2 0 513 6 1 128 -1 128 1 64 -.5 64 .5 16 -.5 8 1 16 -.5 8 1 16 -.5 84 1 16 -.5 8 .1 16 -.1 17 0
+f 3 0 513 6 0 128 0.5 128 1 128 0 129 -1
 
-; Table #1: a curve (using GEN06).
-f 1 0 65 6 0 16 0.5 16 1 16 0 16 -1
-; Table #2, a sine wave.
-f 2 0 16384 10 1
-
-; Play Instrument #1 for 2 seconds.
-i 1 0 2
+i 1 0 3 2
+i 1 4 3 3
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/gen07.csd b/examples/gen07.csd
index ef0c3ef..8666ce4 100644
--- a/examples/gen07.csd
+++ b/examples/gen07.csd
@@ -1,41 +1,40 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o gen07.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
-
-; Instrument #1.
-instr 1
-  kamp = 30000
-  kcps = 440
-  ifn = 1
-
-  ; Play the sine wave stored in Table #1.
-  a1 oscil kamp, kcps, ifn
-  out a1
+sr = 44100 
+ksmps = 32 
+nchnls = 2 
+0dbfs  = 1 
+
+instr 1	;use GEN07 to alter frequency
+
+ifn  = p4						;use different GEN07 tables
+kcps init 10/p3						;index ftable 10 times over the duration of entire note
+kndx phasor kcps
+ixmode = 1						;normalize index data
+kfrq tablei kndx, ifn, ixmode
+kfrq = kfrq*1000					;scale
+asig poscil .8, 1220+kfrq, 1				;add to frequency
+     outs asig, asig
+  
 endin
-
-
 </CsInstruments>
 <CsScore>
-
-; Table #1: a sawtooth wave (using GEN07).
-f 1 0 256 7 0 128 1 0 -1 128 0
-
-; Play Instrument #1 for 2 seconds.
-i 1 0 2
+f 1 0 8192 10 1				;sine wave
+f 2 0 1024 7 0 512 1 0 -1 512 0		;sawtooth up and down
+f 3 0 1024 7 1 512 1 0 -1 512 -1	;square
+f 4 0 1024 7 1 1024 -1 			;saw down
+
+i 1 0 2 2
+i 1 + 2 3
+i 1 + 1 4
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/gen08.csd b/examples/gen08.csd
index 3da161d..8c853b1 100644
--- a/examples/gen08.csd
+++ b/examples/gen08.csd
@@ -1,51 +1,41 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o gen08.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  ; Create an index over the length of our entire note.
-  kcps init 1/p3
-  kndx phasor kcps
 
-  ; Read Table #1 with our index.
-  ifn = 1
-  ixmode = 1
-  kval table kndx, ifn, ixmode
-
-  ; Generate a sine waveform, use our Table #1 value to 
-  ; vary its frequency by 100 Hz from its base frequency.
-  ibasefreq = 440
-  kfreq = kval * 100
-  a1 oscil 20000, ibasefreq + kfreq, 2
-  out a1
+ifn  = p4				;choose between tables
+kcps init 1/p3				;create index over duration of note.
+kndx phasor kcps
+ixmode = 1
+kval table kndx, 2, ixmode		;normalize index data
+
+ibasefreq = 440
+kfreq = kval * 100			;scale
+asig  poscil .7, ibasefreq + kfreq, 1	;and add to frequency
+      outs asig, asig
+  
 endin
-
-
 </CsInstruments>
 <CsScore>
+f 1 0 16384 10 1	;sine wave.
+f 2 0 65 8 0 16 1 16 1 16 0 17 0
+f 3 0 65 8 -1 32 1 2 0 14 0 17 0
 
-; Table #1: a curve with a smooth hump (using GEN08).
-f 1 0 65 8 0 16 0 16 1 16 0 16 0
-; Table #2, a sine wave.
-f 2 0 16384 10 1
-
-; Play Instrument #1 for two seconds.
-i 1 0 2
+i 1 0 2 1
+i 1 3 2 2
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/gen09.csd b/examples/gen09.csd
index c2fb8e7..5ebe56c 100644
--- a/examples/gen09.csd
+++ b/examples/gen09.csd
@@ -1,42 +1,43 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o gen09.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+gi1 ftgen 1,0,2^10,9,  1,3,0,   3,1,0, 9,0.333,180		;an approximation of a square wave
+gi2 ftgen 2,0,2^10,9,  1,3,180, 3,1,0, 9,0.333,0		;same values as gi1, except some phase values
+gi3 ftgen 3,0,2^10,9,  1, .4, 0,   2.2, .5, 0,   3.8, 1, 0	;inharmonic, but does not sound well --> wave does not end at same point as where it begins --> artefacts
+gi4 ftgen 4,0,2^10,9,  10, .4, 0,   22, .5, 0,   38, 1, 0	;the same proportions, but value of partial number is multiplied 10 times -->the sound is much clearer,
+								;because the sudden "jump" like the one in gi3 will pop up only once in 10 repetitions
 
-; Instrument #1.
 instr 1
-  kamp = 30000
-  kcps = 440
-  ifn = 1
 
-  ; Play the waveform stored in Table #1.
-  a1 oscil kamp, kcps, ifn
-  out a1
-endin
+kamp = .6
+kcps = 220
+ifn  = p4
 
+asig poscil kamp, kcps*p5, ifn
+     outs   asig,asig
 
+endin
 </CsInstruments>
 <CsScore>
 
-; Table #1: a cosine wave (using GEN09).
-; This is a sine wave with an initial phase of 90 degrees.
-f 1 0 16384 9 1 1 90
+i 1 0 2 1 1	;subtle difference between table 1 and 2
+i 1 3 2 2 1
+i 1 7 2 3 1	;big difference between table 3 and 4
+i 1 10 2 4 .1	;p5 has to compensate for the 10 repetitions of gi4 as opposed to gi3 to get the same pitch
 
-; Play Instrument #1 for 2 seconds.
-i 1 0 2
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/gen10.csd b/examples/gen10.csd
index 1f14880..77c757a 100644
--- a/examples/gen10.csd
+++ b/examples/gen10.csd
@@ -1,41 +1,40 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o gen10.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  kamp = 30000
-  kcps = 440
-  ifn = 1
 
-  ; Play the sine wave stored in Table #1.
-  a1 oscil kamp, kcps, ifn
-  out a1
-endin
+kamp = .6
+kcps = 440
+ifn  = p4
 
+asig oscil kamp, kcps, ifn
+     outs asig,asig
 
+endin
 </CsInstruments>
 <CsScore>
+f1 0 16384 10 1                                          ; Sine
+f2 0 16384 10 1 0.5 0.3 0.25 0.2 0.167 0.14 0.125 .111   ; Sawtooth
+f3 0 16384 10 1 0   0.3 0    0.2 0     0.14 0     .111   ; Square
+f4 0 16384 10 1 1   1   1    0.7 0.5   0.3  0.1          ; Pulse
 
-; Table #1: a simple sine wave (using GEN10).
-f 1 0 16384 10 1
+i 1 0 2 1
+i 1 3 2 2
+i 1 6 2 3
+i 1 9 2 4
 
-; Play Instrument #1 for 2 seconds.
-i 1 0 2
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/gen11.csd b/examples/gen11.csd
index 35f2750..1b0ed73 100644
--- a/examples/gen11.csd
+++ b/examples/gen11.csd
@@ -1,41 +1,35 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o gen11.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+sr = 44100 
+ksmps = 32 
+nchnls = 2 
+0dbfs  = 1 
 
-; Instrument #1.
 instr 1
-  kamp = 30000
-  kcps = 440
-  ifn = 1
 
-  ; Play the cosine wave stored in Table #1.
-  a1 oscil kamp, kcps, ifn
-  out a1
+ifn  = p4
+asig oscil .8, 220, ifn
+     outs asig,asig
+    
 endin
-
-
 </CsInstruments>
 <CsScore>
+f 1 0 16384 11 1 1	;number of harmonics = 1
+f 2 0 16384 11 10 1 .7	;number of harmonics = 10
+f 3 0 16384 11 10 5 2	;number of harmonics = 10, 5th harmonic is amplified 2 times
 
-; Table #1: a simple cosine wave (using GEN11).
-f 1 0 16384 11 1 1
 
-; Play Instrument #1 for 2 seconds.
-i 1 0 2
+i 1 0 2 1
+i 1 + 2 2
+i 1 + 2 3
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/gen12.csd b/examples/gen12.csd
index 56c9939..8932aac 100644
--- a/examples/gen12.csd
+++ b/examples/gen12.csd
@@ -1,49 +1,70 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o gen12.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
-
-; Initialize the global variables.
+;example from the Csound Book, page 87
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  ; Create an index over the length of our entire note.
-  kcps init 1/p3
-  kndx phasor kcps
-
-  ; Read Table #1 with our index.
-  ifn = 1
-  ixmode = 1
-  kamp tablei kndx, ifn, ixmode
 
-  ; Create a sine wave, use the Table #1 values to control
-  ; the amplitude. This creates a sound with a long attack.
-  a1 oscil kamp*30000, 440, 2
-  out a1
-endin
+idur    =       p3
+iamp    =       p4
+icarfrq =       p5
+imodfrq =       p6          
+aenv    expseg  .01, idur*.1, iamp, idur*.8, iamp*.75, idur*.1, .01
+i1      =       p7*imodfrq			;p7=modulation index start
+i2      =       p8*imodfrq			;p8=modulation index end
+adev    line    i1, idur, i2			;modulation frequency
+aindex  line    p7, idur, p8			;modulation index
 
+ar      linseg  1, .1, p9, p3-.2, p10, .1, 1	; r value envelope: p9-p10 =exp. partial strength parameter start and end
+amp1    =       (aindex*(ar+(1/ar)))/2
+afmod   oscili  amp1, imodfrq, 1		;FM modulator (sine)
+atab    =       (aindex*(ar-(1/ar)))/2		;index to table
+alook   tablei  atab, 37			;table lookup to GEN12
+aamod   oscili  atab, adev, 2			;am modulator (cosine)
+aamod   =       (exp(alook+aamod))*aenv
+acar    oscili  aamod, afmod+icarfrq, 1		;AFM (carrier)
+asig    balance acar, aenv
+        outs    asig, asig
+        
+endin       
 
 </CsInstruments>
 <CsScore>
+f 1     0   8192    10  1               
+f 2     0   8192    9   1 1 90          
+f37 0   1024    -12 40		;Bessel function-defined from 0 to 40
 
-; Table #1: a modified Bessel function (using GEN12).
-f 1 0 2049 12 20
-; Table #2, a sine wave.
-f 2 0 16384 10 1
-
-; Play Instrument #1 for 2 seconds.
-i 1 0 2
+i 1  0  2  .2  800  800    1    6   .1   2
+i 1  +  .  .   1900 147    8    1    4   .2
+i 1  .  .  .   1100 380    2    9   .5   2
+i 1  .  10 .   100  100    11   3   .2   5
+s
+i 1  0  1 .1   200 100     1    6   .1   2
+i 1  +  .  <   <    <      <    <   <    <
+i 1  +  .  .   <    <      <    <   <    <
+i 1  +  .  .   <    <      <    <   <    <
+i 1  +  .  .   <    <      <    <   <    <
+i 1  +  .  .   <    <      <    <   <    <
+i 1  +  .  .   <    <      <    <   <    <
+i 1  +  10 .2  800  800    9    1   .9   6
+s
+i 1  0  11 .25 50   51     1    6   .1   2
+i 1  1  9  .05 700  401    1    6   .1   2
+i 1  2  8  .   900  147    8    1    4   .2
+i 1  3  7  .   1100 381    2    9   .5   2
+i 1  4  6  .   200  102    11   3   .2   5
+i 1  5  6  .   800  803    9    1   .9   6
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/gen13.csd b/examples/gen13.csd
index c9593d3..f7982e2 100644
--- a/examples/gen13.csd
+++ b/examples/gen13.csd
@@ -1,51 +1,114 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o gen13.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
-
-; Instrument #1.
-instr 1
-  ; Create an index over the length of our entire note.
-  kcps init 1/p3
-  kndx phasor kcps
-
-  ; Read Table #1 with our index.
-  ifn = 1
-  ixmode = 1
-  kval table kndx, ifn, ixmode
-
-  ; Generate a sine waveform, use our Table #1 value to
-  ; vary its frequency by 100 Hz from its base frequency.
-  ibasefreq = 440
-  kfreq = kval * 100
-  a1 oscil 20000, ibasefreq + kfreq, 2
-  out a1
-endin
+sr = 44100 
+ksmps = 32 
+nchnls = 2 
+0dbfs  = 1 
+;example by Russell Pinkston - Univ. of Texas  (but slightly modified)
+
+gisine   ftgen 0, 0, 16384, 10, 1							;sine wave
 
+instr   1
 
+ihertz = cpspch(p4)
+ipkamp = p5
+iwsfn  = p6										;waveshaping function
+inmfn  = p7										;normalization function
+agate   linen  1, .01, p3, .1            					 	;overall amp envelope
+kctrl   linen  .99, 2, p3, 2								;waveshaping index control
+aindex  poscil kctrl/2, ihertz, gisine							;sine wave to be distorted
+asignal tablei .5+aindex, iwsfn, 1							;waveshaping
+knormal tablei kctrl, inmfn, 1								;amplitude normalization
+asig    =      asignal*knormal*ipkamp*agate
+        outs   asig, asig
+           
+endin
 </CsInstruments>
 <CsScore>
+; This proves the statement in Dodge (p. 147) that Chebyshev polynomials
+; of order K have "only the kth harmonic." This is only true when the 
+; waveshaping index is at the maximum - i.e., when the entire transfer
+; function is being accessed. RP.
+;--------------------------------------------------------------------------------------------------------------------------------------------
+; quasi sawtooth transfer function: 
+;		 h0   h1   h2   h3   h4   h5   h6    h7   h8   h9   h10   h11 	h12   h13    h14    h15    h16    h17    h18    h19    h20
+f1 0 513 13 1 1  0   100  -50  -33   25   20 -16.7 -14.2 12.5 11.1 -10  -9.09  8.333  7.69  -7.14  -6.67  6.25	  5.88	-5.55  -5.26    5		
+f2 0 257 4 1 1	 ; normalizing function with midpoint bipolar offset
 
-; Table #1: a polynomial function (using GEN13).
-f 1 0 1025 13 1 1 0 5 0 3 0 1
-; Table #2, a sine wave.
-f 2 0 16384 10 1
+;	st	dur	pch	amp	wsfn	nmfn
+i1      0       4      6.00    .7 	 1	 2
+i1      4       .      7.00    .
+i1      8       .      8.00    .
+;--------------------------------------------------------------------------------------------------------------------------------------------	
+; quasi square wave transfer function: 
+;		 h0   h1   h2   h3   h4   h5   h6    h7   h8   h9   h10   h11 	h12   h13    h14    h15    h16    h17    h18    h19
+f3 0 513 13 1 1  0   100   0   -33   0    20   0   -14.2  0   11.1   0  -9.09	 0   7.69     0    -6.67    0    5.88     0    -5.26
+f4 0 257 4 3 1	 ; normalizing function with midpoint bipolar offset
 
-; Play Instrument #1 for 2 seconds.
-i 1 0 2
-e
+;	st	dur	pch	amp	wsfn	nmfn
+i1      16       4     6.00     .7	 3	 4
+i1      20       .     7.00     .
+i1      24       .     8.00     .
+;--------------------------------------------------------------------------------------------------------------------------------------------	
+; quasi triangle wave transfer function: 
+;		 h0   h1   h2   h3   h4   h5   h6    h7   h8   h9   h10   h11 	h12   h13    h14    h15    h16    h17    h18    h19
+f5 0 513 13 1 1  0   100   0  -11.11 0    4    0   -2.04  0   1.23  0   -.826	0    .59      0    -.444    0    .346     0   -.277	
+f6 0 257 4 5 1	 ; normalizing function with midpoint bipolar offset
+;	st	dur	pch	amp	wsfn	nmfn
+i1      32       4     6.00     .7	 5	 6
+i1      36       .     7.00     .
+i1      40       .     8.00     .
+;--------------------------------------------------------------------------------------------------------------------------------------------
+; transfer function1:  h0 h1 h2 h3 h4 h5 h6 h7 h8 h9 h10 h11 h12 h13 h14 h15 h16
+f7 0 513 13 1 1        0  1 -.8 0 .6  0  0  0 .4  0  0   0   0   .1 -.2 -.3  .5
+f8 0 257 4 7 1	       ; normalizing function with midpoint bipolar offset
+;	st	dur	pch	amp	wsfn	nmfn
+i1      48       4     5.00     .7	 7	 8
+i1      52       .     6.00     .
+i1      56       .     7.00     .
+;--------------------------------------------------------------------------------------------------------------------------------------------
+;=========================================================================;
+; This demonstrates the use of high partials, sometimes without a         ;
+; fundamental, to get quasi-inharmonic spectra from waveshaping.          ;
+;=========================================================================;
+; transfer function2:  h0 h1 h2 h3 h4 h5 h6 h7 h8 h9 h10 h11 h12 h13 h14 h15 h16
+f9 0 513 13 1 1        0  0  0 -.1  0 .3  0 -.5 0 .7  0 -.9  0   1   0  -1   0
+f10 0 257 4 9 1	       ; normalizing function with midpoint bipolar offset
+;	st	dur	pch	amp	wsfn	nmfn
+i1      64       4       5.00   .7	 9	10
+i1      68       .       6.00    .
+i1      72       .       7.00    .
+;--------------------------------------------------------------------------------------------------------------------------------------------
+; transfer function3: h0   h1   h2   h3   h4   h5   h6    h7   h8   h9   h10   h11 	h12   h13    h14    h15    h16    h17    h18    h19    h17   h18   h19   h20
+f11 0 513 13 1 1      0    0    0    0    0    0    0     -1   0    1     0     0       -.1    0     .1      0     -.2    .3      0     -.7     0    .2     0    -.1                        
+f12 0 257 4 11 1      ; normalizing function with midpoint bipolar offset
 
+;	st	dur	pch	amp	wsfn	nmfn
+i1      80       4     5.00     .7	 11	12
+i1      84       .     5.06     .
+i1      88       .     6.00     .
+;--------------------------------------------------------------------------------------------------------------------------------------------
+;=========================================================================;
+; split a sinusoid into 3 odd-harmonic partials of relative strength 5:3:1
+;=========================================================================;
+;--------------------------------------------------------------------------------------------------------------------------------------------
+; transfer function4: h0   h1   h2   h3   h4   h5
+f13 0 513 13 1 1      0    5    0    3    0    1	
+f14 0 257 4 13 1      ; normalizing function with midpoint bipolar offset
 
+;	st	dur	pch	amp	wsfn	nmfn
+i1      96      4     5.00     .7	 13	14
+i1      100     .     5.06     .
+i1      104     .     6.00     .
+e
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/gen14.csd b/examples/gen14.csd
index eaf8970..6419ad4 100644
--- a/examples/gen14.csd
+++ b/examples/gen14.csd
@@ -1,51 +1,55 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o gen14.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
-
-; Instrument #1.
-instr 1
-  ; Create an index over the length of our entire note.
-  kcps init 1/p3
-  kndx phasor kcps
-
-  ; Read Table #1 with our index.
-  ifn = 1
-  ixmode = 1
-  kval table kndx, ifn, ixmode
-
-  ; Generate a sine waveform, use our Table #1 value to
-  ; vary its frequency by 100 Hz from its base frequency.
-  ibasefreq = 440
-  kfreq = kval * 100
-  a1 oscil 20000, ibasefreq + kfreq, 2
-  out a1
-endin
-
-
+sr = 44100 
+ksmps = 32 
+nchnls = 2 
+0dbfs  = 1 
+;after the example from The Csound Book, page 83
+
+instr 1	;compare results from GEN13 & GEN14
+		
+iwshpfn	= p6	
+inrmfn	= p7	
+aswp	linseg	0.01, p3*.5, .49, p3*.5, 0.01		;index sweep function
+aindex	poscil	aswp, p5, 2				;sound to waveshape
+atable	tablei	aindex, iwshpfn, 1, .5			;waveshape index
+anrm	tablei	aswp*2, inrmfn, 1			;normalization 
+aenv	linen	p4, .01, p3, .02			;amplitude envelope
+asig	= (atable*anrm)*aenv				;normalize and impose envelope
+asig    dcblock2 asig					;get rid of DC
+	outs    asig, asig
+
+endin		
 </CsInstruments>
 <CsScore>
 
-; Table #1: a polynomial function (using GEN14).
-f 1 0 1025 14 1 1 0 5 0 3 0 1
-; Table #2, a sine wave.
-f 2 0 16384 10 1
+f 2 0 8192 10 1			;sine wave
+
+f 28  0   4097 13  1 1 1 0 .8 0 .5 0 .2		;waveshaping function: GEN13 - odd harmonics
+f 280 0   2049 4   28 1				;normalization function for f28
+f 29  0   4097 14  1 1 1 0 .8 0 .5 0 .2		;waveshaping function: GEN14 - same harmonics
+f 290 0   2049 4   29 1				;normalization function for f29
 
-; Play Instrument #1 for 2 seconds.
-i 1 0 2
-e
 
+f 30  0   4097 13  1 1 0 1 0 .6 0 .4 0 .1	;waveshaping function: GEN13 - even harmonics
+f 301 0   2049 4   30 1				;normalization function for f30
+f 31  0   4097 14  1 1 0 1 0 .6 0 .4 0 .1	;waveshaping function: GEN13 - even harmonics
+f 310 0   2049 4   31 1				;normalization function for 31
+s
+i1 0   3   .7   440 28  280 
+i1 4   .   .7    .  29  290
+i1 8   .   .7    .  30  301
+i1 12  3   .7    .  31  310
 
+e
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/gen15.csd b/examples/gen15.csd
new file mode 100644
index 0000000..82c9bd2
--- /dev/null
+++ b/examples/gen15.csd
@@ -0,0 +1,87 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o gen15.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+;example from the Csound Book, page 85
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+idur  = p3
+iamp  = p4
+ifrq  = cpspch(p5)        ;pitch
+iswp1 = p6
+iswp2 = p7
+kswp  line   iswp1, p3, iswp2      ;amplitude sweep values
+acosi oscili kswp*.5, ifrq, 2      ;f2=cosine wave
+asine oscili kswp, ifrq, 1         ;f1=sine wave
+atab1 tablei acosi, 33, 1, .5      ;tables a1 to GEN13
+atab2 tablei acosi, 34, 1, .5      ;tables a1 to GEN14
+knrm1 tablei kswp, 35, 1           ;normalizing f35
+knrm2 tablei kswp, 36, 1           ;normalizing f36
+anrm1 = atab1*knrm1                ;normalize GEN13 signal
+anrm2 = atab2*knrm2*asine          ;normalize GEN14 signal
+amix  = anrm1+anrm2                ;mix GEN13 and GEN14
+kenv  expseg .001, idur*.1, iamp, idur*.1, iamp*.8, idur*.8, .001  
+asig  = amix*kenv  
+      outs   asig, asig
+
+endin
+
+</CsInstruments>
+<CsScore>
+f 1 0 8193 10  1        ;sine wave
+f 2 0 8193  9  1 1 90   ;cosine wave
+
+; Note that all the f33 tables in the following sections are defined with p4=-15,
+; which means that tables 33 and 34 will not be normalized. Thus if we display
+; tables when running this example, we'll get correct diagrams even if one table
+; has very small values instead of 0 values, due to cpu approximations in processing
+; sin(180), as in sections 2, 4, and 5. This has no consequence on the audio result,
+; because of the use of amp normalization (tables 35 and 36).
+
+f 33 0 8193 -15 1 1 1 0 1 180 .8 45 .6 270 .5 90 .4 225 .2 135 .1 315  ;makes function tables 33 and 34
+f 35 0 4097  4  33 1    ;amp normalization for f33
+f 36 0 4097  4  34 1    ;amp normalization for f34
+i 1 0 5  .6  8.00 0   1
+i 1 + .  .6  8.00 1   0
+s
+;even harmonics with no phase shift, odd harmonics with phase shift
+f 33 0 8193 -15 1 1 1 0 1 0 1 180 1 180 1 0 1 0 1 180 1 180 1 0 1 0 1 180 1 180
+f 35 0 4097  4  33 1    ;amp normalization for f33
+f 36 0 4097  4  34 1    ;amp normalization for f34
+i 1 0  5 .6  8.00 0   1
+i 1 +  . .6  8.00 1   0
+s
+;different harmonic strenghts and phases
+f 33 0 8193 -15 1 1 1 0 1 0 .9 180 .5 270 .75 90 .4 45 .2 225 .1 0
+f 35 0 4097  4  33 1    ;amp normalization for f33
+f 36 0 4097  4  34 1    ;amp normalization for f34
+i 1 0 5 .6  8.00 0  1
+i 1 + . .6  8.00 1  0
+s
+;lower harmonics no phase shift, upper harmonics with phase shift
+f 33 0 8193 -15 1  1  1 0 1 0 .5 0 .9 0 .3 0 .75 0 .2 180 .6 180 .15 180 .5 180 .1 180  
+f 35 0 4097  4  33 1    ;amp normalization for f33
+f 36 0 4097  4  34 1    ;amp normalization for f34
+i 1 0 5 .6  8.00 0   1
+i 1 + . .6  8.00 1   0
+
+s
+;lower harmonics with phase shift, upper harmonics no phase shift
+f 33 0 8193 -15 1 1 1 180 1 180 .5 180 .9 180 .3 180 .75 180 .2 0 .6 0 .15 0 .5 0 .1 0  
+f 35 0 4097 4 33 1    ;amp normalization for f33
+f 36 0 4097 4 34 1    ;amp normalization for f34
+i 1 0 5 .6  8.00 0  1
+i 1 + . .6  8.00 1  0
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/gen17.csd b/examples/gen17.csd
new file mode 100644
index 0000000..ef8bbfc
--- /dev/null
+++ b/examples/gen17.csd
@@ -0,0 +1,40 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  -M0 -+rtmidi=virtual    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o gen17.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100 
+ksmps = 32 
+nchnls = 2 
+0dbfs  = 1 
+
+ instr 1
+ 
+inote  cpsmidi	 
+iveloc ampmidi .5
+ictl   midictrl 5				;move slider of controller 5 to change ftable
+itab   table ictl, 2
+aout   poscil iveloc, inote, itab
+       outs aout, aout
+
+endin	 
+</CsInstruments>
+<CsScore>
+f 1 0 8193 10 1
+f 2 0 128 -17 0 10 32 20 64 30 96 40			;inhibit rescaling
+
+f 10 0 16384 10 1                                       ; Sine
+f 20 0 16384 10 1 0.5 0.3 0.25 0.2 0.167 0.14 0.125 .111; Sawtooth
+f 30 0 16384 10 1 0   0.3 0    0.2 0     0.14 0     .111; Square
+f 40 0 16384 10 1 1   1   1    0.7 0.5   0.3  0.1       ; Pulse
+
+f 0 30	;run for 30 seconds
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/gen18.csd b/examples/gen18.csd
new file mode 100644
index 0000000..9e579ef
--- /dev/null
+++ b/examples/gen18.csd
@@ -0,0 +1,45 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o gen18.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+ifn   = p4  
+ilen  = ftlen(ifn)
+aphase  phasor 220 
+asig    tablei aphase*ilen, ifn
+        outs   asig, asig
+      
+endin
+</CsInstruments>
+<CsScore>
+
+f 1 0 4096 10 1                                         ;sine
+f 2 0 4096 10 1 0.5 0.3 0.25 0.2 0.167 0.14 0.125 .111  ;sawtooth
+f 3 0 4096 11 10 5 2                                    ;cosine partials
+
+f 11 0 8192  18 1 1 0 4095 2 1 4096 8191    ;sine+sawtooth
+f 12 0 8192  18 1 1 0 4095 3 1 4096 8191    ;sine+cosine partials
+f 13 0 1024  18 1 0.7 0 767 3 0.7 512 1023  ;sine+cosine partials overlapped, shorter table
+
+i 1 0 2 2    ;play sawtooth 
+i 1 + 2 3    ;then cosine partials
+i 1 5 2 11   ;now sine+sawtooth
+i 1 + 2 12   ;and sine+cosine partials
+i 1 + 2 13   ;and sine+cosine partials overlapped, shorter table
+
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/gen19.csd b/examples/gen19.csd
index 726bc3a..6dbebec 100644
--- a/examples/gen19.csd
+++ b/examples/gen19.csd
@@ -1,51 +1,37 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o gen19.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  ; Create an index over the length of our entire note.
-  kcps init 1/p3
-  kndx phasor kcps
 
-  ; Read Table #1 with our index.
-  ifn = 1
-  ixmode = 1
-  kval table kndx, ifn, ixmode
-
-  ; Generate a sine waveform, use our Table #1 value to 
-  ; vary its frequency by 100 Hz from its base frequency.
-  ibasefreq = 440
-  kfreq = kval * 100
-  a1 oscil 20000, ibasefreq + kfreq, 2
-  out a1
+;p4 = transposition factor
+;p5 = speed factor
+;p6 = function table for grain data
+i1    =	sr/ftlen(1)							;scaling to reflect sample rate and table length
+a1    phasor i1*p5							;index for speed
+asigl fog    .5, 15, p4, a1, 1, 0, .01, .5, .01, 30, 1, 2, p3 		;left channel
+asigr fog    .4, 25, p4+.2, a1, 1, 0, .01, .5, .01, 30, 1, 2, p3, .5	;right channel
+      outs   asigl, asigr
 endin
 
-
 </CsInstruments>
 <CsScore>
+f 1 0 131072 1 "fox.wav" 0 0 0
+f 2 0 1024 19 .5 .5 270 .5
 
-; Table #1: a bell curve (using GEN19).
-f 1 0 16384 -19 1 1 260 1
-; Table #2, a sine wave.
-f 2 0 16384 10 1
-
-; Play Instrument #1 for 3 seconds.
-i 1 0 3
+i 1 0 10 .7  .1
+i 1 + 4  1.2  2
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/gen20.csd b/examples/gen20.csd
new file mode 100644
index 0000000..74f9b6f
--- /dev/null
+++ b/examples/gen20.csd
@@ -0,0 +1,45 @@
+<CsoundSynthesizer> 
+<CsOptions> 
+; Select audio/midi flags here according to platform 
+-odac     ;;;realtime audio out 
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too 
+; For Non-realtime ouput leave only the line below: 
+; -o gen20.wav -W ;;; for file output any platform 
+</CsOptions> 
+<CsInstruments> 
+
+sr = 44100 
+ksmps = 32 
+nchnls = 2 
+0dbfs  = 1 
+
+instr 1 
+
+insnd   = 10 				;"fox.wav"
+ibasfrq = 44100 / ftlen(insnd)		;use original sample rate of insnd file 
+
+kamp   expseg .001, p3/2, .7, p3/2, .8	;envelope
+kpitch line ibasfrq, p3, ibasfrq * .8 
+kdens  line 600, p3, 10 
+kaoff  line 0, p3, .1
+kpoff  line 0, p3, ibasfrq * .5 
+kgdur  line .04, p3, .001		;shorten duration of grain during note
+imaxgdur =  .5 
+igfn = p4 				;different windows
+asigL  grain kamp, kpitch, kdens, kaoff, kpoff, kgdur, insnd, igfn, imaxgdur, 0.0 
+asigR  grain kamp, kpitch, kdens, kaoff, kpoff, kgdur, insnd, igfn, imaxgdur, 0.0 
+       outs asigL, asigR
+
+endin 
+</CsInstruments> 
+<CsScore> 
+f1  0 512  20 2		;Hanning window 
+f2  0 512  20 6 1	;Gaussian window 
+f10 0 16384 1 "fox.wav" 0 0 0 
+
+i1 0 5 1		;use Hanning window 
+i1 + 5 2		;use Gaussian window
+e 
+</CsScore> 
+</CsoundSynthesizer> 
+
diff --git a/examples/gen21.csd b/examples/gen21.csd
new file mode 100644
index 0000000..86d0a90
--- /dev/null
+++ b/examples/gen21.csd
@@ -0,0 +1,55 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o gen21.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+ifn    = p4
+isize  = ftlen(ifn) 
+prints "TABLE NUMBER: %d\n", ifn   
+prints "Index\tValue\n"
+    
+iindex = 0				;start loop
+begin_loop:
+     ivalue tab_i iindex, ifn
+     prints "%d:\t%f\n", iindex, ivalue
+     iindex = iindex + 1
+  if (iindex < isize) igoto begin_loop
+  
+;produce sound - and repeat it 10 times so you can hear the patterns:   
+aphase phasor 10/10			;play all 32 values 10x over 10 seconds
+aphase = aphase*isize			;step through table
+afrq   table aphase, p4			;read table number
+asig   poscil .5, (afrq*500)+1000,10	;scale values of table 500 times, add 1000 Hz
+       outs asig , asig			;so we can distinguish the different tables 
+endin
+
+</CsInstruments>
+<CsScore>
+f1 0 32 21 1		;Uniform (white noise)
+f2 0 32 21 6		;Gaussian (mu=0.0, sigma=1/3.83=0.261)
+f3 0 32 21 6 5.745	;Gaussian (mu=0.0, sigma=5.745/3.83=1.5)
+f4 0 32 21 9 1 1 2	;Beta (note that level precedes arguments)
+f5 0 32 21 10 1 2	;Weibull
+f10 0 8192 10 1		;Sine wave
+
+i 1  0 10 1
+i 1 11 10 2
+i 1 22 10 3
+i 1 33 10 4
+i 1 44 10 5
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/gen23.csd b/examples/gen23.csd
new file mode 100644
index 0000000..e7ebb0d
--- /dev/null
+++ b/examples/gen23.csd
@@ -0,0 +1,47 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o gen23.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+;"spectrum.txt" is created by the spectrum plotter of Audacity (set at size 128), using "fox.wav".
+
+instr 1	;performs additive synthesis based on spectrum.txt
+
+indx =0						;start reading at first value
+loop:
+ifreq tab_i indx, 2				;take odd values of list (= frequency)
+iamp tab_i indx+1, 2				;take even values of list (= amplitude)
+event_i "i", 10, 0, p3, iamp, ifreq   		;use "event_i" to trigger instr. 10 
+    loop_lt indx, 2, 128, loop			;use all 128 frequency and amplitude values
+
+endin
+
+instr 10 ;generate sound
+
+iamp  = p4
+ifreq = p5
+asig  poscil ampdb(iamp), ifreq, 1
+asig  linen asig, .01, p3, p2
+      outs  asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+f 1 0 16384 10 1		;sine wave
+f 2 0 128 -23 "spectrum.txt"	;"spectrum.txt" can be found in /manual/examples
+
+i1 0 2
+
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/gen24.csd b/examples/gen24.csd
new file mode 100644
index 0000000..44acd6b
--- /dev/null
+++ b/examples/gen24.csd
@@ -0,0 +1,37 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o gen24.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+ifn  = p4				;choose between tables
+kcps init 1/p3				;create index over duration of note.
+kndx phasor kcps
+ixmode = 1				;normalize to 0-1
+kval table kndx, ifn, ixmode
+asig poscil .7, 440 + kval, 1		;add to frequency
+     outs asig, asig
+  
+endin
+</CsInstruments>
+<CsScore>
+f 1 0 16384 10 1	;sine wave
+f 10 0 16384 -24 1 0 400;scale sine wave from table 1 from 0 to 400
+f 11 0 16384 -24 1 0 50	;and from 0 to 50
+
+i 1 0 3 10
+i 1 4 3 11
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/gen25.csd b/examples/gen25.csd
new file mode 100644
index 0000000..fa9790b
--- /dev/null
+++ b/examples/gen25.csd
@@ -0,0 +1,39 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o gen25.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+gisin ftgen 1, 0, 32768, 10, 1
+gienv ftgen 2, 0, 1025, 25, 0, 0.01, 200, 1, 400, 1, 513, 0.01	; y value must be >= 0
+   
+  
+instr 1
+
+kcps init 3/p3			;play 3x over duration of note
+kndx phasor kcps
+ixmode = 1			;normalize to 0-1
+kval table kndx, gienv, ixmode
+kval =kval*100			;scale up to 0-100
+asig poscil 1, 220+kval, gisin	;use table for amplitude
+     outs asig, asig
+  
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 4
+
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/gen27.csd b/examples/gen27.csd
new file mode 100644
index 0000000..6941f59
--- /dev/null
+++ b/examples/gen27.csd
@@ -0,0 +1,39 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o gen27.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+gisin ftgen 1, 0, 32768, 10, 1
+gienv ftgen 2, 0, 1025, 27, 0, 0,200, 1, 400, -1, 513, 0
+  
+instr 1
+
+kcps init 3/p3			;play 3x over duration of note
+kndx phasor kcps
+ixmode = 1			;normalize to 0-1
+kval table kndx, gienv, ixmode
+kval = kval*100			;scale 0-100
+asig poscil 1, 220+kval, 1	;add to 220 Hz
+     outs asig, asig
+  
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 4
+
+e
+</CsScore>
+</CsoundSynthesizer>
+
+
diff --git a/examples/gen28.csd b/examples/gen28.csd
new file mode 100644
index 0000000..24d3692
--- /dev/null
+++ b/examples/gen28.csd
@@ -0,0 +1,60 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o gen28.wav -W ;;; for file output any platform
+</CsOptions> 
+<CsInstruments>
+
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 4
+  
+ga1	init	0
+ga2	init	0
+ga3	init	0
+ga4	init	0
+
+instr 1	;uses GEN28 file "move", as found in /manual/examples
+
+kx    init 0
+ky    init 0
+ktime line  0, 5, 5				;same time as in table 1 (="move")
+asig  diskin2 "beats.wav", 1, 0, 1		;sound source is looped
+a1, a2, a3, a4 space asig, 1, ktime, .1, kx, ky	;use table 1 = GEN28
+ar1, ar2, ar3, ar4 spsend			;send to reverb
+
+ga1  = ga1+ar1
+ga2  = ga2+ar2
+ga3  = ga3+ar3
+ga4  = ga4+ar4
+     outq a1, a2, a3, a4
+
+endin
+
+instr 99 ; reverb instrument
+
+a1 reverb2 ga1, 2.5, .5
+a2 reverb2 ga2, 2.5, .5
+a3 reverb2 ga3, 2.5, .5
+a4 reverb2 ga4, 2.5, .5
+   outq	a1, a2, a3, a4
+
+ga1=0	
+ga2=0
+ga3=0
+ga4=0
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0 0 28 "move"
+
+i1 0 5		;same time as ktime
+i 99 0 10	;keep reverb active
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/gen30.csd b/examples/gen30.csd
new file mode 100644
index 0000000..b65a51d
--- /dev/null
+++ b/examples/gen30.csd
@@ -0,0 +1,67 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+; Audio out   Audio in    No messages
+-odac     ;;;realtime audio out
+; For Non-realtime ouput leave only the line below:
+; -o gen30.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+;a simplified example of Istvan Varga
+sr =  44100
+ksmps =  32
+nchnls =  2
+0dbfs   = 1
+
+isaw	ftgen 1, 0, 16384, 7, 1, 16384, -1						;sawtooth wave 
+iFM	ftgen 3, 0, 4096, 7, 0, 512, 0.25, 512, 1, 512, 0.25, 512,	\
+			     0, 512, -0.25, 512, -1, 512, -0.25, 512, 0			;FM waveform
+iAM	ftgen 4, 0, 4096, 5, 1, 4096, 0.01						;AM waveform
+iEQ	ftgen 5, 0, 1024, 5, 1, 512, 32, 512, 1						;FM to EQ
+isine	ftgen 6, 0, 1024, 10, 1								;sine wave
+
+/* generate bandlimited sawtooth waves */
+i0	=  0
+loop1:
+imaxh	=  sr / (2 * 440.0 * exp(log(2.0) * (i0 - 69) / 12))
+i_	ftgen i0 + 10, 0, 4096, -30, 1, 1, imaxh					;use gen 30
+i0	=  i0 + 1
+	if (i0 < 127.5) igoto loop1
+
+instr 1
+
+kcps	=  440.0 * exp(log(2.0) * (p4 - 69) / 12)					;note frequency
+klpmaxf	limit p5 * kcps, 1000.0, 12000.0						;lowpass max. frequency
+
+kfmd1	=  0.03 * kcps									;FM depth in Hz
+kamfr	=  kcps * 0.02									;AM frequency
+kamfr2	=  kcps * 0.1
+
+kfnum	=  (10 + 69 + 0.5 + 12 * log(kcps / 440.0) / log(2.0))				;table number
+aenv	linseg 0, p3*0.25, 1, p3*0.75, 0						;amp. envelope
+
+asig	oscbnk kcps, 0.0, kfmd1, 0.0, 40, 200, 0.1, 0.2, 0, 0, 144,	      \
+		0.0, klpmaxf, 0.0, 0.0, 1.5, 1.5, 2, kfnum, 3, 0, 5, 5, 5
+asig	= asig * aenv*.03
+outs asig, asig
+
+endin
+
+</CsInstruments>
+<CsScore>
+s
+i 1 0 6 41 10
+i 1 0 6 60
+i 1 0 6 65
+i 1 0 6 69
+s
+i 1 0 6 41 64
+i 1 0 6 60
+i 1 0 6 65
+i 1 0 6 69
+
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/gen32.csd b/examples/gen32.csd
new file mode 100644
index 0000000..b6604f2
--- /dev/null
+++ b/examples/gen32.csd
@@ -0,0 +1,59 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o gen32.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+itmp    ftgen 1, 0, 16384, 7, 1, 16384, -1		; sawtooth
+itmp    ftgen 2, 0, 8192, 10, 1				; sine
+itmp    ftgen 5, 0, 4096, -32, -2, 1.5, 1.0, 0.25, 1, 2, 0.5, 0, 1, 3, -0.25, 0.5	; mix tables
+itmp    ftgen 6, 0, 16384, 20, 3, 1			; window
+; generate band-limited waveforms
+inote   =  0
+loop0:
+icps    =  440 * exp(log(2) * (inote - 69) / 12)        ; one table for
+inumh   =  sr / (2 * icps)                              ; each MIDI note number
+ift     =  int(inote + 256.5)
+itmp    ftgen ift, 0, 4096, -30, 5, 1, inumh
+inote   =  inote + 1
+        if (inote < 127.5) igoto loop0
+
+instr 1
+
+kcps    expon 20, p3, 16000
+kft     =  int(256.5 + 69 + 12 * log(kcps / 440) / log(2))
+kft     =  (kft > 383 ? 383 : kft)
+a1      phasor kcps
+a1      tableikt a1, kft, 1, 0, 1
+        outs a1*.5, a1*.5
+endin
+        
+instr 2
+
+kcps    expon 20, p3, 16000
+kft     =  int(256.5 + 69 + 12 * log(kcps / 440) / log(2))
+kft     =  (kft > 383 ? 383 : kft)
+kgdur   limit 10 / kcps, 0.1, 1
+a1      grain2 kcps, 0.02, kgdur, 30, kft, 6, -0.5
+        outs a1*.08, a1*.08
+
+endin
+</CsInstruments>
+<CsScore>
+t 0 60
+
+i 1 0 10
+i 2 12 10
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/gen33.csd b/examples/gen33.csd
new file mode 100644
index 0000000..683a1f9
--- /dev/null
+++ b/examples/gen33.csd
@@ -0,0 +1,47 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o gen33.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1	; partials 1, 4, 7, 10, 13, 16, etc. with base frequency of 400 Hz
+
+ibsfrq  =  400										
+inumh   =  int(1.5 + sr * 0.5 / (3 * ibsfrq))					; estimate number of partials			
+isrcln  =  int(0.5 + exp(log(2) * int(1.01 + log(inumh * 3) / log(2))))		; source table length
+itmp    ftgen 1, 0, isrcln, -2, 0						; create empty source table
+ifpos   =  0
+ifrq    =  ibsfrq
+inumh   =  0
+l1:
+        tableiw ibsfrq / ifrq, ifpos, 1						; amplitude
+        tableiw ifrq, ifpos + 1, 1						; frequency
+        tableiw 0, ifpos + 2, 1							; phase
+ifpos   =  ifpos + 3
+ifrq    =  ifrq + ibsfrq * 3
+inumh   =  inumh + 1
+        if (ifrq < (sr * 0.5)) igoto l1
+
+itemp   ftgen 2, 0, 262144, -33, 1, inumh, 1, -1				; store output in ftable 2 (size = 262144)
+asig    poscil .5, ibsfrq, itemp
+        outs asig, asig 
+   
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 2 
+
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/gen34.csd b/examples/gen34.csd
new file mode 100644
index 0000000..d8e136d
--- /dev/null
+++ b/examples/gen34.csd
@@ -0,0 +1,47 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o gen34.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1	; partials 1, 4, 7, 10, 13, 16, etc. with base frequency of 400 Hz
+
+ibsfrq  =  400										
+inumh   =  int(1.5 + sr * 0.5 / (3 * ibsfrq))					; estimate number of partials			
+isrcln  =  int(0.5 + exp(log(2) * int(1.01 + log(inumh * 3) / log(2))))		; source table length
+itmp    ftgen 1, 0, isrcln, -2, 0						; create empty source table
+ifpos   =  0
+ifrq    =  ibsfrq
+inumh   =  0
+l1:
+        tableiw ibsfrq / ifrq, ifpos, 1						; amplitude
+        tableiw ifrq, ifpos + 1, 1						; frequency
+        tableiw 0, ifpos + 2, 1							; phase
+ifpos   =  ifpos + 3
+ifrq    =  ifrq + ibsfrq * 3
+inumh   =  inumh + 1
+        if (ifrq < (sr * 0.5)) igoto l1
+
+itmp    ftgen 2, 0, 262144, -34, 1, inumh, 1, -1				; store output in ftable 2 (size = 262144)
+asig    poscil .5, ibsfrq, itmp
+        outs asig, asig 
+   
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 2 
+
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/gen40.csd b/examples/gen40.csd
new file mode 100644
index 0000000..0d7d8b7
--- /dev/null
+++ b/examples/gen40.csd
@@ -0,0 +1,42 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o GEN40.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1	; every run time same values
+
+kuser cuserrnd 0, 100, 1
+      printk .2, kuser
+asig  poscil .5, 220+kuser, 3
+      outs asig, asig
+endin
+
+instr 2	; every run time different values
+
+      seed 0
+kuser cuserrnd 0, 100, 1
+      printk .2, kuser
+asig  poscil .5, 220+kuser, 3
+      outs asig, asig
+endin
+</CsInstruments>
+<CsScore>
+f 1 0 16 -7 1 4 0 8 0 4 1	;distrubution using GEN07
+f 2 0 16384 40 1		;GEN40 is to be used with cuserrnd
+f 3 0 8192 10 1			;sine
+
+i 1 0 2
+i 2 3 2
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/gen41.csd b/examples/gen41.csd
new file mode 100644
index 0000000..c34f676
--- /dev/null
+++ b/examples/gen41.csd
@@ -0,0 +1,33 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o GEN41.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+k1   duserrnd 1
+     printk 0, k1
+asig poscil .5, 220*k1, 2
+     outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0 -20 -41  2 .1 8 .9	;choose 2 at 10% probability, 8 at 90%
+
+f2 0 8192 10 1
+
+i1 0 2
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/gen42.csd b/examples/gen42.csd
new file mode 100644
index 0000000..d7134ed
--- /dev/null
+++ b/examples/gen42.csd
@@ -0,0 +1,49 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o GEN42.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1 
+
+ktab  = 1			;ftable 1
+kurd  = urd(ktab) 
+ktrig metro 5			;triggers 5 times per second
+kres  samphold kurd, ktrig	;sample and hold value of kurd
+      printk2 kres		;print it
+asig  poscil .5, 220+kres, 2
+      outs asig, asig
+endin
+
+instr 2
+
+seed 0	;every run new values
+
+ktab  = 1 			;ftable 1
+kurd  = urd(ktab) 
+ktrig metro 5			;triggers 5 times per second
+kres  samphold kurd, ktrig	;sample and hold value of kurd
+      printk2 kres		;print it
+asig  poscil .5, 220+kres, 2
+      outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0 -20 -42  10 20 .3 100 200 .7 ;30% choose between 10 and 20 and 70% between 100 and 200
+f2 0 8192 10 1			  ;sine wave
+
+i 1 0 5
+i 2 6 5
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/gen49.csd b/examples/gen49.csd
index 0a5e73a..82f6793 100644
--- a/examples/gen49.csd
+++ b/examples/gen49.csd
@@ -1,41 +1,30 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o gen01.wav -W ;;; for file output any platform
+; -o gen49.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+sr = 44100 
+ksmps = 32 
+nchnls = 2 
+0dbfs  = 1 
 
-; Instrument #1.
 instr 1
-   kamp = 30000
-   kcps = 1
-   ifn = 1
 
-   ; Play the audio sample stored in Table #1.
-   a1 oscil kamp, kcps, ifn
-   out a1
+kcps = sr/ftlen(1)
+asig oscil .8, kcps, 1
+   outs asig, asig
+   
 endin
-
-
 </CsInstruments>
 <CsScore>
+f 1 0 131072 49 "beats.mp3" 0 1	;read an audio file (using GEN49).
 
-; Table #1: read an audio file (using GEN49).
-f 1 0 131072 49 "beats.mp3" 0 1
-
-; Play Instrument #1 for 2 seconds.
 i 1 0 2
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/gen51.csd b/examples/gen51.csd
new file mode 100644
index 0000000..405e472
--- /dev/null
+++ b/examples/gen51.csd
@@ -0,0 +1,57 @@
+<CsoundSynthesizer> 
+<CsOptions> 
+; Select audio/midi flags here according to platform 
+-odac   -M0    ;;;realtime audio out and midi input
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too 
+; For Non-realtime ouput leave only the line below: 
+; -o gen51.wav -W ;;; for file output any platform 
+</CsOptions> 
+<CsInstruments> 
+;example by Iain McCurdy
+sr = 44100 
+ksmps = 32 
+nchnls = 2 
+0dbfs  = 1 
+
+giEqTmp12	ftgen	1,0,128,-51,12,2,cpsoct(8),60,1,2^(1/12),2^(2/12),2^(3/12),2^(4/12),2^(5/12),2^(6/12),2^(7/12),2^(8/12),2^(9/12),2^(10/12),2^(11/12),2^(12/12)
+giEqTmp10	ftgen	2,0,128,-51,10,2,cpsoct(8),60,1,2^(1/10),2^(2/10),2^(3/10),2^(4/10),2^(5/10),2^(6/10),2^(7/10),2^(8/10),2^(9/10),2^(10/10)
+giEqTmp24	ftgen	3,0,128,-51,24,2,cpsoct(8),60,1,2^(1/24),2^(2/24),2^(3/24),2^(4/24),2^(5/24),2^(6/24),2^(7/24),2^(8/24),2^(9/24),2^(10/24),2^(11/24), \ 2^(12/24),2^(13/24),2^(14/24),2^(15/24),2^(16/24),2^(17/24),2^(18/24),2^(19/24),2^(20/24),2^(21/24),2^(22/24),2^(23/24),2^(24/24)
+
+instr	1	;midi input instrument
+	/*USE PITCH BEND TO MODULATE NOTE NUMBER UP OR DOWN ONE STEP - ACTUAL INTERVAL IT WILL MODULATE BY WILL BE DEPENDENT UPON THE GEN51 SCALE USED*/
+	;kbend	pchbend	0,2
+	
+	/*ALTERNATIVELY IF USING VIRTUAL MIDI DEVICE OR A KEYBOARD WITH NO PITCH BEND WHEEL, USE CONTROLLERS 1 AND 2 TO MODULATE PITCH UP OR DOWN 1 STEP*/
+kup	ctrl7	1, 1, 0, 1
+kdown	ctrl7	1, 2, 0, -1
+kbend	=	kup+kdown
+	
+inum	notnum
+kcps	tablei	inum+kbend, giEqTmp24	;read cps values from GEN51, scale table using a combination of note played and pitch bend/controllers 1 and 2
+a1	vco2	0.2, kcps, 4, 0.5
+	outs	a1, a1
+endin
+
+instr	2	;score input instrument
+
+knum	line	p4, p3, p5		;gliss using a straight line bewteen p4 and p5 for the entire note duration
+kcps	tablei	knum, giEqTmp24		;read cps values from GEN51 scale table
+a1	vco2	0.2, kcps, 4, 0.5	
+	outs	a1, a1
+endin
+
+</CsInstruments>
+<CsScore>
+f 0 3600
+
+;instr 2. Score input. Gliss from step number p4 to step number p5
+;p4 - starting note number
+;p5 - ending note number
+i 2 0 2 60    61
+i 2 + 2 70    58
+i 2 + 2 66    66.5
+i 2 + 2 71.25 71
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/gen52.csd b/examples/gen52.csd
new file mode 100644
index 0000000..6669465
--- /dev/null
+++ b/examples/gen52.csd
@@ -0,0 +1,92 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o gen52.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+garvb   init 0
+gaW     init 0
+gaX     init 0
+gaY     init 0
+
+itmp    ftgen  1, 0, 64, -2, 2, 40, -1, -1, -1, 123,           \
+               1, 13.000, 0.05, 0.85, 20000.0, 0.0, 0.50, 2,   \
+               1,  2.000, 0.05, 0.85, 20000.0, 0.0, 0.25, 2,   \
+               1, 16.000, 0.05, 0.85, 20000.0, 0.0, 0.35, 2,   \
+               1,  9.000, 0.05, 0.85, 20000.0, 0.0, 0.35, 2,   \
+               1, 12.000, 0.05, 0.85, 20000.0, 0.0, 0.35, 2,   \
+               1,  8.000, 0.05, 0.85, 20000.0, 0.0, 0.35, 2
+
+itmp    ftgen 2, 0, 262144, -2, 0
+        spat3dt 2, -0.2, 1, 0, 1, 1, 2, 0.005
+
+itmp    ftgen 3, 0, 262144, -52, 3, 2, 0, 4, 2, 1, 4, 2, 2, 4
+
+instr 1
+
+a1      vco2 1, 440, 10
+kfrq    port 100, 0.008, 20000
+a1      butterlp a1, kfrq
+a2      linseg 0, 0.003, 1, 0.01, 0.7, 0.005, 0, 1, 0
+a1      =  a1 * a2 * 2
+        denorm a1
+        vincr garvb, a1
+aw, ax, ay, az  spat3di a1, p4, p5, p6, 1, 1, 2
+        vincr gaW, aw
+        vincr gaX, ax
+        vincr gaY, ay
+
+endin
+
+instr 2
+
+       denorm garvb
+; skip as many samples as possible without truncating the IR
+arW, arX, arY   ftconv garvb, 3, 2048, 2048, (65536 - 2048)
+aW      =  gaW + arW
+aX      =  gaX + arX
+aY      =  gaY + arY
+garvb   =  0
+gaW     =  0
+gaX     =  0
+gaY     =  0
+
+aWre, aWim      hilbert aW
+aXre, aXim      hilbert aX
+aYre, aYim      hilbert aY
+aWXr    =  0.0928*aXre + 0.4699*aWre
+aWXiYr  =  0.2550*aXim - 0.1710*aWim + 0.3277*aYre
+aL      =  aWXr + aWXiYr
+aR      =  aWXr - aWXiYr
+
+       outs aL, aR
+
+endin
+
+</CsInstruments>
+<CsScore>
+
+i 1 0 0.5  0.0  2.0 -0.8
+i 1 1 0.5  1.4  1.4 -0.6
+i 1 2 0.5  2.0  0.0 -0.4
+i 1 3 0.5  1.4 -1.4 -0.2
+i 1 4 0.5  0.0 -2.0  0.0
+i 1 5 0.5 -1.4 -1.4  0.2
+i 1 6 0.5 -2.0  0.0  0.4
+i 1 7 0.5 -1.4  1.4  0.6
+i 1 8 0.5  0.0  2.0  0.8
+i 2 0 10
+e
+
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/genarray.csd b/examples/genarray.csd
new file mode 100644
index 0000000..2d2beb8
--- /dev/null
+++ b/examples/genarray.csd
@@ -0,0 +1,43 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-n
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+;create and fill two arrays
+iArr1[] genarray 1, 6
+iArr2[] genarray 1, 6, 2/3
+
+;print the content of iArr1
+        printf  "%s", 1, "iArr1: start=1, end=6, step=default\n"
+kndx    =       0
+  until kndx == lenarray(iArr1) do
+        printf  "iArr[%d] = %f\n", kndx+1, kndx, iArr1[kndx]
+kndx    +=      1
+  od
+
+;print the content of iArr2
+        printf  "%s", 1, "iArr2: start=1, end=6, step=2/3\n"
+kndx    =       0
+  until kndx == lenarray(iArr2) do
+        printf  "iArr[%d] = %f\n", kndx+1, kndx, iArr2[kndx]
+kndx    +=      1
+  od
+
+        turnoff
+endin
+
+</CsInstruments>
+<CsScore>
+i 1 0 1
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/genarray_i.csd b/examples/genarray_i.csd
new file mode 100644
index 0000000..3b67862
--- /dev/null
+++ b/examples/genarray_i.csd
@@ -0,0 +1,43 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-n
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+;create and fill two arrays
+kArr1[] genarray_i 1, 6
+kArr2[] genarray_i 1, 6, 2/3
+
+;print the content of kArr1
+        printf  "%s", 1, "kArr1: start=1, end=6, step=default\n"
+kndx    =       0
+  until kndx == lenarray(kArr1) do
+        printf  "kArr[%d] = %f\n", kndx+1, kndx, kArr1[kndx]
+kndx    +=      1
+  od
+
+;print the content of kArr2
+        printf  "%s", 1, "kArr2: start=1, end=6, step=2/3\n"
+kndx    =       0
+  until kndx == lenarray(kArr2) do
+        printf  "kArr[%d] = %f\n", kndx+1, kndx, kArr2[kndx]
+kndx    +=      1
+  od
+
+        turnoff
+endin
+
+</CsInstruments>
+<CsScore>
+i 1 0 1
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/gendy-2.csd b/examples/gendy-2.csd
new file mode 100644
index 0000000..34f26ca
--- /dev/null
+++ b/examples/gendy-2.csd
@@ -0,0 +1,36 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o oscil.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+kenv expseg 0.01, p3*0.1, 1, p3*0.8, 1, p3*0.1, 0.001
+kosc oscil 0.1, 3/p3, 1
+seed 20120123
+kdis bexprnd kosc
+knum linseg 3, p3*0.75, 10, p3*0.20, 12, p3*0.05, 5
+asig gendy 0.2, kosc*60, 6, 0.7, kdis, 500*kenv, 4800, 0.23, 0.3, 12, knum
+aflt resonz asig, 1400, 400
+aout comb kenv*aflt*0.1, 0.9, 0.1
+outs aout, aout
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0 8192 10 1 0 .8 0 0 .3 0 0 0 .1
+
+i1 0 20
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/gendy.csd b/examples/gendy.csd
new file mode 100644
index 0000000..107923d
--- /dev/null
+++ b/examples/gendy.csd
@@ -0,0 +1,27 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o oscil.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+aout gendy 0.7, 1, 1, 1, 1, 20, 1000, 0.5, 0.5
+outs aout, aout
+
+endin
+</CsInstruments>
+<CsScore>
+i1 0 10
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/gendyc.csd b/examples/gendyc.csd
new file mode 100644
index 0000000..651fb82
--- /dev/null
+++ b/examples/gendyc.csd
@@ -0,0 +1,27 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o oscil.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+aout gendyc 0.5, 1, 1, 1, 1, 220, 440, 0.5, 0.5
+outs aout, aout
+
+endin
+</CsInstruments>
+<CsScore>
+i1 0 10
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/gendyx-2.csd b/examples/gendyx-2.csd
new file mode 100644
index 0000000..192b17b
--- /dev/null
+++ b/examples/gendyx-2.csd
@@ -0,0 +1,30 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o oscil.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+kenv expseg 0.001, p3*0.05, 0.5, p3*0.9, 0.5, p3*0.05, 0.001
+kc1  linseg 1, p3/2, 12, p3/2, 3
+kc2  random 0, 4
+seed 20120124
+asig gendyx kenv, 1, 3, 0.7, 0.8, 120, 4300, 0.2, 0.7, kc1, kc2, 12, kc1
+aout dcblock asig
+outs aout, aout
+endin
+</CsInstruments>
+<CsScore>
+i1 0 20
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/gendyx.csd b/examples/gendyx.csd
new file mode 100644
index 0000000..881fe36
--- /dev/null
+++ b/examples/gendyx.csd
@@ -0,0 +1,27 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o oscil.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+aout gendyx 0.7, 1, 1, 1, 1, 20, 1000, 0.5, 0.5, 4, 0.13
+outs aout, aout
+
+endin
+</CsInstruments>
+<CsScore>
+i1 0 10
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/genexp.csd b/examples/genexp.csd
index 85ce716..85772af 100644
--- a/examples/genexp.csd
+++ b/examples/genexp.csd
@@ -1,43 +1,39 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o gen01.wav -W ;;; for file output any platform
+; -o genexp.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+sr = 44100 
+ksmps = 32 
+nchnls = 2 
+0dbfs  = 1 
 
-; Instrument #1.
 instr 1
-   kamp = 30000
-   ifn = 2
-   ibas = 1
-
-   ; Play the audio sample stored in Table #1.
-   k1 oscil 1, 10, 1
-   a1 oscil kamp*k1, 440, ifn
-   out a1
-endin
 
+aswp	linseg	0.01, p3*.5, .49, p3*.5, 0.01		;index sweep function
+aindex	poscil	aswp, 110, 1				;sound to waveshape
+atable	tablei	aindex, p4, 1, .5			;waveshape index
+aenv	linen	0.8, .01, p3, .02			;amplitude envelope
+asig	= (atable*aenv)*p5				;impose envelope and scale
+asig    dcblock2 asig					;get rid of DC
+	outs    asig, asig
 
+endin		
 </CsInstruments>
 <CsScore>
+f 1 0 8192 10 1	;sine wave
+f 2 0 8192 "exp" 0 15 0
+f 3 0 8192 "exp" 0 3 0
 
-; Table #1: read an audio file (using GEN01).
-f 1 0 131072 "exp" 0 10 0
-f 2 0 8192 10 1
+i1 0 3 2 2
+i1 + 3 3 3
 
-; Play Instrument #1 for 2 seconds.
-i 1 0 2
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/genfarey-2.csd b/examples/genfarey-2.csd
new file mode 100644
index 0000000..7c0521a
--- /dev/null
+++ b/examples/genfarey-2.csd
@@ -0,0 +1,98 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc for RT audio input as well 
+; For Non-realtime ouput leave only the line below:
+; -o genfarey.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+; GENfarey creates table gidelta. 
+; The table contains the delta values of Farey Sequence 7 (p5=7).
+; They are used as Inter Onset Intervals (IOIs) or event durations.
+; If p6 is set to 1 for IOI output then the length of the table (p3=-18) is -(|F_7| - 1)
+; Remember that a negative sign is for non-power-of-2 table lengths.
+; The negative sign in front of the GEN number prevents post-normalisation of its values.
+
+gidelta ftgen 0,0,-18,"farey",7,1
+
+; Use GENfarey with p6 set to 2 to generate the denominators of fractions of F_7 
+; this is used in this example as factors to create a series of pitches:
+gimult ftgen 0,0,-18,"farey",7,2
+
+;-------- loop and trigger instrument 901 using a Farey Sequence polyrhythm
+	  instr 1
+kindx init 0
+kindx2 init 0
+ktrigger init 0
+ktime_unit init p6
+kstart init p4
+kloop init p5
+kinitndx init 0
+kfn_times init gidelta
+knote init 60
+kbasenote init p8
+ifundam init p7
+ktrigger seqtime ktime_unit, kstart, kloop, kinitndx, kfn_times
+  if (ktrigger > 0 ) then
+     kpitch = cpspch(ifundam)
+     kmult tab kindx2, gimult
+     kpitch = kpitch * kmult
+     knote = kbasenote + kmult
+     event "i", 901,   0,   .4, .10, kpitch, kpitch * .9, 0.4,  5,   .75, .8,  1.0, .15, .0,  .125, .125, .25, .5,  1.0, .0, .0,  .0,  .0,  .125, .25, .25, .25, knote
+     kindx = kindx + 1
+     kindx = kindx % kloop
+     kindx2 = kindx2 + 1
+     kindx2 = kindx2 % kloop
+  endif
+endin
+
+;------ basic 2 Operators FM algorithm ----------------
+	instr 901
+inotedur	=		p3
+imaxamp		=		p4 ;ampdb(p4)
+icarrfreq	=		p5
+imodfreq	=		p6
+ilowndx		=		p7
+indxdiff	=		p8-p7
+knote	        =		p27
+aampenv		linseg	p9, p14*p3, p10, p15*p3, p11, p16*p3, p12, p17*p3, p13 
+adevenv		linseg	p18, p23*p3, p19, p24*p3, p20, p25*p3, p21, p26*p3, p22
+amodosc		oscili	(ilowndx+indxdiff*adevenv)*imodfreq, imodfreq, 10 
+acarosc		oscili	imaxamp*aampenv, icarrfreq+amodosc, 10 
+		outs		acarosc, acarosc  
+endin
+</CsInstruments>
+<CsScore>
+f10 0 4096 10 1	;sine wave			
+; p4 kstart  := index offset into the Farey Sequence
+; p5 kloop   := end index into Farey Seq.
+; p6 timefac := time in seconds for one loop to complete
+; p7 fundam  := fundamental of the FM instrument
+; p8 basenote:= root pitch of the midi voice output
+; note that pitch structures of the midi file output are not equivalent to the
+; ones used for the FM real-time synthesis.
+
+;	start		dur		kstart	kloop   timefac	fundam. basenote
+i1	0.0		44		0 	18	2	6.05	60
+i1	4		30		0 	18	3	7.05	72
+i1	34		12		9 	18	3	7.05	72
+i1	10		12		0 	18	1.5	8	84
+i1	22		12		0 	9	1.5	8	84
+i1	15		16		0	18	1	5	48
+i1	22		20		5	17	1.7	4	36
+
+i1	46		20		3 	11	2.5	7.04	71
+i1	51		20		5 	13	2.5	7.06	72
+
+i1	73.5		1.5		11	18	1.5	5.05	48
+i1	75		1		12	18	1	6.03	58	
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/gensone.csd b/examples/gensone.csd
index bc949ee..ef594e0 100644
--- a/examples/gensone.csd
+++ b/examples/gensone.csd
@@ -1,50 +1,55 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in   
--odac           -iadc         ;;;RT audio I/O
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o linseg.wav -W ;;; for file output any platform
+; -o gensone.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
-
-; Instrument #1 Simple oscillator with loudness correction.
-instr 1
-  ; p4 = frequency in pitch-class notation.
-  kcps = cpspch(p4)
-
-  ; Create an amplitude envelope.
-  kenv linseg 0, p3*0.25, 1, p3*0.75, 0
-  kamp tablei 16384*kenv, 2
-
-  a1 oscil 30000*kamp, kcps, 1
-  out a1
-endin
-
-
-</CsInstruments>
-<CsScore>
-
-; Table #1, a sine wave.
-f 1 0 16384 10 1
-f 2 0 16384 "sone" 1 32000 32000 0
-
-; Play Instrument #1 for a half-second, p4=8.00
-i 1 0 0.5 8.00
-; Play Instrument #1 for a half-second, p4=8.01
-i 1 1 0.5 8.01
-; Play Instrument #1 for a half-second, p4=8.02
-i 1 2 0.5 8.02
-; Play Instrument #1 for a half-second, p4=8.03
-i 1 3 0.5 8.03
-e
-
-
-</CsScore>
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1	; simple oscillator with loudness correction. 
+
+kcps = cpspch(p4) 
+kenv linseg 0, p3*0.25, 1, p3*0.75, 0	;amplitude envelope
+kamp tablei 16384 *kenv, 2 
+asig oscil kamp, kcps, 1
+     outs asig, asig
+  
+endin 
+
+instr 2	;neutral oscillator to compare with
+
+kcps = cpspch(p4)  
+kenv linseg 0, p3*0.25, 1, p3*0.75, 0	;amplitude envelope
+asig oscil kenv, kcps, 1
+     outs asig, asig
+  
+endin 
+
+</CsInstruments> 
+<CsScore> 
+f 1 0 16384 10 1 	;sine wave
+f 2 0 16385 "sone" 0 32000 32000 0 
+
+s
+f 0 1	;1 second of silence before we start...
+s 
+i 1 0 2 7.00 
+i 1 + . 7.01 
+i 1 + . 8.02 
+i 1 + . 8.03 
+s 
+i 2 0 2 7.00 
+i 2 + . 7.01 
+i 2 + . 8.02 
+i 2 + . 8.03 
+e 
+</CsScore> 
 </CsoundSynthesizer>
+
diff --git a/examples/gentanh.csd b/examples/gentanh.csd
index fbc1703..3c883cc 100644
--- a/examples/gentanh.csd
+++ b/examples/gentanh.csd
@@ -1,43 +1,41 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o gen01.wav -W ;;; for file output any platform
+; -o gentanh.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+sr = 44100 
+ksmps = 32 
+nchnls = 2 
+0dbfs  = 1 
 
-; Instrument #1.
 instr 1
-   kamp = 30000
-   ifn = 2
-   ibas = 1
-
-   ; Play the audio sample stored in Table #1.
-   k1 oscil 1, 10, 1
-   a1 oscil kamp*k1, 440, ifn
-   out a1
-endin
 
+aswp	linseg	0.01, p3*.5, .49, p3*.5, 0.01		;index sweep function
+aindex	poscil	aswp, 110, 1				;sound to waveshape
+atable	tablei	aindex, p4, 1, .5			;waveshape index
+aenv	linen	0.8, .01, p3, .02			;amplitude envelope
+asig	= (atable*aenv)*p5				;impose envelope and scale
+asig    dcblock2 asig					;get rid of DC
+	outs    asig, asig
 
+endin		
 </CsInstruments>
 <CsScore>
+f 1 0 8192 10 1	;sine wave
+f 2 0 8192 "tanh" -100 100 0	;symmetrical transfer fuction
+f 3 0 8192 "tanh" -10  10  0	;symmetrical
+f 4 0 8192 "tanh"   0  10  0	;not symmetrical
 
-; Table #1: read an audio file (using GEN01).
-f 1 0 131072 "tanh" 0.1 10 0
-f 2 0 8192 10 1
+i1 0 3 2 1
+i1 + 3 3 1
+i1 + 3 4 2
 
-; Play Instrument #1 for 2 seconds.
-i 1 0 2
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/genwave.csd b/examples/genwave.csd
new file mode 100644
index 0000000..0087645
--- /dev/null
+++ b/examples/genwave.csd
@@ -0,0 +1,108 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+; Audio out   Audio in    No messages
+-odac           -iadc     -d     ;;;RT audio I/O
+; For Non-realtime ouput leave only the line below:
+; -o 0dbfs.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+kr = 4410
+nchnls = 1
+0dbfs = 1
+
+zakinit 3,1
+
+instr 1 ; wavelet synth instrument
+iamp  =	 p4; scaling factor of wavelets
+ifreq =	 p5; frequency of wavelets
+itab  =	 p6; selected wavelet function
+inum  =  p7; number of wavelets to be created
+a1 osciln p4, p5, p6, p7 
+out a1
+endin
+
+instr 2 ; wavelet analysis intrument 
+a1 soundin "fox.wav"
+; Decomposition Structure:
+;     1 LEVEL  2 LEVEL
+;     HP->ah1  
+; a1->|	       HP(up2)->ah2
+;     LP->al1->|
+;	       LP(up2)->al2
+;
+ain = a1*.5; attenuate input signal
+	   ; since wavelet coefficients
+	   ; could reach big values  
+ah1 dconv ain,ftlen(8),8
+al1 dconv ain,ftlen(7),7
+ah2 dconv al1,ftlen(10),10
+al2 dconv al1,ftlen(9),9
+
+zaw ah1,0
+zaw al1,1
+zaw ah2,2
+zaw al2,3
+
+aout zar p4
+out aout
+zacl 0,3
+endin
+
+</CsInstruments>
+<CsScore>
+
+; First of all, we need several FIR filters which are capable 
+; to produce wavelet families.
+; One can input filter coefficients manualy using GEN02 
+; or read them from text file.
+; Most of compact-supported wavelet coefficients can be obtained from
+; Wavelet Browser by PyWavelets wavelets.pybytes.com
+; You can select family and order of filter
+; then copy desired coefficients into txt file.
+; Notice that for correct interpretation of results you should use
+; coeffs of Decomposition low-pass filter.
+
+; Daubechies 2 
+f 1 0 4 -2 -0.1294095226 0.2241438680 0.8365163037 0.4829629131
+; Symlet 10
+f 2 0 0 -23 "sym10.txt"
+
+; Now we want to produce some wavelet granules.
+; They can be used in wavelet synthesis etc.
+; Tables of large sizes should produce smoother wavelets.
+; We take array of filter coefficients from ftable 1
+; and deconvolve it until output length of 16384.
+; The order of filters through the deconvolution process
+; is given by 14 which is 1110 in binary.
+; So the first filter is LP ('0') and others are HP ('1').
+f 3 0 16384 "wave" 1 14 0
+f 4 0 16384 "wave" 2 1  0
+f 5 0 16384 "wave" 2 7  0
+f 6 0 16384 "wave" 2 6  0
+; The main purpose of using wavelets is wavelet transform.
+; It is not that easy to perform a classic DWT in Csound since downsampling
+; of audio signal is needed at each step of wavelet decomposition.
+; Anyway, using GENwave it is possible to create a number of upsampled
+; wavelets and perform a so-called undecimated wavelet transform 
+; aka stationary wavelet transform (and it is even better).
+; So we need some upsampled childs of mother wavelet. 
+f 7 0 16 "wave" 1 0 -1 ;db2 scaling function for 1st iteration
+f 8 0 16 "wave" 1 1 -1 ;db2 wavelet function for 1st iteration
+f 9 0 32 "wave" 1 0 -1 ;db2 scaling function for 2nd iteration
+f 10 0 32 "wave" 1 1 -1 ;db2 wavelet function for 2nd iteration
+
+; Let's hear how some wavelets could sound..
+;		 amp frq wave	 times
+i 1 0	 1	 0.6 15	 3	 8
+i 1 0.5	 .	 0.9 20  4	 5
+i 1 0.9  .	 0.7 8	 5	 .
+i 1 1.1	 .	 0.4 30  6	 9
+
+; Now try to decompose input file using wavelets
+i 2 2 4  1; approximation 1st level
+i 2 5 .  2; details 2nd level
+</CsScore>
+</CsoundSynthesizer>	 
diff --git a/examples/getcfg.csd b/examples/getcfg.csd
new file mode 100644
index 0000000..e989654
--- /dev/null
+++ b/examples/getcfg.csd
@@ -0,0 +1,49 @@
+<CsoundSynthesizer> 
+<CsOptions> 
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+</CsOptions> 
+<CsInstruments> 
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+S1 getcfg 1	; -+max_str_len 
+S2 getcfg 2	; -i 
+S3 getcfg 3	; -o 
+S4 getcfg 4	; RTaudio 
+S5 getcfg 5	; -t 
+S6 getcfg 6	; os system host 
+S7 getcfg 7	; callback 
+
+prints "------------------------------" 
+prints "\nMax string len : " 
+prints	S1 
+prints "\nInput file name (-i) : " 
+prints	S2 
+prints "\nOutput file name (-o) : " 
+prints	S3 
+prints "\nRTaudio (-odac) : " 
+prints	S4 
+prints "\nBeat mode (-t)? : " 
+prints	S5 
+prints "\nHost Op. Sys. : " 
+prints	S6 
+prints "\nCallback ? : " 
+prints	S7 
+prints "\n" 
+prints "------------------------------\n" 
+
+endin 
+
+</CsInstruments> 
+<CsScore> 
+i 1 0 0 
+e 
+</CsScore> 
+</CsoundSynthesizer> 
\ No newline at end of file
diff --git a/examples/gogobel.csd b/examples/gogobel.csd
index 2f351ba..865b316 100644
--- a/examples/gogobel.csd
+++ b/examples/gogobel.csd
@@ -1,47 +1,39 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o gogobel.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  ; kamp = 31129.60
-  ; kfreq = 440
-  ; ihrd = 0.5
-  ; ipos = 0.561
-  ; imp = 1
-  ; kvibf = 6.0
-  ; kvamp = 0.3
-  ; ivfn = 2
-
-  a1 gogobel 31129.60, 440, 0.5, 0.561, 1, 6.0, 0.3, 2
-  out a1
-endin
 
+   kfreq = 200
+   ihrd = 0.5
+   ipos = p4
+   kvibf = 6.0
+   kvamp = 0.3
 
+asig gogobel .9, kfreq, ihrd, ipos, 1, 6.0, 0.3, 2
+     outs asig, asig
+endin
 </CsInstruments>
 <CsScore>
-
-; Table #1, the "marmstk1.wav" audio file.
+;audio file
 f 1 0 256 1 "marmstk1.wav" 0 0 0
-; Table #2, a sine wave for the vibrato.
+;sine wave for the vibrato
 f 2 0 128 10 1
 
-; Play Instrument #1 for one second.
-i 1 0.5 1
+i 1 0.5 0.5 0.01
+i 1 + 0.5 0.561
+i 1 + 0.5 0.9
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/grain.csd b/examples/grain.csd
index 60f9146..f307f89 100644
--- a/examples/grain.csd
+++ b/examples/grain.csd
@@ -1,44 +1,42 @@
-<CsoundSynthesizer>
-<CsOptions>
-; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
-; For Non-realtime ouput leave only the line below:
-; -o grain.wav -W ;;; for file output any platform
-</CsOptions>
-<CsInstruments>
-
-; Initialize the global variables.
-sr = 44100
-kr = 44100
-ksmps = 1
-nchnls = 1
-
-instr 1
-    insnd = 10
-    ibasfrq = 44100 / ftlen(insnd)   ; Use original sample rate of insnd file
-
-    kamp   expseg 220, p3/2, 600, p3/2, 220
-    kpitch line ibasfrq, p3, ibasfrq * .8
-    kdens  line 600, p3, 200
-    kaoff  line 0, p3, 5000
-    kpoff  line 0, p3, ibasfrq * .5
-    kgdur  line .4, p3, .1
-    imaxgdur =  .5
-
-    ar  grain kamp, kpitch, kdens, kaoff, kpoff, kgdur, insnd, 5, imaxgdur, 0.0
-    out ar
-endin
-
-
-</CsInstruments>
-<CsScore>
-
-f5  0 512  20 2                  ; Hanning window
-f10 0 262144 1  "mary.wav" 0 0 0
-i1 0 6
-e
-
-
-</CsScore>
-</CsoundSynthesizer>
+<CsoundSynthesizer> 
+<CsOptions> 
+; Select audio/midi flags here according to platform 
+-odac     ;;;realtime audio out 
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too 
+; For Non-realtime ouput leave only the line below: 
+; -o grain.wav -W ;;; for file output any platform 
+</CsOptions> 
+<CsInstruments> 
+
+sr = 44100 
+ksmps = 32 
+nchnls = 2 
+0dbfs  = 1 
+
+instr 1 
+
+insnd   = 10 
+ibasfrq = 44100 / ftlen(insnd) ; Use original sample rate of insnd file 
+
+kamp   expseg .001, p3/2, .1, p3/2, .01 ;a swell in amplitude
+kpitch line ibasfrq, p3, ibasfrq * .8 
+kdens  line 600, p3, 100 
+kaoff  line 0, p3, .1
+kpoff  line 0, p3, ibasfrq * .5 
+kgdur  line .4, p3, .01
+imaxgdur =  .5 
+
+asigL  grain kamp, kpitch, kdens, kaoff, kpoff, kgdur, insnd, 5, imaxgdur, 0.0 
+asigR  grain kamp, kpitch, kdens, kaoff, kpoff, kgdur, insnd, 5, imaxgdur, 0.0 
+       outs asigL, asigR
+
+endin 
+</CsInstruments> 
+<CsScore> 
+f5  0 512  20 2 ; Hanning window 
+f10 0 16384 1  "beats.wav" 0 0 0 
+
+i1 0 15 
+e 
+</CsScore> 
+</CsoundSynthesizer> 
\ No newline at end of file
diff --git a/examples/grain2.csd b/examples/grain2.csd
index 5eb8db1..5442b8e 100644
--- a/examples/grain2.csd
+++ b/examples/grain2.csd
@@ -34,7 +34,7 @@ ga01	init 0
 
 i0	=  0
 loop1:
-imaxh	=  sr / (2 * 440.0 * exp (log(2.0) * (i0 - 69) / 12))
+imaxh	=  sr / (2 * 440.0 * exp(log(2.0) * (i0 - 69) / 12))
 i_	ftgen i0 + 256, 0, 4096, -30, 1, 1, imaxh
 i0	=  i0 + 1
 	if (i0 < 127.5) igoto loop1
diff --git a/examples/guiro.csd b/examples/guiro.csd
index 021a0fa..c0f4d82 100644
--- a/examples/guiro.csd
+++ b/examples/guiro.csd
@@ -1,30 +1,29 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o guiro.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-    instr 01  ;example of a guiro
-a1  guiro p4, 0.01
-    out a1
-    endin
+instr 1
 
+a1  guiro .8, p4
+    outs a1, a1
 
+endin
 </CsInstruments>
 <CsScore>
 
-i1 0 1 20000
+i1 0 1  1
+i1 + 1 .01
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/harmon.csd b/examples/harmon.csd
index 18a511f..28933db 100644
--- a/examples/harmon.csd
+++ b/examples/harmon.csd
@@ -1,57 +1,39 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o harmon.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  ; The frequency of the base note.
-  inote = 440
-
-  ; Generate the base note.
-  avco vco 20000, inote, 1
-
-  kestfrq = inote
-  kmaxvar = 0.4
+ 
+aout diskin2 "fox.wav", 1
+
+kestfrq = p4	;different estimated frequency
+kmaxvar = 0.1
+imode   = 1
+iminfrq = 100
+iprd    = 0.02
   
-  ; Calculate frequencies 3 semitones above and
-  ; below the base note.
-  kgenfreq1 = inote * semitone(3)
-  kgenfreq2 = inote * semitone(-3)
-
-  imode = 1
-  iminfrq = inote - 200
-  iprd = 0.1
-  
-  ; Generate the harmony notes.
-  a1 harmon avco, kestfrq, kmaxvar, kgenfreq1, kgenfreq2, \
+asig harmon aout, kestfrq, kmaxvar, kestfrq*.5, kestfrq*4, \
             imode, iminfrq, iprd
+     outs (asig + aout)*.6, (asig + aout)*.6	;mix dry&wet signal
 
-  out a1
 endin
-
-
 </CsInstruments>
 <CsScore>
 
-; Table #1, a sine wave.
-f 1 0 16384 10 1
-
-; Play Instrument #1 for two seconds.
-i 1 0 2
+i 1 0 2.7 100
+i 1 + .   200
+i 1 + .   500
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/harmon3.csd b/examples/harmon3.csd
new file mode 100644
index 0000000..949466d
--- /dev/null
+++ b/examples/harmon3.csd
@@ -0,0 +1,35 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o harmon3.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+ilow = p4					;lowest value to harmonize			
+aout diskin2 "fox.wav", 1, 0, 1
+koct, kamp pitch aout, .01, 6, 10, 10		;track pitch
+asig harmon3 aout, koct, .9, 1.5, 0.7, 0, ilow
+     outs (asig + aout)*.4, (asig + aout)*.4	;mix dry&wet signal
+
+endin
+</CsInstruments>
+<CsScore>
+
+i1 0 2.7 8.8
+i1 3 2.7 8.2
+i1 6 2.7 7.0
+
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/hilbert.csd b/examples/hilbert.csd
index f362852..52caca6 100644
--- a/examples/hilbert.csd
+++ b/examples/hilbert.csd
@@ -1,17 +1,17 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o hilbert.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
   
 instr 1
   idur = p3
@@ -27,7 +27,7 @@ instr 1
   kfreq linseg ibegshift, idur, iendshift
  
   ; Use the sound of your choice.
-  ain soundin "mary.wav"
+  ain diskin2 "beats.wav", 1, 0, 1
  
   ; Phase quadrature output derived from input signal.
   areal, aimag hilbert ain
@@ -51,7 +51,7 @@ instr 1
   ; Notice that the adding of the two together is
   ; identical to the output of ring modulation.
 
-  out aupshift
+  outs aupshift, aupshift
 endin
 
 
@@ -62,12 +62,12 @@ endin
 f 1 0 16384 10 1
 
 ; Starting with no shift, ending with all
-; frequencies shifted up by 200 Hz.
-i 1 0 2 0 200
+; frequencies shifted up by 2000 Hz.
+i 1 0 6 0 2000
 
 ; Starting with no shift, ending with all
-; frequencies shifted down by 200 Hz.
-i 1 2 2 0 -200
+; frequencies shifted down by 250 Hz.
+i 1 7 6 0 -250
 e
 
 
diff --git a/examples/hrtfearly.csd b/examples/hrtfearly.csd
new file mode 100644
index 0000000..ec679e8
--- /dev/null
+++ b/examples/hrtfearly.csd
@@ -0,0 +1,74 @@
+<CsoundSynthesizer>
+<CsOptions>
+
+; Select flags here
+; realtime audio out
+ -o dac
+; file ouput 
+; -o hrtf.wav
+  
+</CsOptions>
+<CsInstruments>
+
+nchnls = 2
+
+gasrc init 0	;global
+
+instr 1		;a plucked string, distorted and filtered
+
+  iamp = 15000
+  icps = cpspch(p4)
+
+  a1 pluck iamp, icps, icps, 0, 1
+  adist distort1 a1, 10, .5, 0, 0
+  afilt moogvcf2 adist, 8000, .5 
+  aout linen afilt, 0, p3, .01
+  
+  gasrc = gasrc + aout
+
+endin
+
+instr 10	;uses output from instr1 as source
+  
+  ;simple path for source
+  kx line 2, p3, 9
+
+  ;early reflections, room default 1
+  aearlyl,aearlyr, irt60low, irt60high, imfp hrtfearly gasrc, kx, 5, 1, 5, 1, 1, "hrtf-44100-left.dat", "hrtf-44100-right.dat", 1
+
+  ;later reverb, uses outputs from above
+  arevl, arevr, idel hrtfreverb gasrc, irt60low, irt60high, "hrtf-44100-left.dat", "hrtf-44100-right.dat", 44100, imfp
+
+  ;delayed and scaled
+  alatel delay arevl * .1, idel
+  alater delay arevr * .1, idel
+
+  outs	aearlyl + alatel, aearlyr + alater
+  
+  gasrc = 0
+
+endin
+  
+</CsInstruments>
+<CsScore>
+
+; Play Instrument 1: a simple arpeggio
+i1 0 .2 8.00 
+i1 + .2 8.04
+i1 + .2 8.07
+i1 + .2 8.11
+i1 + .2 9.02
+i1 + 1.5 8.11
+i1 + 1.5 8.07
+i1 + 1.5 8.04
+i1 + 1.5 8.00
+i1 + 1.5 7.09
+i1 + 4 8.00
+
+; Play Instrument 10 for 13 seconds.
+i10 0 13
+
+</CsScore>
+</CsoundSynthesizer>
+
+
diff --git a/examples/hrtfstat-2.csd b/examples/hrtfstat-2.csd
new file mode 100644
index 0000000..f7a5a65
--- /dev/null
+++ b/examples/hrtfstat-2.csd
@@ -0,0 +1,39 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o hrtfstat-2.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+iAz   = p4
+iElev = p5
+
+itim = ftlptim(1)
+;    transeg a   dur   ty  b  dur    ty  c    dur   ty  d
+kamp transeg 0, p3*.1, 0, .9, p3*.3, -3, .5,  p3*.3, -2, 0
+ain  loscil3 kamp, 50, 1
+aleft,aright hrtfstat ain, iAz, iElev, "hrtf-44100-left.dat","hrtf-44100-right.dat"
+     outs aleft, aright
+
+endin
+</CsInstruments>
+<CsScore>
+f 1 0 0 1 "Church.wav" 0 0 0 ;Csound computes tablesize
+
+;      Azim Elev
+i1 0 7  90   0  ;to the right
+i1 3 7 -90  -40 ;to the left and below
+i1 6 7 180   90 ;behind and up
+e 
+</CsScore>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/hrtfstat.csd b/examples/hrtfstat.csd
index a75bee0..a77b588 100644
--- a/examples/hrtfstat.csd
+++ b/examples/hrtfstat.csd
@@ -1,48 +1,48 @@
 <CsoundSynthesizer>
-  <CsOptions>
-    ; Select flags here
-    ; realtime audio out
- -o dac
-    ; For Non-realtime ouput leave only the line below:
-   ; -o hrtf.wav
-  </CsOptions>
-  <CsInstruments>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o hrtfstat.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
 
-    sr = 44100
-    kr = 4410
-    ksmps = 10
-    nchnls = 2
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+    
+gasrc init 0
 
-    gasrc init 0
+instr 1	;a plucked string
 
-    instr 1		;a plucked string
+kamp = p4
+kcps = cpspch(p5)
+icps = cpspch(p5)
+a1 pluck kamp, kcps, icps, 0, 1
 
-    kamp = p4
-    kcps = cpspch(p5)
-    icps = cpspch(p5)
+gasrc = a1
 
-    a1 pluck kamp, kcps, icps, 0, 1
+endin
 
-    gasrc = a1
+instr 10;uses output from instr1 as source
 
-    endin
+aleft,aright hrtfstat gasrc, 90,0, "hrtf-44100-left.dat","hrtf-44100-right.dat"
+             outs     aleft, aright
 
-    instr 10	;uses output from instr1 as source
+clear gasrc
+endin
 
-    aleft,aright hrtfstat gasrc, 90,0, "hrtf-44100-left.dat","hrtf-44100-right.dat"
+</CsInstruments>
+<CsScore>
 
-    outs	aleft, aright
+i1 0 2 .7 8.00	; Play Instrument 1: a plucked string
+i1 .5 2 .7 8.00
+i1 1 2 .7 8.00
+i1 2 2 .7 7.00
 
-    endin
+i10 0 12	; Play Instrument 10 for 2 seconds.
 
-  </CsInstruments>
-  <CsScore>
-
-    ; Play Instrument 1: a plucked string
-    i1 0 2 20000 8.00
-
-    ; Play Instrument 10 for 2 seconds.
-    i10 0 2
-
-  </CsScore>
+</CsScore>
 </CsoundSynthesizer>
diff --git a/examples/hsboscil.csd b/examples/hsboscil.csd
index fc72c94..7438021 100644
--- a/examples/hsboscil.csd
+++ b/examples/hsboscil.csd
@@ -1,28 +1,27 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o hsboscil.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
 ; synth waveform
-giwave ftgen 1, 0, 1024, 10, 1, 1, 1, 1
+giwave  ftgen 1, 0, 1024, 10, 1, 1, 1, 1
 ; blending window
 giblend ftgen 2, 0, 1024, -19, 1, 0.5, 270, 0.5
 
-; Instrument #1 - produces Risset's glissando.
-instr 1
-  kamp = 10000
-  kbrite = 0.5
+instr 1 ; produces Risset's glissando.
+
+  kamp = .4
+  kbrite = 0.3
   ibasfreq = 200
   ioctcnt = 5
 
@@ -30,18 +29,14 @@ instr 1
   ; over the period defined by p3.
   ktone line 0, p3, 1
 
-  a1 hsboscil kamp, ktone, kbrite, ibasfreq, giwave, giblend, ioctcnt
-  out a1
-endin
-
+asig hsboscil kamp, ktone, kbrite, ibasfreq, giwave, giblend, ioctcnt
+     outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for ten seconds.
 i 1 0 10
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/hsboscil_midi.csd b/examples/hsboscil_midi.csd
index 7be64eb..f2b9f6f 100644
--- a/examples/hsboscil_midi.csd
+++ b/examples/hsboscil_midi.csd
@@ -1,49 +1,43 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages  MIDI in
--odac           -iadc     -d          -M0    ;;;RT audio I/O with MIDI in
-; For Non-realtime ouput leave only the line below:
+; Audio out  
+-odac   -M0 ;;;realtime audio out and realtime MIDI in
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; -o hsboscil_midi.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
 ; synth waveform
-giwave ftgen 1, 0, 1024, 10, 1, 1, 1, 1
+giwave  ftgen 1, 0, 1024, 10, 1, 1, 1, 1
 ; blending window
 giblend ftgen 2, 0, 1024, -19, 1, 0.5, 270, 0.5
 
-; Instrument #1 - use hsboscil in a MIDI instrument.
 instr 1
-  ibase = cpsoct(6)
-  ioctcnt = 5
 
-  ; all octaves sound alike.
+ibase = cpsoct(6)
+ioctcnt = 5
+
+; all octaves sound alike.
   itona octmidi
   ; velocity is mapped to brightness
-  ibrite ampmidi 3
+  ibrite ampmidi 4
 
-  ; Map an exponential envelope for the amplitude.
-  kenv expon 20000, 1, 100
+; Map an exponential envelope for the amplitude.
+kenv expon .8, 1, .01
+asig hsboscil kenv, itona, ibrite, ibase, giwave, giblend, ioctcnt
+     outs asig, asig
 
-  asig hsboscil kenv, itona, ibrite, ibase, giwave, giblend, ioctcnt
-  out asig
 endin
-
-
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for ten minutes
-i 1 0 600
+i 1 0 30 ; play for 30 seconds
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/hvs2.csd b/examples/hvs2.csd
old mode 100755
new mode 100644
diff --git a/examples/i_statement.csd b/examples/i_statement.csd
new file mode 100644
index 0000000..269483e
--- /dev/null
+++ b/examples/i_statement.csd
@@ -0,0 +1,70 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o i_statement.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 10
+        
+  icps     init      cpspch(p4)                  ; Get target pitch from score event
+  iportime init      abs(p3)/7                   ; Portamento time dep on note length
+  iamp0    init      p5                          ; Set default amps
+  iamp1    init      p5
+  iamp2    init      p5
+      
+  itie     tival                                 ; Check if this note is tied,
+  if itie  ==  1     igoto nofadein              ; if not fade in
+  iamp0    init      0
+
+nofadein:
+  if p3    < 0       igoto nofadeout             ; Check if this note is held, if not fade out
+  iamp2    init      0    
+
+nofadeout:
+  ; Now do amp from the set values:
+  kamp     linseg    iamp0, .03, iamp1, abs(p3)-.03, iamp2
+        
+  ; Skip rest of initialization on tied note:
+           tigoto    tieskip
+
+  kcps     init      icps                        ; Init pitch for untied note
+  kcps     port      icps, iportime, icps        ; Drift towards target pitch
+
+  kpw      oscil     .4, rnd(1), 1, rnd(.7)      ; A simple triangle-saw oscil
+  ar       vco       kamp, kcps, 3, kpw+.5, 1, 1/icps
+        
+  ; (Used in testing - one may set ipch to cpspch(p4+2)
+  ;       and view output spectrum)
+  ;       ar oscil kamp, kcps, 1
+
+          outs        ar, ar
+
+tieskip:                                        ; Skip some initialization on tied note
+
+endin
+</CsInstruments>
+<CsScore>
+f1   0 8192 10 1            ; Sine
+
+i10.1    0    -1    7.00    .15
+i10.2    0    -1    7.04
+i10.3    0    -1    7.07
+i10.1    1    -1    8.00  
+i10.2    1    -1    8.04
+i10.3    1    -1    8.07
+i10.1    2     1    7.11  
+i10.2    2     1    8.04  
+i10.3    2     1    8.07
+  e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/imageopcodes.csd b/examples/imageopcodes.csd
index 7e4e4e6..6805941 100644
--- a/examples/imageopcodes.csd
+++ b/examples/imageopcodes.csd
@@ -1,13 +1,10 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
-;-odac           -iadc    ;;;RT audio I/O
-; For Non-realtime ouput leave only the line below:
--o imageopcodes.wav -W ;;; for file output any platform
+-n ;no sound output
 </CsOptions>
-
 <CsInstruments>
+
 sr=48000
 ksmps=1
 nchnls=2
@@ -22,12 +19,14 @@ giimage2 imagecreate giimagew,giimageh
 
 kndx = 0
 kx_ linseg 0, p3, 1
+;print imagewidth and imageheigth of image.png
+prints "imagewidth = %f pixels, imageheigth = %f pixels\\n", giimagew, giimageh
 
 myloop:
 ky_ = kndx/(giimageh)
-kr_ kg_ kb_ imagegetpixel giimage1, kx_, ky_
+kr_, kg_, kb_ imagegetpixel giimage1, kx_, ky_
 imagesetpixel giimage2, kx_, ky_, kr_, kg_, kb_
-loop_lt kndx, 0.5, (giimageh), myloop
+loop_lt kndx, 0.5, giimageh, myloop
     endin
 
     instr 2
@@ -41,7 +40,6 @@ imagefree giimage2
     endin
 
 </CsInstruments>
-
 <CsScore>
 
 i1 1 1
@@ -50,6 +48,5 @@ i3 3 1
 e
 
 </CsScore>
-
 </CsoundSynthesizer>
  
diff --git a/examples/in.csd b/examples/in.csd
new file mode 100644
index 0000000..91f0153
--- /dev/null
+++ b/examples/in.csd
@@ -0,0 +1,30 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   -idac   ;;;realtime audio I/O
+; For Non-realtime ouput leave only the line below:
+; in.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1 ;1 channel in, two channels out
+
+ain1 in	;grab your mic and sing
+adel linseg 0, p3*.5, 0.02, p3*.5, 0	;max delay time = 20ms
+aout flanger ain1, adel, .7
+     fout "in_1.wav", 14, aout, aout	;write to stereo file,
+     outs aout, aout			;16 bits with header
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 10
+e
+</CsScore>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/inch.csd b/examples/inch.csd
new file mode 100644
index 0000000..8b558d8
--- /dev/null
+++ b/examples/inch.csd
@@ -0,0 +1,31 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   -idac   ;;;realtime audio I/O
+; For Non-realtime ouput leave only the line below:
+; inch.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1 ;nchnls channels in, two channels out
+
+ain1, ainr inch 1, 2			;grab your mic and sing
+adel  linseg 0, p3*.5, 0.02, p3*.5, 0	;max delay time = 20ms
+aoutl flanger ain1, adel, .7
+aoutr flanger ain1, adel*2, .8
+      fout "in_ch.wav", 14, aoutl, aoutr ;write to stereo file,
+      outs aoutl, aoutr			;16 bits with header
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 10
+e
+</CsScore>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/init.csd b/examples/init.csd
new file mode 100644
index 0000000..bd6557d
--- /dev/null
+++ b/examples/init.csd
@@ -0,0 +1,31 @@
+<CsoundSynthesizer> 
+<CsOptions>
+; Select audio/midi flags here according to platform
+-n  ;no sound output
+</CsOptions>
+<CsInstruments> 
+
+sr     = 44100
+ksmps  = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1 ;shows what init does
+        kinit init 0 
+        kinit = kinit + 1 
+        printk .1, kinit 
+endin 
+
+instr 2 ;shows what an assignment does
+        knoinit = 0 
+        knoinit = knoinit + 1 
+        printk .1, knoinit 
+endin 
+</CsInstruments> 
+<CsScore> 
+;play one second each
+i1 0 1 
+i2 2 1 
+e
+</CsScore> 
+</CsoundSynthesizer> 
diff --git a/examples/initc7.csd b/examples/initc7.csd
index 52669a2..39af368 100644
--- a/examples/initc7.csd
+++ b/examples/initc7.csd
@@ -1,44 +1,38 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in   No messages  MIDI in
--odac           -iadc     -d         -M0  ;;;RT audio I/O with MIDI in
-; For Non-realtime ouput leave only the line below:
-; -o ctrl7.wav -W ;;; for file output any platform
+-odac   -M0  ;;;realtime audio I/O with MIDI in
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs = 1
 
-; Instrument #1.
-instr 1
- ; This example expects MIDI controller input on channel 1
+instr 1	; expects MIDI controller input on channel 1
 ; run and move your midi controller to see result
 
-imax=15000
-imin=0
+imax = 1
+imin = 0
 ichan = 1 
-ictlno=7					; = midi volume
-
+ictlno = 7
+ 
 	initc7	1, 7, 1			; start at max. volume
-kamp	ctrl7	ichan,ictlno, imin, imax	; controller 7
+kamp	ctrl7	ichan, ictlno, imin, imax	; controller 7
 	printk2	kamp
-a1	oscil	kamp,440,1
-	out	a1
+asig	oscil	kamp, 220, 1
+	outs	asig, asig
 
 endin
 
 </CsInstruments>
 <CsScore>
-
 f 1 0 4096 10 1
-i1 0 20
-e
 
+i1 0 20
 
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/inleta.csd b/examples/inleta.csd
old mode 100755
new mode 100644
index 256436a..2ec1e43
--- a/examples/inleta.csd
+++ b/examples/inleta.csd
@@ -1,31 +1,30 @@
 <CsoundSynthesizer> 
 <CsOptions> 
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in   No messages  MIDI in
--odac           -iadc     -d  ;;;RT audio I/O 
-;-Wfo inleta.wav 
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o inleta.wav -W ;;; for file output any platform
 </CsOptions> 
 <CsInstruments> 
 
-; Initialize the global variables. 
-
-sr 	    = 44100 
-ksmps 	= 100 
-nchnls 	= 2 
+sr = 44100
+ksmps = 32
+nchnls = 2
 
 ; Connect up instruments and effects to create the signal flow graph. 
 
-connect "SimpleSine",   	"leftout",     "Reverberator",     	"leftin" 
-connect "SimpleSine",   	"rightout",    "Reverberator",     	"rightin" 
+connect "SimpleSine",   "leftout", "Reverberator", "leftin" 
+connect "SimpleSine",   "rightout","Reverberator", "rightin" 
 
-connect "Moogy",        	"leftout",     "Reverberator",     	"leftin" 
-connect "Moogy",        	"rightout",    "Reverberator",     	"rightin" 
+connect "Moogy",        "leftout", "Reverberator", "leftin" 
+connect "Moogy",        "rightout","Reverberator", "rightin" 
 
-connect "Reverberator", 	"leftout",     "Compressor",       	"leftin" 
-connect "Reverberator", 	"rightout",    "Compressor",       	"rightin" 
+connect "Reverberator", "leftout", "Compressor",   "leftin" 
+connect "Reverberator", "rightout","Compressor",   "rightin" 
 
-connect "Compressor",   	"leftout",     "Soundfile",       	"leftin" 
-connect "Compressor",   	"rightout",    "Soundfile",       	"rightin" 
+connect "Compressor",   "leftout", "Soundfile",    "leftin" 
+connect "Compressor",   "rightout","Soundfile",    "rightin" 
 
 ; Turn on the "effect" units in the signal flow graph. 
 
@@ -35,92 +34,93 @@ alwayson "Soundfile"
 
 ; Define instruments and effects in order of signal flow.
 
-			    instr SimpleSine 
-                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-			    ; Default values:   p1  p2  p3  p4  p5  p6  p7  p8  p9  p10
-			    pset			    0,  0,  10, 0,  0,  0,  0.5
-iattack			=			        0.015
-idecay			=			        0.07
-isustain		=			        p3
-irelease		=			        0.3
-p3			    =			        iattack + idecay + isustain + irelease
-adamping		linsegr			    0.0, iattack, 1.0, idecay + isustain, 1.0, irelease, 0.0
-iHz 			= 			        cpsmidinn(p4) 
-                ; Rescale MIDI velocity range to a musically usable range of dB. 
-iamplitude 		= 			        ampdb(p5 / 127 * 15.0 + 60.0) 
-			    ; Use ftgenonce instead of ftgen, ftgentmp, or f statement. 
-icosine			ftgenonce 		    0, 0, 65537, 11, 1 
-aoscili			oscili 			    iamplitude, iHz, icosine 
-aadsr 			madsr 			    iattack, idecay, 0.6, irelease 
-asignal 		= 			        aoscili * aadsr 
-aleft, aright	pan2			    asignal, p7
-			    ; Stereo audio output to be routed in the orchestra header. 
-			    outleta 		    "leftout", aleft
-			    outleta 		    "rightout", aright
-			    endin 
-
-			    instr Moogy 
-                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-			    ; Default values:   p1  p2  p3  p4  p5  p6  p7  p8  p9  p10
-			    pset			    0,  0,  10, 0,  0,  0,  0.5
-iattack			=			        0.003
-isustain		=			        p3
-irelease		=			        0.05
-p3			    =			        iattack + isustain + irelease
-adamping		linsegr			    0.0, iattack, 1.0, isustain, 1.0, irelease, 0.0
-iHz 			= 			        cpsmidinn(p4)
-                ; Rescale MIDI velocity range to a musically usable range of dB. 
-iamplitude 		= 			        ampdb(p5 / 127 * 20.0 + 60.0) 
-			    print 			    iHz, iamplitude 
-			    ; Use ftgenonce instead of ftgen, ftgentmp, or f statement. 
-isine 			ftgenonce 		    0, 0, 65537, 10, 1 
-asignal 		vco 			    iamplitude, iHz, 1, 0.5, isine 
-kfco 			line 			    2000, p3, 200
-krez 			= 			        0.8 
-asignal 		moogvcf 		    asignal, kfco, krez, 100000 
-asignal			=			        asignal * adamping
-aleft, aright	pan2			    asignal, p7
-			    ; Stereo audio output to be routed in the orchestra header. 
-			    outleta 		    "leftout", aleft
-			    outleta 		    "rightout", aright 
-			    endin 
-			    instr Reverberator 
-                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-			    ; Stereo input. 
-aleftin 		inleta 			    "leftin" 
-arightin 		inleta 			    "rightin" 
-idelay 			= 			        p4 
-icutoff 		= 			        p5 
-aleft, aright 	reverbsc 	        aleftin, arightin, idelay, icutoff 
-			    ; Stereo output. 
-			    outleta 	        "leftout", aleft 
-			    outleta 	        "rightout", aright 
-			    endin 
-
-			    instr Compressor 
-                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-			    ; Stereo input. 
-aleftin 		inleta 		        "leftin" 
-arightin 		inleta 		        "rightin" 
-kthreshold 		= 		            25000 
-icomp1 			= 		            0.5 
-icomp2 			= 		            0.763 
-irtime 			= 		            0.1 
-iftime 			= 		            0.1 
-aleftout 		dam 		        aleftin, kthreshold, icomp1, icomp2, irtime, iftime 
-arightout 		dam 		        arightin, kthreshold, icomp1, icomp2, irtime, iftime 
-			    ; Stereo output. 
-			    outleta 	        "leftout", aleftout 
-			    outleta 	        "rightout", arightout 
-			    endin 
-
-			    instr Soundfile 
-                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-			    ; Stereo input. 
-aleftin 		inleta 		        "leftin" 
-arightin 		inleta 		        "rightin" 
-			    outs 		        aleftin, arightin 
-			    endin 
+instr SimpleSine 
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Default values:   p1  p2  p3  p4  p5  p6  p7  p8  p9  p10
+                pset	        0,  0,  10, 0,  0,  0,  0.5
+iattack		= 0.015
+idecay		= 0.07
+isustain	= p3
+irelease	= 0.3
+p3		= iattack + idecay + isustain + irelease
+adamping	linsegr 0.0, iattack, 1.0, idecay + isustain, 1.0, irelease, 0.0
+iHz 		= cpsmidinn(p4) 
+; Rescale MIDI velocity range to a musically usable range of dB. 
+iamplitude 	= ampdb(p5 / 127 * 15.0 + 60.0) 
+; Use ftgenonce instead of ftgen, ftgentmp, or f statement. 
+icosine		ftgenonce 0, 0, 65537, 11, 1 
+aoscili		oscili iamplitude, iHz, icosine 
+aadsr 		madsr iattack, idecay, 0.6, irelease 
+asignal 	= aoscili * aadsr 
+aleft, aright	pan2 asignal, p7
+; Stereo audio output to be routed in the orchestra header. 
+		outleta "leftout", aleft
+		outleta "rightout", aright
+endin 
+
+instr Moogy 
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Default values:   p1  p2  p3  p4  p5  p6  p7  p8  p9  p10
+		pset            0,  0,  10, 0,  0,  0,  0.5
+iattack		= 0.003
+isustain	= p3
+irelease	= 0.05
+p3		= iattack + isustain + irelease
+adamping	linsegr	0.0, iattack, 1.0, isustain, 1.0, irelease, 0.0
+iHz 		= cpsmidinn(p4)
+; Rescale MIDI velocity range to a musically usable range of dB. 
+iamplitude 	= ampdb(p5 / 127 * 20.0 + 60.0) 
+		print iHz, iamplitude 
+; Use ftgenonce instead of ftgen, ftgentmp, or f statement. 
+isine 		ftgenonce 0, 0, 65537, 10, 1 
+asignal 	vco iamplitude, iHz, 1, 0.5, isine 
+kfco 		line 2000, p3, 200
+krez 		= 0.8 
+asignal 	moogvcf asignal, kfco, krez, 100000 
+asignal		= asignal * adamping
+aleft, aright	pan2 asignal, p7
+; Stereo audio output to be routed in the orchestra header. 
+		outleta "leftout", aleft
+		outleta "rightout", aright 
+endin 
+
+instr Reverberator 
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Stereo input. 
+aleftin 	inleta "leftin" 
+arightin 	inleta "rightin" 
+idelay 		= p4 
+icutoff 	= p5 
+aleft, aright 	reverbsc aleftin, arightin, idelay, icutoff 
+; Stereo output. 
+		outleta "leftout", aleft 
+		outleta "rightout", aright 
+endin 
+
+instr Compressor 
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Stereo input. 
+aleftin 	inleta "leftin" 
+arightin 	inleta "rightin" 
+kthreshold 	= 25000 
+icomp1 		= 0.5 
+icomp2 		= 0.763 
+irtime 		= 0.1 
+iftime 		= 0.1 
+aleftout 	dam aleftin, kthreshold, icomp1, icomp2, irtime, iftime 
+arightout 	dam arightin, kthreshold, icomp1, icomp2, irtime, iftime 
+; Stereo output. 
+		outleta "leftout", aleftout 
+		outleta "rightout", arightout 
+endin 
+
+instr Soundfile 
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Stereo input. 
+aleftin 	inleta "leftin" 
+arightin 	inleta "rightin" 
+		outs aleftin, arightin 
+endin 
 
 </CsInstruments> 
 <CsScore> 
diff --git a/examples/inletk.csd b/examples/inletk.csd
new file mode 100644
index 0000000..ec7a5c4
--- /dev/null
+++ b/examples/inletk.csd
@@ -0,0 +1,42 @@
+<CsoundSynthesizer> 
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o inletk.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments> 
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+connect "bend", "bendout", "guitar", "bendin" 
+
+instr bend 
+
+kbend line p4, p3, p5 
+      outletk "bendout", kbend 
+endin 
+
+instr guitar 
+
+kbend inletk "bendin" 
+kpch pow 2, kbend/12
+     printk2 kpch
+asig oscili .4, 440*kpch, 1 
+     outs asig, asig
+endin 
+
+</CsInstruments> 
+<CsScore> 
+f1 0 1024 10 1
+
+i"guitar" 0 5 8.00 
+i"bend" 3 .2 -12 12 
+i"bend" 4 .1 -17 40 
+e
+</CsScore> 
+</CsoundSynthesizer> 
\ No newline at end of file
diff --git a/examples/inq.csd b/examples/inq.csd
new file mode 100644
index 0000000..9c3b747
--- /dev/null
+++ b/examples/inq.csd
@@ -0,0 +1,37 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  -idac ;;;realtime audio I/O
+; For Non-realtime ouput leave only the line below:
+; inq.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr   = 44100
+ksmps   = 32
+nchnls   = 2	;2 channels out
+0dbfs    = 1
+nchnls_i = 4	;4 channels in
+
+instr 1 ;4 channels in, two channels out
+
+ain1, ain2, ain3, ain4 inq		;grab your mics and sing
+
+adel   linseg 0, p3*.5, 0.02, p3*.5, 0	  ;max delay time = 20ms
+adel2  linseg 0.02, p3*.5, 0, p3*.5, 0.02 ;max delay time = 20ms	
+aoutl  flanger ain1, adel, .7
+aoutr  flanger ain2, adel*2, .8
+aoutla flanger ain3, adel2, .9
+aoutra flanger ain4, adel2*2, .5
+;write to quad file, 16 bits with header
+       fout "in_4.wav", 14, aoutl, aoutr, aoutla, aoutra	
+       outs (aoutl+aoutla)*.5, (aoutr+aoutra)*.5 ;stereo out
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 10
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/ins.csd b/examples/ins.csd
new file mode 100644
index 0000000..7812c79
--- /dev/null
+++ b/examples/ins.csd
@@ -0,0 +1,31 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   -idac   ;;;realtime audio I/O
+; For Non-realtime ouput leave only the line below:
+; ins.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2				;two channels out
+0dbfs  = 1
+
+instr 1 
+
+ain1, ainr ins				;grab your mic and sing
+adel  linseg 0, p3*.5, 0.02, p3*.5, 0	;max delay time = 20ms
+aoutl flanger ain1, adel, .7
+aoutr flanger ain1, adel*2, .8
+      fout "in_s.wav", 14, aoutl, aoutr ;write to stereo file,
+      outs aoutl, aoutr			;16 bits with header
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 10
+e
+</CsScore>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/int.csd b/examples/int.csd
index e80a6bb..4affa52 100644
--- a/examples/int.csd
+++ b/examples/int.csd
@@ -1,35 +1,32 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o int.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  i1 = 16 / 5
-  i2 = int(i1)
-
-  print i2
-endin
 
+icount init 0
+loop:
+  inum = icount / 3
+  inm  = int(inum)
+  prints "integer (%f/3) = %f\\n", icount, inm
+loop_lt icount, 1, 10, loop
 
+endin
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for one second.
-i 1 0 1
+i 1 0 0
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/invalue.csd b/examples/invalue.csd
new file mode 100644
index 0000000..5c2e5c1
--- /dev/null
+++ b/examples/invalue.csd
@@ -0,0 +1,28 @@
+
+<CsoundSynthesizer>
+<CsOptions>
+</CsOptions>
+<CsInstruments>
+;run this example in CsoundQt, a Csound editor that provides widgets
+;make the Widgets-panel visible, by clicking the Widgets symbol in the menu or pressing (Alt+1).
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+; written by Andres Cabrera
+instr 1
+
+kfreq invalue "freq" ; Quotes are needed here
+asig  oscil 0.1, kfreq, 1
+      outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+f 1 0 1024 10 1 ;sine
+i 1 0 300 	;play for 300 seconds
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/jitter.csd b/examples/jitter.csd
index 4f1b187..c520811 100644
--- a/examples/jitter.csd
+++ b/examples/jitter.csd
@@ -1,53 +1,36 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o jitter.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
+ksmps = 32
 nchnls = 2
+0dbfs  = 1
 
-; Instrument #1 -- plain instrument.
 instr 1
-  aplain vco 20000, 220, 2, 0.83
 
-  outs aplain, aplain
-endin
-
-; Instrument #2 -- instrument with jitter.
-instr 2
-  ; Create a signal modulated the jitter opcode.
-  kamp init 2
-  kcpsmin init 4
-  kcpsmax init 6
-  kj jitter kamp, kcpsmin, kcpsmax
+kamp    init p4
+kcpsmin init 4
+kcpsmax init 8
 
-  aplain vco 20000, 220, 2, 0.83
-  ajitter vco 20000, 220+kj, 2, 0.83
+kj2  jitter kamp, kcpsmin, kcpsmax
+aout pluck 1, 200+kj2, 1000, 0, 1
+aout dcblock aout	;remove DC
+     outs aout, aout
 
-  outs aplain, ajitter
 endin
-
-
 </CsInstruments>
 <CsScore>
 
-; Table #1, a sine wave.
-f 1 0 16384 10 1
-
-; Play Instrument #1 for 3 seconds.
-i 1 0 3
-; Play Instrument #2 for 3 seconds.
-i 2 3 3
+i 1 0 15 2	;a bit jitter
+i 1 8 15 10	;some more
+i 1 16 15 20	;lots more
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/jitter2.csd b/examples/jitter2.csd
index fc1a5d0..e9acb26 100644
--- a/examples/jitter2.csd
+++ b/examples/jitter2.csd
@@ -1,58 +1,40 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o jitter2.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
+ksmps = 32
 nchnls = 2
+0dbfs  = 1
 
-; Instrument #1 -- plain instrument.
 instr 1
-  aplain vco 20000, 220, 2, 0.83
 
-  outs aplain, aplain
-endin
-
-; Instrument #2 -- instrument with jitter.
-instr 2
-  ; Create a signal modulated with the jitter2 opcode.
-  ktotamp init 2
-  kamp1 init 0.66
-  kcps1 init 3
-  kamp2 init 0.66
-  kcps2 init 3
-  kamp3 init 0.66
-  kcps3 init 3
-  kj jitter2 ktotamp, kamp1, kcps1, kamp2, kcps2, \
-             kamp3, kcps3
+ktotamp init p4
+kamp1   init .5
+kcps1   init 10
+kamp2   init .5
+kcps2   init 2
+kamp3   init .5
+kcps3   init 3
 
-  aplain vco 20000, 220, 2, 0.83
-  ajitter vco 20000, 220+kj, 2, 0.83
+kj2  jitter2 ktotamp, kamp1, kcps1, kamp2, kcps2, kamp3, kcps3
+aout pluck 1, 200+kj2, 1000, 0, 1
+aout dcblock aout
+     outs aout, aout
 
-  outs aplain, ajitter
 endin
-
-
 </CsInstruments>
 <CsScore>
 
-; Table #1, a sine wave.
-f 1 0 16384 10 1
-
-; Play Instrument #1 for 3 seconds.
-i 1 0 3
-; Play Instrument #2 for 3 seconds.
-i 2 3 3
+i 1 0 15 2	;a bit jitter
+i 1 8 15 10	;some more
+i 1 16 15 20	;lots more
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/joystick-2.csd b/examples/joystick-2.csd
new file mode 100644
index 0000000..fc1292e
--- /dev/null
+++ b/examples/joystick-2.csd
@@ -0,0 +1,67 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o joystick-2.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+;0dbfs  = 1
+
+instr 1
+
+kmask   joystick   0, 1
+kaxes    init 0
+kbuttons init 0
+kx0      init 0 ; first two entries are # of axes and # of buttons, 
+ky0      init 0 ; then axes, then buttons                           
+         vtabk 0, 1, kaxes, kbuttons, kx0, ky0
+kidx     =  2+kaxes 
+                       
+buttons:
+  kcheck =  kmask & 1<<kidx   ; if the button was just now pressed and...
+  kres   tab       kidx, 1    ; if button value is one, start a note
+         schedkwhen  kres*kcheck, 1, 20, 2, 0, 60000, kidx, kx0, ky0
+  kidx   =  kidx+1
+if kidx < (kaxes+kbuttons+2) kgoto buttons
+
+endin
+
+instr 2 ; play a tone until the button is released
+
+kstop   tab  p4, 1 ; when this button is released, we fade out
+ihz     init cpsoct(((p5+32767)/9362)+5) ; ~ 30 hz to 4khz
+print ihz
+ito     init ampdb(((p6+32767)/2184)+60) ; ~ 60 - 90 db
+kenv    init 0
+kdelta  init ito/(kr*10)
+if kstop == 1 kgoto output
+if kdelta < 0 kgoto output
+kdelta    =  kdelta*-1
+
+output:
+  kenv =  kenv+kdelta
+  kenv limit kenv, 0, ito
+  aout oscils 1, ihz, 0
+  aout =  kenv*aout
+       outs aout, aout
+if kenv != 0 kgoto noexit
+if kdelta > 0 kgoto noexit
+turnoff
+noexit:
+
+endin
+</CsInstruments>
+<CsScore>
+f1  0 32    7     0     7     0         ; will hold the joystick data
+
+i1  0  60000
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/joystick.csd b/examples/joystick.csd
new file mode 100644
index 0000000..85b168a
--- /dev/null
+++ b/examples/joystick.csd
@@ -0,0 +1,56 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o joystick.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+;0dbfs  = 1
+
+instr 1 ; gives information about your joystick in real time
+  
+kmask    joystick   0, 1
+kidx     =  2
+kaxes    tab 0, 1 ; number of axes has been stored in position 0
+kbuttons tab 1, 1 ; number of buttons has been stored in position 1
+         printf "this joystick has %d axes, %d buttons\n", kidx, kaxes, kbuttons
+kuniq    init 0
+
+reportaxis: ; first we see if we have any x/y input
+	kcheck    =  kmask & (1<<kidx)
+	if kcheck == 0 kgoto nexta
+	kres      tab       kidx, 1
+	kuniq     =  kuniq + 1 ; to be sure to make the printf print
+		  printf    "axis %d, value %6d\n", kuniq, kidx-2, kres
+nexta:
+	kidx      =  kidx+1
+	if kidx < (kaxes+2) kgoto reportaxis
+
+reportbutton: ; now we check for any buttons pressed
+	kcheck    =  kmask & 1<<kidx
+	if kcheck == 0 kgoto nextb
+	kres      tab       kidx, 1 ; a button has been pressed, get from table
+		  printf    "button %d, pushed\n", kidx*kres, (kidx-(kaxes+2))
+		  printf    "button %d, released\n", kidx*(1-kres), (kidx-(kaxes+2))
+
+nextb:
+	kidx      =  kidx+1
+	if kidx < (kaxes+kbuttons+2) kgoto reportbutton
+
+endin
+</CsInstruments>
+<CsScore>
+
+f1  0 32    7     0     7     0         ; will hold the joystick data
+
+i1  0  60000
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/jspline.csd b/examples/jspline.csd
old mode 100755
new mode 100644
index 5653cbc..f046e88
--- a/examples/jspline.csd
+++ b/examples/jspline.csd
@@ -1,53 +1,36 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o jspline.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
+ksmps = 32
 nchnls = 2
+0dbfs  = 1
 
-; Instrument #1 -- plain instrument.
 instr 1
-  aplain vco 15000, 220, 2, 0.83
 
-  outs aplain, aplain
-endin
-
-; Instrument #2 -- instrument with jitter.
-instr 2
-  ; Create a signal modulated the jitter opcode.
-  kamp init 2
-  kcpsmin init 4
-  kcpsmax init 10
-  kj jspline kamp, kcpsmin, kcpsmax
+kamp    init p4
+kcpsmin init 2
+kcpsmax init 20
 
-  aplain vco 20000, 220, 2, 0.83
-  ajitter vco 20000, 220+kj, 2, 0.83
+ksp  jspline kamp, kcpsmin, kcpsmax
+aout pluck 1, 200+ksp, 1000, 0, 1
+aout dcblock aout	;remove DC
+     outs aout, aout
 
-  outs aplain, ajitter
 endin
-
-
 </CsInstruments>
 <CsScore>
 
-; Table #1, a sine wave.
-f 1 0 16384 10 1
-
-; Play Instrument #1 for 3 seconds.
-i 1 0 3
-; Play Instrument #2 for 3 seconds.
-i 2 3 3
+i 1 0 10 2	;a bit jitter
+i 1 8 10 10	;some more
+i 1 16 10 20	;lots more
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/kickroll.wav b/examples/kickroll.wav
old mode 100755
new mode 100644
diff --git a/examples/lenarray.csd b/examples/lenarray.csd
new file mode 100644
index 0000000..7ec2f35
--- /dev/null
+++ b/examples/lenarray.csd
@@ -0,0 +1,53 @@
+<CsoundSynthesizer>
+<CsOptions>
+-n -m128 ;no sound output, reduced messages
+</CsOptions>
+<CsInstruments>
+;example by joachim heintz
+sr = 44100
+ksmps = 32
+nchnls = 1
+0dbfs = 1
+
+  instr 1 ;simple example
+kArr[]  fillarray 1, 2, 3, 4 ;fill array manually
+        printks "Length of kArr = %d\n\n", 0, lenarray(kArr) ;print out its length
+        turnoff ;only do this in the first k-cycle
+  endin
+
+  instr 2 ;random array length
+iNumEls random  1, 11 ;create random number between 1 and 10
+kArr[]  init    int(iNumEls) ;create array of this length
+        printks "Random length of kArr = %d\n", 0, lenarray(kArr) ;print out
+        turnoff
+  endin
+
+  instr 3 ;fill random array length with random elements
+iNumEls random  1, 11 ;create random number between 1 and 10
+kArr[]  init    int(iNumEls) ;create array of this length
+        printks "Random length of kArr = %d\n", 0, lenarray(kArr) ;print out
+
+;fill
+kIndx   =       0 ;initialize index
+  until kIndx == lenarray(kArr) do
+kArr[kIndx] rnd31 10, 0 ;set element to random value -10...10
+kIndx   +=      1 ;increase index
+  od
+
+;print
+kIndx   =       0 ;initialize index
+  until kIndx == lenarray(kArr) do
+printf("kArr[%d] = %f\n", kIndx+1, kIndx, kArr[kIndx])
+kIndx   +=      1 ;increase index
+  od
+
+        turnoff
+  endin
+</CsInstruments>
+<CsScore>
+i 1 0 .1
+i 2 0 .1 
+i 2 0 .1
+i 3 0 .1
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/lessequal.csd b/examples/lessequal.csd
index bc16838..2cac313 100644
--- a/examples/lessequal.csd
+++ b/examples/lessequal.csd
@@ -1,43 +1,41 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o lessequal.wav -W ;;; for file output any platform
+; -o <=.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 44100
-ksmps = 1
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  ; Get the 4th p-field from the score.
-  k1 =  p4
 
-  ; Is it less than or equal to 3? (1 = true, 0 = false)
-  k2 = (p4 <= 3 ? 1 : 0)
+kval    randomh 0, 1.2, 20		;choose between 0 and 1.2
 
-  ; Print the values of k1 and k2.
-  printks "k1 = %f, k2 = %f\\n", 1, k1, k2
-endin
+if kval >0 && kval<=.5 then		;3 possible outcomes
+	kvl = 1			
+elseif kval >.5 && kval<=1 then
+	kvl =2
+elseif kval >1 then
+	kvl =3
+endif
 
+printks "random number = %f, result = %f\n", .1, kval, kvl
+asig    poscil .7, 440*kvl, 1
+        outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
+f1 0 16384 10 1
 
-; Call Instrument #1 with a p4 = 2.
-i 1 0 0.5 2
-; Call Instrument #1 with a p4 = 3.
-i 1 1 0.5 3
-; Call Instrument #1 with a p4 = 4.
-i 1 2 0.5 4
+i 1 0 5
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/lessthan.csd b/examples/lessthan.csd
index 9d21b8f..0599473 100644
--- a/examples/lessthan.csd
+++ b/examples/lessthan.csd
@@ -1,43 +1,35 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o lessthan.wav -W ;;; for file output any platform
+; -o <.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 44100
-ksmps = 1
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  ; Get the 4th p-field from the score.
-  k1 =  p4
 
-  ; Is it less than 3? (1 = true, 0 = false)
-  k2 = (p4 < 3 ? 1 : 0)
-
-  ; Print the values of k1 and k2.
-  printks "k1 = %f, k2 = %f\\n", 1, k1, k2
+ipch = p4
+ipitch	= (ipch < 15 ? cpspch(ipch) : ipch)	;if p4 is lower then 15, it assumes p4 to be pitch-class
+print ipitch					;and not meant to be a frequency in Hertz
+asig  poscil .5,  ipitch , 1
+      outs asig, asig
+  
 endin
-
-
 </CsInstruments>
 <CsScore>
+f1 0 8192 10 1	;sine wave
 
-; Call Instrument #1 with a p4 = 2.
-i 1 0 0.5 2
-; Call Instrument #1 with a p4 = 3.
-i 1 1 0.5 3
-; Call Instrument #1 with a p4 = 4.
-i 1 2 0.5 4
-e
-
+i1 0  3 8.00	;pitch class
+i1 4  3 800	;frequency
 
+e
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/lfo.csd b/examples/lfo.csd
index 8c1feaa..0b45a44 100644
--- a/examples/lfo.csd
+++ b/examples/lfo.csd
@@ -1,43 +1,37 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o lfo.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  kamp = 10
-  kcps = 5
-  itype = 4
 
-  k1 lfo kamp, kcps, itype
-  ar oscil p4, p5+k1, 1
-  out ar
-endin
+kcps  = 5
+itype = p4	;lfo type
 
+klfo line 0, p3, 20
+al   lfo klfo, kcps, itype
+asig poscil .5, 220+al, 1
+     outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
-
-; Table #1: an ordinary sine wave.
+; sine wave.
 f 1 0 32768 10 1
 
-; p4 = amplitude of the output signal.
-; p5 = frequency (in cycles per second) of the output signal.
-; Play Instrument #1 for two seconds.
-i 1 0 2 10000 220
+i 1 0 3 0	;lfo = sine
+i 1 + 3 2	;lfo = square
+i 1 + 3 5	;lfo = saw-tooth down
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/limit.csd b/examples/limit.csd
old mode 100755
new mode 100644
index ca761a2..2822785
--- a/examples/limit.csd
+++ b/examples/limit.csd
@@ -1,50 +1,53 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o limit.wav -W ;;; for file output any platform
+; -o limit.wav -W  ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2
 
-; Instrument #1, uncompressed signal.
-instr 1
-  ; Use the "beats.wav" audio file.
-  asig diskin2 "beats.wav", 1, 0, 1
+instr    1 ; Limit / Mirror / Wrap
 
-  out asig
-endin
+igain    = p4				;gain
+ilevl1   = p5				; + level
+ilevl2   = p6				; - level
+imode    = p7				;1 = limit, 2 = mirror, 3 = wrap
+
+ain   soundin  "fox.wav"
+ain   = ain*igain
+
+if    imode = 1 goto limit
+if    imode = 2 goto mirror
+
+asig  wrap  ain, ilevl2, ilevl1
+goto  outsignal
+
+limit:
+asig  limit  ain, ilevl2, ilevl1
+goto  outsignal
 
-; Instrument #2, compressed signal.
-instr 2
-  ; Use the "beats.wav" audio file and a mic
-  avoice	in
-  asig diskin2 "beats.wav", 1, 0, 1
+mirror:
+asig  mirror  ain, ilevl2, ilevl1
+outsignal:
+
+outs  asig*.5, asig*.5			;mind your speakers
   
-klow	line 0 , p3,	10000
-khigh	=	10000
-ares limit asig, klow, khigh 
-  out ares
 endin
 
-
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for 2 seconds.
-i 1 0 5
-; Play Instrument #2 for 2 seconds.
-i 2 6 11
-
+;           Gain  +Levl -Levl Mode
+i1  0  3    4.00  .25  -1.00   1	;limit
+i1  4  3    4.00  .25  -1.00   2	;mirror
+i1  8  3    4.00  .25  -1.00   3	;wrap
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/line.csd b/examples/line.csd
index 08e82c4..00ba26c 100644
--- a/examples/line.csd
+++ b/examples/line.csd
@@ -1,49 +1,43 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o line.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
-
-; Instrument #1.
-instr 1
-  ; Define kcps as a frequency value that linearly declines 
-  ; from 880 to 220. It declines over the period set by p3.
-  kcps line 880, p3, 220
-
-  a1 oscil 20000, kcps, 1
-  out a1
-endin
-
-instr 2
-  kcps line 880, 1, 660   ; kcps won't stop at 660 if p3 > 1
-  a1 oscil 20000, kcps, 1
-  out a1
-endin
-
-</CsInstruments>
-<CsScore>
-
-; Table #1, a sine wave.
-f 1 0 16384 10 1
-
-; Play Instrument #1 for two seconds.
-i 1 0 2
-
-; Play Instrument #2 for two seconds.
-i 2 3 2
-
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1 
+
+kp = p6
+;choose between expon or line
+if (kp == 0) then 	
+  kpitch expon p4, p3, p5 
+elseif (kp == 1) then
+  kpitch line p4, p3, p5 
+endif
+
+asig   vco2 .6, kpitch 
+       outs asig, asig
+
+endin 
+</CsInstruments> 
+<CsScore> 
+
+i 1 0  2 300  600  0	;if p6=0 then expon is used
+i 1 3  2 300  600  1	;if p6=1 then line is used
+i 1 6  2 600  1200 0
+i 1 9  2 600  1200 1
+i 1 12 2 1200 2400 0
+i 1 15 2 1200 2400 1
+i 1 18 2 2400 30   0
+i 1 21 2 2400 30   1
 e
-
-
-</CsScore>
-</CsoundSynthesizer>
+</CsScore> 
+</CsoundSynthesizer> 
diff --git a/examples/linen.csd b/examples/linen.csd
old mode 100755
new mode 100644
index 453348d..e50bd5f
--- a/examples/linen.csd
+++ b/examples/linen.csd
@@ -1,38 +1,38 @@
 <CsoundSynthesizer>
 <CsOptions>
-
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o dam.wav -W ;;; for file output any platform
+; -o linen.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-sr  =  44100
-kr  =  4410
-ksmps =  10
-nchnls =  1
-
-          instr 3                       ; p3=duration of note
-k1	linen	p4, p6, p3, p7      ; p4=amp
-a1	oscil	k1, p5, 1           ; p5=freq
-	out	a1                  ; p6=attack time
-          endin                         ; p7=release time
-
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+; p4=amp
+; p5=freq
+; p6=attack time
+; p7=release time
+ares linen  p4, p6, p3, p7 
+asig poscil ares, p5, 1    
+     outs   asig, asig     
+                                         
+endin
 </CsInstruments>
 <CsScore>
-
 f1   0    4096 10 1      ; sine wave
 
-;ins strt dur  amp(p4)   freq(p5)  attack(p6)     release(p7)
-i3   0    1    10000     440       0.5            0.7
-i3   1.5  1    10000     440       0.9            0.1
-i3   3    1    5000      880       0.02           0.99
-i3   4.5  1    5000      880       0.7            0.01
-i3   6    2    20000     220       0.5            0.5
-
+;ins strt dur amp  freq attack release
+i1   0    1   .5   440   0.5    0.7
+i1   1.5  1   .2   440   0.9    0.1
+i1   3    1   .2   880   0.02   0.99
+i1   4.5  1   .2   880   0.7    0.01
+i1   6    3   .7   220   0.5    0.5
 e
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/lineto.csd b/examples/lineto.csd
new file mode 100644
index 0000000..d13fd89
--- /dev/null
+++ b/examples/lineto.csd
@@ -0,0 +1,34 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o lineto.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giSine ftgen 0, 0, 2^10, 10, 1
+
+instr 1
+
+kfreq     randh     1000, 20, 2, 1, 2000 ;generates ten random number between 100 and 300 per second
+kpan      randh     .5, 1, 2, 1, .5   ;panning between 0 and 1
+kp        lineto    kpan, .5          ;smoothing pan transition
+aout      poscil    .4, kfreq, giSine
+aL, aR    pan2      aout, kp
+          outs      aL, aR
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 10
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/linrand.csd b/examples/linrand.csd
index f50dc2e..6fb0a05 100644
--- a/examples/linrand.csd
+++ b/examples/linrand.csd
@@ -1,49 +1,42 @@
-<CsoundSynthesizer>
-<CsOptions>
-; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
-; For Non-realtime ouput leave only the line below:
-; -o linrand.wav -W ;;; for file output any platform
-</CsOptions>
-<CsInstruments>
-
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
-
-; Instrument #1.
-instr 1
-  ; Generate a random number between 0 and 1.
-  ; krange = 1
-
-  i1 linrand 1
-
-  print i1
-endin
-
-; Instrument #2.
-instr 2
-  ; Generate a random number between 0 and 1.
-  ; krange = 1
-
-  seed 0
-
-  i1 linrand 1
-
-  print i1
-endin
-
-</CsInstruments>
-<CsScore>
-; Play Instrument #1 for one second.
-i 1 0 1
-; Play Instrument #2 for one second.
-i 2 1 1
-e
-
-
-</CsScore>
-</CsoundSynthesizer>
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o linrand.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1  	; every run time same values
+
+klin	linrand 100
+	printk .2, klin			; look 
+aout	oscili 0.8, 440+klin, 1		; & listen
+	outs	aout, aout
+endin
+
+instr 2		; every run time different values
+
+	seed 0
+klin	linrand 100
+	printk .2, klin			; look 
+aout	oscili 0.8, 440+klin, 1		; & listen
+	outs	aout, aout
+endin
+
+</CsInstruments>
+<CsScore>
+; sine wave
+f 1 0 16384 10 1
+
+i 1 0 2
+i 2 3 2
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/linseg.csd b/examples/linseg.csd
index 692d18c..8b0b09c 100644
--- a/examples/linseg.csd
+++ b/examples/linseg.csd
@@ -1,76 +1,56 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o linseg.wav -W ;;; for file output any platform
+;-o linseg.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giSine ftgen 0, 0, 2^10, 10, 1
 
-; Instrument #1.
 instr 1
-  ; p4 = frequency in pitch-class notation.
-  kcps = cpspch(p4)
 
-  ; Create an amplitude envelope.
-  kenv linseg 0, p3*0.25, 1, p3*0.75, 0
-  kamp = kenv * 30000
+kcps = cpspch(p4)
+kenv linseg 0, 0.25, 1, 0.75, 0	; together = 1 sec
+asig poscil kenv, kcps, giSine
+     outs asig, asig
 
-  a1 oscil kamp, kcps, 1
-  out a1
 endin
 
+instr 2	; scaling to duration
 
-instr 2
-  ; p4 = frequency in pitch-class notation.
-  kcps = cpspch(p4)
-
-  ; Create an amplitude envelope.
-  kenv linseg 0, 0.25, 1, 0.75, 0  ; kenv will go into negative if p3 > 1
-  kamp = kenv * 30000
+kcps = cpspch(p4)
+kenv linseg 0, p3*0.25, 1, p3*0.75, 0
+asig poscil kenv, kcps, giSine
+     outs asig, asig
 
-  a1 oscil kamp, kcps, 1
-  out a1
 endin
 
-instr 3
-  ; p4 = frequency in pitch-class notation.
-  kcps = cpspch(p4)
+instr 3	; with negative value
 
-  ; Create an amplitude envelope.
-  kenv linseg 0, 0.25, 1, 0.75, 0, 1, 0  ; kenv will stay at 0 indefinetely at the end
-  kamp = kenv * 30000
+kcps = cpspch(p4)
+aenv linseg 0, 0.1, 1, 0.5, -0.9, 0.4, 0
+asig poscil aenv, kcps, giSine
+     outs asig, asig
 
-  a1 oscil kamp, kcps, 1
-  out a1
 endin
 </CsInstruments>
 <CsScore>
 
-; Table #1, a sine wave.
-f 1 0 16384 10 1
-
-; Play Instrument #1 for a half-second, p4=8.00
-i 1 0 0.5 8.00
-; Play Instrument #1 for a half-second, p4=8.01
-i 1 1 0.5 8.01
-; Play Instrument #1 for a half-second, p4=8.02
-i 1 2 0.5 8.02
-; Play Instrument #1 for a half-second, p4=8.03
-i 1 3 0.5 8.03
+i 1 0 1   7.00	; = 1 sec, p3 fits exactly
+i 1 2 2   7.00	; = 2 sec, p3 truncated at 1 sec
 
-i 2 4  1.5 8.00 ; Notice the problem with linseg
+i 2 4 1   7.00	; scales to duration
+i 2 6 2   7.00	; of p3
 
-i 3 6  1.5 8.00  ; this is the solution (instr 3)
+i 3 9 2   7.00
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/linsegb.csd b/examples/linsegb.csd
new file mode 100644
index 0000000..1b63a8c
--- /dev/null
+++ b/examples/linsegb.csd
@@ -0,0 +1,47 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+;-o linseg.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giSine ftgen 0, 0, 2^10, 10, 1
+
+instr 1
+
+kcps = cpspch(p4)
+kenv linsegb 0, 0.25, 1, 1, 0
+asig poscil kenv, kcps, giSine
+     outs asig, asig
+
+endin
+
+instr 2	; scaling to duration
+
+kcps = cpspch(p4)
+kenv linseg 0, p3*0.25, 1, p3, 0
+asig poscil kenv, kcps, giSine
+     outs asig, asig
+
+endin
+
+</CsInstruments>
+<CsScore>
+
+i 1 0 1   7.00	; = 1 sec, p3 fits exactly
+i 1 2 2   7.00	; = 2 sec, p3 truncated at 1 sec
+
+i 2 4 1   7.00	; scales to duration
+i 2 6 2   7.00	; of p3
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/linsegr.csd b/examples/linsegr.csd
index 69e96d9..857fe61 100644
--- a/examples/linsegr.csd
+++ b/examples/linsegr.csd
@@ -1,53 +1,34 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac  -+rtmidi=virtual -M0   ;;;realtime audio out and realtime midi in
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o linsegr.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  ; p4 = frequency in pitch-class notation.
-  kcps = cpspch(p4)
 
-  ; Use an amplitude envelope with second-long release.
-  kenv linsegr 1, p3, 0.25, 1, 0
-  kamp = kenv * 30000
-
-  a1 oscil kamp, kcps, 1
-  out a1
+	 	 
+icps	cpsmidi	 	 
+iamp	ampmidi	.3	 
+ 	 	 	 
+kenv	linsegr	1, .05, 0.5, 1, 0
+asig	pluck	kenv, icps, 200, 1, 1	 
+	outs	asig, asig
+	 
 endin
-
-
 </CsInstruments>
 <CsScore>
+f 1 0 4096 10 1	;sine wave
 
-; Table #1, a sine wave.
-f 1 0 16384 10 1
-
-; Make sure the score lasts for four seconds.
-f 0 4
-
-; p4 = frequency (in pitch-class notation).
-; Play Instrument #1 for a half-second, p4=8.00
-i 1 0 0.5 8.00
-; Play Instrument #1 for a half-second, p4=8.01
-i 1 1 0.5 8.01
-; Play Instrument #1 for a half-second, p4=8.02
-i 1 2 0.5 8.02
-; Play Instrument #1 for a half-second, p4=8.03
-i 1 3 0.5 8.03
+f0 30	;runs 30 seconds
 e
-
-
 </CsScore>
-</CsoundSynthesizer>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/locsend_quad.csd b/examples/locsend_quad.csd
old mode 100755
new mode 100644
diff --git a/examples/locsend_stereo.csd b/examples/locsend_stereo.csd
old mode 100755
new mode 100644
index f170cfe..98f75fc
--- a/examples/locsend_stereo.csd
+++ b/examples/locsend_stereo.csd
@@ -1,54 +1,51 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o locsend_stereo.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
+ksmps = 32
 nchnls = 2
+0dbfs  = 1
+
+ga1 init 0
+ga2 init 0
 
-ga1	init	0
-ga2	init	0
-; Instrument #1
 instr 1
-  ; Use the "beats.wav" audio file.
-aout		diskin2 "beats.wav", 1, 0, 1
-kdegree	line 0, p3, 180
-kdistance	line 1, p3 , 30
-a1, a2		locsig aout, kdegree, kdistance, .1
-ar1, ar2	locsend
-ga1	=	ga1+ar1
-ga2	=	ga2+ar2
 
+krevsend  = p4
+aout	  diskin2 "beats.wav", 1, 0, 1
+kdegree	  line 0, p3, 180 ;left to right
+kdistance line 1, p3, 30
+a1, a2	  locsig aout, kdegree, kdistance, p4
+ar1, ar2  locsend
+ga1 = ga1+ar1
+ga2 = ga2+ar2
+          outs a1, a2
 
-  outs a1, a2
 endin
 
 instr 99 ; reverb instrument
 a1	reverb2 ga1, 2.5, .5
 a2	reverb2 ga2, 2.5, .5
 	outs	a1, a2
-ga1=0
-ga2=0
+ga1 = 0
+ga2 = 0
+
 endin
 </CsInstruments>
 <CsScore>
-
-; Table #1, a sine wave.
+; sine wave.
 f 1 0 16384 10 1
 
-; Play Instrument #1 for five seconds.
-i 1 0 2
-i99 0 5
+i 1 0 4 .1	;with reverb
+i 1 + 4 0	;no reverb
+i99 0 7
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/locsig_quad.csd b/examples/locsig_quad.csd
old mode 100755
new mode 100644
index 8b167c0..ce4f8c2
--- a/examples/locsig_quad.csd
+++ b/examples/locsig_quad.csd
@@ -1,46 +1,46 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o locsend_quad.wav -W ;;; for file output any platform
+; -o locsig_quad.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
+ksmps = 32
 nchnls = 4
+0dbfs  = 1
+
+ga1 init 0
+ga2 init 0
+ga3 init 0
+ga4 init 0
 
-ga1	init	0
-ga2	init	0
-ga3	init	0
-ga4	init	0
-; Instrument #1
 instr 1
-  ; Use the "beats.wav" audio file.
-aout		diskin2 "beats.wav", 1, 0, 1
-kdegree	line 0, p3, 360
-kdistance	line 1, p3 , 10
-a1, a2, a3, a4	locsig aout, kdegree, kdistance, .1
-ar1, ar2, ar3, ar4	locsend
-ga1	=	ga1+ar1
-ga2	=	ga2+ar2
-ga3	=	ga3+ar3
-ga4	=	ga4+ar4
-
-	outq a1, a2, a3, a4
+
+krevsend  = p4
+aout	  diskin2 "beats.wav", 1, 0, 1
+kdegree	  line 0, p3, 360 ;full circle
+kdistance line 1, p3 , 1
+a1, a2, a3, a4     locsig aout, kdegree, kdistance, krevsend
+ar1, ar2, ar3, ar4 locsend
+
+ga1 = ga1+ar1
+ga2 = ga2+ar2
+ga3 = ga3+ar3
+ga4 = ga4+ar4
+    outq a1, a2, a3, a4
+
 endin
 
 instr 99 ; reverb instrument
-a1	reverb2	ga1, 3.5, .5
-a2	reverb2	ga2, 3.5, .5
-a3	reverb2	ga3, 3.5, .5
-a4	reverb2	ga4, 3.5, .5
-
-	outq	a1, a2, a3, a4
+a1 reverb2 ga1, 3.5, .5
+a2 reverb2 ga2, 3.5, .5
+a3 reverb2 ga3, 3.5, .5
+a4 reverb2 ga4, 3.5, .5
+   outq	a1, a2, a3, a4
 	
 ga1 = 0
 ga2 = 0
@@ -50,14 +50,12 @@ ga4 = 0
 endin
 </CsInstruments>
 <CsScore>
-
-; Table #1, a sine wave.
+; sine wave.
 f 1 0 16384 10 1
 
-i 1 0 2
-i99 0 5
+i 1 0  14  .1	;with reverb
+i 1 14 14  0	;no reverb
+i99 0 36
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/locsig_stereo.csd b/examples/locsig_stereo.csd
old mode 100755
new mode 100644
diff --git a/examples/log2.csd b/examples/log2.csd
new file mode 100644
index 0000000..0cc4cef
--- /dev/null
+++ b/examples/log2.csd
@@ -0,0 +1,33 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+; Audio out   Audio in
+-odac           -iadc    ;;;RT audio I/O
+; For Non-realtime ouput leave only the line below:
+; -o log10.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+; Initialize the global variables.
+sr = 44100
+kr = 4410
+ksmps = 10
+nchnls = 1
+
+; Instrument #1.
+instr 1
+  i1 = log2(8)
+  print i1
+endin
+
+
+</CsInstruments>
+<CsScore>
+
+; Play Instrument #1 for one second.
+i 1 0 1
+e
+
+
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/logicOR.csd b/examples/logicOR.csd
new file mode 100644
index 0000000..3a60feb
--- /dev/null
+++ b/examples/logicOR.csd
@@ -0,0 +1,32 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac -+rtmidi=virtual -M0   ;;;realtime audio out and virtual midi keyboard
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+</CsOptions>
+<CsInstruments>
+;after a UDO from Rory Walsh
+sr = 44100
+ksmps = 32
+nchnls = 2
+
+instr 1	;displays notes, midi channel and control number information
+
+kstatus, kchan, kdata1, kdata2 midiin
+k1 changed kstatus
+k2 changed kchan
+k3 changed kdata1
+k4 changed kdata2
+if((k1==1)||(k2==1)||(k3==1)||(k4==1)) then
+printks "Value:%d ChanNo:%d CtrlNo:%d\n" , 0, kdata2, kchan, kdata1  
+endif 
+
+endin
+</CsInstruments>
+<CsScore>
+
+i1  0  60	;print values for 60 seconds
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/loop_le.csd b/examples/loop_le.csd
new file mode 100644
index 0000000..38567e0
--- /dev/null
+++ b/examples/loop_le.csd
@@ -0,0 +1,48 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o loop_le.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+seed 0
+gisine ftgen 0, 0, 2^10, 10, 1
+
+instr 1 ;master instrument
+
+ininstr = 5 ;number of called instances
+indx = 0
+loop:
+      prints "play instance %d\\n", indx
+ipan  random 0, 1
+ifreq random 100, 1000
+iamp  = 1/ininstr
+event_i "i", 10, 0, p3, iamp, ifreq, ipan
+loop_le indx, 1, ininstr, loop
+
+endin
+
+instr 10
+
+ipeak random 0, 1 ;where is the envelope peak
+asig  poscil3 p4, p5, gisine
+aenv  transeg 0, p3*ipeak, 6, 1, p3-p3*ipeak, -6, 0
+aL,aR pan2 asig*aenv, p6
+      outs aL, aR
+
+endin
+
+</CsInstruments>
+<CsScore>
+i1 0 10
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/loop_lt.csd b/examples/loop_lt.csd
new file mode 100644
index 0000000..93d96d7
--- /dev/null
+++ b/examples/loop_lt.csd
@@ -0,0 +1,48 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o loop_lt.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+seed 0
+gisine ftgen 0, 0, 2^10, 10, 1
+
+instr 1 ;master instrument
+
+ininstr = 5 ;number of called instances
+indx = 0
+loop:
+      prints "play instance %d\\n", indx
+ipan  random 0, 1
+ifreq random 100, 1000
+iamp  = 1/ininstr
+event_i "i", 10, 0, p3, iamp, ifreq, ipan
+loop_lt indx, 1, ininstr, loop
+
+endin
+
+instr 10
+
+ipeak random 0, 1 ;where is the envelope peak
+asig  poscil3 p4, p5, gisine
+aenv  transeg 0, p3*ipeak, 6, 1, p3-p3*ipeak, -6, 0
+aL,aR pan2 asig*aenv, p6
+      outs aL, aR
+
+endin
+
+</CsInstruments>
+<CsScore>
+i1 0 10
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/loopseg.csd b/examples/loopseg.csd
index 18d3e74..1322425 100644
--- a/examples/loopseg.csd
+++ b/examples/loopseg.csd
@@ -1,40 +1,47 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o loopseg.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1
 instr 1
-  kfreq line 1, p3, 20
-
-  klp loopseg kfreq, 0, 0, 0, 0.5, 30000, 1, 0
-
-  a1 oscil klp, 440, 1
-  out a1
+kfreq  init     p4  ; frequency of loop repetition
+ifrac  =        p5  ; frequency ratio of restart triggers
+ktrig  metro    kfreq * ifrac  ; triggers to restart loop
+iphase =        0   ; initial phase
+; loop of note values (some glissandi)
+;                                    val dur val dur etc...
+knote loopseg  kfreq, ktrig, iphase, 40, 1,  40, 0,  43,1,43,0, 49,2,48,0, \
+ 47,1,47,0, 46,1,46,0, 46,1,47,0, 49,1,49,0, 43,1,43,0, 46,1,46,0, 40,1,39,0    
+; loop of filter cutoff values (oct format). This loop, half speed of note loop.
+kcfoct loopseg  kfreq*0.5, ktrig, iphase, 11,2,4,0, 12,1,4,0, 13,1,4,0, \
+ 11.5,3,4,0, 12.5,1,4,0, 13,2,4,0, 12.5,1,4,0
+kenv  linseg   0,0.01,1,p3-5.01,1,5,0
+ioct  =        int((rnd(0.999)*4)-2) ; random value either -1, 0 or 1
+asig  vco2     0.2*kenv,cpsmidinn(knote)*octave(ioct),0 ; sawtooth
+asig  moogladder  asig,cpsoct(kcfoct),rnd(0.6)          ; filter sawtooth
+aL,aR pan2     asig,rnd(1)  ; random static pan location
+      outs     aL, aR
 endin
 
-
 </CsInstruments>
 <CsScore>
 
-; Table #1, a sine wave.
-f 1 0 16384 10 1
-
-; Play Instrument #1 for five seconds.
-i 1 0 5
+; 4 layers, each with a different frequency of loop repetition (p4),
+;  frequency ratio of restart triggers (p5) and pan position (p6).
+i 1  0 30 0.5   [11/19]
+i 1  6 30 0.25  [11/13]
+i 1 12 30 0.125 [11/16]
+i 1 18 30 1     [11/12]
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/loopsegp.csd b/examples/loopsegp.csd
index 8d81f08..764c6be 100644
--- a/examples/loopsegp.csd
+++ b/examples/loopsegp.csd
@@ -1,42 +1,50 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o loopsegp.wav -W ;;; for file output any platform
 </CsOptions>
-
 <CsInstruments>
-sr=44100
-ksmps=1
-nchnls=2
-
-; By Mark Van Peteghem 2008
-
-   instr 1
-iphase  = p4
-
-kenv      linen 1, 0.1, p3, 0.1
-kph_amp   phasor 2, 0
-kamp      loopsegp kph_amp, 60, 1, 30, 1, 60
-kamp    = ampdb(kamp)*kenv
-
-kph_freq  phasor 2, iphase
-klow_freq line 200, p3, 100
-kfreq     loopsegp kph_freq, 400, 1, klow_freq, 1, 400
-
-asig      vco2 kamp, kfreq, 2, 0.5
 
-         outs asig, asig
-
-   endin
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+ktrig metro 22/8 ; triggers used to generate new direction values
+kdir  trandom ktrig,-2.99,2.99
+kdir  =       0.5*int(kdir) ; kdir will either -1, -0.5, 0, 0.5 or 1
+; kphase - looping pointer
+kphase phasor kdir
+; a loop sequence of midi note numbers and durations
+knote loopsegp  kphase, 40,1,40,0, 43,1,43,0, 49,2,48,0, \
+ 47,1,47,0, 46,1,46,0, 46,1,47,0, 49,1,49,0, 43,1,43,0, 46,1,46,0, 40,1,39,0    
+kmul  rspline 0.1,0.8,0.5,5                         ; modulation of buzz tone
+asig  gbuzz   0.2, cpsmidinn(knote), 30, 3, kmul, 1 ; buzz tone
+      outs    asig, asig
+      
+      schedkwhen ktrig,0,0,2,0,0.1 ; play metronome
+endin
+
+instr 2 ; metronome
+acps  expon   180+rnd(40),p3,50
+aamp  expon   0.05+rnd(0.05),p3,0.001
+asig  poscil  aamp-0.001,acps,2
+      outs    asig,asig
+endin
 
 </CsInstruments>
-
 <CsScore>
-i1 0 3 0
-i1 + . 0.50
-</CsScore>
+; cosine wave.
+f 1 0 16384 11 1
+; sine wave.
+f 2 0 16384 10 1
 
+i 1 0 360 0.25
+
+e
+</CsScore>
 </CsoundSynthesizer>
diff --git a/examples/looptseg.csd b/examples/looptseg.csd
index 64df1eb..fffd892 100644
--- a/examples/looptseg.csd
+++ b/examples/looptseg.csd
@@ -1,40 +1,37 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o looptseg.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1
 instr 1
-  kfreq line 1, p3, 20
-
-  klp looptseg kfreq, 0, 0,    0, 1, 0.5,    30000, -1, 1,    0
-
-  a1 oscil klp, 440, 1
-  out a1
+kfreq   =        1         ; frequency of loop repetition
+ktrig   init     0         ; loop restart trigger (not used)
+iphase  =        0         ; initial phase
+ktyp    line     6,p3,-6   ; explore the useful range of curve types
+; loop of filter cutoff values (oct format)
+;                                     value curve dur.
+kcfoct looptseg  kfreq, ktrig, iphase,13,   ktyp, 1, \
+                                      4,    ktyp, 0, \
+                                      11,   ktyp, 1, \
+                                      4
+asig  vco2     0.2,cpsmidinn(48),0             ; a sawtooth
+asig  moogladder  asig,cpsoct(kcfoct),rnd(0.6) ; filter sawtooth
+      outs     asig, asig
 endin
 
-
 </CsInstruments>
 <CsScore>
-
-; Table #1, a sine wave.
-f 1 0 16384 10 1
-
-; Play Instrument #1 for five seconds.
-i 1 0 5
+i 1 0 12
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/loopxseg.csd b/examples/loopxseg.csd
index 12d2822..8cc6731 100644
--- a/examples/loopxseg.csd
+++ b/examples/loopxseg.csd
@@ -1,40 +1,36 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o loopxseg.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1
 instr 1
-  kfreq line 1, p3, 20
-
-  klp loopxseg kfreq, 0, 0, 0, 0.5, 30000, 1, 0
-
-  a1 oscil klp, 440, 1
-  out a1
+kfreq  rspline  0.01,20,0.2,1   ; freq. of loop repetition created by random spline
+ktrig  init     0   ; loop restart trigger (not used)
+iphase =        0   ; initial phase
+; loop of filter cutoff values (oct format). Rescaled further down.
+kcfoct loopxseg  kfreq, ktrig, iphase, 1,1,0,0
+kenv  linseg   0,0.01,1,p3-5.01,1,5,0
+asig  vco2     0.2*kenv,cpsmidinn(48),0
+kdep  rspline  5,8,0.2,1  ; filter depth created by a random spline
+kcf   port     cpsoct((kcfoct*kdep)+4), 0.001  ; smooth filter changes
+asig  moogladder  asig,kcf,rnd(0.6)
+aL,aR pan2     asig,rnd(1)
+      outs     aL, aR
 endin
 
-
 </CsInstruments>
 <CsScore>
-
-; Table #1, a sine wave.
-f 1 0 16384 10 1
-
-; Play Instrument #1 for five seconds.
-i 1 0 5
+i 1  0 60
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/lorismorph.csd b/examples/lorismorph.csd
old mode 100755
new mode 100644
index 53f7c36..6354559
--- a/examples/lorismorph.csd
+++ b/examples/lorismorph.csd
@@ -1,83 +1,80 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o lorismorph.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
 sr = 44100
-ksmps = 128
+ksmps = 32
 nchnls = 2
+0dbfs  = 1
+; clarinet.sdif and meow.sdif can be found in /manual/examples
 
-; Morph the partials in clarinet.sdif into the partials in flute.sdif over the duration of
-; the sustained portion of the two tones (from .2 to 2.0 seconds in the clarinet, and from
-; .5 to 2.1 seconds in the flute). The onset and decay portions in the morphed sound are
+; Morph the partials in meow.sdif into the partials in clarinet.sdif over the duration of
+; the sustained portion of the two tones (from .2 to 2.0 seconds in the meow, and from
+; .5 to 2.1 seconds in the clarinet). The onset and decay portions in the morphed sound are
 ; specified by parameters p4 and p5, respectively. The morphing time is the time between the
-; onset and the decay. The clarinet partials are shfited in pitch to match the pitch of the flute
+; onset and the decay. The meow partials are shfited in pitch to match the pitch of the clarinet
 ; tone (D above middle C). 
 
 instr 1
-ionset	=	p4
-idecay	=	p5
-itmorph =	p3 - (ionset + idecay)
-ipshift	=	cpspch(8.02)/cpspch(8.08)
+
+ionset	= p4
+idecay	= p5
+itmorph = p3 - (ionset + idecay)
+ipshift	= cpspch(8.02)/cpspch(8.08)
     
-ktcl	linseg	0, ionset, .2, itmorph, 2.0, idecay, 2.1    ; clarinet time function, morph from .2 to 2.0 seconds
-ktfl	linseg	0, ionset, .5, itmorph, 2.1, idecay, 2.3    ; flute time function, morph from .5 to 2.1 seconds
+ktme	linseg	0, ionset, .2, itmorph, 2.0, idecay, 2.1    ; meow time function, morph from .2 to 2.0 seconds
+ktcl	linseg	0, ionset, .5, itmorph, 2.1, idecay, 2.3    ; clarinet time function, morph from .5 to 2.1 seconds
 kmurph	linseg	0, ionset, 0, itmorph, 1, idecay, 1
-	lorisread	ktcl, "meow.sdif", 1, ipshift, 2, 1, .001
-	lorisread	ktfl, "clarinet.sdif", 2, 1, 1, 1, .001
-	lorismorph	1, 2, 3, kmurph, kmurph, kmurph
-asig	lorisplay	3, 1, 1, 1
-	outs		asig, asig
+	lorisread  ktme, "meow.sdif", 1, ipshift, 2, 1, .001
+	lorisread  ktcl, "clarinet.sdif", 2, 1, 1, 1, .001
+	lorismorph 1, 2, 3, kmurph, kmurph, kmurph
+asig	lorisplay  3, 1, 1, 1
+	outs	   asig, asig
 endin
 
-; Morph the partials in trombone.sdif into the partials in meow.sdif. The start and end times
+; Morph the partials in clarinet.sdif into the partials in meow.sdif. The start and end times
 ; for the morph are specified by parameters p4 and p5, respectively. The morph occurs over the
 ; second of four pitches in each of the sounds, from .75 to 1.2 seconds in the flutter-tongued
-; trombone tone, and from 1.7 to 2.2 seconds in the cat's meow. Different morphing functions are
+; clarinet tone, and from 1.7 to 2.2 seconds in the cat's meow. Different morphing functions are
 ; used for the frequency and amplitude envelopes, so that the partial amplitudes make a faster  
-; transition from trombone to cat than the frequencies. (The bandwidth envelopes use the same          
+; transition from clarinet to cat than the frequencies. (The bandwidth envelopes use the same          
 ; morphing function as the amplitudes.) 
 
 instr 2
-ionset	=	p4
-imorph	=	p5 - p4
-irelease	=	p3 - p5
+
+ionset	 = p4
+imorph	 = p5 - p4
+irelease = p3 - p5
     
-ktclar		linseg	0, ionset, .75, imorph, 1.2, irelease, 2.4
+ktclar	linseg	0, ionset, .75, imorph, 1.2, irelease, 2.4
 ktmeow	linseg	0, ionset, 1.7, imorph, 2.2, irelease, 3.4
     
 kmfreq	linseg	0, ionset, 0, .75*imorph, .25, .25*imorph, 1, irelease, 1
 kmamp	linseg	0, ionset, 0, .75*imorph, .9, .25*imorph, 1, irelease, 1
     
-		lorisread	ktclar, "clarinet.sdif", 1, 1, 1, 1, .001
-		lorisread	ktmeow, "meow.sdif", 2, 1, 1, 1, .001
-		lorismorph	1, 2, 3, kmfreq, kmamp, kmamp
-asig		lorisplay	3, 1, 1, 1
-		outs		asig, asig
+	lorisread  ktclar, "clarinet.sdif", 1, 1, 1, 1, .001
+	lorisread  ktmeow, "meow.sdif", 2, 1, 1, 1, .001
+	lorismorph 1, 2, 3, kmfreq, kmamp, kmamp
+asig	lorisplay  3, 1, 1, 1
+	outs	   asig, asig
 endin
 
-
 </CsInstruments>   
-
 <CsScore>
-; play instr 1
 ;     strt   dur   onset   decay
 i 1    0      3     .25     .15
 i 1    +      1     .10     .10
 i 1    +      6    1.      1.
 
-
-
-; play instr 2
 ;    strt   dur  morph_start   morph_end
  i 2    9    4     .75           2.75
 
 e
 </CsScore>  
- </CsoundSynthesizer>
-
+</CsoundSynthesizer>
diff --git a/examples/lorisplay.csd b/examples/lorisplay.csd
old mode 100755
new mode 100644
index 1d71b19..08ca66f
--- a/examples/lorisplay.csd
+++ b/examples/lorisplay.csd
@@ -1,58 +1,61 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o lorisplay.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
 sr = 44100
-ksmps = 128
+ksmps = 32
 nchnls = 2
+0dbfs  = 1
+; clarinet.sdif can be found in /manual/examples
 
 ; Play the partials in clarinet.sdif from 0 to 3 sec with 1 ms fadetime
 ; and no frequency , amplitude, or bandwidth modification.
 
 instr 1
-ktime	linseg	0, p3, 3.0			; linear time function from 0 to 3 seconds
-	lorisread	ktime, "clarinet.sdif", 1, 1, 1, 1, .001
-asig	lorisplay	1, 1, 1, 1
-	outs 		asig, asig
-endin
 
+ktime	linseg	  0, p3, 3.0			; linear time function from 0 to 3 seconds
+	lorisread ktime, "clarinet.sdif", 1, 1, 1, 1, .001
+kfrq	= p4	; pitch shifting
+asig	lorisplay 1, kfrq, 1, 1
+	outs 	  asig, asig
+endin
 
 ; Play the partials in clarinet.sdif from 0 to 3 sec with 1 ms fadetime
 ; adding tuning and vibrato, increasing the "breathiness" (noisiness) and overall
 ; amplitude, and adding a highpass filter.
 
 instr 2
+
 ktime	linseg	0, p3, 3.0			; linear time function from 0 to 3 seconds
-							; compute frequency scale for tuning
+						; compute frequency scale for tuning
     
-ifscale	=	cpspch(p4)/cpspch(8.08)	; (original pitch was G#4)
-							; make a vibrato envelope
+ifscale	=	cpspch(p4)/cpspch(8.08)		; (original pitch was G#4)
+						; make a vibrato envelope
 kvenv	linseg	0, p3/6, 0, p3/6, .02, p3/3, .02, p3/6, 0, p3/6, 0
-kvib	oscil		kvenv, 4, 1			; table 1, sinusoid
-kbwenv	linseg	1, p3/6, 1, p3/6, 100, 2*p3/3, 100	;lots of noise
-	lorisread	ktime, "clarinet.sdif", 1, 1, 1, 1, .001
-a1	lorisplay	1, ifscale+kvib, 2, kbwenv
-a2	atone		a1, 1000			; highpass filter, cutoff 1000 Hz
-	outs		a2, a2
+kvib	oscil	kvenv, 4, 1			; table 1, sinusoid
+kbwenv	linseg	1, p3/6, 1, p3/6, 100, 2*p3/3, 100 ;lots of noise
+	lorisread ktime, "clarinet.sdif", 1, 1, 1, 1, .001
+a1	lorisplay 1, ifscale+kvib, 2, kbwenv
+asig	atone	a1, 1000			; highpass filter, cutoff 1000 Hz
+	outs	asig, asig
 endin
 
 </CsInstruments>
 <CsScore>
-; make sinusoid in table 1
+; a sinusoid 
 f 1 0 4096 10 1
-; play instr 1
-;     strt   dur
-i 1    0      3
-i 1    +      1
-i 1    +      6
+
+i 1  0   3  1.2	; shifted up
+i 1  +   1  1.5
+i 1  +   6  .5	; shifted down
 s
-; play instr 2
+
 ;     strt   dur   ptch
 i 2      1    3    8.08
 i 2      3.5  1    8.04
diff --git a/examples/lorisread.csd b/examples/lorisread.csd
old mode 100755
new mode 100644
index 11809a5..3b96ef1
--- a/examples/lorisread.csd
+++ b/examples/lorisread.csd
@@ -1,25 +1,27 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o lorisread.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
 sr = 44100
-ksmps = 128
+ksmps = 32
 nchnls = 2
+0dbfs  = 1
 
 ; Play the partials in clarinet.sdif from 0 to 3 sec with 1 ms fadetime
 ; and no frequency , amplitude, or bandwidth modification.
 
 instr 1
-ktime	linseg	0, p3, 3.0			; linear time function from 0 to 3 seconds
-	lorisread	ktime, "clarinet.sdif", 1, 1, 1, 1, .001
-asig	lorisplay	1, 1, 1, 1
-	outs 		asig, asig
+
+ktime linseg 0, p3, 3			; linear time function from 0 to 3 seconds
+      lorisread	ktime, "clarinet.sdif", 1, 1, 1, 1, .001
+asig  lorisplay	1, 1, 1, 1
+      outs asig, asig
 endin
 
 
@@ -28,37 +30,35 @@ endin
 ; amplitude, and adding a highpass filter.
 
 instr 2
-ktime	linseg	0, p3, 3.0			; linear time function from 0 to 3 seconds
-							; compute frequency scale for tuning
-    
-ifscale	=	cpspch(p4)/cpspch(8.08)	; (original pitch was G#4)
-							; make a vibrato envelope
-kvenv	linseg	0, p3/6, 0, p3/6, .02, p3/3, .02, p3/6, 0, p3/6, 0
-kvib	oscil		kvenv, 4, 1			; table 1, sinusoid
-kbwenv	linseg	1, p3/6, 1, p3/6, 2, 2*p3/3, 2	;lots of noise
-	lorisread	ktime, "clarinet.sdif", 1, 1, 1, 1, .001
-a1	lorisplay	1, ifscale+kvib, 2, kbwenv
-a2	atone		a1, 1000			; highpass filter, cutoff 1000 Hz
-	outs		a2, a2
+
+ktime linseg 0, p3, 3			; linear time function from 0 to 3 seconds
+					; compute frequency scale for tuning  
+ifscale	= cpspch(p4)/cpspch(8.08)	; (original pitch was G#4)
+					; make a vibrato envelope
+kvenv  linseg 0, p3/6, 0, p3/6, .02, p3/3, .02, p3/6, 0, p3/6, 0
+kvib   oscil  kvenv, 4, 1		; table 1, sinusoid
+kbwenv linseg 1, p3/6, 1, p3/6, 2, 2*p3/3, 2	;lots of noise
+       lorisread ktime, "clarinet.sdif", 1, 1, 1, 1, .001
+a1     lorisplay 1, ifscale+kvib, 2, kbwenv
+asig   atone a1, 1000			; highpass filter, cutoff 1000 Hz
+       outs  asig, asig
 endin
 
 </CsInstruments>
 <CsScore>
-; make sinusoid in table 1
+; a sinus
 f 1 0 4096 10 1
-; play instr 1
-;     strt   dur
+
 i 1    0      3
 i 1    +      1
 i 1    +      6
 s
-; play instr 2
-;     strt   dur   ptch
+
+;                  pitch
 i 2      1    3    8.08
 i 2      3.5  1    8.04
 i 2      4    6    8.00
 i 2      4    6    8.07
 e
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/loscil.csd b/examples/loscil.csd
index e639657..e5b966a 100644
--- a/examples/loscil.csd
+++ b/examples/loscil.csd
@@ -1,46 +1,43 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o loscil.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-   kamp = 30000
-   ; If you don't know the frequency of your audio file,
-   ; set both the kcps and ibas parameters equal to 1.
-   kcps = 1
-   ifn = 1
-   ibas = 1
-
-   a1 loscil kamp, kcps, ifn, ibas
-   out a1
-endin
 
+ichnls = ftchnls(p4)
+print ichnls
+
+if (ichnls == 1) then
+   asigL loscil .8, 1, p4, 1
+   asigR = 	asigL
+elseif (ichnls == 2) then
+   asigL, asigR loscil .8, 1, p4, 1
+;safety precaution if not mono or stereo
+else
+   asigL = 0
+   asigR = 0
+endif
+        outs asigL, asigR
 
+endin
 </CsInstruments>
 <CsScore>
+f 1 0 0 1 "mary.wav" 0 0 0
+f 2 0 0 1 "kickroll.wav" 0 0 0
 
-; Table #1: an audio file.
-; Its table size is deferred,
-; and format taken from the soundfile header.
-f 1 0 0 1 "beats.wav" 0 0 0
-
-; Play Instrument #1 for 6 seconds.
-; This will loop the audio file several times.
-i 1 0 6
+i 1 0 3 1 ;mono file
+i 1 + 2 2 ;stereo file
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/loscil3.csd b/examples/loscil3.csd
index 9fa68bd..647820a 100644
--- a/examples/loscil3.csd
+++ b/examples/loscil3.csd
@@ -1,46 +1,43 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o loscil3.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-   kamp = 30000
-   ; If you don't know the frequency of your audio file,
-   ; set both the kcps and ibas parameters equal to 1.
-   kcps = 1
-   ifn = 1
-   ibas = 1
-
-   a1 loscil3 kamp, kcps, ifn, ibas
-   out a1
-endin
 
+ichnls = ftchnls(p4)
+print ichnls
+
+if (ichnls == 1) then
+   asigL loscil3 .8, 1, p4, 1
+   asigR = 	asigL
+elseif (ichnls == 2) then
+   asigL, asigR loscil3 .8, 1, p4, 1
+;safety precaution if not mono or stereo
+else
+   asigL = 0
+   asigR = 0
+endif
+        outs asigL, asigR
 
+endin
 </CsInstruments>
 <CsScore>
+f 1 0 0 1 "mary.wav" 0 0 0
+f 2 0 0 1 "kickroll.wav" 0 0 0
 
-; Table #1: an audio file.
-; Its table size is deferred,
-; and format taken from the soundfile header.
-f 1 0 0 1 "beats.wav" 0 0 0
-
-; Play Instrument #1 for 6 seconds.
-; This will loop the drum pattern several times.
-i 1 0 6
+i 1 0 3 1 ;mono file
+i 1 + 2 2 ;stereo file
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/lowres.csd b/examples/lowres.csd
index 02f88fe..bcb8674 100644
--- a/examples/lowres.csd
+++ b/examples/lowres.csd
@@ -1,45 +1,37 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o lowres.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  ; Use a nice sawtooth waveform.
-  asig vco 5000, 440, 1
 
-  ; Vary the cutoff frequency from 30 to 300 Hz.
-  kcutoff line 30, p3, 300
-  kresonance = 10
+kres = p4
+asig vco .2, 220, 1		;sawtooth
 
-  ; Apply the filter.
-  a1 lowres asig, kcutoff, kresonance 
+kcut line 1000, p3, 10		;note: kcut is not in Hz
+as   lowres asig, kcut, kres	;note: kres is not in dB
+aout balance as, asig		;avoid very loud sounds
+     outs aout, aout
 
-  out a1
 endin
-
-
 </CsInstruments>
 <CsScore>
-
-; Table #1, a sine wave for the vco opcode.
+; a sine
 f 1 0 16384 10 1
 
-; Play Instrument #1 for two seconds.
-i 1 0 2
+i 1 0 4 3
+i 1 + 4 30
+i 1 + 4 60
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/lowresx.csd b/examples/lowresx.csd
index f8a608e..a2f341e 100644
--- a/examples/lowresx.csd
+++ b/examples/lowresx.csd
@@ -1,48 +1,39 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o lowresx.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1 - play the sawtooth waveform through a 
-; stack of filters.
 instr 1
-  ; Use a nice sawtooth waveform.
-  asig vco 5, 440, 1
 
-  ; Vary the cutoff frequency from 30 to 300 Hz.
-  kcutoff line 30, p3, 600
-  kresonance = 3
-  inumlayer = 5
+kres = p4
+inumlayer = 4
 
-  alr lowresx asig, kcutoff, kresonance, inumlayer
+kenv linseg 0, p3*.1, 1, p3*.8, 1, p3*.1, 0 	;envelope
+asig vco .3 * kenv, 220, 1			;sawtooth
+kcut line 30, p3, 1000				;note: kcut is not in Hz
+alx  lowresx asig, kcut, kres, inumlayer	;note: kres is not in dB
+aout balance alx, asig				;avoid very loud sounds
+     outs aout, aout
 
-  ; It gets loud, so clip the output amplitude to 30,000.
-  a1 clip alr, 1, 30000
-  out a1
 endin
-
-
 </CsInstruments>
 <CsScore>
-
-; Table #1, a sine wave for the vco opcode.
+;sine wave
 f 1 0 16384 10 1
 
-; Play Instrument #1 for two seconds.
-i 1 0 4
+i 1 0 5 1
+i 1 + 5 3
+i 1 + 5 20
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/lpfreson.csd b/examples/lpfreson.csd
old mode 100755
new mode 100644
index 75c5fb1..d1e6bb2
--- a/examples/lpfreson.csd
+++ b/examples/lpfreson.csd
@@ -1,43 +1,40 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o lpfreson.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
-
-; Instrument #1.
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+;do not use -a option when analyzing "fox.wav" with lpfreson,
+;it needs a filter coefficient type of file
 instr 1
-asig	buzz	20000, 100, 10, 1
-;do not use -a option when analyzing (= filter coefficient) "fox.wav" from the manual
-;fox.lpc = 2.8 seconds long
-ktime  line 0, p3, 2.8       ; Define time lin
-krmsr,krmso,kerr,kcps lpread    ktime,"fox_nopoles.lp"
-;aout				lpreson	asig
-aout				lpfreson	asig, 1.6
-ares				balance	aout, asig
-       out ares
-
 
-endin
+ilen  filelen "fox.wav"	; length of soundfile
+prints "fox.wav = %f seconds\\n",ilen
 
+ktime line 0, p3, p4
+krmsr,krmso,kerr,kcps lpread ktime,"fox_nopoles.lpc"
+krmso = krmso*.00001			; low volume
+asig  buzz krmso, kcps, int(sr/2/kcps), 1 ; max harmonics without aliasing
+aout  lpfreson asig, 1.2
+asig  clip aout, 0, 1			; prevents distortion
+      outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
-
+; sine
 f1 0 4096 10 1
 
-i 1 0 2.8
+i 1 0 2.8 1	; first words only
+i 1 4 2.8 2.8	; whole sentence
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/lposcil.csd b/examples/lposcil.csd
old mode 100755
new mode 100644
index 05018a7..44cd258
--- a/examples/lposcil.csd
+++ b/examples/lposcil.csd
@@ -1,36 +1,30 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o lposcil.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-   kamp = 30000
-   kcps = 1.5
-   ifn = 1
-  kloop = 0
-  kend = 45000
 
-   a1 lposcil kamp, kcps, kloop, kend, ifn
-   out a1
-endin
+kcps  = 1.5	; a fifth up
+kloop = 0	; loop start time in samples
+kend  = 45000	; loop end time in samples
 
+asig lposcil 1, kcps, kloop, kend, 1
+     outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
-
-; Table #1: an audio file.
 ; Its table size is deferred,
 ; and format taken from the soundfile header.
 f 1 0 0 1 "beats.wav" 0 0 0
@@ -38,8 +32,7 @@ f 1 0 0 1 "beats.wav" 0 0 0
 ; Play Instrument #1 for 6 seconds.
 ; This will loop the drum pattern several times.
 i 1 0 6
-e
-
 
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/lposcil3.csd b/examples/lposcil3.csd
old mode 100755
new mode 100644
index 002a579..bd9eb02
--- a/examples/lposcil3.csd
+++ b/examples/lposcil3.csd
@@ -1,45 +1,38 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o lposcil3.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-   kamp = 30000
-   kcps = 1
-   ifn = 1
-  kloop = 0
-  kend line 35000, p3, 10000
 
+kcps  = 1.5			; a fifth up
+kloop = 0			; loop start time (in samples)
+kend line 45000, p3, 10000	; vary loop end time (in samples)
 
-   a1 lposcil3 kamp, kcps, kloop, kend, ifn
-   out a1
-endin
-
+asig lposcil3 1, kcps, kloop, kend, 1
+     outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
-
-; Table #1: an audio file.
 ; Its table size is deferred,
 ; and format taken from the soundfile header.
 f 1 0 0 1 "beats.wav" 0 0 0
 
 ; Play Instrument #1 for 6 seconds.
+; This will loop the drum pattern several times.
 i 1 0 6
-e
-
 
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/lposcila.csd b/examples/lposcila.csd
old mode 100755
new mode 100644
index d5ff8d9..59e2a27
--- a/examples/lposcila.csd
+++ b/examples/lposcila.csd
@@ -1,46 +1,39 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o lposcila.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-   aamp = 30000
-   kcps = 1.5
-   ifn = 1
-  kloop = 0
-  kend line 25000, p3, 0
 
+kcps  = 1.3					;a 3d up
+kloop = 0					;loop start time in samples
+kend  = 10000					;loop end time in samples
 
-   a1 lposcila aamp, kcps, kloop, kend, ifn
-   out a1
-endin
-
+aenv expsega 0.01, 0.1, 1, 0.1, 0.5, 0.5, 0.01	;envelope with fast and short segment
+asig lposcila aenv, kcps, kloop, kend, 1	;use it for amplitude
+     outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
-
-; Table #1: an audio file.
 ; Its table size is deferred,
 ; and format taken from the soundfile header.
 f 1 0 0 1 "beats.wav" 0 0 0
 
 ; Play Instrument #1 for 6 seconds.
+; This will loop the drum pattern several times.
+i 1 0 2
 
-i 1 0 6
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/lposcilsa.csd b/examples/lposcilsa.csd
new file mode 100644
index 0000000..8e85475
--- /dev/null
+++ b/examples/lposcilsa.csd
@@ -0,0 +1,40 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o lposcilsa.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+kcps  = 1.3					;a 3th up
+kloop = 0					;loop start time in samples
+kend  = 45000					;loop end time in samples
+
+aenv expsega 0.01, 0.1, 1, 0.1, 0.5, 0.5, 0.01	;envelope with fast and short segment
+aL, aR lposcilsa aenv, kcps, kloop, kend, 1	;use it for amplitude
+     outs aL, aR
+
+endin
+</CsInstruments>
+<CsScore>
+; table size of stereo file is deferred,
+; and format taken from the soundfile header.
+f 1 0 0 1 "kickroll.wav" 0 0 0
+
+; Play Instrument #1 for 6 seconds.
+; This will loop the drum pattern several times.
+i 1 0 2
+
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/lposcilsa2.csd b/examples/lposcilsa2.csd
new file mode 100644
index 0000000..0aafb47
--- /dev/null
+++ b/examples/lposcilsa2.csd
@@ -0,0 +1,40 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o lposcilsa2.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+kcps  = 2					;only integers are allowed
+kloop = 0					;loop start time in samples
+kend  = 45000					;loop end time in samples
+
+aenv expsega 0.01, 0.1, 1, 0.1, 0.5, 0.5, 0.01	;envelope with fast and short segment
+aL, aR lposcilsa2 aenv, kcps, kloop, kend, 1	;use it for amplitude
+     outs aL, aR
+
+endin
+</CsInstruments>
+<CsScore>
+; Its table size is deferred,
+; and format taken from the soundfile header.
+f 1 0 0 1 "kickroll.wav" 0 0 0
+
+; Play Instrument #1 for 6 seconds.
+; This will loop the drum pattern several times.
+i 1 0 2
+
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/lpread.csd b/examples/lpread.csd
old mode 100755
new mode 100644
index c536f50..73227c2
--- a/examples/lpread.csd
+++ b/examples/lpread.csd
@@ -1,42 +1,39 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o lpread.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-;can use -a option when analyzing (= filter coefficient) or without -a option "fox.wav" from the manual
-;fox.lpc = 2.8 seconds long
-ktime  line 0, p3, 2.8       ; Define time lin
-krmsr,krmso,kerr,kcps lpread    ktime,"foxpoles.lp"
-aout	buzz	krmso, kcps, 15, 1
-asig	rand	krmsr
-
-       out aout*2+asig
-
+; works with or without -a option when analyzing "fox.wav" from the manual
+ilen  filelen "fox.wav"	; length of soundfile
+prints "fox.wav = %f seconds\\n",ilen
+
+ktime line 0, p3, p4
+krmsr,krmso,kerr,kcps lpread ktime,"fox_poles.lpc"
+krmso = krmso*.00007			; low volume
+aout  buzz krmso, kcps, 15, 1
+krmsr = krmsr*.0001			; low volume
+asig  rand krmsr
+      outs (aout*2)+asig, (aout*2)+asig	; mix buzz and rand
 
 endin
-
-
 </CsInstruments>
 <CsScore>
-
+; sine
 f1 0 4096 10 1 
 
-i 1 0 2.8
+i 1 0 2.8 1	; first words only
+i 1 4 2.8 2.8	; whole sentence
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/lpreson-2.csd b/examples/lpreson-2.csd
new file mode 100644
index 0000000..0a38fda
--- /dev/null
+++ b/examples/lpreson-2.csd
@@ -0,0 +1,36 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o lpreson-2.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+; works with or without -a option when analyzing "fox.wav" from the manual
+;both options sound a little different
+instr 1
+
+ilen   filelen "fox.wav"	;length of soundfile 1
+prints "fox.wav = %f seconds\\n",ilen
+
+ktime  line 0, p3, ilen
+krmsr,krmso,kerr,kcps lpread ktime,"fox_nopoles.lpc"
+asig   diskin2	"flute.aiff", 1
+aout   lpreson asig
+ares   balance aout, asig
+       outs ares, ares
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 2.8
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/lpreson.csd b/examples/lpreson.csd
old mode 100755
new mode 100644
index 162672d..ef1887d
--- a/examples/lpreson.csd
+++ b/examples/lpreson.csd
@@ -1,40 +1,41 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o lpreson.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
-
-instr 1
-;can use -a option when analyzing (= filter coefficient) or without -a option "fox.wav" from the manual
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+; works with or without -a option when analyzing "fox.wav" from the manual
 ;both options sound a little different
-;foxnopoles.lp = 2.8 seconds long
-ktime  line 0, p3, 2.8       ; Define time lin
-krmsr,krmso,kerr,kcps lpread    ktime,"foxnopoles.lp"
-asig				diskin2	"mary.wav", 1
-aout				lpreson	asig
-ares				balance	aout, asig
-       out ares
+instr 1
 
+ilen  filelen "fox.wav"	; length of soundfile
+prints "fox.wav = %f seconds\\n",ilen
 
-endin
+ktime line 0, p3, p4
+krmsr,krmso,kerr,kcps lpread ktime,"fox_poles.lpc"
 
+krmso = krmso*.00001			; low volume
+asig  buzz krmso, kcps, int(sr/2/kcps), 1 ; max harmonics without aliasing
+aout  lpreson asig
+asig  clip aout, 0, 1			; prevents distortion
+      outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
+; sine
+f1 0 4096 10 1
 
-i 1 0 2.8
+i 1 0 2.8 1	; first words only
+i 1 4 2.8 2.8	; whole sentence
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/lpshold.csd b/examples/lpshold.csd
index bfd650f..83c2fce 100644
--- a/examples/lpshold.csd
+++ b/examples/lpshold.csd
@@ -1,40 +1,43 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o lpshold.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1
 instr 1
-  kfreq line 1, p3, 20
-
-  klp lpshold kfreq, 0, 0, 0, p3*0.25, 20000, p3*0.75, 0
-
-  a1 oscil klp, 440, 1
-  out a1
+kfrq  init    p4  ; frequency of the loop 
+ifrac =       p5  ; fraction of frequency at which to force retrigger
+ipan  =       p6  ; pan position
+ktrig metro   kfrq * ifrac  ; trigger to force restart the loop
+iphs  =       0   ; initial phase of the loop
+; a loop of midi note numbers:   note duration etc...
+knote lpshold kfrq, ktrig, iphs, 61,  0.0625,  60, 0.9375,   61, 1, 58, 1, \
+63, 2, 65, 3
+aenv  linseg 0,0.01,1,p3-0.11,1,0.1,0   ; amplitude envelope
+krnd  rspline -0.05,0.05,0.5,1 ; random detune
+asig  gbuzz   0.2*aenv, cpsmidinn(knote+krnd), 30, 1, 0.5, 1 
+      outs    asig*ipan, asig*(1-ipan)
 endin
 
-
 </CsInstruments>
 <CsScore>
-
-; Table #1, a sine wave.
-f 1 0 16384 10 1
-
-; Play Instrument #1 for five seconds.
-i 1 0 5
+; cosine wave.
+f 1 0 16384 11 1
+
+; 3 layers of the loop are played, each at a different speed, 
+; - with different retriggering rate, and pan location.
+i 1 0 60 0.5   [8/10] 0.5
+i 1 0 60 0.375 [8/11] 0.1
+i 1 0 60 0.25  [8/13] 0.9
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/lpsholdp.csd b/examples/lpsholdp.csd
new file mode 100644
index 0000000..4100289
--- /dev/null
+++ b/examples/lpsholdp.csd
@@ -0,0 +1,39 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o lpsholdp.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+ipan  = p4
+ktrig = 0   ; (no retriggering)
+; kphase - looping pointer - is generated using a random spline
+kphase rspline  0,1,0.5,5
+; a loop sequence of midi note numbers and durations
+;                      val dur val dur etc...
+knote lpsholdp kphase, 60, 1,  59, 0.1, 62, 1, 64, 1, 67, 0.1, 65, 1
+asig  gbuzz   0.2, cpsmidinn(knote), 30, 1, 0.5, 1 
+      outs    asig*ipan, asig*(1-ipan)
+endin
+
+</CsInstruments>
+<CsScore>
+; cosine wave.
+f 1 0 16384 11 1
+
+; 2 layers of the loop are played each with a different pan position (p4)
+i 1 0 60 0.25
+i 1 0 60 0.75
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/luamoog.csd b/examples/luamoog.csd
new file mode 100644
index 0000000..e20eb5e
--- /dev/null
+++ b/examples/luamoog.csd
@@ -0,0 +1,264 @@
+<CsoundSynthesizer>
+<CsInstruments>
+sr =    48000
+ksmps =   100
+nchnls =    1
+
+    gibegan     rtclock
+
+    lua_opdef   "moogladder", {{
+local ffi = require("ffi")
+local math = require("math")
+local string = require("string")
+local csoundApi = ffi.load('csound64.dll.5.2')
+ffi.cdef[[
+    int csoundGetKsmps(void *);
+    double csoundGetSr(void *);
+    struct moogladder_t {
+      double *out;
+      double *inp;
+      double *freq;
+      double *res;
+      double *istor;
+      double sr;
+      double ksmps;
+      double thermal;
+      double f;
+      double fc;
+      double fc2;
+      double fc3;
+      double fcr;
+      double acr;
+      double tune;
+      double res4;
+      double input;
+      double i;
+      double j;
+      double k;
+      double kk;
+      double stg[6];
+      double delay[6];
+      double tanhstg[6];
+    };
+]]
+
+local moogladder_ct = ffi.typeof('struct moogladder_t *')
+
+function moogladder_init(csound, opcode, carguments)
+    local p = ffi.cast(moogladder_ct, carguments)
+    p.sr = csoundApi.csoundGetSr(csound)
+    p.ksmps = csoundApi.csoundGetKsmps(csound)
+    if p.istor[0] == 0 then
+        for i = 0, 5 do
+            p.delay[i] = 0.0
+        end
+        for i = 0, 3 do
+            p.tanhstg[i] = 0.0
+        end
+    end
+    return 0
+end
+
+function moogladder_kontrol(csound, opcode, carguments)
+    local p = ffi.cast(moogladder_ct, carguments)
+    -- transistor thermal voltage
+    p.thermal = 1.0 / 40000.0
+    if p.res[0] < 0.0 then
+        p.res[0] = 0.0
+    end
+    -- sr is half the actual filter sampling rate
+    p.fc = p.freq[0] / p.sr
+    p.f = p.fc / 2.0
+    p.fc2 = p.fc * p.fc
+    p.fc3 = p.fc2 * p.fc
+    -- frequency & amplitude correction
+    p.fcr = 1.873 * p.fc3 + 0.4955 * p.fc2 - 0.6490 * p.fc + 0.9988
+    p.acr = -3.9364 * p.fc2 + 1.8409 * p.fc + 0.9968
+    -- filter tuning
+    p.tune = (1.0 - math.exp(-(2.0 * math.pi * p.f * p.fcr))) / p.thermal
+    p.res4 = 4.0 * p.res[0] * p.acr
+    -- Nested 'for' loops crash, not sure why.
+    -- Local loop variables also are problematic.
+    -- Lower-level loop constructs don't crash.
+    p.i = 0
+    while p.i < p.ksmps do
+        p.j = 0
+        while p.j < 2 do
+            p.k = 0
+            while p.k < 4 do
+                if p.k == 0 then
+                    p.input = p.inp[p.i] - p.res4 * p.delay[5]
+                    p.stg[p.k] = p.delay[p.k] + p.tune * (math.tanh(p.input * p.thermal) - p.tanhstg[p.k])
+                else
+                    p.input = p.stg[p.k - 1]
+                    p.tanhstg[p.k - 1] = math.tanh(p.input * p.thermal)
+                    if p.k < 3 then
+                        p.kk = p.tanhstg[p.k]
+                    else
+                        p.kk = math.tanh(p.delay[p.k] * p.thermal)
+                    end
+                    p.stg[p.k] = p.delay[p.k] + p.tune * (p.tanhstg[p.k - 1] - p.kk)
+                end
+                p.delay[p.k] = p.stg[p.k]
+                p.k = p.k + 1
+            end
+            -- 1/2-sample delay for phase compensation
+            p.delay[5] = (p.stg[3] + p.delay[4]) * 0.5
+            p.delay[4] = p.stg[3]
+            p.j = p.j + 1
+        end
+        p.out[p.i] = p.delay[5]
+        p.i = p.i + 1
+    end
+    return 0
+end
+}}
+
+/*
+Moogladder - An improved implementation of the Moog ladder filter
+
+DESCRIPTION
+This is an new digital implementation of the Moog ladder filter based on the work of Antti Huovilainen,
+described in the paper \"Non-Linear Digital Implementation of the Moog Ladder Filter\" (Proceedings of DaFX04, Univ of Napoli).
+This implementation is probably a more accurate digital representation of the original analogue filter.
+This is version 2 (revised 14/DEC/04), with improved amplitude/resonance scaling and frequency correction using a couple of polynomials,as suggested by Antti.
+
+SYNTAX
+ar  Moogladder  asig, kcf, kres
+
+PERFORMANCE
+asig - input signal
+kcf - cutoff frequency (Hz)
+kres - resonance (0 - 1).
+
+CREDITS
+Victor Lazzarini
+*/
+
+                    opcode  moogladderu, a, akk
+asig, kcf, kres     xin
+                    setksmps    1
+ipi                 =           4 * taninv(1)
+/* filter delays */
+az1                 init        0
+az2                 init        0
+az3                 init        0
+az4                 init        0
+az5                 init        0
+ay4                 init        0
+amf                 init        0
+                    if          kres > 1 then
+kres                =           1
+                    elseif      kres < 0 then
+kres                =           0
+                    endif
+/* twice the \'thermal voltage of a transistor\' */
+i2v                 =           40000
+/* sr is half the actual filter sampling rate  */
+kfc                 =           kcf/sr
+kf                  =           kcf/(sr*2)
+/* frequency & amplitude correction  */
+kfcr                =           1.8730 * (kfc^3) + 0.4955 * (kfc^2) - 0.6490 * kfc + 0.9988
+kacr                =           -3.9364 * (kfc^2) + 1.8409 * kfc + 0.9968;
+/* filter tuning  */
+k2vg                =           i2v * (1 - exp(-2 * ipi * kfcr * kf))
+/* cascade of 4 1st order sections         */
+ay1                 =           az1 + k2vg * (tanh((asig - 4 * kres * amf * kacr) / i2v) - tanh(az1 / i2v))
+az1                 =           ay1
+ay2                 =           az2 + k2vg * (tanh(ay1 / i2v) - tanh(az2 / i2v ))
+az2                 =           ay2
+ay3                 =           az3 + k2vg * (tanh(ay2 / i2v) - tanh(az3 / i2v))
+az3                 =           ay3
+ay4                 =           az4 + k2vg * (tanh(ay3 / i2v) - tanh(az4 / i2v))
+az4                 =           ay4
+/* 1/2-sample delay for phase compensation  */
+amf                 =           (ay4 + az5) *0.5
+az5                 =           ay4
+/* oversampling  */
+ay1                 =           az1 + k2vg * (tanh((asig - 4 * kres * amf * kacr) / i2v) - tanh(az1 / i2v))
+az1                 =           ay1
+ay2                 =           az2 + k2vg * (tanh(ay1 / i2v) - tanh(az2 / i2v ))
+az2                 =           ay2
+ay3                 =           az3 + k2vg * (tanh(ay2 / i2v) - tanh(az3 / i2v))
+az3                 =           ay3
+ay4                 =           az4 + k2vg * (tanh(ay3 / i2v) - tanh(az4 / i2v))
+az4                 =           ay4
+amf                 =           (ay4 + az5) * 0.5
+az5                 =           ay4
+                    xout        amf
+                    endop
+
+instr 1
+                prints      "No filter.\n"
+	kfe         expseg      500, p3*0.9, 1800, p3*0.1, 3000
+    kenv        linen       10000, 0.05, p3, 0.05
+    asig        buzz        kenv, 100, sr/(200), 1
+    ; afil      moogladder  asig, kfe, 1
+                out         asig
+endin
+
+instr 2
+                prints      "Native moogladder.\n"
+	kfe         expseg      500, p3*0.9, 1800, p3*0.1, 3000
+    kenv        linen       10000, 0.05, p3, 0.05
+    asig        buzz        kenv, 100, sr/(200), 1
+    afil        moogladder  asig, kfe, 1
+                out         afil
+endin
+
+instr 3
+                prints      "UDO moogladder.\n"
+	kfe         expseg      500, p3*0.9, 1800, p3*0.1, 3000
+    kenv        linen       10000, 0.05, p3, 0.05
+    asig        buzz        kenv, 100, sr/(200), 1
+    afil        moogladderu asig, kfe, 1
+                out         afil
+endin
+
+instr 4
+                prints      "Lua moogladder.\n"
+    kres        init        1
+    istor       init        0
+	kfe         expseg      500, p3*0.9, 1800, p3*0.1, 3000
+    kenv        linen       10000, 0.05, p3, 0.05
+    asig        buzz        kenv, 100, sr/(200), 1
+    afil        init        0
+                lua_ikopcall    "moogladder", afil, asig, kfe, kres, istor
+                out         afil
+endin
+
+instr 5
+    giended     rtclock
+    ielapsed    =           giended - gibegan
+                print       ielapsed
+    gibegan     rtclock
+endin
+
+</CsInstruments>
+
+<CsScore>
+f 1     0 65536 10 1
+i 5.1   0   1
+i 4     1   20
+i 5.2   21  1
+i 4     22  20
+i 5.3   42  1
+i 2     43  20
+i 5.4   63  1
+i 2     64  20
+i 5.5   84  1
+i 3     85  20
+i 5.6   105 1
+i 3     106 20
+i 5.7   126 1
+i 1     127 20
+i 5.8   147 1
+i 1     148 20
+i 5.9   168 1
+i 4     169 20
+i 4     170 20
+i 4     171 20
+e
+</CsScore>
+
+</CsoundSynthesizer>
diff --git a/examples/luaopcode.csd b/examples/luaopcode.csd
new file mode 100644
index 0000000..1a3612a
--- /dev/null
+++ b/examples/luaopcode.csd
@@ -0,0 +1,61 @@
+<CsoundSynthesizer>
+
+<CsInstruments>
+lua_opdef "luatest", {{
+local ffi = require("ffi")
+local string = require("string")
+local csoundLibrary = ffi.load('csound64.dll.5.2')
+ffi.cdef[[
+    int csoundGetKsmps(void *);
+    double csoundGetSr(void *);
+    struct luatest_arguments {double *out; double *stringout; char *stringin; double *in1; double *in2; double sr; int ksmps; };
+]]
+function luatest_init(csound, opcode, carguments)
+    local arguments = ffi.cast("struct luatest_arguments *", carguments)
+    arguments.sr = csoundLibrary.csoundGetSr(csound)
+    print(string.format('stringin: %s', ffi.string(arguments.stringin)))
+    print(string.format('sr: %f', arguments.sr))
+    arguments.ksmps = csoundLibrary.csoundGetKsmps(csound)
+    print(string.format('ksmps: %d', arguments.ksmps))
+    arguments.out[0] = arguments.in1[0] * arguments.in2[0]
+    ffi.copy(arguments.stringout, 'Hello, world!')
+    return 0
+end
+function luatest_kontrol(csound, opcode, carguments)
+    local arguments = ffi.cast("struct luatest_arguments *", carguments)
+    arguments.out[0] = arguments.in1[0] * arguments.in2[0]
+    return 0
+end
+function luatest_noteoff(csound, opcode, carguments)
+    local arguments = ffi.cast("struct luatest_arguments *", carguments)
+    arguments.out[0] = arguments.in1[0] * arguments.in2[0]
+    print('off')
+    return 0
+end
+}}
+
+instr 1
+    iresult = 0
+    Stringin = "stringin"
+    Stringout = "stringout"
+    lua_iopcall "luatest", iresult, Stringout, Stringin, p2, p3
+    prints Stringout
+endin
+instr 2
+    iresult = 0
+    Stringin = "stringin"
+    Stringout = "initial value"
+    lua_iopcall_off "luatest", iresult, Stringout, Stringin, p2, p3
+    print iresult
+    prints Stringout
+endin
+</CsInstruments>
+
+<CsScore>
+i 1 1 2
+i 2 2 2
+i 1 3 2
+e
+</CsScore>
+
+</CsoundSynthesizer>
diff --git a/examples/m.csd b/examples/m.csd
new file mode 100644
index 0000000..743d902
--- /dev/null
+++ b/examples/m.csd
@@ -0,0 +1,40 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o m.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+aenv expseg .01, p3*0.25, 1, p3*0.75, 0.01
+asig poscil3 .8*aenv, p4, 1
+     outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+f 1 0 16384 10 1	;sine wave
+
+m foo			;mark section
+i 1 0   1 110
+i 1 1.5 1 220
+i 1 3   1 440
+i 1 4.5 1 880
+s			;second section
+i 1 0 2 110
+i 1 2 2 220
+s
+n foo			;repeat marked section
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/mac.csd b/examples/mac.csd
new file mode 100644
index 0000000..876f6b0
--- /dev/null
+++ b/examples/mac.csd
@@ -0,0 +1,51 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if real audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o mac.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1	;4 band equalizer
+
+klow =	p4	;low gain1
+klmid =	p5	;low gain2      
+kmidh = p6	;high gain1
+khigh =	p7	;high gain2
+ifn  =  p8	;table
+
+ilc1 table 0, ifn	;low freqency range
+ilc2 table 1, ifn	;low-mid
+ihc1 table 2, ifn	;mid-high
+ihc2 table 3, ifn	;high
+
+asig	diskin2	 "fox.wav", 1
+alow1	butterlp asig, ilc1		;lowpass 1
+almid	butterlp asig, ilc2	      	;lowpass 2
+amidh 	butterhp asig, ihc1	       	;highpass 1
+ahigh	butterhp asig, ihc2		;highpass 2
+aout	mac	 klow, alow1, klmid, almid, kmidh, amidh, khigh, ahigh
+        outs	 aout, aout
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0  4 -2 150 300 600  5000
+f2 0  4 -2 75  500 1000 10000
+f3 0  4 -2 200 700 1500 3000
+
+;          low lowmid midhigh high table		
+i 1 0  2.8  2    1      1      1     1  
+i 1 3  2.8  2    3      1      1     2 
+i 1 6  2.8  2    1      2      3     3 
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/maca.csd b/examples/maca.csd
new file mode 100644
index 0000000..89eb269
--- /dev/null
+++ b/examples/maca.csd
@@ -0,0 +1,61 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if real audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o mac.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1	;4 band equalizer
+
+klow =	p4	;low gain1
+aenv1   oscil   0.2, 1, 4
+aenv1 = aenv1 + klow
+klmid =	p5	;low gain2      
+aenv2   oscil   0.21, 1.1, 4
+aenv2 = aenv2 + klmid
+kmidh = p6	;high gain1
+aenv3   oscil   0.19, 1.2, 4
+aenv3 = aenv3 + kmidh
+khigh =	p7	;high gain2
+aenv4   oscil   0.18, 1.3, 4
+aenv4 = aenv4 + khigh
+
+ifn  =  p8	;table
+
+ilc1 table 0, ifn	;low freqency range
+ilc2 table 1, ifn	;low-mid
+ihc1 table 2, ifn	;mid-high
+ihc2 table 3, ifn	;high
+
+asig	diskin2	 "fox.wav", 1
+alow1	butterlp asig, ilc1		;lowpass 1
+almid	butterlp asig, ilc2	      	;lowpass 2
+amidh 	butterhp asig, ihc1	       	;highpass 1
+ahigh	butterhp asig, ihc2		;highpass 2
+aout	maca	 aenv1, alow1, aenv2, almid, aenv3, amidh, aenv4, ahigh
+        outs	 aout, aout
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0  4 -2 150 300 600  5000
+f2 0  4 -2 75  500 1000 10000
+f3 0  4 -2 200 700 1500 3000
+f4 0  4096 10 1
+
+;          low lowmid midhigh high table		
+i 1 0  2.8  2    1      1      1     1  
+i 1 3  2.8  2    3      1      1     2 
+i 1 6  2.8  2    1      2      3     3 
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/madsr-2.csd b/examples/madsr-2.csd
new file mode 100644
index 0000000..2ab3547
--- /dev/null
+++ b/examples/madsr-2.csd
@@ -0,0 +1,33 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  -+rtmidi=virtual -M0   ;;;realtime audio out and realtime midi in
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o madsr-2.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+ 	 
+icps	cpsmidi	 	 
+iamp	ampmidi	.5	 
+ 	 	 	 
+kenv	madsr	0.5, 0, 1, 0.5
+asig	pluck	kenv, icps, icps, 2, 1	 
+	outs	asig, asig
+	 
+endin
+</CsInstruments>
+<CsScore>
+f 2 0 4096 10 1	
+
+f0 30	;runs 30 seconds
+e
+</CsScore>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/mandel.csd b/examples/mandel.csd
new file mode 100644
index 0000000..46949b6
--- /dev/null
+++ b/examples/mandel.csd
@@ -0,0 +1,102 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o mandel.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+;example by Brian Evans
+sr = 44100
+ksmps = 32
+nchnls = 2
+
+instr 1
+
+ipitchtable = 1						; pitch table in score      
+ipitchndx = p5						; p5=pitch index from table
+    
+ipitch table  ipitchndx, ipitchtable   
+kenv   expseg 1.0, 1.0, 1.0, 11.5, .0001              
+asig   pluck  ampdb(p4)*kenv, cpspch(ipitch), cpspch(ipitch), 0, 1
+       outs   asig, asig
+       
+endin
+</CsInstruments>
+<CsScore>
+
+f1 0 32 -2 6.00 6.02 6.04 6.05 6.07 6.09 6.11		; f1 is a pitch table defining a four octave C major scale starting 
+           7.00 7.02 7.04 7.05 7.07 7.09 7.11		; on C two octaves below middle C
+           8.00 8.02 8.04 8.05 8.07 8.09 8.11
+           9.00 9.02 9.04 9.05 9.07 9.09 9.11
+
+;ins start   dur ampdb(p4) pitchndx(p5)
+
+i1   0       12.0   75     3 
+i1   1.5999  12.0   75     4 
+i1   3.4000  12.0   75     5 
+i1   4.2000  12.0   75     6 
+i1   4.4000  12.0   75     7 
+i1   4.6000  12.0   75     9 
+i1   4.8000  12.0   75     10 
+i1   5.0000  12.0   75     5 
+i1   5.2000  12.0   75     27 
+i1   5.4000  12.0   75     5 
+i1   5.6000  12.0   75     20 
+i1   6.0000  12.0   75     24 
+i1   6.2000  12.0   75     2 
+i1   6.4000  12.0   75     27 
+i1   6.6000  12.0   75     20 
+i1   6.8000  12.0   75     15 
+i1   7.0000  12.0   75     3 
+i1   7.2000  12.0   75     3 
+i1   7.4000  12.0   75     23 
+i1   7.6000  12.0   75     9 
+i1   7.8000  12.0   75     17 
+i1   8.0000  12.0   75     18 
+i1   8.2000  12.0   75     3 
+i1   8.4000  12.0   75     26 
+i1   8.6000  12.0   75     15 
+i1   8.8     12.0   75     2 
+i1   9       12.0   75     26 
+i1   9.2     12.0   75     8 
+i1   9.3999  12.0   75     22 
+i1   9.5999  12.0   75     22 
+i1   9.7999  12.0   75     20 
+i1   9.9999  12.0   75     19 
+i1   10.399  12.0   75     20 
+i1   10.799  12.0   75     22 
+i1   10.999  12.0   75     27 
+i1   11.199  12.0   75     25 
+i1   11.399  12.0   75     20 
+i1   11.599  12.0   75     21 
+i1   11.799  12.0   75     24 
+i1   11.999  12.0   75     24 
+i1   12.199  12.0   75     4 
+i1   12.399  12.0   75     13 
+i1   12.599  12.0   75     15 
+i1   12.799  12.0   75     14 
+i1   12.999  12.0   75     3 
+i1   13.199  12.0   75     21 
+i1   13.399  12.0   75     6 
+i1   13.599  12.0   75     3 
+i1   13.799  12.0   75     10 
+i1   13.999  12.0   75     25 
+i1   14.199  12.0   75     21 
+i1   14.399  12.0   75     20 
+i1   14.599  12.0   75     19 
+i1   14.799  12.0   75     18 
+i1   15.199  12.0   75     17 
+i1   15.599  12.0   75     16 
+i1   15.999  12.0   75     15 
+i1   16.599  12.0   75     14 
+i1   17.199  12.0   75     13 
+i1   18.399  12.0   75     12 
+i1   18.599  12.0   75     11 
+i1   19.199  12.0   75     10 
+i1   19.799  12.0   75     9 
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/mandol.csd b/examples/mandol.csd
index 14e91e1..0461fa8 100644
--- a/examples/mandol.csd
+++ b/examples/mandol.csd
@@ -1,47 +1,39 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o mandol.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-   kamp = p5
-  ; kfreq = 880
-  ; kpluck = 0.4
-  ; kdetune = 0.99
-  ; kgain = 0.99
-  ksize = p4
-  ; ifn = 1
-  ; ifreq = 220
 
-  a1 mandol kamp, 880, 0.4, 0.99, 0.99, ksize, 1, 220
+kamp    = p4
+ksize   = p5
+kdetune = p6
+asig mandol kamp, 880, .4, kdetune, 0.99, ksize, 1, 220
+     outs asig, asig
 
-  out a1
 endin
-
-
 </CsInstruments>
 <CsScore>
-
-; Table #1: the "mandpluk.aiff" audio file
+; "mandpluk.aiff" audio file
 f 1 0 8192 1 "mandpluk.aiff" 0 0 0
 
-; Play Instrument #1 for one second.
-i 1 0.5 1 2 45000
-i 1 + 1 .3 10000	;change volume to compensate
-e
-
+i 1 .5 1  1  2 .99
+i 1 +  1 .5  1 .99	;lower volume to compensate
+i 1 +  3 .3 .3 .99	;lower volume to compensate
 
+i 1 4  1  1  2 .39	;change detune value
+i 1 +  1 .5  1 .39
+i 1 +  3 .3 .3 .39
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/maparray.csd b/examples/maparray.csd
new file mode 100644
index 0000000..1063736
--- /dev/null
+++ b/examples/maparray.csd
@@ -0,0 +1,84 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-n
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+;create an array and fill with numbers
+kArrSrc[] fillarray 1.01, 2.02, 3.03, 4.05, 5.08, 6.13, 7.21
+
+;print source array
+        printf  "%s", 1, "\nSource array:\n"
+kndx    =       0
+  until kndx == lenarray(kArrSrc) do
+        printf  "kArrSrc[%d] = %f\n", kndx+1, kndx, kArrSrc[kndx]
+kndx    +=      1
+  od
+
+;create an empty array for the results
+kArrRes[] init  7
+
+;apply the sqrt() function to each element
+kArrRes maparray kArrSrc, "sqrt"
+
+;print the result
+        printf  "%s", 1, "\nResult after applying sqrt() to source array\n"
+kndx    =       0
+  until kndx == lenarray(kArrRes) do
+        printf  "kArrRes[%d] = %f\n", kndx+1, kndx, kArrRes[kndx]
+kndx    +=      1
+  od
+
+;apply the log() function to each element
+kArrRes maparray kArrSrc, "log"
+
+;print the result
+        printf  "%s", 1, "\nResult after applying log() to source array\n"
+kndx    =       0
+  until kndx == lenarray(kArrRes) do
+        printf  "kArrRes[%d] = %f\n", kndx+1, kndx, kArrRes[kndx]
+kndx    +=      1
+  od
+
+;apply the int() function to each element
+kArrRes maparray kArrSrc, "int"
+
+;print the result
+        printf  "%s", 1, "\nResult after applying int() to source array\n"
+kndx    =       0
+  until kndx == lenarray(kArrRes) do
+        printf  "kArrRes[%d] = %f\n", kndx+1, kndx, kArrRes[kndx]
+kndx     +=     1
+  od
+
+;apply the frac() function to each element
+kArrRes maparray kArrSrc, "frac"
+
+;print the result
+        printf  "%s", 1, "\nResult after applying frac() to source array\n"
+kndx    =       0
+  until kndx == lenarray(kArrRes) do
+        printf  "kArrRes[%d] = %f\n", kndx+1, kndx, kArrRes[kndx]
+kndx += 1
+  od
+
+;turn instrument instance off
+        turnoff
+        
+endin
+
+
+</CsInstruments>
+<CsScore>
+i 1 0 0.1
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/massign.csd b/examples/massign.csd
new file mode 100644
index 0000000..1b49ead
--- /dev/null
+++ b/examples/massign.csd
@@ -0,0 +1,63 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  -+rtmidi=virtual -M0    ;;;realtime audio out and realtime midi in 
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+;-o massign.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giengine fluidEngine
+; soundfont path to manual/examples
+isfnum	 fluidLoad "19Trumpet.sf2", giengine, 1
+	 fluidProgramSelect giengine, 1, isfnum, 0, 56
+
+massign 0,0	;disable triggering of all instruments on all channels, but
+massign 12,10	;assign instr. 10 to midi channel 12
+massign 3,30	;assign instr. 30 to midi channel 3
+
+instr 10 ; soundfont only on midi channel 12
+
+      mididefault   60, p3
+      midinoteonkey p4, p5	; in midi notes
+ikey  init p4
+ivel  init p5
+      fluidNote giengine, 1, ikey, ivel
+endin
+
+instr 30 ; FM-oscilator only on midi channel 3
+
+      mididefault   60, p3
+      midinoteoncps p4, p5	; in Hertz
+icps  init p4
+iamp  init p5
+iamp  = iamp/127
+kenv  madsr  0.5, 0, 1, 0.5
+asig  foscil iamp*kenv, icps, 1, 1.414, 2, 1
+      outs asig, asig 
+endin 
+
+instr 99 ; output sound from fluidengine
+
+imvol init 7
+aL, aR fluidOut giengine
+      outs aL*imvol, aR*imvol
+endin
+</CsInstruments>
+<CsScore>
+; sine
+f 1 0 16384 10 1
+
+i 10 0 2 60 100  ;one note on the trumpet in midi and...
+i 30 2 2 220 80  ;one FM note in Hz
+i 99 0 60	 ;stay active for 60 sec.
+e
+
+</CsScore>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/max.csd b/examples/max.csd
new file mode 100644
index 0000000..722855f
--- /dev/null
+++ b/examples/max.csd
@@ -0,0 +1,38 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o max.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+k1   oscili 1, 10.0, 1			;combine 3 sinusses
+k2   oscili 1, 1.0, 1			;at different rates
+k3   oscili 1, 3.0, 1
+kmax max   k1, k2, k3
+kmax = kmax*250				;scale kmax
+printk2 kmax				;check the values
+
+aout vco2 .5, 220, 6			;sawtooth
+asig moogvcf2 aout, 600+kmax, .5 	;change filter around 600 Hz		
+     outs asig, asig
+
+endin
+
+</CsInstruments>
+<CsScore>
+f1 0 32768 10 1
+
+i1 0 5
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/max_k.csd b/examples/max_k.csd
new file mode 100644
index 0000000..842d68e
--- /dev/null
+++ b/examples/max_k.csd
@@ -0,0 +1,54 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  -Ma   ;;;realtime audio out and midi in (on all inputs)
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o max_k.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+
+	FLpanel	"This Panel contains VU-meter",300,100
+gk1,gih1 FLslider "VU-meter", 0,1,0,1, -1, 250,30, 30,30
+	FLsetColor2 50, 50, 255,  gih1
+	FLpanel_end
+	FLrun
+
+ga1 init 0
+	
+instr 1
+
+kenv	linsegr	0,.5,.7,.5,.5,.2,0
+ifreq	cpsmidi
+a1	poscil	0dbfs*kenv, ifreq, 1
+ga1	=	ga1+a1
+
+endin
+
+instr 2
+
+	outs	ga1, ga1
+ktrig	metro	25					;refresh 25 times per second
+kval	max_k	ga1, ktrig, 1
+	FLsetVal ktrig, kval, gih1
+ga1	=	0
+
+endin
+
+</CsInstruments>
+<CsScore>
+f1 0 1024 10 1
+
+i2 0 3600
+f0 3600
+
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/maxabs.csd b/examples/maxabs.csd
new file mode 100644
index 0000000..9465af3
--- /dev/null
+++ b/examples/maxabs.csd
@@ -0,0 +1,38 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o maxabs.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+k1   oscili 1, 10.0, 1			;combine 3 sinusses
+k2   oscili 1, 1.0, 1			;at different rates
+k3   oscili 1, 3.0, 1
+kmax maxabs   k1, k2, k3
+kmax = kmax*250				;scale kmax
+printk2 kmax				;check the values
+
+aout vco2 .5, 220, 6			;sawtooth
+asig moogvcf2 aout, 600+kmax, .5 	;change filter above 600 Hz		
+     outs asig, asig
+
+endin
+
+</CsInstruments>
+<CsScore>
+f1 0 32768 10 1
+
+i1 0 5
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/maxabsaccum.csd b/examples/maxabsaccum.csd
new file mode 100644
index 0000000..0d12de8
--- /dev/null
+++ b/examples/maxabsaccum.csd
@@ -0,0 +1,55 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o maxabsaccum.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1	;saw
+
+asig  vco2 .2, p4		
+      outs  asig, asig				
+gasaw = asig
+endin
+
+instr 2	;sine
+
+aout  poscil .3, p4, 1		
+      outs  aout, aout				
+gasin = aout
+endin
+
+instr 10	
+
+accum init 0	
+      maxabsaccum  accum, gasaw + gasin		;saw and sine accumulated	
+accum dcblock2 accum				;get rid of DC
+      outs accum, accum	
+     		
+clear accum
+endin
+
+</CsInstruments>
+<CsScore>
+f 1 0 4096 10 1	;sine wave	
+
+i 1 0 7 330
+i 2 3 3 440
+
+i 1 10 7 330	;same notes but without maxabsaccum, for comparison
+i 2 13 3 440
+
+i 10 0 6	;accumulation note stops after 6 seconds
+
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/maxaccum.csd b/examples/maxaccum.csd
new file mode 100644
index 0000000..ca3961b
--- /dev/null
+++ b/examples/maxaccum.csd
@@ -0,0 +1,54 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o maxaccum.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1	;saw
+
+asig  vco2 .2, p4		
+      outs  asig, asig				
+gasaw = asig
+endin
+
+instr 2	;sine
+
+aout  poscil .3, p4, 1		
+      outs  aout, aout				
+gasin = aout
+endin
+
+instr 10	
+
+accum init 0	
+      maxaccum accum, gasaw + gasin	;saw and sine accumulated
+      outs  accum, accum		
+     		
+clear accum
+endin
+
+</CsInstruments>
+<CsScore>
+f 1 0 4096 10 1	
+
+i 1 0 7 330
+i 2 3 3 440
+
+i 1 10 7 330	;same notes but without maxaccum, for comparison
+i 2 13 3 440
+
+i 10 0 6	;accumulation note stops after 6 seconds
+
+e
+
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/maxalloc.csd b/examples/maxalloc.csd
index dc41489..1258cb9 100644
--- a/examples/maxalloc.csd
+++ b/examples/maxalloc.csd
@@ -1,45 +1,36 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o maxalloc.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Limit Instrument #1 to three instances.
-maxalloc 1, 3
+maxalloc 1, 3	; Limit to three instances.
  
-; Instrument #1
 instr 1
-  ; Generate a waveform, get the cycles per second from the 4th p-field.
-  a1 oscil 6500, p4, 1
-  out a1
-endin
 
+asig oscil .3, p4, 1
+     outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
-
-; Just generate a nice, ordinary sine wave.
+; sine
 f 1 0 32768 10 1
 
-; Play five instances of Instrument #1 for one second.
-; Note that 4th p-field contains cycles per second.
-i 1 0 1 220
-i 1 0 1 440
-i 1 0 1 880
-i 1 0 1 1320
-i 1 0 1 1760
+i 1 0 5 220	;1
+i 1 1 4 440	;2
+i 1 2 3 880	;3, limit is reached
+i 1 3 2 1320	;is not played
+i 1 4 1 1760	;is not played
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/maxarray.csd b/examples/maxarray.csd
new file mode 100644
index 0000000..e2db085
--- /dev/null
+++ b/examples/maxarray.csd
@@ -0,0 +1,34 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-n 
+</CsOptions>
+<CsInstruments>
+;example by joachim heintz
+
+           seed       0
+
+instr 1
+;create an array with 10 elements
+kArr[]     init       10
+;fill in random numbers and print them out
+kIndx      =          0
+  until kIndx == 10 do
+kNum       random     -100, 100
+kArr[kIndx] =         kNum
+           printf     "kArr[%d] = %10f\n", kIndx+1, kIndx, kNum
+kIndx      +=         1
+  od
+;investigate maximum number and print it out
+kMax, kMaxIndx maxarray kArr
+           printf     "Maximum of kArr = %f at index %d\n", kIndx+1, kMax, kMaxIndx
+           turnoff
+endin
+
+
+</CsInstruments>
+<CsScore>
+i1 0 0.1
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/mclock.csd b/examples/mclock.csd
new file mode 100644
index 0000000..95e39e6
--- /dev/null
+++ b/examples/mclock.csd
@@ -0,0 +1,25 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-Q0   ;;;midi out
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1	;let csound synchronize a sequencer
+
+mclock 24
+		
+endin
+
+</CsInstruments>
+<CsScore>
+
+i 1 0 30
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/meow.sdif b/examples/meow.sdif
old mode 100755
new mode 100644
diff --git a/examples/metro-2.csd b/examples/metro-2.csd
new file mode 100644
index 0000000..c028cb2
--- /dev/null
+++ b/examples/metro-2.csd
@@ -0,0 +1,32 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o metro-2.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+kpch    random   1,20		;produce values at k-rate
+ktrig   metro    10		;trigger 10 times per second
+kval	samphold kpch, ktrig 	;change value whenever ktrig = 1 
+asig	buzz	 1, 220, kval, 1;harmonics
+        outs     asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+f 1 0 4096 10 1	; sine
+
+i 1 0 10
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/midic7.csd b/examples/midic7.csd
new file mode 100644
index 0000000..9667cc6
--- /dev/null
+++ b/examples/midic7.csd
@@ -0,0 +1,39 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  -+rtmidi=virtual -M0    ;;;realtime audio out and realtime midi in 
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o midic7.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+; This example expects MIDI controller input on channel 1
+; run, play a note and move your midi controller 7 to see result
+
+imax  = 1
+imin  = 0
+ichan = 1 
+ictlno= 7 	; = midi volume
+
+kamp	midic7	ictlno, imin, imax	
+	printk2	kamp
+asig	oscili	kamp, 220, 1
+	outs	asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+; no score events allowed
+f 0 20		;20 sec. for real-time MIDI events
+f 1 0 4096 10 1	;sine wave
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/midichannelaftertouch.csd b/examples/midichannelaftertouch.csd
index 7da0623..f31a010 100644
--- a/examples/midichannelaftertouch.csd
+++ b/examples/midichannelaftertouch.csd
@@ -1,31 +1,39 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in   No messages  MIDI in
--odac           -iadc     -d         -M0  ;;;RT audio I/O with MIDI in
+-odac    -M1  ;;;realtime audio out and midi in 
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o midichannelaftertouch.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
 
-kafter	init	0
+midinoteoncps p4, p5				;puts MIDI key translated to cycles per second into p4, and MIDI velocity into p5
+kafter init 127					;full open				
 midichannelaftertouch  kafter
-; Display the aftertouch value when it changes and when key is pressed
- printk2 kafter
-endin
+printk2 kafter					;display the key value when it changes and when key is pressed
+
+kvel = p5/127					;scale midi velocity to 0-1
+kenv madsr 0.5, 0.8, 0.8, 0.5			;amplitude envelope multiplied by
+ain  pluck kenv*kvel, p4, p4, 2, 1		;velocity value	
+asig moogvcf2 ain, 200+(kafter*40), .5		;scale value of aftertouch and control filter frequency
+     outs  asig, asig				;base freq of filter = 200 Hz
 
+endin
 </CsInstruments>
 <CsScore>
+f 0 30	;runs 30 seconds
+f 2 0 4096 10 1	
 
-; Play Instrument #1 for ten seconds.
-i 1 0 10
+i 1 0 2 440 100	; play these notes from score as well
+i 1 + 2 1440 100
 e
 
 </CsScore>
diff --git a/examples/midichn.csd b/examples/midichn.csd
index 0a8b558..f8dedc4 100644
--- a/examples/midichn.csd
+++ b/examples/midichn.csd
@@ -1,34 +1,25 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in   No messages  MIDI in
--odac           -iadc     -d         -M0  ;;;RT audio I/O with MIDI in
-; For Non-realtime ouput leave only the line below:
-; -o midichn.wav -W ;;; for file output any platform
+-odac -M0 -+rtmidi=virtual ;;; midi file input
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
-instr 1
-  i1 midichn
+instr 1	 
+;change channel on virtual midi keyboard
+i1 midichn
+   print i1
 
-  print i1
 endin
-
-
 </CsInstruments>
 <CsScore>
+f 0 20	;runs for 20 seconds
 
-; Play Instrument #1 for 12 seconds.
-i 1 0 12
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/midichn_advanced.csd b/examples/midichn_advanced.csd
index d743671..bb57735 100644
--- a/examples/midichn_advanced.csd
+++ b/examples/midichn_advanced.csd
@@ -1,16 +1,16 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in   No messages  MIDI in
--odac           -iadc     -d         -M0  ;;;RT audio I/O with MIDI in
+-odac -F midichn_advanced.mid ;;;realtime audio out with MIDI file input
 ; For Non-realtime ouput leave only the line below:
 ; -o midichn_advanced.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-sr	=  44100
-ksmps	=  10
-nchnls	=  1
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
 	massign  1, 1		; all channels use instr 1
 	massign  2, 1
@@ -29,7 +29,7 @@ nchnls	=  1
 	massign 15, 1
 	massign 16, 1
 
-gicnt	=  0			; note counter
+gicnt	=  0		; note counter
 
 	instr 1
 
@@ -46,18 +46,20 @@ l2:
 	printks "note %.0f (time = %.2f) was activated from channel %.0f\\n", \
 		3600, kcnt, istime, ichn
 l1:
-	endin
-
 
+icps	cpsmidi		; convert midi note to pitch
+kenv	madsr	0.1, 0, 0.8, 0.9
+asig	pluck	kenv, icps, icps, 1, 1	 
+	outs	asig, asig
+	 
+endin
 </CsInstruments>
 <CsScore>
+t 0 60		;beats per minute
 
-t 0 60
-f 0 6 2 -2 0
-i 1 1 0.5
-i 1 4 0.5
-e
-
+f 0 8		;stay active for 8 seconds
+f 1 0 4096 10 1	;sine
 
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/midichn_advanced.mid b/examples/midichn_advanced.mid
index 00a4c30..6af10eb 100644
Binary files a/examples/midichn_advanced.mid and b/examples/midichn_advanced.mid differ
diff --git a/examples/midicontrolchange.csd b/examples/midicontrolchange.csd
old mode 100755
new mode 100644
index c3dfdc5..d26d05a
--- a/examples/midicontrolchange.csd
+++ b/examples/midicontrolchange.csd
@@ -1,31 +1,35 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in   No messages  MIDI in
--odac           -iadc     -d         -M0  ;;;RT audio I/O with MIDI in
+-odac  -+rtmidi=virtual   -M0  ;;;realtime audio out and midi in 
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o midicontrolchange.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
+; use slider of contr. 7 of virtual keyboard
+kcont init 1	; max. volume
+midicontrolchange 7, kcont, 0, 1; use controller 7, scaled between 0 and 1	
+printk2 kcont	; Display the key value when it changes and key is pressed
 
-kcontroller	init	0
-midicontrolchange 7, kcontroller		; = volume
-; Display the key value when it changes and key is pressed
- printk2 kcontroller
-endin
+kenv madsr 0.5, 0.8, 0.8, 0.5		; envelope multiplied by
+asig pluck kenv*kcont, 220, 220, 2, 1	; value of controller 7	 
+     outs  asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
+f 0 30
+f 2 0 4096 10 1	
 
-; Play Instrument #1 for ten seconds.
-i 1 0 10
+i 1 10 2	; play a note from score as well
 e
 
 </CsScore>
diff --git a/examples/midictrl.csd b/examples/midictrl.csd
new file mode 100644
index 0000000..34b975d
--- /dev/null
+++ b/examples/midictrl.csd
@@ -0,0 +1,34 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  -+rtmidi=virtual -M0   ;;;realtime audio out and realtime midi in
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o midictrl.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+ 	 
+icps	cpsmidi	 	 
+iamp	ampmidi	.5
+ips	midictrl 9, 10, 500		;controller 9	 
+ 	 	 	 
+kenv	madsr	0.5, 0, 1, 0.5
+asig	pluck	kenv, icps, ips, 2, 1	;change tone color	 
+	outs	asig, asig			
+	 
+endin
+</CsInstruments>
+<CsScore>
+f 2 0 4096 10 1	;sine wave
+; no score events allowed
+f0 30	;runs 30 seconds
+e
+</CsScore>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/mididefault.csd b/examples/mididefault.csd
new file mode 100644
index 0000000..fde23f1
--- /dev/null
+++ b/examples/mididefault.csd
@@ -0,0 +1,37 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    -M1  ;;;realtime audio out and midi in 
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o mididefault.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+mididefault 60, p3					;ensures that a MIDI-activated instrument will have a positive p3 field
+midinoteoncps p4, p5					;puts MIDI key translated to cycles per second into p4, and MIDI velocity into p5
+
+kvel = p5/127						;scale midi velocity to 0-1
+kenv madsr 0.5, 0.8, 0.8, 0.5				;amplitude envelope multiplied by
+asig pluck kenv*kvel, p4, p4, 2, 1			;velocity		
+     outs  asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+f 0 30	;runs for 30 seconds
+f 2 0 4096 10 1	
+
+i 1 0 2 440 100	; play these notes from score as well
+i 1 + 2 1440 100
+e
+
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/midinoteoff.csd b/examples/midinoteoff.csd
index f904ddd..db691fd 100644
--- a/examples/midinoteoff.csd
+++ b/examples/midinoteoff.csd
@@ -1,38 +1,34 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in   No messages  MIDI in
--odac           -iadc     -d         -M0  ;;;RT audio I/O with MIDI in
+-odac    -M1 -Q1  ;;;realtime audio out and midi in and midi out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o midinoteoff.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
-instr 1
-  kkey init 0
-  kvelocity init 0
+instr 1	;uses external midi device
 
-  midinoteoff kkey, kvelocity
+kkey init 0				;initialize key number
+kvel init 0				;initialize velocity
+midinoteoff kkey,kvel			;MIDI noteoff value
+printk2	kvel				;display noteoff value
+midion 1, kkey, kvel			;sent note to external device
 
-  ; Display the key value when it changes.
-  printk2 kkey
 endin
-
-
 </CsInstruments>
 <CsScore>
+f 0 30	;runs for 30 seconds	
 
-; Play Instrument #1 for ten seconds.
-i 1 0 10
+i 1 0 2 62	; play these notes from score as well
+i 1 + 2 65
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/midinoteoncps.csd b/examples/midinoteoncps.csd
index e5d11c2..573bded 100644
--- a/examples/midinoteoncps.csd
+++ b/examples/midinoteoncps.csd
@@ -1,38 +1,37 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in   No messages  MIDI in
--odac           -iadc     -d         -M0  ;;;RT audio I/O with MIDI in
+-odac    -M1  ;;;realtime audio out and midi in 
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o midinoteoncps.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  kcps init 0
-  kvelocity init 0
 
-  midinoteoncps kcps, kvelocity
-
-  ; Display the cycles-per-second value when it changes.
-  printk2 kcps
-endin
+midinoteoncps p4, p5				;puts MIDI key translated to cycles per second into p4, and MIDI velocity into p5
 
+print p4					;display the key value when it changes and when key is pressed 
+kvel = p5/127					;scale midi velocity to 0-1
+kenv madsr 0.5, 0.8, 0.8, 0.5			;amplitude envelope multiplied by
+asig pluck kenv*kvel, p4, p4, 2, 1		;velocity value			
+     outs  asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
+f 0 30	;runs for 30 seconds
+f 2 0 4096 10 1	
 
-; Play Instrument #1 for ten seconds.
-i 1 0 10
+i 1 0 2 440 100	; play these notes from score as well
+i 1 + 2 1440 100
 e
 
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/midinoteonkey.csd b/examples/midinoteonkey.csd
index 66110a7..56bba7d 100644
--- a/examples/midinoteonkey.csd
+++ b/examples/midinoteonkey.csd
@@ -1,38 +1,33 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in   No messages  MIDI in
--odac           -iadc     -d         -M0  ;;;RT audio I/O with MIDI in
+-odac    -M1 -Q1  ;;;realtime audio out and midi in and midi out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o midinoteonkey.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
-instr 1
-  kkey init 0
-  kvelocity init 0
+instr 1	;uses external midi device
 
-  midinoteonkey kkey, kvelocity
+kkey init 0						;initialize key number
+kvel init 0						;initialize velocity
+midinoteonkey kkey, kvel				;MIDI note number value 
+printk2	kkey						;display the key value when it changes and when key is pressed 
+midion 1, kkey, kvel					;sent note to external device
 
-  ; Display the key value when it changes.
-  printk2 kkey
 endin
-
-
 </CsInstruments>
 <CsScore>
+f 0 30	;runs for 30 seconds	
 
-; Play Instrument #1 for ten seconds.
-i 1 0 10
+i 1 0 2 62	; play these notes from score as well
+i 1 + 2 65
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/midinoteonoct.csd b/examples/midinoteonoct.csd
index e00a929..c799736 100644
--- a/examples/midinoteonoct.csd
+++ b/examples/midinoteonoct.csd
@@ -1,38 +1,39 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in   No messages  MIDI in
--odac           -iadc     -d         -M0  ;;;RT audio I/O with MIDI in
+-odac    -M1  ;;;realtime audio out and midi in 
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o midinoteonoct.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  koct init 0
-  kvelocity init 0
 
-  midinoteonoct koct, kvelocity
-
-  ; Display the octave-point-decimal value when it changes.
-  printk2 koct
-endin
+midinoteonoct p4, p5			;gets a MIDI note number value as octave-point-decimal value into p4, and MIDI velocity into p5
 
+print 	p4				;display the key value when it changes and when key is pressed 
+kvel = p5/127				;scale midi velocity to 0-1
+ioct =	p4
+icps =	cpsoct(ioct)			;convert octave-point-decimal value into Hz
+kenv madsr 0.5, 0.8, 0.8, 0.5		;amplitude envelope multiplied by
+asig pluck kenv*kvel, icps, icps, 2, 1	;velocity value				
+     outs  asig, asig				
 
+endin
 </CsInstruments>
 <CsScore>
+f 0 30	;runs for 30 seconds
+f 2 0 4096 10 1	
 
-; Play Instrument #1 for ten seconds.
-i 1 0 10
+i 1 0 2 8.000 100	; play these notes from score as well
+i 1 + 2 8.917 100
 e
 
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/midinoteonpch.csd b/examples/midinoteonpch.csd
index ce02f60..5d9daf1 100644
--- a/examples/midinoteonpch.csd
+++ b/examples/midinoteonpch.csd
@@ -1,38 +1,39 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in   No messages  MIDI in
--odac           -iadc     -d         -M0  ;;;RT audio I/O with MIDI in
+-odac    -M1  ;;;realtime audio out and midi in 
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o midinoteonpch.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  kpch init 0
-  kvelocity init 0
 
-  midinoteonpch kpch, kvelocity
-
-  ; Display the pitch-class value when it changes.
-  printk2 kpch
-endin
+midinoteonpch p4, p5				;gets a MIDI note number value as octave-point-decimal value into p4, and MIDI velocity into p5
 
+print 	p4					;display the pitch value when it changes and when key is pressed 
+kvel =  kvel/127				;scale midi velocity to 0-1
+ipch =	p4
+icps =	cpspch(ipch)				;convert octave-point-decimal value into Hz
+kenv madsr 0.5, 0.8, 0.8, 0.5			;amplitude envelope multiplied by
+asig pluck kenv*kvel, icps, icps, 2, 1		;velocity value			
+     outs  asig, asig				
 
+endin
 </CsInstruments>
 <CsScore>
+f 0 30	;runs for 30 seconds
+f 2 0 4096 10 1	
 
-; Play Instrument #1 for ten seconds.
-i 1 0 10
+i 1 0 2 8.09 100	; play these notes from score as well
+i 1 + 2 9.05 100
 e
 
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/midion2.csd b/examples/midion2.csd
new file mode 100644
index 0000000..5ce102d
--- /dev/null
+++ b/examples/midion2.csd
@@ -0,0 +1,27 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+ -M0 -Q1 ;;;midi in and midi out
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+kcps line 3, p3, .1	
+klf  lfo 1, kcps, 3	;use a unipolar square to trigger
+ktr  trigger klf, 1, 1	;from 3 times to .1 time per sec.
+     midion2 1, 60, 100, ktr
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 20
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/midiout.csd b/examples/midiout.csd
new file mode 100644
index 0000000..1661f68
--- /dev/null
+++ b/examples/midiout.csd
@@ -0,0 +1,30 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+; Audio out   Audio in
+-odac -Ma -Q1 ;;;realtime audio out and midi out and midi in (all midi inputs)
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+midiout	192, 1, 21, 0	;program change to instr. 21
+inum notnum
+ivel veloc
+midion 1, inum, ivel
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 3  80 100		;play note for 3 seconds
+
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/midipitchbend.csd b/examples/midipitchbend.csd
index dbe6934..d9bf399 100644
--- a/examples/midipitchbend.csd
+++ b/examples/midipitchbend.csd
@@ -1,37 +1,42 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in   No messages  MIDI in
--odac           -iadc     -d         -M0  ;;;RT audio I/O with MIDI in
+-odac    -M1  ;;;realtime audio out and midi in 
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o midipitchbend.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  kpb init 0
 
-  midipitchbend kpb
-
-  ; Display the pitch-bend value when it changes.
-  printk2 kpb
-endin
+midinoteonoct p4, p5				;gets a MIDI note number value as octave-point-decimal value into p4, and MIDI velocity into p5
 
+kvel = p5/127					;scale midi velocity to 0-1
+kpb init 0
+midipitchbend kpb
+printk2 kpb					;display the pitch-bend value when it changes
+koct =	p4+kpb					;add pitchbend values to octave-point-decimal value
+kcps =	cpsoct(koct)				;convert octave-point-decimal value into Hz			
+kenv madsr 0.5, 0.8, 0.8, 0.5			;amplitude envelope multiplied by
+asig vco2 kenv*kvel, kcps			;velocity value			
+     outs  asig, asig				
 
+endin
 </CsInstruments>
 <CsScore>
+f 0 30	;runs for 30 seconds
+f 2 0 4096 10 1	
 
-; Play Instrument #1 for ten seconds.
-i 1 0 10
+i 1 0 2 8.000 100	; play these notes from score as well
+i 1 + 2 8.917 100
 e
 
-
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/midipolyaftertouch.csd b/examples/midipolyaftertouch.csd
new file mode 100644
index 0000000..9cf5e4e
--- /dev/null
+++ b/examples/midipolyaftertouch.csd
@@ -0,0 +1,41 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    -M1  ;;;realtime audio out and midi in 
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o midipolyaftertouch.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1;midi keyboard and score are used
+
+midinoteoncps p4, p5				;puts MIDI key translated to cycles per second into p4, and MIDI velocity into p5
+
+kafter  init 127				;full open				
+midipolyaftertouch  kafter, 1
+printk2 kafter					;display the key value when it changes and when key is pressed
+ 
+kvel = p5/127					;scale midi velocity to 0-1
+kenv madsr 0.5, 0.8, 0.8, 0.5			;amplitude envelope multiplied by
+ain  pluck kenv*kvel, p4, p4, 2, 1		;velocity value			
+asig moogvcf2 ain, 300+(kafter*100), .5		;use value of aftertouch to control frequency of filter
+     outs  asig, asig				;base freq of filter = 300 Hz
+
+endin
+</CsInstruments>
+<CsScore>
+f 0 30	;runs for 30 seconds
+f 2 0 4096 10 1	;sine wave
+
+i 1 0 2 440 100	;play these notes from score as well
+i 1 + 2 1440 100
+e
+
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/midiprogramchange.csd b/examples/midiprogramchange.csd
new file mode 100644
index 0000000..e5bbbbb
--- /dev/null
+++ b/examples/midiprogramchange.csd
@@ -0,0 +1,34 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    -M1 -Q1  ;;;realtime audio out and midi in and midi out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o midiprogramchange.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1	;uses external midi device
+
+kkey init 0					;initialize key number
+kvel init 0					;initialize velocity
+midiprogramchange 52				;choose GM program number 52 = string pad
+midinoteonkey kkey, kvel			;MIDI note number value
+printk2	kkey					;display the key value when it changes and when key is pressed 
+midion 1, kkey, kvel				;sent note to external device
+
+endin
+</CsInstruments>
+<CsScore>
+f 0 30	;runs for 30 seconds	
+
+i 1 0 2 62	; play these notes from score as well
+i 1 + 2 65
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/miditempo.csd b/examples/miditempo.csd
new file mode 100644
index 0000000..663d0dc
--- /dev/null
+++ b/examples/miditempo.csd
@@ -0,0 +1,38 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac -F Anna.mid ;;;realtime audio out and midi file input
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o miditempo.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+massign   0, 1	; make sure that all channels
+pgmassign 0, 1	; and programs are assigned to test instr
+
+instr 1
+
+ksig    miditempo
+prints "miditempo = %d\\n", ksig
+
+icps  cpsmidi		; convert midi note to pitch
+kenv  madsr   0.1, 0, 0.8, 0.3
+asig  pluck   kenv*.15, icps, icps, 1, 1 ;low volume	 
+      outs    asig, asig
+	 
+endin
+</CsInstruments>
+<CsScore>
+
+f 0 200		;stay active for 120 seconds
+f 1 0 4096 10 1	;sine
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/min.csd b/examples/min.csd
new file mode 100644
index 0000000..20ae5a0
--- /dev/null
+++ b/examples/min.csd
@@ -0,0 +1,39 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o min.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+k1   oscili 1, 10.0, 1			;combine 3 sinusses
+k2   oscili 1, 1.0, 1			;at different rates
+k3   oscili 1, 3.0, 1
+kmin min   k1, k2, k3
+kmin = kmin*250				;scale kmin
+printk2 kmin				;check the values
+
+aout vco2 .5, 220, 6			;sawtooth
+asig moogvcf2 aout, 600+kmin, .5 	;change filter around 600 Hz		
+     outs asig, asig
+
+endin
+
+</CsInstruments>
+<CsScore>
+
+f1 0 32768 10 1
+
+i1 0 5
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/minabs.csd b/examples/minabs.csd
new file mode 100644
index 0000000..858fe3c
--- /dev/null
+++ b/examples/minabs.csd
@@ -0,0 +1,38 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o minabs.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+k1   oscili 1, 10.0, 1			;combine 3 sinusses
+k2   oscili 1, 1.0, 1			;at different rates
+k3   oscili 1, 3.0, 1
+kmin minabs   k1, k2, k3
+kmin = kmin*250				;scale kmin
+printk2 kmin				;check the values
+
+aout vco2 .5, 220, 6			;sawtooth
+asig moogvcf2 aout, 600+kmin, .5 	;change filter above 600 Hz		
+     outs asig, asig
+
+endin
+
+</CsInstruments>
+<CsScore>
+f1 0 32768 10 1
+
+i1 0 5
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/minabsaccum.csd b/examples/minabsaccum.csd
new file mode 100644
index 0000000..4da49fb
--- /dev/null
+++ b/examples/minabsaccum.csd
@@ -0,0 +1,54 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o minabsaccum.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1	;saw
+
+asig  vco2 .2, p4		
+      outs  asig, asig				
+gasaw = asig
+endin
+
+instr 2	;sine
+
+aout  poscil .3, p4, 1		
+      outs  aout, aout				
+gasin = aout
+endin
+
+instr 10
+
+accum init 0	
+      minabsaccum  accum, gasaw + gasin		;saw and sine accumulated	
+accum dcblock2 accum				;get rid of DC
+      outs  accum, accum	
+     		
+clear accum
+endin
+
+</CsInstruments>
+<CsScore>
+f 1 0 4096 10 1	
+
+i 1 0 7 330
+i 2 3 3 440
+
+i 1 10 7 330	;same notes but without minabsaccum, for comparison
+i 2 13 3 440
+
+i 10 0 6	;accumulation note stops after 6 seconds
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/minaccum.csd b/examples/minaccum.csd
new file mode 100644
index 0000000..b4382b1
--- /dev/null
+++ b/examples/minaccum.csd
@@ -0,0 +1,54 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o minaccum.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1	;saw
+
+asig  vco2 .2, p4		
+      outs  asig, asig				
+gasaw = asig
+endin
+
+instr 2	;sine
+
+aout  poscil .3, p4, 1		
+      outs  aout, aout				
+gasin = aout
+endin
+
+instr 10
+
+accum init 0	
+      minaccum accum, gasaw + gasin		;saw and sine accumulated		
+      outs  accum, accum
+     		
+clear accum
+endin
+
+</CsInstruments>
+<CsScore>
+f 1 0 4096 10 1	
+
+i 1 0 7 330
+i 2 3 3 440
+
+i 1 10 7 330	;same notes but without minaccum, for comparison
+i 2 13 3 440
+
+i 10 0 6	;accumulation note stops after 6 seconds
+
+e
+
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/minarray.csd b/examples/minarray.csd
new file mode 100644
index 0000000..37d82bd
--- /dev/null
+++ b/examples/minarray.csd
@@ -0,0 +1,32 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-n 
+</CsOptions>
+<CsInstruments>
+;example by joachim heintz
+
+           seed       0
+
+instr 1
+;create an array with 10 elements
+kArr[]     init       10
+;fill in random numbers and print them out
+kIndx      =          0
+  until kIndx == 10 do
+kNum       random     -100, 100
+kArr[kIndx] =         kNum
+           printf     "kArr[%d] = %10f\n", kIndx+1, kIndx, kNum
+kIndx      +=         1
+  od
+;investigate minimum number and print it out
+kMin, kMinIndx minarray kArr
+           printf     "Minimum of kArr = %f at index %d\n", kIndx+1, kMin, kMinIndx
+           turnoff
+endin
+</CsInstruments>
+<CsScore>
+i1 0 0.1
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/mincer.csd b/examples/mincer.csd
new file mode 100644
index 0000000..a49fb4f
--- /dev/null
+++ b/examples/mincer.csd
@@ -0,0 +1,39 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o mincer.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+idur  = p3
+ilock = p4
+ipitch = 1
+itimescale = 0.5
+iamp  = 0.8
+
+atime line   0,idur,idur*itimescale
+asig  mincer atime, iamp, ipitch, 1, ilock
+      outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+f 1 0 0 1 "fox.wav" 0 0 0
+
+i 1 0 5 0	;not locked
+i 1 6 5 1	;locked
+
+e
+
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/mirror.csd b/examples/mirror.csd
new file mode 100644
index 0000000..e601aca
--- /dev/null
+++ b/examples/mirror.csd
@@ -0,0 +1,53 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o mirror.wav -W  ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2
+
+instr    1 ; Limit / Mirror / Wrap
+
+igain    = p4				;gain
+ilevl1   = p5				; + level
+ilevl2   = p6				; - level
+imode    = p7				;1 = limit, 2 = mirror, 3 = wrap
+
+ain   soundin  "fox.wav"
+ain   = ain*igain
+
+if    imode = 1 goto limit
+if    imode = 2 goto mirror
+
+asig  wrap  ain, ilevl2, ilevl1
+goto  outsignal
+
+limit:
+asig  limit  ain, ilevl2, ilevl1
+goto  outsignal
+
+mirror:
+asig  mirror  ain, ilevl2, ilevl1
+outsignal:
+
+outs  asig*.5, asig*.5			;mind your speakers
+  
+endin
+
+</CsInstruments>
+<CsScore>
+
+;           Gain  +Levl -Levl Mode
+i1  0  3    4.00  .25  -1.00   1	;limit
+i1  4  3    4.00  .25  -1.00   2	;mirror
+i1  8  3    4.00  .25  -1.00   3	;wrap
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/modulus.csd b/examples/modulus.csd
index c4e59de..0dba47e 100644
--- a/examples/modulus.csd
+++ b/examples/modulus.csd
@@ -1,33 +1,40 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac -Ma --midi-key=4 --midi-velocity-amp=5 -m0  ;;;realtime audio out and midi in
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o modulus.wav -W ;;; for file output any platform
+; -o %.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giScale ftgen 1, 0, -12, -2, 0, -34, -7, 10, -14, 3, -21, -3, -27, -10, 7, -17	;12 note scale with detuned keys
 
-; Instrument #1.
 instr 1
-  i1 = 5 % 3
-  print i1
-endin
 
+ikey	= p4
+ivel	= p5
+indx	= ikey % 12								;work on the twelftone scale
+icent	tab_i indx, giScale							;load the scale
+ifreqeq	= cpsmidinn(ikey)
+ifreq	= ifreqeq * cent(icent)							;change frequency by cents from table
+prints	"Key %d modulus 12 =  %d. ", ikey, indx
+prints	"Equal-tempered frequency of this key  = %f,", ifreqeq
+prints  " but here with cent deviation %d = %f%n", icent, ifreq
+asig	vco2 ivel*.5, ifreq
+	outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
+f 0 60		;run for 60 seconds
 
-; Play Instrument #1 for one second.
-i 1 0 1
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/monitor.csd b/examples/monitor.csd
new file mode 100644
index 0000000..9d068a6
--- /dev/null
+++ b/examples/monitor.csd
@@ -0,0 +1,54 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o monitor.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giSine ftgen 0, 0, 2^10, 10, 1
+
+instr 1
+
+asig poscil3 .5, 880, giSine
+;write a raw file: 32 bits with header
+     fout "fout_880.wav", 15, asig	
+     outs asig, asig
+
+endin
+
+instr 2
+
+klfo lfo 1, 2, 0
+asig poscil3 .5*klfo, 220, giSine
+;write an aiff file: 32 bits with header
+     fout "fout_aif.aiff", 25, asig	
+;        fout "fout_all3.wav", 14, asig
+     outs asig, asig
+
+endin
+
+instr 99 ;read the stereo csound output buffer
+
+allL, allR monitor
+;write the output of csound to an audio file
+;to a wav file: 16 bits with header
+           fout "fout_all.wav", 14, allL, allR
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 2
+i 2 0 3
+i 99 0 3
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/moog.csd b/examples/moog.csd
index 7446524..5da4a1f 100644
--- a/examples/moog.csd
+++ b/examples/moog.csd
@@ -1,53 +1,40 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o moog.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 22050
-kr = 2205
-ksmps = 10
-nchnls = 1
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  kamp = 30000
-  kfreq = 220
-  kfiltq = 0.81
-  kfiltrate = 0
-  kvibf = 1.4
-  kvamp = 2.22
-  iafn = 1
-  iwfn = 2
-  ivfn = 3
 
-  am moog kamp, kfreq, kfiltq, kfiltrate, kvibf, kvamp, iafn, iwfn, ivfn
+kfreq  = cpspch(p4)
+kfiltq = p5
+kfiltrate = 0.0002
+kvibf  = 5
+kvamp  = .01
+;low volume is needed
+asig moog .15, kfreq, kfiltq, kfiltrate, kvibf, kvamp, 1, 2, 3
+     outs asig, asig
 
-  ; It tends to get loud, so clip moog's amplitude at 30,000.
-  a1 clip am, 2, 30000
-  out a1
 endin
-
-
 </CsInstruments>
 <CsScore>
 
-; Table #1: the "mandpluk.aiff" audio file
 f 1 0 8192 1 "mandpluk.aiff" 0 0 0
-; Table #2: the "impuls20.aiff" audio file
 f 2 0 256 1 "impuls20.aiff" 0 0 0
-; Table #3: a sine wave
-f 3 0 256 10 1
+f 3 0 256 10 1	; sine
 
-; Play Instrument #1 for three seconds.
-i 1 0 3
+i 1 0 3 6.00 .1
+i 1 + 3 6.05 .89
+i 1 + 3 6.09 .50
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/moogladder.csd b/examples/moogladder.csd
old mode 100755
new mode 100644
index 960e394..0f04f9d
--- a/examples/moogladder.csd
+++ b/examples/moogladder.csd
@@ -1,36 +1,32 @@
 <CsoundSynthesizer>
-; tryit.csd - a Csound structured data file 
-; for testing the Loris unit generators
--odac           -iadc     -d     ;;;RT audio I/O
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o moogladder.wav -W ;;; for file output any platform
-<CsOptions>
-
 </CsOptions>
 <CsInstruments>
 
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
 instr 1
-kfe	expseg	500, p3*0.9, 1800, p3*0.1, 3000
-kenv	linen		30000, 0.05, p3, 0.05
-asig	buzz		kenv, 100, 15, 1
-afil	moogladder	asig, kfe, .9
-	out	afil
 
-endin
+kfe  expseg 500, p3*0.9, 1800, p3*0.1, 3000
+asig buzz  1, 100, 20, 1
+kres line .1, p3, .99	;increase resonance
+afil moogladder asig, kfe, kres
+     outs afil, afil
 
+endin
 </CsInstruments>
 <CsScore>
-; sinuso in table 1
 f 1 0 4096 10 1
 
-i 1    0      3
-
+i 1 0 10
 e
 </CsScore>
-
 </CsoundSynthesizer>
diff --git a/examples/moogvcf.csd b/examples/moogvcf.csd
index e1de278..bfbd23f 100644
--- a/examples/moogvcf.csd
+++ b/examples/moogvcf.csd
@@ -1,49 +1,35 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o moogvcf.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  ; Use a nice sawtooth waveform.
-  asig vco 32000, 220, 1
+; iscale does not need to be set here because already 0dbfs = 1  
+aout vco .3, 220, 1	; Use a nice sawtooth waveform.
+kfco line 200, p3, 2000	; filter-cutoff frequency from .2 to 2 KHz
+krez init p4
+asig moogvcf aout, kfco, krez
+     outs asig, asig
 
-  ; Vary the filter-cutoff frequency from .2 to 2 KHz.
-  kfco line 200, p3, 2000
-
-  ; Set the resonance amount to one.
-  krez init 1
-
-  ; Scale the amplitude to 32768.
-  iscale = 32768
-
-  a1 moogvcf asig, kfco, krez, iscale
-
-  out a1
 endin
-
-
 </CsInstruments>
 <CsScore>
-
-; Table #1, a sine wave for the vco opcode.
+;a sine wave
 f 1 0 16384 10 1
 
-; Play Instrument #1 for three seconds.
-i 1 0 3
+i 1 0 3 .1
+i 1 + 3 .7
+i 1 + 3 .95
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/moogvcf2.csd b/examples/moogvcf2.csd
index 6ba92f2..4244ae6 100644
--- a/examples/moogvcf2.csd
+++ b/examples/moogvcf2.csd
@@ -1,46 +1,33 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o moogvcf.wav -W ;;; for file output any platform
+; -o moogvcf2.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  ; Use a nice sawtooth waveform.
-  asig vco 32000, 220, 1
+  
+aout diskin2 "beats.wav", 1, 0, 1
+kfco line 100, p3, 10000		;filter-cutoff
+krez init p4
+asig moogvcf2 aout, kfco, krez
+     outs asig, asig
 
-  ; Vary the filter-cutoff frequency from .2 to 2 KHz.
-  kfco line 200, p3, 2000
-
-  ; Set the resonance amount to one.
-  krez init 1
-
-  a1 moogvcf2 asig, kfco, krez
-
-  out a1
 endin
-
-
 </CsInstruments>
 <CsScore>
 
-; Table #1, a sine wave for the vco opcode.
-f 1 0 16384 10 1
-
-; Play Instrument #1 for three seconds.
-i 1 0 3
+i 1 0 4 .1
+i 1 + 4 .6
+i 1 + 4 .9
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/move b/examples/move
new file mode 100644
index 0000000..c430713
--- /dev/null
+++ b/examples/move
@@ -0,0 +1,6 @@
+  0       -1       1
+  1        1       1
+  2        4       4
+  2.1     -4      -4
+  3       10     -10
+  5      -40       0
\ No newline at end of file
diff --git a/examples/move2 b/examples/move2
new file mode 100644
index 0000000..c571cbd
--- /dev/null
+++ b/examples/move2
@@ -0,0 +1,3 @@
+ 0    -100      1
+ 3      0       0
+ 5.6      1       20
\ No newline at end of file
diff --git a/examples/mp3in.csd b/examples/mp3in.csd
old mode 100755
new mode 100644
index 9981aab..7672d3b
--- a/examples/mp3in.csd
+++ b/examples/mp3in.csd
@@ -1,39 +1,30 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o mp3in.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
+ksmps = 32
 nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-iskptim	=	.3
-ibufsize	=	64
-; Reads stereo audio data from an external MP3 file
-ar1, ar2	 mp3in "beats.mp3", iskptim, 0, 0, ibufsize
 
+iskptim	 = .3
+ibufsize = 64
+ar1, ar2 mp3in "beats.mp3", iskptim, 0, 0, ibufsize
+         outs ar1, ar2
 
-  out ar1, ar2
 endin
-
-
 </CsInstruments>
 <CsScore>
 
-
-; Play Instrument #1 for three seconds.
-i 1 0 1.7
+i 1 0 2
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/mp3len.csd b/examples/mp3len.csd
new file mode 100644
index 0000000..14b27e5
--- /dev/null
+++ b/examples/mp3len.csd
@@ -0,0 +1,31 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+;-o mp3len.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+ilen   mp3len p4        ;calculate length of mp3 file
+print  ilen
+
+asigL, asigR mp3in p4
+       outs  asigL, asigR
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 30 "XORNOT_jul-14-05.mp3"    ; long signal
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/multiplies.csd b/examples/multiplies.csd
index fbe1c6d..5ff8f9a 100644
--- a/examples/multiplies.csd
+++ b/examples/multiplies.csd
@@ -1,33 +1,34 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o multiplies.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  i1 = 24 * 8
-  print i1
-endin
 
+kenv    expon 0.01, p3, 1
+aout    poscil	0.8*kenv, 440, 1	;multiply amplitude from 0 to 1 * 0.8
+printks "base amplitude * rising expon output = 0.8 * %f\n", .1, kenv
+	outs 	aout, aout
+endin
 
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for one second.
-i 1 0 1
-e
+f 1 0 16384 10 1	; sine wave
 
+i 1 0 2
+
+e
 
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/multitap.csd b/examples/multitap.csd
old mode 100755
new mode 100644
index 8a30baf..e58d380
--- a/examples/multitap.csd
+++ b/examples/multitap.csd
@@ -1,41 +1,41 @@
 <CsoundSynthesizer>
+<CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o multitap.wav -W ;;; for file output any platform
-<CsOptions>
 </CsOptions>
 <CsInstruments>
 
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
 ga1 init 0
 
 instr 1
-a1	oscil	10000, 1000, 1
-	out	a1
+
+asig diskin2 "beats.wav", 1,0
+     outs asig, asig
    
-ga1	=	ga1+a1
+ga1  = ga1+asig
 endin
 
 instr 2
-a2	multitap	ga1, 1.2, .5, 1.4, .2
-	out	a2
+
+asig multitap ga1, 1.2, .5, 1.4, .2
+     outs     asig, asig
 	
-ga1	=	0
+ga1  = 0
 endin
 
 </CsInstruments>
 <CsScore>
-; make sinusoid in table 1
-f 1 0 4096 10 1
 
-i 1	.5	.1
-i 2	0	3
+i 1 .5 .2	; short sound
+i 2  0  3	; echoes
 e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/mute.csd b/examples/mute.csd
index 98a3707..2fb7167 100644
--- a/examples/mute.csd
+++ b/examples/mute.csd
@@ -1,54 +1,48 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o mute.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-ksmps = 10
-nchnls = 1
-0dbfs = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
 ; Mute Instrument #2.
 mute 2
 ; Mute Instrument three.
 mute "three"
 
-; Instrument #1.
 instr 1
-  a1 oscils 0.2, 440, 0
-  out a1
-endin
 
-; Instrument #2.
-instr 2
-  a1 oscils 0.2, 880, 0
-  out a1
+a1 oscils 0.2, 440, 0
+   outs a1, a1
 endin
 
-; Instrument #3.
-instr three
-  a1 oscils 0.2, 1000, 0
-  out a1
+instr 2	; gets muted
+
+a1 oscils 0.2, 880, 0
+   outs a1, a1
 endin
 
+instr three	; gets muted
+
+a1 oscils 0.2, 1000, 0
+   outs a1, a1
+endin
 
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for one second.
 i 1 0 1
-; Play Instrument #2 for one second.
 i 2 0 1
-; Play Instrument three for one second.
 i "three" 0 1
 e
 
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/mxadsr.csd b/examples/mxadsr.csd
new file mode 100644
index 0000000..ef2a630
--- /dev/null
+++ b/examples/mxadsr.csd
@@ -0,0 +1,33 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  -+rtmidi=virtual -M0   ;;;realtime audio out and realtime midi in
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o mxadsr.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+ 	 
+icps	cpsmidi	 	 
+iamp	ampmidi	.5	 
+ 	 	 	 
+kenv	mxadsr	0.5, 0, 1, 0.5
+asig	pluck	kenv, icps, icps, 2, 1	 
+	outs	asig, asig
+	 
+endin
+</CsInstruments>
+<CsScore>
+f 2 0 4096 10 1	
+
+f0 30	;runs 30 seconds
+e
+</CsScore>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/my.orc b/examples/my.orc
new file mode 100644
index 0000000..c101d63
--- /dev/null
+++ b/examples/my.orc
@@ -0,0 +1,5 @@
+instr 2 
+a1 oscils p4, p5, 0
+out a1 
+endin 
+
diff --git a/examples/nchnls.csd b/examples/nchnls.csd
new file mode 100644
index 0000000..80f4eca
--- /dev/null
+++ b/examples/nchnls.csd
@@ -0,0 +1,31 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   -idac   ;;;realtime audio I/O
+; For Non-realtime ouput leave only the line below:
+; nchnls.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2				;two channels out
+0dbfs  = 1
+
+instr 1 
+
+ain1, ainr ins				;grab your mic and sing
+adel  linseg 0, p3*.5, 0.02, p3*.5, 0	;max delay time = 20ms
+aoutl flanger ain1, adel, .7
+aoutr flanger ain1, adel*2, .8
+      fout "in_s.wav", 14, aoutl, aoutr ;write to stereo file,
+      outs aoutl, aoutr			;16 bits with header
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 10
+e
+</CsScore>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/nchnls_i.csd b/examples/nchnls_i.csd
new file mode 100644
index 0000000..56b73f0
--- /dev/null
+++ b/examples/nchnls_i.csd
@@ -0,0 +1,37 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  -idac ;;;realtime audio I/O
+; For Non-realtime ouput leave only the line below:
+; nchnls_i.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr   = 44100
+ksmps   = 32
+nchnls   = 2	;2 channels out
+0dbfs    = 1
+nchnls_i = 4	;4 channels in
+
+instr 1 ;4 channels in, two channels out
+
+ain1, ain2, ain3, ain4 inq		;grab your mics and sing
+
+adel   linseg 0, p3*.5, 0.02, p3*.5, 0	  ;max delay time = 20ms
+adel2  linseg 0.02, p3*.5, 0, p3*.5, 0.02 ;max delay time = 20ms	
+aoutl  flanger ain1, adel, .7
+aoutr  flanger ain2, adel*2, .8
+aoutla flanger ain3, adel2, .9
+aoutra flanger ain4, adel2*2, .5
+;write to quad file, 16 bits with header
+       fout "in_4.wav", 14, aoutl, aoutr, aoutla, aoutra	
+       outs (aoutl+aoutla)*.5, (aoutr+aoutra)*.5 ;stereo out
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 10
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/nlfilt.csd b/examples/nlfilt.csd
old mode 100755
new mode 100644
index 93f3748..528c398
--- a/examples/nlfilt.csd
+++ b/examples/nlfilt.csd
@@ -1,61 +1,49 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o nlfilt.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1 - an unfiltered noise waveform.
-instr 1
-  ; Generate a white noise signal.
-  asig rand 20000
+instr 1	;unfiltered noise
+
+asig rand .7
+     outs asig, asig
 
-  out asig
 endin
 
+instr 2	;filtered noise
 
-; Instrument #2 - a filtered noise waveform.
-instr 2
-  ; Generate a white noise signal.
-  asig rand 20000
 ka = p4
 kb = p5
 kd = p6
 kC = p7
 kL = p8
+asig  rand .3
+afilt nlfilt asig, ka, kb, kd, kC, kL
+asig  clip afilt, 2, .9
+      outs asig, asig
 
-  afilt nlfilt asig, ka, kb, kd, kC, kL
-
-  ; Clip the filtered signal's amplitude to 85 dB.
-  a1 clip afilt, 2, ampdb(85)
-  out a1
 endin
-
-
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for two seconds.
-i 1 0 2
-; non-linear effect
-i 2 2 2 0 0 .8 .5 20
-; low=paas with non-linear
-i 2 + 2 .4 .2 .7 .11 200
-; high-pass with non-linear
-i 2 + 2 .35 -.3 .95 .1 200
-; high-pass with non-linear
-i 2 + 2 .7 .1 .9 .2 100
-e
+i 1 0 2				; unfiltersd
 
+;        a    b    d    C    L
+i 2 2 2  0    0   0.8  0.5  20	; non-linear effect
+i 2 + 2 .4   0.2  0.7  0.11 200	; low=paas with non-linear
+i 2 + 2 0.35 -0.3 0.95 0.1  200	; high-pass with non-linear
+i 2 + 2 0.7 -0.2  0.9  0.2  20 	; high-pass with non-linear
 
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/nlfilt2.csd b/examples/nlfilt2.csd
new file mode 100644
index 0000000..afe14de
--- /dev/null
+++ b/examples/nlfilt2.csd
@@ -0,0 +1,47 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o nlfilt.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1	;unfiltered noise
+
+asig rand .7
+     outs asig, asig
+
+endin
+
+instr 2	;filtered noise
+
+ka = p4
+kb = p5
+kd = p6
+kC = p7
+kL = p8
+asig  rand .3
+afilt nlfilt2 asig, ka, kb, kd, kC, kL
+      outs    afilt, afilt
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 2				; unfiltered
+
+;        a    b    d    C    L
+i 2 2 2  0    0   0.8  0.5  20	; non-linear effect
+i 2 + 2 .4   0.2  0.7  0.11 200	; low=pass with non-linear
+i 2 + 2 0.35 -0.3 0.95 0.1  200	; high-pass with non-linear
+i 2 + 2 0.7 -0.2  0.9  0.2  20 	; high-pass with non-linear
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/noise.csd b/examples/noise.csd
index 741e46a..6ae5635 100644
--- a/examples/noise.csd
+++ b/examples/noise.csd
@@ -1,38 +1,31 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o noise.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  kamp = 30000
 
-  ; Change the beta value linearly from 0 to 1.
-  kbeta line 0, p3, 1
+kbeta line -1, p3, 1	;change beta value from -1 to 1
+asig  noise .3, kbeta
+asig  clip asig, 2, .9	;clip signal
+      outs asig, asig
 
-  a1 noise kamp, kbeta
-  out a1
 endin
-
-
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for one second.
-i 1 0 1
-e
-
+i 1 0 10
 
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/notequal.csd b/examples/notequal.csd
index d104723..335d21f 100644
--- a/examples/notequal.csd
+++ b/examples/notequal.csd
@@ -1,43 +1,39 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o notequal.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 44100
-ksmps = 1
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  ; Get the 4th p-field from the score.
-  k1 =  p4
 
-  ; Is it not equal to 3? (1 = true, 0 = false)
-  k2 = (p4 != 3 ? 1 : 0)
+ipch   = cpspch(p4)
+iprint = p5
+if (iprint != 1) igoto skipPrint
+print  ipch
+asig   vco2 .7, ipch
+       outs asig, asig
 
-  ; Print the values of k1 and k2.
-  printks "k1 = %f, k2 = %f\\n", 1, k1, k2
-endin
+skipPrint:
 
+endin
 
 </CsInstruments>
 <CsScore>
+f 1 0 65536 10 1	;sine wave
 
-; Call Instrument #1 with a p4 = 2.
-i 1 0 0.5 2
-; Call Instrument #1 with a p4 = 3.
-i 1 1 0.5 3
-; Call Instrument #1 with a p4 = 4.
-i 1 2 0.5 4
-e
-
+i1 0 .5 8.00 0
+i1 0 .5 8.01 1 ; this note will print it's ipch value and only this one will be played
+i1 0 .5 8.02 2
 
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/notnum.csd b/examples/notnum.csd
index 7cb874b..15c1c96 100644
--- a/examples/notnum.csd
+++ b/examples/notnum.csd
@@ -1,34 +1,33 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in   No messages  MIDI in
--odac           -iadc     -d         -M0  ;;;RT audio I/O with MIDI in
-; For Non-realtime ouput leave only the line below:
-; -o notnum.wav -W ;;; for file output any platform
+-odac  -M0 -+rtmidi=virtual ;;;realtime audio out with virtual MIDI in
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
-instr 1
-  i1 notnum
+massign 1, 1	; set MIDI channel 1 to play instr 1
 
-  print i1
-endin
+instr   1
 
+iNum notnum
+     print iNum
+; Convert MIDI note number to Hz
+iHz  = (440.0*exp(log(2.0)*((iNum)-69.0)/12.0))
+aosc oscil 0.6, iHz, 1
+     outs  aosc, aosc
 
+endin
 </CsInstruments>
 <CsScore>
+f 1 0  16384 10 1	;sine wave
 
-; Play Instrument #1 for 12 seconds.
-i 1 0 12
-e
-
+f 0 60			;play 60 seconds
 
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/nrpn.csd b/examples/nrpn.csd
new file mode 100644
index 0000000..12e915a
--- /dev/null
+++ b/examples/nrpn.csd
@@ -0,0 +1,30 @@
+<CsoundSynthesizer> 
+<CsOptions> 
+; Select audio/midi flags here according to platform
+-odac  -Q1   ;;;realtime audio out with MIDI out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1	; change attack time of external synth
+
+initc7 1, 6, 0		; set controller 6 to 0
+nrpn 1, 99, 1		; set MSB
+nrpn 1, 98, 99		; set LSB
+katt ctrl7 1, 6, 1, 127	; DataEntMSB
+idur = 2
+noteondur2 1, 60, 100, idur ; play note on synth
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 3
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/nsamp.csd b/examples/nsamp.csd
index 17a616d..964b1b6 100644
--- a/examples/nsamp.csd
+++ b/examples/nsamp.csd
@@ -1,37 +1,43 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o nsamp.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
+; slightly adapted example from Jonathan Murphy Dec 2006
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  ; Print out the size (in samples) of Table #1.
-  isz = nsamp(1)
-  print isz
-endin
 
+ifn   =  p4	; table number
+ilen  =  nsamp(ifn)
+prints "actual numbers of samples = %d\n", ilen
+itrns =  1	; no transposition
+ilps  =  0	; loop starts at index 0
+ilpe  =  ilen	; ends at value returned by nsamp above
+imode =  1	; loops forward
+istrt =  0	; commence playback at index 0 samples
+; lphasor provides index into f1 
+alphs lphasor itrns, ilps, ilpe, imode, istrt
+atab  tablei  alphs, ifn
+      outs atab, atab
 
+endin
 </CsInstruments>
 <CsScore>
+f 1 0 262144 1 "kickroll.wav" 0 4 1	;stereo file in table, with lots of zeroes
+f 2 0 262144 1 "fox.wav" 0 4 1		;mono file in table, with lots of zeroes
 
-; Table #1: Use an audio file.
-f 1 0 262144 1 "mary.wav" 0 0 0
-
-; Play Instrument #1 for 1 second.
-i 1 0 1
+i1 0 10 1
+i1 + 10 2
 e
 
-
 </CsScore>
-</CsoundSynthesizer>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/ntrpol.csd b/examples/ntrpol.csd
new file mode 100644
index 0000000..6555002
--- /dev/null
+++ b/examples/ntrpol.csd
@@ -0,0 +1,33 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if real audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o ntrpol.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giSin ftgen 1, 0, 1024, 10, 1
+
+instr 1
+
+avco vco2   .5, 110			;sawtootyh wave
+asin poscil .5, 220, giSin		;sine wave but octave higher
+kx   linseg 0, p3*.4, 1, p3*.6, 1	;crossfade between saw and sine
+asig ntrpol avco, asin, kx
+     outs   asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 5
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/octave.csd b/examples/octave.csd
index c679377..77853f8 100644
--- a/examples/octave.csd
+++ b/examples/octave.csd
@@ -1,45 +1,37 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o octave.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  ; The root note is A above middle-C (440 Hz)
-  iroot = 440
 
-  ; Raise the root note by two octaves.
-  ioctaves = 2
+iroot = 440		; root note is A above middle-C (440 Hz)
+koct  lfo 5, 1, 5	; generate sawtooth, go from 5 octaves higher to root
+koc = int(koct)		; produce only whole numbers
+kfactor = octave(koc)	; for octave
+knew = iroot * kfactor
+printk2 knew
 
-  ; Calculate the new note.
-  ifactor = octave(ioctaves)
-  inew = iroot * ifactor
+asig pluck 1, knew, 1000, 0, 1 
+asig dcblock asig	;remove DC
+     outs asig, asig
 
-  ; Print out of all of the values.
-  print iroot
-  print ifactor
-  print inew
 endin
-
-
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for one second.
-i 1 0 1
+i 1 0 5
 e
 
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/opand.csd b/examples/opand.csd
new file mode 100644
index 0000000..6ed192a
--- /dev/null
+++ b/examples/opand.csd
@@ -0,0 +1,39 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o opand.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+kval    randomh 0, 1.2, 20		;choose between 0 and 1.2
+if kval >0 && kval<=.5 then		;3 possible outcomes
+	kval = 1			
+elseif kval >.5 && kval<=1 then
+	kval =2
+elseif kval >1 then
+	kval =3
+endif
+
+printk2 kval				;print value when it changes
+asig    poscil .7, 440*kval, 1
+        outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0 16384 10 1
+
+i 1 0 5
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/opcode_example.csd b/examples/opcode_example.csd
index 9d304f5..920d0d5 100644
--- a/examples/opcode_example.csd
+++ b/examples/opcode_example.csd
@@ -1,16 +1,17 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o opcode_example.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-sr      =  44100
-ksmps   =  50
-nchnls  =  1
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
 /* example opcode 1: simple oscillator */
 
@@ -61,13 +62,13 @@ aenv    linseg 0, 0.02, 1, p3 - 0.05, 1, 0.02, 0, 0.01, 0
 
         instr 1
 
-kamp    =  20000                ; amplitude
+kamp    =  .7                ; amplitude
 kcps    expon 50, p3, 500       ; pitch
 a1      Oscillator kamp, kcps                   ; call oscillator
 kflt    linseg 0.4, 1.5, 0.4, 1, 0.8, 1.5, 0.8  ; filter envelope
 a1      RecursiveLowpass a1, kflt, 1 - kflt, 10 ; 10th order lowpass
 a1      DeClick a1
-        out a1
+        outs a1, a1
 
         endin
 
@@ -76,8 +77,7 @@ a1      DeClick a1
 <CsScore>
 
 i 1 0 4
-e
-
+e5		;extra second before quitting
 
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/oscbnk.csd b/examples/oscbnk.csd
index d0166a6..140615f 100644
--- a/examples/oscbnk.csd
+++ b/examples/oscbnk.csd
@@ -41,7 +41,7 @@ i_	ftgen 7, 0, 64, -2, 4, 50, -1, -1, -1, 11,			\
 
 i0	=  0
 loop1:
-imaxh	=  sr / (2 * 440.0 * exp (log(2.0) * (i0 - 69) / 12))
+imaxh	=  sr / (2 * 440.0 * exp(log(2.0) * (i0 - 69) / 12))
 i_	ftgen i0 + 256, 0, 4096, -30, 1, 1, imaxh
 i0	=  i0 + 1
 	if (i0 < 127.5) igoto loop1
@@ -51,7 +51,7 @@ i0	=  i0 + 1
 p3	=  p3 + 0.4
 
 ; note frequency
-kcps	=  440.0 * exp (log(2.0) * (p4 - 69) / 12)
+kcps	=  440.0 * exp(log(2.0) * (p4 - 69) / 12)
 ; lowpass max. frequency
 klpmaxf	limit 64 * kcps, 1000.0, 12000.0
 ; FM depth in Hz
diff --git a/examples/oscil.csd b/examples/oscil.csd
index b0b745d..312882b 100644
--- a/examples/oscil.csd
+++ b/examples/oscil.csd
@@ -1,41 +1,40 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o oscil.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-ksmps = 10
+ksmps = 32
 nchnls = 2
+0dbfs  = 1
 
-; Instrument #1 - a basic oscillator.
 instr 1
-  kamp = 10000
-  kcps = 440
-  ifn = p4
 
-asig	oscil	kamp, kcps, ifn
-	outs	asig,asig
-endin
+kamp = .6
+kcps = 440
+ifn  = p4
 
+asig oscil kamp, kcps, ifn
+     outs asig,asig
 
+endin
 </CsInstruments>
 <CsScore>
-
-; Table #1, a sine wave.
-f 1 0 16384 10 1
-; Table #2, a sawtooth wave
-f 2 0 256 7 -1 256 1
+f1 0 16384 10 1                                          ; Sine
+f2 0 16384 10 1 0.5 0.3 0.25 0.2 0.167 0.14 0.125 .111   ; Sawtooth
+f3 0 16384 10 1 0   0.3 0    0.2 0     0.14 0     .111   ; Square
+f4 0 16384 10 1 1   1   1    0.7 0.5   0.3  0.1          ; Pulse
 
 i 1 0 2 1
-i 1 + 2 2
-e
-
+i 1 3 2 2
+i 1 6 2 3
+i 1 9 2 4
 
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/oscil1.csd b/examples/oscil1.csd
new file mode 100644
index 0000000..371b32a
--- /dev/null
+++ b/examples/oscil1.csd
@@ -0,0 +1,33 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o oscil1.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giPan ftgen 0, 0, 8, -2, .5, .2, .8, .1, .9, 0, 1, .5
+
+instr     1   
+
+istay = 2 ;how many seconds to stay on the first table value
+asig   vco2 .3, 220
+kpan   oscil1 istay, 1, p3-istay, giPan ;create panning 
+       printk2 kpan ;print when new value
+aL, aR pan2 asig, kpan ;apply panning
+       outs aL, aR
+
+endin
+</CsInstruments>
+<CsScore>                                                                                  
+i 1  0  10
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/oscil1i.csd b/examples/oscil1i.csd
new file mode 100644
index 0000000..38a7bda
--- /dev/null
+++ b/examples/oscil1i.csd
@@ -0,0 +1,38 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o oscil1i.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr     1   
+
+ipanfn = p4
+asig   vco2 .3, 220
+kpan   oscil1i 0, 1, p3, ipanfn	;create panning &
+kleft  = sqrt(kpan)		;start right away
+kright = sqrt(1-kpan)     
+       outs kleft*asig, kright*asig
+
+endin
+</CsInstruments>
+<CsScore>                                                                                  
+f 1 0  3 -7 .5  3  .5		;remain in center (.5 CONSTANT)                                                                          
+f 2 0 129 7  1 129 0 		;left-->right                                                                                                     
+f 3 0 129 7 .5  32 1 64 0 33 .5 ;center-->left-->right-->center    
+
+i 1  0  2  1			;use table 1
+i 1  3  2  2			;use table 2
+i 1  6  2  3			;use table 3
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/oscil3.csd b/examples/oscil3.csd
index ccdeba9..60e65ad 100644
--- a/examples/oscil3.csd
+++ b/examples/oscil3.csd
@@ -1,55 +1,55 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o oscil3.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1 - a basic oscillator.
 instr 1
-  kamp = 10000
-  kcps = 220
-  ifn = 1
 
-  a1 oscil kamp, kcps, ifn
-  out a1
+kamp = .6
+kcps = 440
+ifn  = p4
+
+asig oscil kamp, kcps, ifn
+     outs asig,asig
+
 endin
 
-; Instrument #2 - the basic oscillator with cubic interpolation.
 instr 2
-  kamp = 10000
-  kcps = 220
-  ifn = 1
 
-  a1 oscil3 kamp, kcps, ifn
-  out a1
-endin
+kamp = .6
+kcps = 440
+ifn  = p4
 
+asig oscil3 kamp, kcps, ifn
+     outs asig,asig
 
+endin
 </CsInstruments>
 <CsScore>
+f1 0 128 10 1                                          ; Sine with a small amount of data
+f2 0 128 10 1 0.5 0.3 0.25 0.2 0.167 0.14 0.125 .111   ; Sawtooth with a small amount of data
+f3 0 128 10 1 0   0.3 0    0.2 0     0.14 0     .111   ; Square with a small amount of data
+f4 0 128 10 1 1   1   1    0.7 0.5   0.3  0.1          ; Pulse with a small amount of data
+
+i 1  0 2 1
+i 2  3 2 1
+i 1  6 2 2
+i 2  9 2 2
+i 1 12 2 3
+i 2 15 2 3
+i 1 18 2 4
+i 2 21 2 4
 
-; Table #1, a sine wave table with a small amount of data.
-f 1 0 32 10 0 1
-
-; Play Instrument #1, the basic oscillator, for 
-; two seconds. This should sound relatively rough.
-i 1 0 2
-
-; Play Instrument #2, the cubic interpolated oscillator, for
-; two seconds. This should sound relatively smooth.
-i 2 2 2
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/oscili.csd b/examples/oscili.csd
index dc0d3f7..e826b41 100644
--- a/examples/oscili.csd
+++ b/examples/oscili.csd
@@ -1,55 +1,55 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o oscili.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1 - a basic oscillator.
 instr 1
-  kamp = 10000
-  kcps = 220
-  ifn = 1
 
-  a1 oscil kamp, kcps, ifn
-  out a1
+kamp = .6
+kcps = 440
+ifn  = p4
+
+asig oscil kamp, kcps, ifn
+     outs asig,asig
+
 endin
 
-; Instrument #2 - the basic oscillator with extra interpolation.
 instr 2
-  kamp = 10000
-  kcps = 220
-  ifn = 1
 
-  a1 oscili kamp, kcps, ifn
-  out a1
-endin
+kamp = .6
+kcps = 440
+ifn  = p4
 
+asig oscili kamp, kcps, ifn
+     outs asig,asig
 
+endin
 </CsInstruments>
 <CsScore>
+f1 0 128 10 1                                          ; Sine with a small amount of data
+f2 0 128 10 1 0.5 0.3 0.25 0.2 0.167 0.14 0.125 .111   ; Sawtooth with a small amount of data
+f3 0 128 10 1 0   0.3 0    0.2 0     0.14 0     .111   ; Square with a small amount of data
+f4 0 128 10 1 1   1   1    0.7 0.5   0.3  0.1          ; Pulse with a small amount of data
+
+i 1  0 2 1
+i 2  3 2 1
+i 1  6 2 2
+i 2  9 2 2
+i 1 12 2 3
+i 2 15 2 3
+i 1 18 2 4
+i 2 21 2 4
 
-; Table #1, a sine wave table with a small amount of data.
-f 1 0 32 10 0 1
-
-; Play Instrument #1, the basic oscillator, for 
-; two seconds. This should sound relatively rough.
-i 1 0 2
-
-; Play Instrument #2, the interpolated oscillator, for
-; two seconds. This should sound relatively smooth.
-i 2 2 2
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/osciln.csd b/examples/osciln.csd
new file mode 100644
index 0000000..7334dca
--- /dev/null
+++ b/examples/osciln.csd
@@ -0,0 +1,48 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o osciln.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+gione ftgen 1, 0, 1024, 7, 0, 1,   1, 1024, 0
+gitwo ftgen 2, 0, 1024, 7, 0, 512, 1, 512,  0
+
+instr 1	;very simple waveguide system
+
+ifn     = p4
+ipitch  = p5
+itimes  = p6
+iperiod = 1000/ipitch
+
+afeed   init   0
+aimpl   osciln 1, ipitch, ifn, itimes   ;use as excitation signal
+arefl   tone   aimpl + afeed, 4000
+aout    atone  arefl, 5000
+afeed   vdelay arefl, iperiod, 10
+        outs   aout*3, aout*3
+          
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0  4 1 110 1	;use different tables,
+i 1 5  4 2 110 1	;& different pitch
+i 1 10 4 1 110 10	;& different number of times the table is read
+i 1 15 4 2 110 10
+i 1 20 6 1 880 1	
+i 1 25 3 2 880 1
+i 1 30 3 1 880 10
+i 1 35 3 2 880 10
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/oscils.csd b/examples/oscils.csd
index a63b484..0861595 100644
--- a/examples/oscils.csd
+++ b/examples/oscils.csd
@@ -1,37 +1,30 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o oscils.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1 - a fast sine oscillator.
 instr 1
-  iamp = 10000
-  icps = 440
-  iphs = 0
-
-  a1 oscils iamp, icps, iphs
-  out a1
-endin
 
+iflg = p4
+asig oscils .7, 220, 0, iflg
+     outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for 2 seconds.
-i 1 0 2
+i 1 0 2 0
+i 1 3 2 2	;double precision
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/out.csd b/examples/out.csd
new file mode 100644
index 0000000..73bb417
--- /dev/null
+++ b/examples/out.csd
@@ -0,0 +1,36 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o out.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 1
+0dbfs  = 1
+
+instr 1
+
+kamp = .6
+kcps = 440
+ifn  = p4
+
+asig oscil kamp, kcps, ifn
+     out asig	;one channel
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0 16384 10 1                                          ; Sine
+f2 0 16384 10 1 0.5 0.3 0.25 0.2 0.167 0.14 0.125 .111   ; Sawtooth
+
+i 1 0 2 1
+i 1 3 2 2
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/outc.csd b/examples/outc.csd
new file mode 100644
index 0000000..507659d
--- /dev/null
+++ b/examples/outc.csd
@@ -0,0 +1,34 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o outc.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 5
+0dbfs  = 1
+
+instr 1
+
+asig vco2 .05, 30	; sawtooth waveform at low volume
+
+kcut line 100, p3, 30	; Vary cutoff frequency
+kresonance = 7
+inumlayer = 2
+asig lowresx asig, kcut, kresonance, inumlayer
+; output same sound to 5 channels
+     outc asig,asig,asig,asig,asig	
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 30
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/outch-2.csd b/examples/outch-2.csd
new file mode 100644
index 0000000..db15969
--- /dev/null
+++ b/examples/outch-2.csd
@@ -0,0 +1,36 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o outch-2.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 4
+0dbfs  = 1
+
+seed     0
+
+instr 1 ;random movements between 4 speakers with outch
+
+ichn1     random    1, 4.999 ;channel to start
+ichn2     random    1, 4.999 ;channel to end
+          prints    "Moving from speaker %d to speaker %d%n", int(ichn1), int(ichn2)
+asamp     soundin   "fox.wav"
+kmov      linseg    0, p3, 1
+a1, a2    pan2      asamp, kmov
+          outch     int(ichn1), a1, int(ichn2), a2
+endin
+
+</CsInstruments>
+<CsScore>
+r 5
+i 1 0 3
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/outch.csd b/examples/outch.csd
new file mode 100644
index 0000000..4c89dfc
--- /dev/null
+++ b/examples/outch.csd
@@ -0,0 +1,37 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o outch.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 5
+0dbfs  = 1
+
+instr 1
+
+asig vco2 .05, 100	; sawtooth waveform at low volume
+
+kcut line 100, p3, 30	; Vary cutoff frequency
+kresonance = .7
+inumlayer = 3
+asig lowresx asig, kcut, kresonance, inumlayer
+
+klfo lfo 4, .5, 4	
+klfo = klfo+1		; offset of 1
+printks "signal is sent to channel %d\\n", .1, klfo
+      outch klfo,asig
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 30
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/outiat.csd b/examples/outiat.csd
new file mode 100644
index 0000000..39dd564
--- /dev/null
+++ b/examples/outiat.csd
@@ -0,0 +1,32 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac -Q1 -M0  ;;;realtime audio out and midi in and out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o outiat.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 10
+nchnls = 2
+
+instr 1
+
+ikey notnum 
+ivel  veloc
+
+ivib = 25		;low value.
+outiat 1, ivib, 0, 127	;assign aftertouch on
+print ivib		;external synth for example to
+midion 1, ikey, ivel	;change depth of filter modulation
+
+endin
+</CsInstruments>
+<CsScore>
+f0 30 			;play for 30 seconds
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/outic.csd b/examples/outic.csd
new file mode 100644
index 0000000..518322c
--- /dev/null
+++ b/examples/outic.csd
@@ -0,0 +1,30 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  -Q1 -M0  ;;;realtime audio out -+rtmidi=virtual
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o outic.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+
+instr 1
+
+ikey notnum 
+ivel veloc
+kbrt = 40			;set controller 74 (=brightness)			
+outic 1, 74, kbrt, 0, 127	;so filter closes a bit
+midion 1, ikey, ivel		;play external synth
+
+endin
+</CsInstruments>
+<CsScore>
+f0 30	;runs 30 seconds
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/outipb.csd b/examples/outipb.csd
new file mode 100644
index 0000000..3cc26a5
--- /dev/null
+++ b/examples/outipb.csd
@@ -0,0 +1,31 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac -Q1 -M0  ;;;realtime audio out and midi in and out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o outipb.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 10
+nchnls = 2
+
+instr 1
+
+ikey notnum 
+ivel  veloc
+
+ipb = 10		;a little out of tune
+outipb 1, ipb, 0, 127	;(= pitchbend)
+midion 1, ikey, ivel	;of external synth
+
+endin
+</CsInstruments>
+<CsScore>
+f0 30
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/outipc.csd b/examples/outipc.csd
new file mode 100644
index 0000000..11a5f01
--- /dev/null
+++ b/examples/outipc.csd
@@ -0,0 +1,29 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac -Q1 -M0  ;;;realtime audio out and midi in and out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o outipc.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+
+instr 1
+
+outipc 1, 80, 0, 127	;program change --> 80
+ikey notnum 
+ivel veloc
+midion 1, ikey, ivel	;play external synth
+
+endin
+</CsInstruments>
+<CsScore>
+f0 30	;runs 30 seconds
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/outkat.csd b/examples/outkat.csd
new file mode 100644
index 0000000..336fc51
--- /dev/null
+++ b/examples/outkat.csd
@@ -0,0 +1,33 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac -Q1 -M0  ;;;realtime audio out and midi in and out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o outkat.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 10
+nchnls = 2
+
+instr 1
+
+ikey notnum 
+ivel  veloc
+
+kvib linseg 100, .5, 120	;vary aftertouch in .5 second
+kvbr = int(kvib)		;whole numbers only
+outkat 1, kvbr, 0, 127		;assign aftertouch on
+printk2 kvbr			;external synth for example to
+midion 1, ikey, ivel		;change depth of filter modulation
+
+endin
+</CsInstruments>
+<CsScore>
+f0 30 				;play for 30 seconds
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/outkc.csd b/examples/outkc.csd
new file mode 100644
index 0000000..438c744
--- /dev/null
+++ b/examples/outkc.csd
@@ -0,0 +1,32 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac -Q1 -M0  ;;;realtime audio out and midi in and out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o outkc.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+
+instr 1
+
+ikey notnum 
+ivel  veloc
+
+kcut linseg 100, .5, 20		;vary controller in .5 second
+kbrt = int(kcut)		;whole numbers only
+outkc 1, 74, kbrt, 0, 127	;controller 74 (= brightness)
+midion 1, ikey, ivel		;of external synth
+
+endin
+</CsInstruments>
+<CsScore>
+f0 30	;runs 30 seconds
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/outkpb.csd b/examples/outkpb.csd
new file mode 100644
index 0000000..90729d6
--- /dev/null
+++ b/examples/outkpb.csd
@@ -0,0 +1,32 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac -Q1 -M0  ;;;realtime audio out and midi in and out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o outkpb.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 10
+nchnls = 2
+
+instr 1
+
+ikey notnum 
+ivel  veloc
+
+kpch linseg 100, 1, 0	;vary in 1 second
+kpb = int(kpch)		;whole numbers only
+outkpb 1, kpb, 0, 127	;(= pitchbend)
+midion 1, ikey, ivel	;of external synth
+
+endin
+</CsInstruments>
+<CsScore>
+f0 30
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/outkpc.csd b/examples/outkpc.csd
index 17bc56f..51840fb 100644
--- a/examples/outkpc.csd
+++ b/examples/outkpc.csd
@@ -2,7 +2,7 @@
 <CsOptions>
 ; Select audio/midi flags here according to platform
 ; Audio out   Audio in    No messages
--odac           -iadc     -d         -M0  -Q1;;;RT audio I/O with MIDI in
+-odac           -iadc     -d         -M0  -Q1 ;;;RT audio I/O with MIDI in
 </CsOptions>
 <CsInstruments>
 
diff --git a/examples/outleta.csd b/examples/outleta.csd
old mode 100755
new mode 100644
index a69303f..679ec91
--- a/examples/outleta.csd
+++ b/examples/outleta.csd
@@ -1,139 +1,47 @@
-<CsoundSynthesizer> 
-<CsOptions> 
+<CsoundSynthesizer>
+<CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in   No messages  MIDI in
--odac           -iadc     -d  ;;;RT audio I/O 
-;-Wfo outleta.wav 
-</CsOptions> 
-<CsInstruments> 
-
-; Initialize the global variables. 
-
-sr 	    = 44100 
-ksmps 	= 100 
-nchnls 	= 2 
-
-; Connect up instruments and effects to create the signal flow graph. 
-
-connect "SimpleSine",   	"leftout",     "Reverberator",     	"leftin" 
-connect "SimpleSine",   	"rightout",    "Reverberator",     	"rightin" 
-
-connect "Moogy",        	"leftout",     "Reverberator",     	"leftin" 
-connect "Moogy",        	"rightout",    "Reverberator",     	"rightin" 
-
-connect "Reverberator", 	"leftout",     "Compressor",       	"leftin" 
-connect "Reverberator", 	"rightout",    "Compressor",       	"rightin" 
-
-connect "Compressor",   	"leftout",     "Soundfile",       	"leftin" 
-connect "Compressor",   	"rightout",    "Soundfile",       	"rightin" 
-
-; Turn on the "effect" units in the signal flow graph. 
-
-alwayson "Reverberator", 0.91, 12000 
-alwayson "Compressor" 
-alwayson "Soundfile" 
-
-; Define instruments and effects in order of signal flow.
-
-			    instr SimpleSine 
-                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-			    ; Default values:   p1  p2  p3  p4  p5  p6  p7  p8  p9  p10
-			    pset			    0,  0,  10, 0,  0,  0,  0.5
-iattack			=			        0.015
-idecay			=			        0.07
-isustain		=			        p3
-irelease		=			        0.3
-p3			    =			        iattack + idecay + isustain + irelease
-adamping		linsegr			    0.0, iattack, 1.0, idecay + isustain, 1.0, irelease, 0.0
-iHz 			= 			        cpsmidinn(p4) 
-                ; Rescale MIDI velocity range to a musically usable range of dB. 
-iamplitude 		= 			        ampdb(p5 / 127 * 15.0 + 60.0) 
-			    ; Use ftgenonce instead of ftgen, ftgentmp, or f statement. 
-icosine			ftgenonce 		    0, 0, 65537, 11, 1 
-aoscili			oscili 			    iamplitude, iHz, icosine 
-aadsr 			madsr 			    iattack, idecay, 0.6, irelease 
-asignal 		= 			        aoscili * aadsr 
-aleft, aright	pan2			    asignal, p7
-			    ; Stereo audio output to be routed in the orchestra header. 
-			    outleta 		    "leftout", aleft
-			    outleta 		    "rightout", aright
-			    endin 
-
-			    instr Moogy 
-                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-			    ; Default values:   p1  p2  p3  p4  p5  p6  p7  p8  p9  p10
-			    pset			    0,  0,  10, 0,  0,  0,  0.5
-iattack			=			        0.003
-isustain		=			        p3
-irelease		=			        0.05
-p3			    =			        iattack + isustain + irelease
-adamping		linsegr			    0.0, iattack, 1.0, isustain, 1.0, irelease, 0.0
-iHz 			= 			        cpsmidinn(p4)
-                ; Rescale MIDI velocity range to a musically usable range of dB. 
-iamplitude 		= 			        ampdb(p5 / 127 * 20.0 + 60.0) 
-			    print 			    iHz, iamplitude 
-			    ; Use ftgenonce instead of ftgen, ftgentmp, or f statement. 
-isine 			ftgenonce 		    0, 0, 65537, 10, 1 
-asignal 		vco 			    iamplitude, iHz, 1, 0.5, isine 
-kfco 			line 			    2000, p3, 200
-krez 			= 			        0.8 
-asignal 		moogvcf 		    asignal, kfco, krez, 100000 
-asignal			=			        asignal * adamping
-aleft, aright	pan2			    asignal, p7
-			    ; Stereo audio output to be routed in the orchestra header. 
-			    outleta 		    "leftout", aleft
-			    outleta 		    "rightout", aright 
-			    endin 
-			    instr Reverberator 
-                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-			    ; Stereo input. 
-aleftin 		inleta 			    "leftin" 
-arightin 		inleta 			    "rightin" 
-idelay 			= 			        p4 
-icutoff 		= 			        p5 
-aleft, aright 	reverbsc 	        aleftin, arightin, idelay, icutoff 
-			    ; Stereo output. 
-			    outleta 	        "leftout", aleft 
-			    outleta 	        "rightout", aright 
-			    endin 
-
-			    instr Compressor 
-                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-			    ; Stereo input. 
-aleftin 		inleta 		        "leftin" 
-arightin 		inleta 		        "rightin" 
-kthreshold 		= 		            25000 
-icomp1 			= 		            0.5 
-icomp2 			= 		            0.763 
-irtime 			= 		            0.1 
-iftime 			= 		            0.1 
-aleftout 		dam 		        aleftin, kthreshold, icomp1, icomp2, irtime, iftime 
-arightout 		dam 		        arightin, kthreshold, icomp1, icomp2, irtime, iftime 
-			    ; Stereo output. 
-			    outleta 	        "leftout", aleftout 
-			    outleta 	        "rightout", arightout 
-			    endin 
-
-			    instr Soundfile 
-                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-			    ; Stereo input. 
-aleftin 		inleta 		        "leftin" 
-arightin 		inleta 		        "rightin" 
-			    outs 		        aleftin, arightin 
-			    endin 
-
-</CsInstruments> 
-<CsScore> 
-
-; It is not necessary to activate "effects" or create f-tables in the score! 
-; Overlapping notes create new instances of instruments with proper connections. 
-
-i "SimpleSine" 1 5 60 85 
-i "SimpleSine" 2 5 64 80 
-i "Moogy" 3 5 67 75 
-i "Moogy" 4 5 71 70 
-;1 extra second after the performance
-e 1 
-
-</CsScore> 
-</CsoundSynthesizer> 
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o outleta.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1 
+
+connect	 "1", "Outl", "reverby", "InL" 
+connect	 "1", "Outr", "reverby", "InR" 
+
+alwayson "reverby", 1
+
+instr 1
+
+aIn diskin2 "fox.wav", 1 
+    outleta "Outl", aIn 
+    outleta "Outr", aIn 
+
+endin 
+
+instr reverby
+
+aInL   inleta "InL" 
+aInR   inleta "InR" 
+
+al, ar reverbsc	aInL, aInR, 0.7, 21000 
+ifxlev = 0.5 
+al     = (aInL*ifxlev)+(al*(1-ifxlev)) 
+ar     = (aInR*ifxlev)+(ar*(1-ifxlev)) 
+       outs al, ar 
+                                
+endin 
+</CsInstruments>
+<CsScore>
+
+i 1 0 3 
+e4
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/outletk.csd b/examples/outletk.csd
new file mode 100644
index 0000000..ec7a5c4
--- /dev/null
+++ b/examples/outletk.csd
@@ -0,0 +1,42 @@
+<CsoundSynthesizer> 
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o inletk.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments> 
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+connect "bend", "bendout", "guitar", "bendin" 
+
+instr bend 
+
+kbend line p4, p3, p5 
+      outletk "bendout", kbend 
+endin 
+
+instr guitar 
+
+kbend inletk "bendin" 
+kpch pow 2, kbend/12
+     printk2 kpch
+asig oscili .4, 440*kpch, 1 
+     outs asig, asig
+endin 
+
+</CsInstruments> 
+<CsScore> 
+f1 0 1024 10 1
+
+i"guitar" 0 5 8.00 
+i"bend" 3 .2 -12 12 
+i"bend" 4 .1 -17 40 
+e
+</CsScore> 
+</CsoundSynthesizer> 
\ No newline at end of file
diff --git a/examples/outq.csd b/examples/outq.csd
new file mode 100644
index 0000000..0443110
--- /dev/null
+++ b/examples/outq.csd
@@ -0,0 +1,55 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o outq.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 4
+0dbfs  = 1
+
+instr 1
+
+asig vco2 .01, 110	; sawtooth waveform at low volume
+
+;filter the first channel
+kcut1 line 60, p3, 300	; Vary cutoff frequency
+kresonance1 = 3
+inumlayer1 = 3
+asig1 lowresx asig, kcut1, kresonance1, inumlayer1
+
+;filter the second channel
+kcut2 line 300, p3, 60	; Vary cutoff frequency
+kresonance2 = 3
+inumlayer2 = 3
+asig2 lowresx asig, kcut2, kresonance2, inumlayer2
+
+;filter the third channel
+kcut3 line 30, p3, 100; Vary cutoff frequency
+kresonance3 = 6
+inumlayer3 = 3
+asig3 lowresx asig, kcut3, kresonance3, inumlayer3
+asig3 = asig3*.1	; lower volume
+
+;filter the fourth channel
+kcut4 line 100, p3, 30; Vary cutoff frequency
+kresonance4 = 6
+inumlayer4 = 3
+asig4 lowresx asig, kcut4, kresonance4, inumlayer4
+asig4 = asig4*.1	; lower volume
+
+      outq asig1, asig2, asig3, asig4; output channels 1, 2, 3 & 4
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 5
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/outq1.csd b/examples/outq1.csd
new file mode 100644
index 0000000..6fe32cd
--- /dev/null
+++ b/examples/outq1.csd
@@ -0,0 +1,34 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o outq1.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 4
+0dbfs  = 1
+
+instr 1
+
+asig vco2 .05, 30	; sawtooth waveform at low volume
+
+kcut line 60, p3, 300	; Vary cutoff frequency
+kresonance = 7
+inumlayer = 2
+asig lowresx asig, kcut, kresonance, inumlayer
+
+      outq1 asig	; output channel 1
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 3
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/outq2.csd b/examples/outq2.csd
new file mode 100644
index 0000000..fc670b6
--- /dev/null
+++ b/examples/outq2.csd
@@ -0,0 +1,34 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o outq2.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 4
+0dbfs  = 1
+
+instr 1
+
+asig vco2 .05, 30	; sawtooth waveform at low volume
+
+kcut line 300, p3, 60	; Vary cutoff frequency
+kresonance = 7
+inumlayer = 2
+asig lowresx asig, kcut, kresonance, inumlayer
+
+      outq2 asig	; output channel 2
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 3
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/outq3.csd b/examples/outq3.csd
new file mode 100644
index 0000000..3c8d8ba
--- /dev/null
+++ b/examples/outq3.csd
@@ -0,0 +1,34 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o outq3.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 4
+0dbfs  = 1
+
+instr 1
+
+asig vco2 .05, 30	; sawtooth waveform at low volume
+
+kcut line 30, p3, 100	; Vary cutoff frequency
+kresonance = 7
+inumlayer = 2
+asig lowresx asig, kcut, kresonance, inumlayer
+
+      outq3 asig	; output channel 3
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 3
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/outq4.csd b/examples/outq4.csd
new file mode 100644
index 0000000..23a4ab9
--- /dev/null
+++ b/examples/outq4.csd
@@ -0,0 +1,34 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o outq4.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 4
+0dbfs  = 1
+
+instr 1
+
+asig vco2 .05, 30	; sawtooth waveform at low volume
+
+kcut line 100, p3, 30	; Vary cutoff frequency
+kresonance = 7
+inumlayer = 2
+asig lowresx asig, kcut, kresonance, inumlayer
+
+      outq4 asig	; output channel 4
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 3
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/outrg.csd b/examples/outrg.csd
new file mode 100644
index 0000000..62126dd
--- /dev/null
+++ b/examples/outrg.csd
@@ -0,0 +1,47 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o outrg.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 4        ;quad
+0dbfs  = 1
+
+instr 1
+
+kleft init 1
+asig  vco2 .5, 220			;sawtooth
+idur = p3/(nchnls-1)
+knext init idur
+kpos init 0
+krate init 1/idur
+kbase init 0
+ktime timeinsts
+if ktime>=knext then
+  kleft = kleft + 1
+  knext = knext + idur
+  kpos = 0
+  kbase = ktime
+else
+  kpos = (ktime-kbase)/idur
+endif
+printks "speaker %d position %f\n", 0, kleft, kpos
+a1,a2 pan2 asig, kpos
+      outrg  kleft, a1, a2
+kpos = kbase/idur
+endin
+
+</CsInstruments>
+<CsScore>
+
+i 1 0 10
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/outs.csd b/examples/outs.csd
new file mode 100644
index 0000000..661233f
--- /dev/null
+++ b/examples/outs.csd
@@ -0,0 +1,39 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o outs.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+asig vco2 .01, 110	; sawtooth waveform at low volume
+;filter a channel
+kcut1 line 60, p3, 300	; Vary cutoff frequency
+kresonance1 = 3
+inumlayer1 = 3
+asig1 lowresx asig, kcut1, kresonance1, inumlayer1
+;filter the other channel
+kcut2 line 300, p3, 60	; Vary cutoff frequency
+kresonance2 = 3
+inumlayer2 = 3
+asig2 lowresx asig, kcut2, kresonance2, inumlayer2
+
+      outs asig1, asig2	; output both channels 1 & 2
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 3
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/outs1.csd b/examples/outs1.csd
new file mode 100644
index 0000000..3bf75df
--- /dev/null
+++ b/examples/outs1.csd
@@ -0,0 +1,32 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o outs1.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+asig vco2 .01, 110	; sawtooth waveform at low volume
+kcut line 60, p3, 300	; Vary cutoff frequency
+kresonance = 3
+inumlayer = 3
+asig lowresx asig, kcut, kresonance, inumlayer
+     outs1 asig		; output stereo channel 1 only
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 3
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/outs2.csd b/examples/outs2.csd
new file mode 100644
index 0000000..d3534af
--- /dev/null
+++ b/examples/outs2.csd
@@ -0,0 +1,32 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o outs2.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+asig vco2 .01, 110	; sawtooth waveform at low volume
+kcut line 300, p3, 60	; Vary cutoff frequency
+kresonance = 3
+inumlayer = 3
+asig lowresx asig, kcut, kresonance, inumlayer
+     outs2 asig		; output stereo channel 2 only
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 3
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/outvalue.csd b/examples/outvalue.csd
new file mode 100644
index 0000000..e3730c4
--- /dev/null
+++ b/examples/outvalue.csd
@@ -0,0 +1,26 @@
+<CsoundSynthesizer>
+<CsOptions>
+</CsOptions>
+<CsInstruments>
+;run this example in CsoundQt, a Csound editor that provides widgets
+;make the Widgets-panel visible, by clicking the Widgets symbol in the menu or pressing (Alt+1).
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+; written by Alex Hofmann
+
+instr 1	;move fader
+
+kMoveUp  linseg 0, 3, 1, 1, 1, 0.5, 0
+outvalue "movefader", kMoveUp
+endin
+
+</CsInstruments>
+<CsScore>
+i 1 0 5
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/pan.csd b/examples/pan.csd
old mode 100755
new mode 100644
index 4047ec4..99dc34f
--- a/examples/pan.csd
+++ b/examples/pan.csd
@@ -1,38 +1,39 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in   No messages  MIDI in
--odac           -iadc     -d         ;;;RT audio I/O with MIDI in
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if real audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o pan.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
-; 4 channel
-sr	= 44100
-kr	= 441	
-ksmps	= 100
-nchnls	= 4
 
-	instr 1
+sr = 44100
+ksmps = 32
+nchnls = 4
+0dbfs  = 1
 
-k1	phasor	.2			; "fraction" of circle - controls speed of rotation - can be negative
-k2	tablei	k	1, 1, 1 			; sin of angle (sinusoid in f1)
-k3 	tablei	k	1, 1, 1, .25, 1		; cos of angle (sin offset 1/4 circle)
-asig	rand 10000		; audio signal.. 
+instr 1
+
+kcps = p4
+k1   phasor kcps		; "fraction" of circle - controls speed of rotation - can be negative
+k2   tablei k1, 1, 1 		; sin of angle (sinusoid in f1)
+k3   tablei k1, 1, 1, .25, 1	; cos of angle (sin offset 1/4 circle)
+arnd randomi 400, 1000, 50	; produce random values 
+asig poscil .7, arnd, 1		; audio signal.. 
 
 a1,a2,a3,a4 pan	asig, k2/2, k3/2, 2, 1, 1	; sent in a circle (f2=1st quad sin)
 	outq	a1, a2, a3, a4
 
-	endin
-
-
+endin
 </CsInstruments>
 <CsScore>
 
 f1 0 8192 10 1
 f2 0 8193 9 .25 1 0
 
-i1 0 10
+i1 0 10 .2	;move to the tight
+i1 11 10 -.2	;move to the left
 e
 
 </CsScore>
diff --git a/examples/pan2.csd b/examples/pan2.csd
old mode 100755
new mode 100644
index 82e9547..788c8b4
--- a/examples/pan2.csd
+++ b/examples/pan2.csd
@@ -1,30 +1,28 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if real audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o pan2.wav -W ;;; for file output any platform
 </CsOptions>
-
 <CsInstruments>
 
 sr = 44100
-ksmps = 20
+ksmps = 32
 nchnls = 2
+0dbfs  = 1
 
-giSine		ftgen	0, 0, 65537, 10, 1
+giSine ftgen 0, 0, 2^10, 10, 1
 
 instr 1
 
 kline	line	0, p3, 1     ; straight line
-ain	oscili	10000,440, giSine ; audio signal..
-a1,a2	pan2	ain, kline   ; sent across image
-	outs	a1, a2
-
+ain	oscili	.6, 440, giSine ; audio signal..
+aL,aR	pan2	ain, kline   ; sent across image
+	outs	aL, aR
 
 endin
-
 </CsInstruments>
 <CsScore>
 i1 0 5
diff --git a/examples/partials.csd b/examples/partials.csd
old mode 100755
new mode 100644
index 4c523ed..bb06ae3
--- a/examples/partials.csd
+++ b/examples/partials.csd
@@ -1,38 +1,32 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in   No messages  MIDI in
--odac           -iadc     -d         ;;;RT audio I/O with MIDI in
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if real audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o partials.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-;ain inch 1                  ; input signal
-ain	diskin2	"beats.wav", 1, 0, 1
-fs1,fsi2	pvsifd	ain,2048,512,1 ; ifd analysis
-fst	partials	fs1,fsi2,.003,1,3,500 ; partial tracking
-aout	resyn		fst, 1, 1.5, 500, 1 ; resynthesis (up a 5th)
-	out	aout
-
-endin
 
+ain  diskin2 "fox.wav", 1
+fs1,fsi2 pvsifd ain,2048,512,1		; ifd analysis
+fst  partials fs1,fsi2,.003,1,3,500	; partial tracking
+aout resyn fst, 1, 1.5, 500, 1		; resynthesis (up a 5th)
+     outs aout, aout
 
+endin
 </CsInstruments>
 <CsScore>
 f 1 0 4096 10 1
 
-i 1 0 5
+i 1 0 2.8
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/partikkel-2.csd b/examples/partikkel-2.csd
new file mode 100644
index 0000000..54cc1df
--- /dev/null
+++ b/examples/partikkel-2.csd
@@ -0,0 +1,151 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+; Audio out  
+-odac           ;;;RT audio 
+; For Non-realtime ouput leave only the line below:
+; -o partikkel.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 20
+nchnls = 2
+
+; Example by Joachim Heintz and Oeyvind Brandtsegg 2008
+
+giCosine	ftgen	0, 0, 8193, 9, 1, 1, 90		; cosine
+giDisttab	ftgen	0, 0, 32768, 7, 0, 32768, 1	; for kdistribution
+giFile		ftgen	0, 0, 0, 1, "fox.wav", 0, 0, 0	; soundfile for source waveform
+giWin		ftgen	0, 0, 4096, 20, 9, 1		; grain envelope
+giPan		ftgen	0, 0, 32768, -21, 1		; for panning (random values between 0 and 1)
+
+
+; *************************************************
+; partikkel example, processing of soundfile
+; uses the file "fox.wav" 
+; *************************************************
+		instr 1
+
+/*score parameters*/
+ispeed			= p4		; 1 = original speed 
+igrainrate		= p5		; grain rate
+igrainsize		= p6		; grain size in ms
+icent			= p7		; transposition in cent
+iposrand		= p8		; time position randomness (offset) of the pointer in ms
+icentrand		= p9		; transposition randomness in cents
+ipan			= p10		; panning narrow (0) to wide (1)
+idist			= p11		; grain distribution (0=periodic, 1=scattered)
+
+/*get length of source wave file, needed for both transposition and time pointer*/
+ifilen			tableng	giFile
+ifildur			= ifilen / sr
+
+/*sync input (disabled)*/
+async			= 0		
+
+/*grain envelope*/
+kenv2amt		= 1		; use only secondary envelope
+ienv2tab 		= giWin		; grain (secondary) envelope
+ienv_attack		= -1 		; default attack envelope (flat)
+ienv_decay		= -1 		; default decay envelope (flat)
+ksustain_amount		= 0.5		; no meaning in this case (use only secondary envelope, ienv2tab)
+ka_d_ratio		= 0.5 		; no meaning in this case (use only secondary envelope, ienv2tab)
+
+/*amplitude*/
+kamp			= 0.4*0dbfs	; grain amplitude
+igainmasks		= -1		; (default) no gain masking
+
+/*transposition*/
+kcentrand		rand icentrand	; random transposition
+iorig			= 1 / ifildur	; original pitch
+kwavfreq		= iorig * cent(icent + kcentrand)
+
+/*other pitch related (disabled)*/
+ksweepshape		= 0		; no frequency sweep
+iwavfreqstarttab 	= -1		; default frequency sweep start
+iwavfreqendtab		= -1		; default frequency sweep end
+awavfm			= 0		; no FM input
+ifmamptab		= -1		; default FM scaling (=1)
+kfmenv			= -1		; default FM envelope (flat)
+
+/*trainlet related (disabled)*/
+icosine			= giCosine	; cosine ftable
+kTrainCps		= igrainrate	; set trainlet cps equal to grain rate for single-cycle trainlet in each grain
+knumpartials		= 1		; number of partials in trainlet
+kchroma			= 1		; balance of partials in trainlet
+
+/*panning, using channel masks*/
+imid			= .5; center
+ileftmost		= imid - ipan/2
+irightmost		= imid + ipan/2
+giPanthis		ftgen	0, 0, 32768, -24, giPan, ileftmost, irightmost	; rescales giPan according to ipan
+			tableiw		0, 0, giPanthis				; change index 0 ...
+			tableiw		32766, 1, giPanthis			; ... and 1 for ichannelmasks
+ichannelmasks		= giPanthis		; ftable for panning
+
+/*random gain masking (disabled)*/
+krandommask		= 0	
+
+/*source waveforms*/
+kwaveform1		= giFile	; source waveform
+kwaveform2		= giFile	; all 4 sources are the same
+kwaveform3		= giFile
+kwaveform4		= giFile
+iwaveamptab		= -1		; (default) equal mix of source waveforms and no amplitude for trainlets
+
+/*time pointer*/
+afilposphas		phasor ispeed / ifildur
+/*generate random deviation of the time pointer*/
+iposrandsec		= iposrand / 1000	; ms -> sec
+iposrand		= iposrandsec / ifildur	; phase values (0-1)
+krndpos			linrand	 iposrand	; random offset in phase values
+/*add random deviation to the time pointer*/
+asamplepos1		= afilposphas + krndpos; resulting phase values (0-1)
+asamplepos2		= asamplepos1
+asamplepos3		= asamplepos1	
+asamplepos4		= asamplepos1	
+
+/*original key for each source waveform*/
+kwavekey1		= 1
+kwavekey2		= kwavekey1	
+kwavekey3		= kwavekey1
+kwavekey4		= kwavekey1
+
+/* maximum number of grains per k-period*/
+imax_grains		= 100		
+
+aL, aR		partikkel igrainrate, idist, giDisttab, async, kenv2amt, ienv2tab, \
+		ienv_attack, ienv_decay, ksustain_amount, ka_d_ratio, igrainsize, kamp, igainmasks, \
+		kwavfreq, ksweepshape, iwavfreqstarttab, iwavfreqendtab, awavfm, \
+		ifmamptab, kfmenv, icosine, kTrainCps, knumpartials, \
+		kchroma, ichannelmasks, krandommask, kwaveform1, kwaveform2, kwaveform3, kwaveform4, \
+		iwaveamptab, asamplepos1, asamplepos2, asamplepos3, asamplepos4, \
+		kwavekey1, kwavekey2, kwavekey3, kwavekey4, imax_grains
+
+		outs			aL, aR
+
+endin
+
+
+</CsInstruments>
+<CsScore>
+;i1	st	dur	speed	grate	gsize	cent	posrnd	cntrnd	pan	dist
+i1	0	2.757	1	200	15	0	0	0	0	0
+s
+i1	0	2.757	1	200	15	400	0	0	0	0
+s
+i1	0	2.757	1	15	450	400	0	0	0	0
+s
+i1	0	2.757	1	15	450	400	0	0	0	0.4
+s
+i1	0	2.757	1	200	15	0	400	0	0	1
+s
+i1	0	5.514	.5	200	20	0	0	600	.5	1
+s
+i1	0	11.028	.25	200	15	0	1000	400	1	1
+
+
+</CsScore>
+
+</CsoundSynthesizer>
diff --git a/examples/partikkel.csd b/examples/partikkel.csd
index 83d255c..4824b78 100644
--- a/examples/partikkel.csd
+++ b/examples/partikkel.csd
@@ -1,12 +1,11 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if real audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o partikkel.wav -W ;;; for file output any platform
 </CsOptions>
-
 <CsInstruments>
 
 sr = 44100
@@ -59,7 +58,7 @@ kwavekey3	= 1			;
 kwavekey4	= 1			;
 imax_grains	= 100			; max grains per k period
 
-a1	partikkel kgrainfreq, kdistribution, idisttab, async, kenv2amt, ienv2tab, \
+asig	partikkel kgrainfreq, kdistribution, idisttab, async, kenv2amt, ienv2tab, \
                ienv_attack, ienv_decay, ksustain_amount, ka_d_ratio, kduration, kamp, igainmasks, \
                kwavfreq, ksweepshape, iwavfreqstarttab, iwavfreqendtab, awavfm, \
                ifmamptab, kfmenv, icosine, kTrainCps, knumpartials, \
@@ -67,7 +66,7 @@ a1	partikkel kgrainfreq, kdistribution, idisttab, async, kenv2amt, ienv2tab, \
                iwaveamptab, asamplepos1, asamplepos2, asamplepos3, asamplepos4, \
                kwavekey1, kwavekey2, kwavekey3, kwavekey4, imax_grains
 
-outs	a1, a1
+outs	asig, asig
 endin
 
 </CsInstruments>
diff --git a/examples/partikkel_softsync.csd b/examples/partikkelsync.csd
similarity index 100%
copy from examples/partikkel_softsync.csd
copy to examples/partikkelsync.csd
diff --git a/examples/passign.csd b/examples/passign.csd
index 04a9d39..7674693 100644
--- a/examples/passign.csd
+++ b/examples/passign.csd
@@ -1,10 +1,19 @@
 <CsoundSynthesizer>
 <CsOptions>
--odac
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if real audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o passign.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-          instr 8
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 8
 
 idur,iamp,iskiptime,iattack,irelease,irvbtime,irvbgain  passign   3
 
@@ -13,8 +22,8 @@ asig      soundin   "fox.wav", iskiptime
 arampsig  =         kamp * asig
 aeffect   reverb    asig, irvbtime
 arvbretrn =         aeffect * irvbgain
-
-          out       arampsig + arvbretrn
+;mix dry & wet signals
+          outs      arampsig + arvbretrn, arampsig + arvbretrn
 
           endin
 
@@ -22,11 +31,11 @@ arvbretrn =         aeffect * irvbgain
 <CsScore>
 
 ;ins strt dur  amp  skip atk  rel       rvbt rvbgain
-i8   0    2.28 .3   0    .03  .1        1.5  .3
-i8   4    1.6  .3   1.6  .1   .1        1.1  .4
-i8   5.5  2.28 .3   0    .5   .1        2.1  .2
-i8   6.5  2.28 .4   0    .01  .1        1.1  .1
-i8   8    2.28 .5   0.1  .01  .1        0.1  .1
+i8   0    4    .3   0    .03  .1        1.5  .3
+i8   4    4    .3   1.6  .1   .1        3.1  .7
+i8   8    4    .3   0    .5   .1        2.1  .2
+i8   12   4    .4   0    .01  .1        1.1  .1
+i8   16   4    .5   0.1  .01  .1        0.1  .1
 
 e
 </CsScore>
diff --git a/examples/pcauchy.csd b/examples/pcauchy.csd
index 87bb5cd..e6ea9d6 100644
--- a/examples/pcauchy.csd
+++ b/examples/pcauchy.csd
@@ -1,50 +1,42 @@
-<CsoundSynthesizer>
-<CsOptions>
-; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
-; For Non-realtime ouput leave only the line below:
-; -o pcauchy.wav -W ;;; for file output any platform
-</CsOptions>
-<CsInstruments>
-
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
-
-; Instrument #1.
-instr 1
-  ; Generate a random number between 0 and 1.
-  ; kalpha = 1
-
-  i1 pcauchy 1
-
-  print i1
-endin
-
-; Instrument #2.
-instr 2
-  ; Generate a random number between 0 and 1.
-  ; kalpha = 1
-
-  seed 0
-
-  i1 pcauchy 1
-
-  print i1
-endin
-
-</CsInstruments>
-<CsScore>
-
-; Play Instrument #1 for one second.
-i 1 0 1
-; Play Instrument #2 for one second.
-i 2 1 1
-e
-
-
-</CsScore>
-</CsoundSynthesizer>
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if real audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o pcauchy.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1  	; every run time same values
+
+kalpha	pcauchy	1000
+	printk	.2, kalpha		; look
+aout	oscili	0.8, 440+kalpha, 1	; & listen
+	outs	aout, aout
+endin
+
+instr 2		; every run time different values
+
+	seed 0
+kalpha	pcauchy	1000
+	printk	.2, kalpha		; look 
+aout	oscili	0.8, 440+kalpha, 1	; & listen
+	outs	aout, aout
+endin
+</CsInstruments>
+<CsScore>
+; sine wave
+f 1 0 16384 10 1
+
+i 1 0 2
+i 2 3 2
+e
+
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/pchbend.csd b/examples/pchbend.csd
index fa87b87..e803f80 100644
--- a/examples/pchbend.csd
+++ b/examples/pchbend.csd
@@ -1,34 +1,31 @@
-<CsoundSynthesizer>
+<CsoundSynthesizer> 
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in   No messages  MIDI in
--odac           -iadc     -d         -M0  ;;;RT audio I/O with MIDI in
+-odac -Q1 -Ma  ;;;realtime audio out and midi in (on all inputs) and out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o pchbend.wav -W ;;; for file output any platform
 </CsOptions>
-<CsInstruments>
+<CsInstruments> 
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
-
-; Instrument #1.
-instr 1
-  i1 pchbend
-
-  print i1
-endin
-
-
-</CsInstruments>
-<CsScore>
-
-; Play Instrument #1 for 12 seconds.
-i 1 0 12
-e
-
-
-</CsScore>
-</CsoundSynthesizer>
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr   1	;use external midi keyboard
+
+icps cpsmidi
+kbnd pchbend 0, 100					;one octave lower and higher
+kenv linsegr 0,.001, 1, .1, 0				;amplitude envelope 
+asig pluck .8 * kenv, icps+kbnd, 440, 0, 1
+     outs asig, asig
+
+endin 
+</CsInstruments> 
+<CsScore> 
+
+f 0 30	;runs 30 seconds
+ 
+</CsScore> 
+</CsoundSynthesizer>   
diff --git a/examples/pconvolve.csd b/examples/pconvolve.csd
new file mode 100644
index 0000000..1510b30
--- /dev/null
+++ b/examples/pconvolve.csd
@@ -0,0 +1,74 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+-iadc    ;;;uncomment -iadc if real audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o pconvolve.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr   1
+
+kmix = .5	; Wet/dry mix. Vary as desired.
+kvol  = .05*kmix	; Overall volume level of reverb. May need to adjust
+		; when wet/dry mix is changed, to avoid clipping.
+                     			
+; do some safety checking to make sure we the parameters a good
+kmix = (kmix < 0 || kmix > 1 ? .5 : kmix)
+kvol  = (kvol < 0 ? 0 : .5*kvol*kmix)
+
+; size of each convolution partion -- for best performance, this parameter needs to be tweaked
+ipartitionsize = p4
+
+; calculate latency of pconvolve opcode
+idel = (ksmps < ipartitionsize ? ipartitionsize + ksmps : ipartitionsize)/sr
+prints "Convolving with a latency of %f seconds%n", idel
+
+; actual processing
+al, ar ins	;get live input
+awetl, awetr pconvolve kvol*(al+ar), "kickroll.wav", ipartitionsize
+; Delay dry signal, to align it with the convoled sig
+adryl delay (1-kmix)*al, idel
+adryr delay (1-kmix)*al, idel
+      outs adryl+awetl, adryr+awetr
+
+endin
+    
+instr 2
+
+imix = 0.5          	; Wet/dry mix. Vary as desired.
+ivol = .05*imix     	; Overall volume level of reverb. May need to adjust
+                	; when wet/dry mix is changed, to avoid clipping.
+ipartitionsize = 1024	; size of each convolution partion
+idel = (ksmps < ipartitionsize ? ipartitionsize + ksmps : ipartitionsize)/sr   ; latency of pconvolve opcode
+
+kcount	init	idel*kr
+; since we are using a soundin [instead of ins] we can
+; do a kind of "look ahead" by looping during one k-pass
+; without output, creating zero-latency
+loop:
+    asig soundin p4, 0
+    awetl, awetr pconvolve ivol*(asig),"rv_stereo.wav", ipartitionsize
+    adry delay	(1-imix)*asig,idel  ; Delay dry signal, to align it with
+    kcount = kcount - 1
+ if kcount > 0 kgoto loop
+    outs awetl+adry, awetr+adry
+		
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 20 1024		;play live for 20 seconds
+
+i 2 20 5 "fox.wav"
+i 2 25 5 "flute.aiff"
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/pcount.csd b/examples/pcount.csd
index 00fca14..744543e 100644
--- a/examples/pcount.csd
+++ b/examples/pcount.csd
@@ -1,23 +1,86 @@
-<CsoundSynthesizer>
-<CsOptions>
-; Select audio/midi flags here according to platform
-; Audio out   Audio in   No messages  MIDI in
--odac           -iadc    ; -d         -M0  ;;;RT audio I/O with MIDI in
-; For Non-realtime ouput leave only the line below:
-;-o pcount.wav -W ;;; for file output any platform
-</CsOptions>
-<CsInstruments>
-;Example by Anthony Kozar Dec 2006
-instr 1
-    inum  pcount
-    print inum
-endin
-
-</CsInstruments>
-<CsScore>
-i1  0 3 4 5       ; has 5 pfields
-i1  1 3           ; has 5 due to carry
-i1  2 3 4 5 6 7   ; has 7
-e
-</CsScore>
-</CsoundSynthesizer>
\ No newline at end of file
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o pcount.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+; This UDO returns a pfield value but returns 0 if it does not exist.
+opcode  mypvalue, i, i
+	index  xin
+	inum   pcount
+	if	  (index > inum)  then
+		iout = 0.0
+	else
+		iout pindex index
+	endif
+	
+	xout	iout
+endop
+	
+; Envelope UDO that reads parameters from a flexible number of pfields
+; Syntax:   kenv  flexlinseg  ipstart
+;           ipstart is the first pfield of the envelope
+;               parameters.  Reads remaining pfields (up to 21 of them).
+;           kenv is the output envelope.
+
+opcode  flexlinseg, k, i
+	ipstart xin
+	
+	iep1   mypvalue	ipstart
+	iep2   mypvalue	ipstart + 1
+	iep3   mypvalue	ipstart + 2
+	iep4   mypvalue	ipstart + 3
+	iep5   mypvalue	ipstart + 4
+	iep6   mypvalue	ipstart + 5
+	iep7   mypvalue	ipstart + 6
+	iep8   mypvalue	ipstart + 7
+	iep9   mypvalue	ipstart + 8
+	iepa   mypvalue	ipstart + 9
+	iepb   mypvalue	ipstart + 10
+	iepc   mypvalue	ipstart + 11
+	iepd   mypvalue	ipstart + 12
+	iepe   mypvalue	ipstart + 13
+	iepf   mypvalue	ipstart + 14
+	iepg   mypvalue	ipstart + 15
+	ieph   mypvalue	ipstart + 16
+	iepi   mypvalue	ipstart + 17
+	iepj   mypvalue	ipstart + 18
+	iepk   mypvalue	ipstart + 19
+	iepl   mypvalue	ipstart + 20
+
+	kenv   linseg	 iep1, iep2, iep3, iep4, iep5, iep6, iep7, iep8, \
+	                   iep9, iepa, iepb, iepc, iepd, iepe, iepf, iepg, \
+	                   ieph, iepi, iepj, iepk, iepl	
+	xout   kenv
+endop
+	
+instr 1
+; This instrument only requires 3 pfields but can accept up to 24.
+; (You will still get warnings about more than 3).	
+kenv flexlinseg  4		; envelope params start at p4
+aout oscili kenv*.5, 256, 1
+     outs aout, aout
+
+endin
+</CsInstruments>
+<CsScore>
+f1  0 8192 10 1
+
+i1  0 2  0.0 1.0 1.0 1.0 0.0
+i1  2 2  0.0 0.1 1.0 1.0 1.0 0.1 0.0
+i1  4 2  0.0 0.5 0.0	  			; one problem is that "missing" pfields carry
+i1  6 2  0.0 0.5 0.0 !	  			; now we can fix this problem with !
+i1  8 10  0.0  3.0 1.0  0.3 0.1  0.3 1.0  0.3 0.1  0.3 1.0  0.3 0.1  0.8 0.9  5.0 0.0
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/pdhalf.csd b/examples/pdhalf.csd
index d2e1389..2aeda48 100644
--- a/examples/pdhalf.csd
+++ b/examples/pdhalf.csd
@@ -1,13 +1,18 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o abs.wav -W ;;; for file output any platform
+; -o pdhalf.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
-; test instrument for pdhalf opcode
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
 instr 4
 
     idur        = p3
@@ -21,7 +26,7 @@ instr 4
     apd         pdhalf      aosc, kamount
     aout        tablei      apd, itable, 1
     
-                out         aenv*aout*iamp      
+                outs         aenv*aout*iamp, aenv*aout*iamp     
 endin
 
 </CsInstruments>
@@ -35,13 +40,33 @@ f3 0 16385  9 1 1 270           ; inverted cosine
 ; pdhalf with cosine table
 ; (imitates the CZ-101 "sawtooth waveform")
 t 0 100
-i4 0 .333 10000 512     3
+i4 0 3   .6     512     3
+i. + .    .     448
+i. + .    .     384
+i. + .    .     358.4
+i. + .    .     341.33
+i. + .    .     298.67
+i. + 5    .     256
+s
+; pdhalf with a sine table
+t 0 120
+i4 0 3   .6     512     1
+i. + .    .     448
+i. + .    .     384
+i. + .    .     358.4
+i. + .    .     341.33
+i. + .    .     298.67
+i. + 5    .     256
+s
+; pdhalf with a sawtooth-like table
+t 0 150
+i4 0 3   .6     512     2
 i. + .    .     448
 i. + .    .     384
 i. + .    .     358.4
 i. + .    .     341.33
 i. + .    .     298.67
-i. + 2    .     256
+i. + 5    .     256
 e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/pdhalfy.csd b/examples/pdhalfy.csd
index f7d8d5b..77ccbbf 100644
--- a/examples/pdhalfy.csd
+++ b/examples/pdhalfy.csd
@@ -1,13 +1,18 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o abs.wav -W ;;; for file output any platform
+; -o pdhalfy.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
-; test instrument for pdhalfy opcode
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
 instr 5
 
     idur        = p3
@@ -29,7 +34,7 @@ instr 5
     apd         pdhalfy     aosc, kamount
     aout        tablei      apd, itable, 1
     
-                out         aenv*aout*iamp      
+                outs        aenv*aout*iamp, aenv*aout*iamp       
 endin
 
 </CsInstruments>
@@ -41,7 +46,7 @@ f3 0 16385  9 1 1 270           ; inverted cosine
 
 ; pdhalfy with cosine table
 t 0 100
-i5 0 .333 10000 512     1.0   .02  0.5  .12   3
+i5 0 .333 .6    512     1.0   .02  0.5  .12   3
 i. + .    .     448     <
 i. + .    .     384     <
 i. + .    .     358.4   <
@@ -52,7 +57,7 @@ s
 
 ; pdhalfy with sine table
 t 0 100
-i5 0 .333 10000 512     1.0   .001 0.1  .07   1
+i5 0 .333 .6    512     1.0   .001 0.1  .07   1
 i. + .    .     448     <
 i. + .    .     384     <
 i. + .    .     358.4   <
diff --git a/examples/pgmassign_advanced.csd b/examples/pgmassign_advanced.csd
index 5eb4460..4c3fa2f 100644
--- a/examples/pgmassign_advanced.csd
+++ b/examples/pgmassign_advanced.csd
@@ -1,22 +1,24 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in   No messages  MIDI in
--odac           -iadc     -d         -M0  ;;;RT audio I/O with MIDI in
+-odac   -F   pgmassign_advanced.mid  ;;;realtime audio out with midifile in
+;-iadc    ;;;uncomment -iadc if real audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o pgmassign_advanced.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-sr	=  44100
-ksmps	=  10
-nchnls	=  1
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
 	massign 1, 1	; channels 1 to 4 use instr 1 by default
 	massign 2, 1
 	massign 3, 1
 	massign 4, 1
 
+; pgmassign_advanced.mid can be found in /manual/examples
 ; pgmassign.mid has 4 notes with these parameters:
 ;
 ;	    Start time	Channel	Program
@@ -38,24 +40,24 @@ itmp	ftgen 3, 0, 1024, 10, 1, 0, 0.3333, 0, 0.2, 0, 0.1429, 0, 0.10101
 	instr 1		/* sine */
 
 kcps	cpsmidib 2	; note frequency
-asnd	oscili 30000, kcps, 1
-	out asnd
+asnd	oscili .6, kcps, 1
+	outs asnd, asnd
 
 	endin
 
 	instr 2		/* band-limited sawtooth */
 
 kcps	cpsmidib 2	; note frequency
-asnd	oscili 30000, kcps, 2
-	out asnd
+asnd	oscili .6, kcps, 2
+	outs asnd, asnd
 
 	endin
 
 	instr 3		/* band-limited square */
 
 kcps	cpsmidib 2	; note frequency
-asnd	oscili 30000, kcps, 3
-	out asnd
+asnd	oscili .6, kcps, 3
+	outs asnd, asnd
 
 	endin
 
diff --git a/examples/phasor.csd b/examples/phasor.csd
index ef05ff4..4896692 100644
--- a/examples/phasor.csd
+++ b/examples/phasor.csd
@@ -1,49 +1,36 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if real audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o phasor.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  ; Create an index that repeats once per second.
-  kcps init 1
-  kndx phasor kcps
 
-  ; Read Table #1 with our index.
-  ifn = 1
-  ixmode = 1
-  kfreq table kndx, ifn, ixmode
+ifn = 1			;read table 1 with our index
+ixmode = 1
+kndx phasor p4
+kfrq table kndx, ifn, ixmode
+asig poscil .6, kfrq, 2	;re-synthesize with sine
+     outs asig, asig
 
-  ; Generate a sine waveform, use our table values 
-  ; to vary its frequency.
-  a1 oscil 20000, kfreq, 2
-  out a1
 endin
-
-
 </CsInstruments>
 <CsScore>
+f 1 0 1025 -7 200 1024 2000 ;a line from 200 to 2,000	
+f 2 0 16384 10 1;sine wave
 
-; Table #1, a line from 200 to 2,000.
-f 1 0 1025 -7 200 1024 2000
-; Table #2, a sine wave.
-f 2 0 16384 10 1
-
-; Play Instrument #1 for 2 seconds.
-i 1 0 2
+i 1 0 1 1	;once per second
+i 1 2 2 .5	;once per 2 seconds
+i 1 5 1 2	;twice per second
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/pindex-2.csd b/examples/pindex-2.csd
new file mode 100644
index 0000000..dc5a6d7
--- /dev/null
+++ b/examples/pindex-2.csd
@@ -0,0 +1,86 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o pindex-2.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+; This UDO returns a pfield value but returns 0 if it does not exist.
+opcode  mypvalue, i, i
+	index  xin
+	inum   pcount
+	if	  (index > inum)  then
+		iout = 0.0
+	else
+		iout pindex index
+	endif
+	
+	xout	iout
+endop
+	
+; Envelope UDO that reads parameters from a flexible number of pfields
+; Syntax:   kenv  flexlinseg  ipstart
+;           ipstart is the first pfield of the envelope
+;               parameters.  Reads remaining pfields (up to 21 of them).
+;           kenv is the output envelope.
+
+opcode  flexlinseg, k, i
+	ipstart xin
+	
+	iep1   mypvalue	ipstart
+	iep2   mypvalue	ipstart + 1
+	iep3   mypvalue	ipstart + 2
+	iep4   mypvalue	ipstart + 3
+	iep5   mypvalue	ipstart + 4
+	iep6   mypvalue	ipstart + 5
+	iep7   mypvalue	ipstart + 6
+	iep8   mypvalue	ipstart + 7
+	iep9   mypvalue	ipstart + 8
+	iepa   mypvalue	ipstart + 9
+	iepb   mypvalue	ipstart + 10
+	iepc   mypvalue	ipstart + 11
+	iepd   mypvalue	ipstart + 12
+	iepe   mypvalue	ipstart + 13
+	iepf   mypvalue	ipstart + 14
+	iepg   mypvalue	ipstart + 15
+	ieph   mypvalue	ipstart + 16
+	iepi   mypvalue	ipstart + 17
+	iepj   mypvalue	ipstart + 18
+	iepk   mypvalue	ipstart + 19
+	iepl   mypvalue	ipstart + 20
+
+	kenv   linseg	 iep1, iep2, iep3, iep4, iep5, iep6, iep7, iep8, \
+	                   iep9, iepa, iepb, iepc, iepd, iepe, iepf, iepg, \
+	                   ieph, iepi, iepj, iepk, iepl	
+	xout   kenv
+endop
+	
+instr 1
+; This instrument only requires 3 pfields but can accept up to 24.
+; (You will still get warnings about more than 3).	
+kenv flexlinseg  4		; envelope params start at p4
+aout oscili kenv*.5, 256, 1
+     outs aout, aout
+
+endin
+</CsInstruments>
+<CsScore>
+f1  0 8192 10 1
+
+i1  0 2  0.0 1.0 1.0 1.0 0.0
+i1  2 2  0.0 0.1 1.0 1.0 1.0 0.1 0.0
+i1  4 2  0.0 0.5 0.0	  			; one problem is that "missing" pfields carry
+i1  6 2  0.0 0.5 0.0 !	  			; now we can fix this problem with !
+i1  8 10  0.0  3.0 1.0  0.3 0.1  0.3 1.0  0.3 0.1  0.3 1.0  0.3 0.1  0.8 0.9  5.0 0.0
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/pitch.csd b/examples/pitch.csd
index 3f4a51b..1464152 100644
--- a/examples/pitch.csd
+++ b/examples/pitch.csd
@@ -1,61 +1,52 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if real audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o pitch.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 44100
-ksmps = 1
-nchnls = 1
-
-; Instrument #1 - play an audio file without effects.
-instr 1
-  asig soundin "mary.wav"
-  out asig
-endin
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #2 - track the pitch of an audio file.
-instr 2
-  iupdte = 0.01
-  ilo = 7
-  ihi = 9
-  idbthresh = 10
-  ifrqs = 12
-  iconf = 10
-  istrt = 8
+instr 1	;clean audio
 
-  asig soundin "mary.wav"
+asig soundin p4
+     outs asig, asig
+endin
 
-  ; Follow the audio file, get its pitch and amplitude.
-  koct, kamp pitch asig, iupdte, ilo, ihi, idbthresh, ifrqs, iconf, istrt
+instr 2	;use pitch
 
-  ; Re-synthesize the audio file with a different sounding waveform.
-  kamp2 = kamp * 10
-  kcps = cpsoct(koct)
-  a1 oscil kamp2, kcps, 1
-
-  out a1
-endin
+iupdte = 0.001	;high definition
+ilo = 6
+ihi = 10
+idbthresh = 10
+ifrqs = 12
+iconf = 10
+istrt = 8
 
+asig soundin p4
+koct, kamp pitch asig, iupdte, ilo, ihi, idbthresh, ifrqs, iconf, istrt
+kamp = kamp*.00005		;lower volume
+kcps = cpsoct(koct)
+asig poscil kamp, kcps, 1	;re-synthesize with sawtooth
+     outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
-
-; Table #1: A different sounding waveform.
-f 1 0 32768 11 7 3 .7
-
-; Play Instrument #1, the audio file, for three seconds.
-i 1 0 3
-; Play Instrument #2, the "re-synthesized" waveform, for three seconds.
-i 2 3 3
+f1 0 16384 10 1 0.5 0.3 0.25 0.2 0.167 0.14 0.125 .111   ;sawtooth
+
+i 1 0  3 "fox.wav"
+i 2 3  3 "fox.wav"
+i 1 6  3 "mary.wav"
+i 2 9  3 "mary.wav"
+i 1 12 3 "beats.wav"
+i 2 15 3 "beats.wav"
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/pitchamdf.csd b/examples/pitchamdf.csd
index f4e0810..348d55d 100644
--- a/examples/pitchamdf.csd
+++ b/examples/pitchamdf.csd
@@ -1,56 +1,43 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if real audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o pitchamdf.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; synth waveform
-giwave ftgen 2, 0, 1024, 10, 1, 1, 1, 1
+instr 1	;clean audio
 
-; Instrument #1 - play an audio file with no effects.
-instr 1
-  ; get input signal with original freq.
-  asig soundin "mary.wav"
-
-  out asig
+asig soundin p4
+     outs asig, asig
 endin
 
-; Instrument #2 - play the synth waveform using the
-; same pitch and amplitude as the audio file.
-instr 2
-  ; get input signal with original freq.
-  asig soundin "mary.wav"
+instr 2	;use pitch
 
-  ; lowpass-filter
-  asig tone asig, 1000
-  ; extract pitch and envelope
-  kcps, krms pitchamdf asig, 150, 500, 200
-  ; "re-synthesize" with the synth waveform, giwave.
-  asig1 oscil krms, kcps, giwave
+asig soundin p4
+asig tone asig, 1000		;lowpass-filter
+kcps, krms pitchamdf asig, 100, 500, 200
+asig poscil krms, kcps, 1	;re-synthesize with sawtooth
+     outs asig, asig
 
-  out asig1
 endin
-
-
 </CsInstruments>
 <CsScore>
-
-; Play Instrument #1, the audio file, for three seconds.
-i 1 0 3
-; Play Instrument #2, the "re-synthesized" waveform, for three seconds.
-i 2 3 3
+f1 0 16384 10 1 0.5 0.3 0.25 0.2 0.167 0.14 0.125 .111   ;sawtooth
+
+i 1 0  3 "fox.wav"
+i 2 3  3 "fox.wav"
+i 1 6  3 "mary.wav"
+i 2 9  3 "mary.wav"
+i 1 12 3 "beats.wav"
+i 2 15 3 "beats.wav"
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/plate.csd b/examples/plate.csd
new file mode 100644
index 0000000..9c6b3e7
--- /dev/null
+++ b/examples/plate.csd
@@ -0,0 +1,32 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+;-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+ -o plate.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+; Note: this example is heavy on CPU
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+ab    diskin2  "beats.wav", 1
+al,ar platerev 1, 2, p4, 0.73, 1.0, 5.0, 0.001, ab,ab
+      outs      al*.25,ar*.25
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0 8 -2   0.3   0.3875    0.39274  0.32   0.85714 0.78548
+f2 0 8 -2   0.2   0.666667  1.57097  0.24   0.75    0.78548
+i1 0 4 1
+i1 + 4 2
+e
+
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/plltrack.csd b/examples/plltrack.csd
new file mode 100644
index 0000000..a5a816f
--- /dev/null
+++ b/examples/plltrack.csd
@@ -0,0 +1,36 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o plltrack.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+kd = p4
+a1 diskin2 "fox.wav", 1,0,1
+apitch, aloc plltrack a1, kd
+krms rms a1
+krms port krms, 0.01
+asig buzz krms, apitch, 10, 1
+     outs asig, asig		;mix in some dry signal as well
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0 65536 10 1	;sine wave
+
+i 1 0 6 0.1
+i 1 7 6 0.3	;more feedback
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/pluck.csd b/examples/pluck.csd
index d02ce21..ade6c61 100644
--- a/examples/pluck.csd
+++ b/examples/pluck.csd
@@ -1,39 +1,35 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if real audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o pluck.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  kamp = 20000
-  kcps = 440
-  icps = 440
-  ifn = 0
-  imeth = 1
 
-  a1 pluck kamp, kcps, icps, ifn, imeth
-  out a1
-endin
+kcps = 220
+icps = 220
+ifn  = 0
+imeth = p4
 
+asig pluck 0.7, 220, 220, ifn, imeth, .1, 10
+     outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for two seconds.
-i 1 0 2
+i 1 0  5 1
+i 1 5  5 4	;needs 2 extra parameters (iparm1, iparm2)
+i 1 10 5 6
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/polynomial.csd b/examples/polynomial.csd
index 68cf875..208d959 100644
--- a/examples/polynomial.csd
+++ b/examples/polynomial.csd
@@ -1,32 +1,107 @@
 <CsoundSynthesizer>
 <CsOptions>
-; no sound output
- -n
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o polynomial.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-sr = 44100	; audio rate is not important
-kr = 10	; execute the statements in instr 1 ten times per second
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-instr 1
-	; ax will vary from 1 to 10
-	ax         init        1
-	
-	; ay = ax^3 + 2ax^2 + 3ax + 4
-	ay         polynomial  ax, 4, 3, 2, 1
+; The polynomial y=x^n where n is odd always produces a curve
+; that traverses the range [-1, 1] when the input is within
+; the same range.  Therefore, we can use one of these curves
+; to make a nonlinear phasor that repeatedly reads a table 
+; from beginning to end like a linear phasor (maintaining 
+; continuity) but that distorts the waveform in the table.
+
+instr 4	; This instrument demonstrates phase distortion with x^3
+
+idur   = p3
+iamp   = p4
+ifreq  = p5
+itable = p6
 	
-	; convert our a-rate signals to k-rate values so that we can print
-	ky         downsamp    ay
-	kx         downsamp    ax
-	           printf      "%d:  %d\n", kx, kx, ky
+aenv linseg 0, .001, 1.0, idur - .051, 1.0, .05, 0	; declicking envelope
+aosc phasor ifreq					; create a linear phasor
+apd  polynomial aosc, 0, 0, 0, 1			; distort the phasor with x^3
+aout tablei apd, itable, 1				; read a sine table with the nonlinear phasor
+     outs aenv*aout*iamp, aenv*aout*iamp
+		
+endin
 
-	ax         =           ax + 1
+instr 5	; This instrument demonstrates phase distortion with x^11
+
+idur   = p3
+iamp   = p4
+ifreq  = p5
+itable = p6
+
+aenv linseg 0, .001, 1.0, idur - .051, 1.0, .05, 0	; declicking envelope
+aosc phasor ifreq					; create a linear phasor
+apd  polynomial aosc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 ; distort the phasor with x^11
+aout tablei apd, itable, 1				; read a sine table with the nonlinear phasor
+     outs aenv*aout*iamp, aenv*aout*iamp
+		
 endin
 
+instr 6 ; This instrument crossfades between a pure sine and one distorted with x^11
+
+idur   = p3
+iamp   = p4
+ifreq  = p5
+itable = p6
+	
+aenv	linseg	0, .001, 1.0, idur - .051, 1.0, .05, 0	; declicking envelope
+aosc	phasor	ifreq					; create a linear phasor
+aout3	tablei	aosc, itable, 1				; read a sine table without the linear phasor
+apd11	polynomial aosc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 ; distort the phasor with x^11
+aout11	tablei	apd11, itable, 1			; read a sine table with the nonlinear phasor
+kamount	linseg	1.0, 0.05, 0.9, 1.0, 0.0		; crossfade between two outputs
+aout	= aout3*kamount + aout11*(1.0 - kamount)
+        outs aenv*aout*iamp, aenv*aout*iamp	
+	
+endin
 </CsInstruments>
 <CsScore>
+f1 0 16385 10 1	; sine wave
+
+; descending "just blues" scale
+
+t 0 100
+i4 0 .333 .7 512     1
+i. + .    .  448
+i. + .    .  384
+i. + .    .  360
+i. + .    .  341.33
+i. + .    .  298.67
+i. + 2    .  256
+s
+
+t 0 100
+i5 0 .333 .7 512     1
+i. + .    .  448
+i. + .    .  384
+i. + .    .  360
+i. + .    .  341.33
+i. + .    .  298.67
+i. + 2    .  256
+s
+
+t 0 100
+i6 0 .333 .7 512     1
+i. + .    .  448
+i. + .    .  384
+i. + .    .  360
+i. + .    .  341.33
+i. + .    .  298.67
+i. + 2    .  256
 
-i1 0 1
 e
 
 </CsScore>
diff --git a/examples/pop.csd b/examples/pop.csd
new file mode 100644
index 0000000..57a7085
--- /dev/null
+++ b/examples/pop.csd
@@ -0,0 +1,39 @@
+<CsoundSynthesizer> 
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o pop.wav -W ;;; for file output any platform
+</CsOptions> 
+<CsInstruments> 
+
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2
+
+stack 100000 
+
+instr 1 
+
+a1	oscils 0.7, 220, 0 
+k1	line 0, p3, 1 
+        push "blah", 123.45, a1, k1 
+        push rnd(k1) 
+
+k_rnd	pop 
+S01, i01, a01, k01 pop 
+        printf_i "S01 = '%s', i01 = %g\n", 1, S01, i01 
+ktrig	metro 5.0 
+        printf "k01 = %.3f, k_rnd = %.3f\n", ktrig, k01, k_rnd 
+        outs a01, a01 
+
+endin 
+</CsInstruments> 
+<CsScore> 
+
+i 1 0 5 
+e 
+</CsScore> 
+</CsoundSynthesizer> 
diff --git a/examples/port.csd b/examples/port.csd
new file mode 100644
index 0000000..1dc5f45
--- /dev/null
+++ b/examples/port.csd
@@ -0,0 +1,35 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o port.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2
+
+instr 1
+
+aout  diskin2 "fox.wav",1, 0, 1
+kf,ka ptrack aout, 512	; pitch track with winsize=1024
+kcps  port kf, 0.01	; smooth freq
+kamp  port ka, 0.01	; smooth amp
+; drive an oscillator
+asig  poscil ampdb(kamp)*0dbfs, kcps, 1
+      outs  asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+; simple sine wave
+f 1 0 4096 10 1
+
+i 1 0  5
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/poscil.csd b/examples/poscil.csd
index 2dd626b..63dafe3 100644
--- a/examples/poscil.csd
+++ b/examples/poscil.csd
@@ -1,40 +1,36 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o poscil.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+seed 0
+gisine ftgen 0, 0, 2^10, 10, 1
 
-; Instrument #1 - a basic oscillator.
 instr 1
-  kamp = 10000
-  kcps = 440
-  ifn = 1
 
-  a1 poscil kamp, kcps, ifn
-  out a1
-endin
+ipeak random 0, 1 		;where is the envelope peak
+asig  poscil .8, 220, gisine
+aenv  transeg 0, p3*ipeak, 6, 1, p3-p3*ipeak, -6, 0
+aL,aR pan2 asig*aenv, ipeak	;pan according to random value
+      outs aL, aR
 
+endin
 
 </CsInstruments>
 <CsScore>
-
-; Table #1, a sine wave.
-f 1 0 16384 10 1
-
-; Play Instrument #1 for 2 seconds.
-i 1 0 2
+i1 0 5
+i1 4 5
+i1 8 5
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/poscil3.csd b/examples/poscil3.csd
index 76fe527..d8c1ae6 100644
--- a/examples/poscil3.csd
+++ b/examples/poscil3.csd
@@ -1,40 +1,32 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if real audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o poscil3.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1 - a basic oscillator.
-instr 1
-  kamp = 10000
-  kcps = 440
-  ifn = 1
+giSine ftgen 0, 0, 2^10, 10, 1
 
-  a1 poscil3 kamp, kcps, ifn
-  out a1
-endin
+instr 1
 
+krnd  randomh 40, 440, 1	; produce random values
+ain   poscil3 .6, krnd, giSine
+kline line    1, p3, 0    	; straight line
+aL,aR pan2    ain, kline	; sent across image
+      outs    aL, aR
 
+endin
 </CsInstruments>
 <CsScore>
-
-; Table #1, a sine wave.
-f 1 0 16384 10 1
-
-; Play Instrument #1 for 2 seconds.
-i 1 0 2
+i1 0 10
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/pow.csd b/examples/pow.csd
index 2a103f7..eb05a16 100644
--- a/examples/pow.csd
+++ b/examples/pow.csd
@@ -1,35 +1,36 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o pow.wav -W ;;; for file output any platform
+;-o pow.wav        ; output to audio file
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+    
+instr 1	; Lo-Fi sound
+
+kpow	  = 10						;exponent
+kbase	  line 1, p3, 1.4				;vary the base
+kQuantize pow kbase, kpow
+kQuantize = kQuantize*0.5				;half the number of steps for each side of a bipolar signal
+printk2	  kQuantize
+asig	  diskin2 "fox.wav", 1, 0, 1			;loop the fox
+asig	  = round(asig * kQuantize) / kQuantize		;quantize and scale audio signal
+    	  outs asig, asig  
 
-; Instrument #1.
-instr 1
-  ; This could also be expressed as: i1 = 2 ^ 12
-  i1 pow 2, 12
-
-  print i1
 endin
-
-
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for one second.
-i 1 0 1
-e
-
+i1 0 19.2
 
+e
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/powoftwo.csd b/examples/powoftwo.csd
index 1c50509..4649b86 100644
--- a/examples/powoftwo.csd
+++ b/examples/powoftwo.csd
@@ -1,33 +1,40 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o powoftwo.wav -W ;;; for file output any platform
+; -o poweroftwo.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
-instr 1
-  i1 = powoftwo(12)
-  print i1
-endin
+instr 1	; bit reduction for Lo-Fi sound
 
+iBits	  = p5						;bit depth
+iQuantize = powoftwo(iBits)				;find number of discrete steps for this bit depth
+iQuantize = iQuantize*0.5				;half the number of steps for each side of a bipolar signal
+print	  iQuantize
+asig	  soundin "fox.wav"
+asig	  = round(asig * iQuantize) / iQuantize		;quantize audio signal (bit reduce)
+	  outs asig, asig         
 
+endin
 </CsInstruments>
 <CsScore>
+;        bits
+i1 0   3  16
+i1 ^+3 .  12
+i1 ^+3 .   8
+i1 ^+3 .   4
+i1 ^+3 .   2
+i1 ^+3 .   1
 
-; Play Instrument #1 for one second.
-i 1 0 1
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/prepiano.csd b/examples/prepiano.csd
index 065de44..8606f28 100644
--- a/examples/prepiano.csd
+++ b/examples/prepiano.csd
@@ -1,35 +1,33 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if real audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o prepiano.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 2;
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
 ;;          fund NS detune stiffness decay loss (bndry) (hammer) scan prep
 aa,ab prepiano 60, 3, 10, p4, 3, 0.002, 2, 2, 1, 5000, -0.01, p5, p6, 0, 0.1, 1, 2
-      outs aa*.75, ab*.75
+      outs aa*.2, ab*.2
+
 endin
 </CsInstruments>
-
 <CsScore>
 f1 0 8 2 1 0.6 10 100 0.001 ;; 1 rattle
 f2 0 8 2 1 0.7 50 500 1000  ;; 1 rubber
-i1 0.0 0.5 1 0.09 20
-i1 0.5 .  -1 0.09 40        ;; 1 -> skip initialisation
-i1 1.0 .  -1 0.09 60
-i1 1.5 .  -1 0.09 80
-i1 2.0 1.8  -1 0.09 100
+i1 0.0 1 1 0.09 20
+i1 1 .  -1 0.09 40        ;; 1 -> skip initialisation
+i1 2 .  -1 0.09 60
+i1 3 .  -1 0.09 80
+i1 4 1.8  -1 0.09 100
 e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/print.csd b/examples/print.csd
index cf57429..7f4469c 100644
--- a/examples/print.csd
+++ b/examples/print.csd
@@ -1,38 +1,33 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o print.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  ; Print the fourth p-field.
-  print p4
-endin
 
+irand = rnd(3)			;generate a random number from 0 to 3
+print irand			;print it
+asig  poscil .7, 440*irand, 1
+      outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
+f1 0 16384 10 1	;sine wave
 
-; p4 = value to be printed.
-; Play Instrument #1 for one second, p4 = 50.375.
-i 1 0 1 50.375
-; Play Instrument #1 for one second, p4 = 300.
-i 1 1 1 300
-; Play Instrument #1 for one second, p4 = -999.
-i 1 2 1 -999
+i 1 0 1
+i 1 2 1
+i 1 4 1
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/printf.csd b/examples/printf.csd
new file mode 100644
index 0000000..c0f5b80
--- /dev/null
+++ b/examples/printf.csd
@@ -0,0 +1,37 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+;-o printf.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+Sfile     strget    p4
+ivld      filevalid Sfile
+
+if ivld=0 then
+          printf_i  "Audiofile '%s' does not exist!\n", 1, Sfile
+else
+asig      diskin2   Sfile, 1
+          outs      asig, asig
+endif
+
+endin
+
+</CsInstruments>
+<CsScore>
+
+i 1 0 3 "frox.wav";file does not exist!!!
+i 1 + 3 "fox.wav";but this one certainly does...
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/printk2.csd b/examples/printk2.csd
index c636230..ed32945 100644
--- a/examples/printk2.csd
+++ b/examples/printk2.csd
@@ -1,41 +1,39 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o printk2.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 44100
-ksmps = 1
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  ; Change a value linearly from 0 to 10,
-  ; over the period defined by p3.
-  kval1 line 0, p3, 10
 
-  ; If kval1 is greater than or equal to 5, 
-  ; then kval=2, else kval=1.
-  kval2 = (kval1 >= 5 ? 2 : 1)
-
-  ; Print the value of kval2 when it changes.
-  printk2 kval2
-endin
+kval    randomh 0, 1.2, 20		;choose between 0 and 1.2
+if kval >0 && kval<=.5 then		;3 possible outcomes
+	kval = 1			
+elseif kval >.5 && kval<=1 then
+	kval =2
+elseif kval >1 then
+	kval =3
+endif
 
+printk2 kval				;print value when it changes
+asig    poscil .7, 440*kval, 1
+        outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
+f1 0 16384 10 1
 
-; Play Instrument #1 for 5 seconds.
 i 1 0 5
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/product.csd b/examples/product.csd
new file mode 100644
index 0000000..33b1962
--- /dev/null
+++ b/examples/product.csd
@@ -0,0 +1,36 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o product.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+gisine ftgen 0, 0, 2^10, 10, 1
+
+instr 1
+
+a1   oscili 1, 10.0, gisine		;combine 3 sinusses
+a2   oscili 1, 1.0, gisine		;at different rates
+a3   oscili 1, 3.0, gisine
+ares product a1, a2, a3
+
+ares = ares*10000			;scale result and
+asig poscil .5, ares+110, gisine	;add to frequency			
+     outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+
+i1 0 5
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/pset-midi.csd b/examples/pset-midi.csd
new file mode 100644
index 0000000..39c0a3d
--- /dev/null
+++ b/examples/pset-midi.csd
@@ -0,0 +1,41 @@
+<CsoundSynthesizer> 
+<CsOptions> 
+; Select audio/midi flags here according to platform
+-odac -+rtmidi=virtual -M0 --midi-key-oct=4 --midi-velocity=5   ;;;realtime audio out and virtual midi keyboard
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o pset-midi.wav -W ;;; for file output any platform
+</CsOptions> 
+<CsInstruments> 
+
+sr = 44100 
+ksmps = 32
+0dbfs  = 1 
+nchnls = 2 
+
+instr 1
+
+            pset 0, 0, 3600, 0, 0, 0
+iinstrument = p1
+istarttime  = p2
+iattack     = 0.005
+isustain    = p3
+irelease    = 0.06
+p3          = isustain + iattack + irelease
+kdamping    linsegr 0.0, iattack, 1.0, isustain, 1.0, irelease, 0.0
+
+ioctave     = p4
+ifrequency  = cpsoct(ioctave)
+iamplitude  = p5*.15			;lower volume
+
+print p1, p2, p3, p4, p5
+asig STKBandedWG ifrequency, iamplitude
+     outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+f 0 60	; runs 69 seconds
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/pset.csd b/examples/pset.csd
new file mode 100644
index 0000000..7766fa0
--- /dev/null
+++ b/examples/pset.csd
@@ -0,0 +1,32 @@
+<CsoundSynthesizer> 
+<CsOptions> 
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o pset.wav -W ;;; for file output any platform
+</CsOptions> 
+<CsInstruments> 
+
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2 
+
+instr 1 ;this shows an example with non-midi use
+
+pset 1, 0, 1, 220, 0.5 
+asig poscil p5, p4, 1 
+     outs asig, asig
+ 
+endin 
+</CsInstruments> 
+<CsScore> 
+f 1 0 1024 10 1	;sine wave
+
+i 1 0 1 
+i 1 1 1 440 
+i 1 2 1 440 0.1 
+e
+</CsScore> 
+</CsoundSynthesizer> 
\ No newline at end of file
diff --git a/examples/ptable.csd b/examples/ptable.csd
new file mode 100644
index 0000000..f7948cc
--- /dev/null
+++ b/examples/ptable.csd
@@ -0,0 +1,48 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+; Audio out   Audio in    No messages
+-odac           -iadc     -d     ;;;RT audio I/O
+; For Non-realtime ouput leave only the line below:
+; -o table.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+; Initialize the global variables.
+sr = 44100
+kr = 4410
+ksmps = 10
+nchnls = 1
+
+; Instrument #1.
+instr 1
+  ; Vary our index linearly from 0 to 1.
+  kndx line 0, p3, 1
+
+  ; Read Table #1 with our index.
+  ifn = 1
+  ixmode = 1
+  kfreq ptable kndx, ifn, ixmode
+
+  ; Generate a sine waveform, use our table values 
+  ; to vary its frequency.
+  a1 oscil 20000, kfreq, 2
+  out a1
+endin
+
+
+</CsInstruments>
+<CsScore>
+
+; Table #1, a line from 200 to 2,000.
+f 1 0 1025 -7 200 1024 2000
+; Table #2, a sine wave.
+f 2 0 16384 10 1
+
+; Play Instrument #1 for 2 seconds.
+i 1 0 2
+e
+
+
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/ptablei.csd b/examples/ptablei.csd
new file mode 100644
index 0000000..5108cc7
--- /dev/null
+++ b/examples/ptablei.csd
@@ -0,0 +1,66 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o tablei.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+seed 0	;generate new values every time the instr is played
+
+instr 1
+
+ifn = p4
+isize = p5
+ithresh = 0.5
+    
+itemp ftgen ifn, 0, isize, 21, 2
+
+iwrite_value = 0
+i_index = 0
+    
+loop_start:
+    iread_value ptablei i_index, ifn
+    
+    if iread_value > ithresh then
+         iwrite_value = 1
+    else
+         iwrite_value = -1
+    endif
+ptableiw iwrite_value, i_index, ifn
+loop_lt i_index, 1, isize, loop_start
+    turnoff
+
+endin
+
+instr 2
+
+ifn = p4
+isize = ftlen(ifn)    
+prints "Index\tValue\n"
+    
+i_index = 0
+loop_start:
+    ivalue tablei i_index, ifn
+    prints "%d:\t%f\n", i_index, ivalue
+
+  loop_lt i_index, 1, isize, loop_start		;read table 1 with our index
+
+aout oscili .5, 100, ifn			;use table to play the polypulse
+     outs   aout, aout
+
+endin
+</CsInstruments>
+<CsScore>
+i 1 0 1 100 16
+i 2 0 2 100
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/ptrack.csd b/examples/ptrack.csd
index f8b5746..bdd9c2e 100644
--- a/examples/ptrack.csd
+++ b/examples/ptrack.csd
@@ -1,35 +1,38 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No display
--odac           -iadc     -d     ;;;RT audio I/O
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o ptrack.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-sr= 44100
-ksmps = 16
-nchnls= 1
-
-;Example by Victor Lazzarini 2007
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2
 
 instr 1
-  a1 inch 1              ; take an input signal
-  kf,ka ptrack a1, 512   ; pitch track with winsize=1024
-  kcps port kf, 0.01     ; smooth freq
-  kamp port ka, 0.01     ; smooth amp
 
-  ; drive an oscillator
-  aout oscili ampdb(kamp)*0dbfs, kcps, 1
+ihop  = p4
+aout  diskin2 "fox.wav",1, 0, 1
+kf,ka ptrack aout, ihop	; pitch track with different hopsizes
+kcps  port kf, 0.01	; smooth freq
+kamp  port ka, 0.01	; smooth amp
+; drive an oscillator
+asig  poscil ampdb(kamp)*0dbfs, kcps, 1
+      outs  asig, asig
 
-  out  aout
 endin
-
 </CsInstruments>
 <CsScore>
 ; simple sine wave
 f 1 0 4096 10 1
 
-i 1 0 3600
+i 1 0  5 128
+i 1 6  5 512
+i 1 12 5 1024
 e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/push.csd b/examples/push.csd
new file mode 100644
index 0000000..6edd560
--- /dev/null
+++ b/examples/push.csd
@@ -0,0 +1,39 @@
+<CsoundSynthesizer> 
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o push.wav -W ;;; for file output any platform
+</CsOptions> 
+<CsInstruments> 
+
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2
+
+stack 100000 
+
+instr 1 
+
+a1	oscils 0.7, 220, 0 
+k1	line 0, p3, 1 
+        push "blah", 123.45, a1, k1 
+        push rnd(k1) 
+
+k_rnd	pop 
+S01, i01, a01, k01 pop 
+        printf_i "S01 = '%s', i01 = %g\n", 1, S01, i01 
+ktrig	metro 5.0 
+        printf "k01 = %.3f, k_rnd = %.3f\n", ktrig, k01, k_rnd 
+        outs a01, a01 
+
+endin 
+</CsInstruments> 
+<CsScore> 
+
+i 1 0 5 
+e 
+</CsScore> 
+</CsoundSynthesizer> 
diff --git a/examples/puts.csd b/examples/puts.csd
new file mode 100644
index 0000000..276632a
--- /dev/null
+++ b/examples/puts.csd
@@ -0,0 +1,35 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o puts.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr	1
+
+kcount init 440
+ktrig  metro 10
+kcount = kcount + ktrig
+String sprintfk "frequency in Hertz : %d \n", kcount
+       puts	String, kcount
+       asig poscil .7, kcount, 1
+       outs asig, asig
+	
+endin
+</CsInstruments>
+<CsScore>
+f1 0 16384 10 1
+
+i 1 0 10
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/pvadd.csd b/examples/pvadd.csd
old mode 100755
new mode 100644
index 068b1da..7271774
--- a/examples/pvadd.csd
+++ b/examples/pvadd.csd
@@ -1,43 +1,34 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o pvadd.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2
 
-; Instrument #1.
 instr 1
 ; analyze "fox.wav" with PVANAL first
- igatefn = p4
- ktime line 0, p3, p3
-asig pvadd	ktime, 1, "fox.pvoc", 1, 300, 2, 2, 0, 0, igatefn
+igatefn = p4
+ktime line 0, p3, p3
+asig  pvadd ktime, 1, "fox.pvx", 1, 300, 2, 2, 0, 0, igatefn
+      outs asig*3, asig*3
 
-  out asig*3
 endin
-
-
 </CsInstruments>
 <CsScore>
-
-; Table #1, an ordinary sine wave.
-f 1 0 16384 10 1
+f 1 0 16384 10 1	;sine wave
 f 2 0 512 5 1 256 .001
 f 3 0 512 7 0 256 1 256 1
 
-; Play Instrument #1 for three seconds.
 i 1 0 2.8 2 
 i 1 + 2.8 3
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/pvbufread.csd b/examples/pvbufread.csd
old mode 100755
new mode 100644
index 8e2c1a1..2c1de17
--- a/examples/pvbufread.csd
+++ b/examples/pvbufread.csd
@@ -1,37 +1,32 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o pvbufread.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2
 
-; Instrument #1.
 instr 1
-; analyze "fox.wav" and "mary.wav" with PVANAL first
+; analyze "fox.wav" and "flute.aiff" with PVANAL first
+ktime1 line  0, p3, .8		; use a part of "flute.pvx" file
+ktime2 line  0, p3, 1.2		; use a part of "beats.pvx" file
+kcross expon .03, p3, 1
+       pvbufread ktime1, "flute.pvx"
+asig   pvcross   ktime2, 1, "beats.pvx", 1-kcross, kcross
+       outs asig, asig
 
-ktime1 line    0, p3, 2.8		 ; used as index in the "mary.pvoc" file
-ktime2 line    0, p3, 3		 ; used as index in the "fox.pvoc" file
-kcross	expon	.001, p3, 1
-	pvbufread	ktime1, "mary.pvoc"
-apv	pvcross	ktime2, 1, "fox.pvoc", 1-kcross, kcross
-
-	out apv
 endin
-
-
 </CsInstruments>
-<CsScore>.
+<CsScore>
 i 1 0 3
-i 1 + 1.5
+i 1 + 10
 
 e
 </CsScore>
diff --git a/examples/pvcross.csd b/examples/pvcross.csd
old mode 100755
new mode 100644
index e9c8426..d5f2602
--- a/examples/pvcross.csd
+++ b/examples/pvcross.csd
@@ -1,37 +1,37 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o pvcross.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2
 
-; Instrument #1.
 instr 1
-; analyze "fox.wav" and "mary.wav" with PVANAL first
+; analyze "beats.wav", "flute.aiff" and "mary.wav" with PVANAL first
+ktime1 line 0, p3, 2			; used as index in the "beats.pvx" file
+ktime2 line 0, p3, 2.6			; used as index in the "flute.pvx" or "mary.pvx"	
+       pvbufread ktime1, "beats.pvx"	;take only amplitude from "beats.pvx"
+if p4 = 0 then
+asig   pvcross	ktime2, 1, "flute.pvx", 1, 0 ;and keep freqs of "flute.aiff"
+asig   = asig*.8			;scale output
+else
+asig   pvcross	ktime2, 1, "mary.pvx", 1, 0 ;and keep freqs of "mary.wav"
+asig   = asig*.4			;scale output
+endif
+       outs asig, asig
 
-ktime1 line    0, p3, 2.8		 ; used as index in the "fox.pvoc" file
-ktime2 line    0, p3, 3		 ; used as index in the "mary.pvoc" file
-kcross	expon	.001, p3, 1
-	pvbufread	ktime1, "fox.pvoc"
-apv	pvcross	ktime2, 1, "mary.pvoc", 1-kcross, kcross
-
-	out apv
 endin
-
-
 </CsInstruments>
-<CsScore>.
-i 1 0 3
-i 1 + 1.5
+<CsScore>
+i 1 0 3 0
+i 1 + 3 1
 
 e
 </CsScore>
diff --git a/examples/pvinterp.csd b/examples/pvinterp.csd
old mode 100755
new mode 100644
index 002ed33..648f7df
--- a/examples/pvinterp.csd
+++ b/examples/pvinterp.csd
@@ -1,37 +1,32 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o pvinterp.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2
 
-; Instrument #1.
 instr 1
-; analyze "fox.wav" and "mary.wav" with PVANAL first
+; analyze "fox.wav" and "flute.aiff" with PVANAL first
+ktime1 line 0, p3, 2.8		 ; used as index in the "fox.pvx" file
+ktime2 line 0, p3, 3		 ; used as index in the "flute.pvx" file
+kinterp line 1, p3, 0
+	pvbufread ktime1, "fox.pvx"
+asig	pvinterp ktime2,1,"flute.pvx",.9, 3, .6, 1, kinterp,1-kinterp
+        outs asig, asig
 
-ktime1 line    0, p3, 2.8		 ; used as index in the "fox.pvoc" file
-ktime2 line    0, p3, 3		 ; used as index in the "mary.pvoc" file
-kinterp linseg    1, p3*.15, 1, p3*.35, 0, p3*.25, 0, p3*.15, 1, p3*.1, 1
-	pvbufread	ktime1, "fox.pvoc"
-apv	pvinterp	ktime2,1,"mary.pvoc",1,1.065,1,.75,1-kinterp,1-kinterp
-
-	out apv
 endin
-
-
 </CsInstruments>
-<CsScore>.
+<CsScore>
 i 1 0 3
-i 1 + 5
+i 1 + 10
 
 e
 </CsScore>
diff --git a/examples/pvoc.csd b/examples/pvoc.csd
old mode 100755
new mode 100644
index bcbac01..cd53e66
--- a/examples/pvoc.csd
+++ b/examples/pvoc.csd
@@ -1,36 +1,32 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o pvoc.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2
 
-; Instrument #1.
 instr 1
 ; analyze "fox.wav" with PVANAL first
+ispec = p4
+ktime line 0, p3, 1.55
+kfrq  line .8, p3, 2
+asig  pvoc ktime, kfrq, "fox.pvx", ispec 
+      outs asig, asig
 
-ktime	line	0, p3, 1.6
-asig	pvoc	ktime, 1, "fox.pvoc", 1
-
-  out asig
 endin
-
-
 </CsInstruments>
 <CsScore>
 
-i 1 0 6
+i 1 0 6 0
+i 1 + 6 1	;preserve spectral envelope
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/pvread.csd b/examples/pvread.csd
old mode 100755
new mode 100644
index 3e6e8f9..9843faa
--- a/examples/pvread.csd
+++ b/examples/pvread.csd
@@ -1,39 +1,35 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o pvread.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2
 
-; Instrument #1.
 instr 1
 ; analyze "fox.wav" with PVANAL first
+ibin  = p4
+ktime line 0, p3, 2.8
+kfreq, kamp pvread ktime, "fox.pvx", ibin	;read data from 7th analysis bin.
+asig  poscil kamp, kfreq, 1 			;function 1 is a stored sine
+      outs asig*5, asig*5			;compensate loss of volume
 
-ktime	line	0, p3, 2.8
-kfreq, kamp	pvread ktime, "fox.pvoc", 7	; read data from 7th analysis bin.
-asig	oscili	kamp, kfreq, 1 			; function 1 is a stored sine
-
-  out asig*8
 endin
-
-
 </CsInstruments>
 <CsScore>
-;sine
+;sine wave
 f1 0 4096 10 1
 
-i 1 0 6
+i 1 0 6 7
+i 1 + 6 15
+i 1 + 2 25
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/pvsanal.csd b/examples/pvsanal.csd
old mode 100755
new mode 100644
index 87b23f0..e1e07cf
--- a/examples/pvsanal.csd
+++ b/examples/pvsanal.csd
@@ -1,39 +1,44 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in   No messages  MIDI in
--odac           -iadc     -d       ;;;RT audio I/O with MIDI in
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o pvsanal.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
 sr = 44100
-ksmps = 16
-nchnls = 1
+ksmps = 32
+nchnls = 2
 0dbfs = 1
 
-;; example written by joachim heintz 2009
+instr 1	;pvsanal has no influence when there is no transformation of original sound
 
-instr 1
-ifftsize	=		1024
-ioverlap	=		ifftsize / 4
-iwinsize	=		ifftsize
-iwinshape	=		1; von-Hann window
-Sfile		=		"fox.wav"
-ain		soundin	Sfile
-fftin		pvsanal	ain, ifftsize, ioverlap, iwinsize, iwinshape; fft-analysis of the audio-signal
-fftblur		pvscale	fftin, p4, p5, p6; scale
-aout		pvsynth	fftblur; resynthesis
-		out		aout
+ifftsize  = p4
+ioverlap  = ifftsize / 4
+iwinsize  = ifftsize
+iwinshape = 1							;von-Hann window
+Sfile     = "fox.wav"
+ain       soundin Sfile
+fftin     pvsanal ain, ifftsize, ioverlap, iwinsize, iwinshape	;fft-analysis of the audio-signal
+fftblur   pvscale fftin, p5					;scale
+aout      pvsynth fftblur					;resynthesis
+          outs	  aout, aout
 endin
 
 </CsInstruments>
 <CsScore>
-i 1 0 3 1 0 1; original sound
-i 1 3 3 1.5 0 2; fifth higher without ...
-i 1 6 3 1.5 1 2; ... and with different ...
-i 1 9 3 1.5 2 5; ... kinds of formant preservation
+s
+i 1 0 3 512 1		;original sound - ifftsize of pvsanal does not have any influence
+i 1 3 3 1024 1		;even with different
+i 1 6 3 2048 1		;settings
+
+s
+i 1 0 3 512 1.5		;but transformation - here a fifth higher
+i 1 3 3 1024 1.5	;but with different settings
+i 1 6 3 2048 1.5	;for ifftsize of pvsanal
+
 e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/pvsbuffer.csd b/examples/pvsbuffer.csd
old mode 100755
new mode 100644
diff --git a/examples/pvsbufread2.csd b/examples/pvsbufread2.csd
new file mode 100644
index 0000000..024564f
--- /dev/null
+++ b/examples/pvsbufread2.csd
@@ -0,0 +1,36 @@
+<CsoundSynthesizer>
+<CsOptions>
+</CsOptions>
+
+<CsInstruments>
+ksmps  = 64
+0dbfs  = 1
+nchnls = 2
+
+instr 1
+kcnt     init         0
+ifftsize =            2048
+ihop     =            ifftsize/4
+
+a1       diskin2      "beats.wav", 1, 0, 1
+a1       =            a1*0.5
+fsig1    pvsanal      a1, ifftsize, ihop, ifftsize, 1
+ih, kt   pvsbuffer    fsig1, 10
+
+fsig2    pvsbufread2  kt, ih, 1, 1
+fsig3    pvsbufread2  kt, ih, 2, 2
+
+a2       pvsynth      fsig3
+a3       pvsynth      fsig2
+
+         outs         a2, a3
+endin
+</CsInstruments>
+
+<CsScore>
+f1 0 2048 -7 0 128 1.1 128 0.5  256 1.8 512 1.1 1024 0.1
+f2 0 2048 -7 1 128 0.2 128 0.05 256 0.5 512 0.9 1024 0.1
+
+i1 0 60
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/pvsdiskin.csd b/examples/pvsdiskin.csd
old mode 100755
new mode 100644
index 1217216..995b5ea
--- a/examples/pvsdiskin.csd
+++ b/examples/pvsdiskin.csd
@@ -1,32 +1,30 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in   No messages  MIDI in
--odac           -iadc     -d       ;;;RT audio I/O with MIDI in
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o pvsdiskin.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2
 
 instr 1
 ; create a PVOC-EX (*.pvx) file with PVANAL first
-ktscale	line	1, p3, .05
-fsigr	pvsdiskin	"fox.pvx", ktscale, 1	; read PVOCEX file with tscale and gain = 1
-aout	pvsynth	fsigr						; resynthesise it
-	out	aout
-endin
+ktscale	line 1, p3, .05			;change speed 
+fsigr	pvsdiskin "fox.pvx", ktscale, 1	;read PVOCEX file
+aout	pvsynth	fsigr			;resynthesise it
+	outs	aout, aout
 
+endin
 </CsInstruments>
 <CsScore>
 
-i 1 0 3
+i 1 0 10
 e
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/pvsfread.csd b/examples/pvsfread.csd
new file mode 100644
index 0000000..c9e2c6d
--- /dev/null
+++ b/examples/pvsfread.csd
@@ -0,0 +1,32 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o pvsfread.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2
+
+instr 1
+; create a PVOC-EX (*.pvx) file with PVANAL first
+idur  filelen   "kickroll.pvx"		;find duration of (stereo) analysis file
+kpos  line      0,p3,idur		;to ensure we process whole file
+fsigr pvsfread  kpos,"kickroll.pvx", 1	;create fsig from right channel
+aout  pvsynth	fsigr			;resynthesise it
+      outs	aout, aout
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 10
+i 1 11 1
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/pvsftr.csd b/examples/pvsftr.csd
old mode 100755
new mode 100644
index 6f31359..b16584a
--- a/examples/pvsftr.csd
+++ b/examples/pvsftr.csd
@@ -1,46 +1,46 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in   No messages  MIDI in
--odac           -iadc     -d       ;;;RT audio I/O with MIDI in
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o pvsftr.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+gifil ftgen 0, 0, 0, -1, "fox.wav", 0, 0, 1
 
 instr 1
-inbins	=	512
-ifn	ftgen		0,0,inbins,10,1		; make ftable
 
-fsrc	pvsdiskin	"fox2.pvx", 1, 1	; read PVOCEX file with tscale and gain = 1
-kflag	pvsftw	fsrc,ifn			; export amps to table,
-kamp	init	0
-if      kflag==0   kgoto contin			; only proc when frame is ready
-							; kill lowest bins, for obvious effect
-	tablew	kamp,1,ifn
-	tablew	kamp,2,ifn
-	tablew	kamp,3,ifn
-	tablew	kamp,4,ifn
-; read modified data back to fsrc
-	pvsftr	fsrc,ifn
-contin:
-; and resynth
-aout	pvsynth	fsrc
-	out	aout
+ifftsize = 1024				;fft size
+ioverlap = 256				;overlap
+knewamp  = 0				;new value for amplitudes
 
-endin
+;create fsig stream from function table
+fsrc	pvstanal 1, 1, 1, gifil, 0, 0, 0, ifftsize, ioverlap, 0
+ifn	ftgen	0, 0, ifftsize/2, 2, 0	;create empty function table
+kflag	pvsftw	fsrc,ifn		;export amps to table	
+;overwrite the first 10 bins each time the table has been filled new
+if kflag == 1 then
+kndx = 0
+kmaxbin = 10
+loop:
+tablew knewamp, kndx, ifn
+loop_le kndx, 1, kmaxbin, loop
+endif
+	pvsftr	fsrc,ifn		;read modified data back to fsrc
+aout	pvsynth	fsrc			;and resynth
+	outs	aout, aout
 
+endin
 </CsInstruments>
 <CsScore>
-
-i 1 0 3
+i 1 0 4
 e
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/pvsftw.csd b/examples/pvsftw.csd
old mode 100755
new mode 100644
index bbca4c1..4c4c222
--- a/examples/pvsftw.csd
+++ b/examples/pvsftw.csd
@@ -1,29 +1,27 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in   No messages  MIDI in
--odac           -iadc     -d       ;;;RT audio I/O with MIDI in
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o pvsftw.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
 instr 1
-inbins	=	512
-ifn	ftgen		0,0,inbins,10,1		; make ftable
 
-fsrc	pvsdiskin	"fox2.pvx", 1, 1	; read PVOCEX file with tscale and gain = 1
-kflag	pvsftw	fsrc,ifn			; export amps to table,
+inbins	=	512
+ifn	ftgen	0,0,inbins,10,1		; make ftable
+fsrc	pvsdiskin "fox.pvx", 1, 1	; read PVOCEX file
+kflag	pvsftw	fsrc,ifn		; export amps to table,
 kamp	init	0
-if      kflag==0   kgoto contin			; only proc when frame is ready
-							; kill lowest bins, for obvious effect
-	tablew	kamp,1,ifn
+if      kflag==0   kgoto contin		; only proc when frame is ready							
+	tablew	kamp,1,ifn		; kill lowest bins, for obvious effect
 	tablew	kamp,2,ifn
 	tablew	kamp,3,ifn
 	tablew	kamp,4,ifn
@@ -32,7 +30,7 @@ if      kflag==0   kgoto contin			; only proc when frame is ready
 contin:
 ; and resynth
 aout	pvsynth	fsrc
-	out	aout
+	outs	aout, aout
 
 endin
 
diff --git a/examples/pvsgain.csd b/examples/pvsgain.csd
new file mode 100644
index 0000000..1936766
--- /dev/null
+++ b/examples/pvsgain.csd
@@ -0,0 +1,34 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o pvsgain.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+kgain = p4
+asig  diskin2	"beats.wav", 1
+fsig  pvsanal   asig, 1024, 256, 1024, 1; analyse it
+ftps  pvsgain   fsig, kgain		; amplify it
+atps  pvsynth   ftps			; synthesise it
+      outs      atps, atps
+
+endin
+</CsInstruments>
+<CsScore>
+	
+i1 0 2 .5
+i1 + 2  1
+	
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/pvsifd.csd b/examples/pvsifd.csd
old mode 100755
new mode 100644
index f2461f1..4d38e86
--- a/examples/pvsifd.csd
+++ b/examples/pvsifd.csd
@@ -1,29 +1,27 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in   No messages  MIDI in
--odac           -iadc     -d       ;;;RT audio I/O with MIDI in
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o pvsifd.wav -W ;;; for file output any platform
-;heavy on CPU
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
 instr 1
-ain	diskin2	"beats.wav", 1, 0, 1                  
-fs1,fsi2 pvsifd	ain, 2048, 512, 1		; pvsifd analysis
-fst	partials	fs1, fsi2, .003, 1,3, 500	; partial tracking
-aout	resyn		fst, 1, 1.5, 500, 1		; resynthesis (up a 5th)
-	out	aout
 
-endin
+ain	diskin2  "beats.wav", 1, 0, 1                  
+fs1,fsi2 pvsifd  ain, 2048, 512, 1		; pvsifd analysis
+fst	partials fs1, fsi2, .1, 1,3, 500	; partial tracking
+aout	resyn    fst, 1, 1.5, 500, 1		; resynthesis (up a 5th)
+	outs	aout, aout
 
+endin
 </CsInstruments>
 <CsScore>
 ;sine
@@ -31,6 +29,5 @@ f1 0 4096 10 1
 
 i 1 0 2
 e
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/pvsinfo.csd b/examples/pvsinfo.csd
old mode 100755
new mode 100644
index 36ebce3..04ff2e7
--- a/examples/pvsinfo.csd
+++ b/examples/pvsinfo.csd
@@ -1,38 +1,35 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in   No messages  MIDI in
--odac           -iadc     -d       ;;;RT audio I/O with MIDI in
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o pvsinfo.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
 instr 1
 ; create a PVOC-EX (*.pvx) file with PVANAL first
-idur	filelen   "fox.pvx"		; find dur of (stereo) analysis file
-kpos	line      0,p3,idur				; to ensure we process whole file
-fsrc	pvsfread kpos, "fox.pvx"	; create fsig from R channel
+idur filelen  "fox.pvx"		;find duration of analysis file
+kpos line     0,p3,idur		;to ensure we process whole file
+fsrc pvsfread kpos, "fox.pvx"	;create fsig from (mono) file
 
-iovl,inb,iws,ifmt pvsinfo	fsrc        		; get inumbins info
-print iovl,inb,iws,ifmt				; print the info
+iovl,inb,iws,ifmt pvsinfo fsrc	;get info
+print iovl,inb,iws,ifmt		;print info
 
-aout	pvsynth	fsrc
-	out	aout
+aout pvsynth fsrc
+     outs aout, aout
 
 endin
-
 </CsInstruments>
 <CsScore>
 
 i 1 0 3
 e
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/pvslock.csd b/examples/pvslock.csd
new file mode 100644
index 0000000..72f6e2d
--- /dev/null
+++ b/examples/pvslock.csd
@@ -0,0 +1,35 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o pvslock.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+gifil ftgen 0, 0, 0, 1, "fox.wav", 0, 0, 1
+
+instr 1
+
+klock	= p4
+fsig    pvstanal 1, 1, 1, gifil	; no further transformations		
+fsigout	pvslock  fsig, klock	; lock frequency 
+aout    pvsynth  fsigout
+        outs     aout, aout
+
+endin
+</CsInstruments>
+<CsScore>
+          
+i 1 0 2.6 1	; locked
+i 1 3 2.6 0	; not locked     
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/pvsmix.csd b/examples/pvsmix.csd
new file mode 100644
index 0000000..717a101
--- /dev/null
+++ b/examples/pvsmix.csd
@@ -0,0 +1,35 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o pvsmix.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+gisin	ftgen	1, 0, 2048, 10, 1
+
+instr 1
+
+asig1 diskin2 "fox.wav", 1		;signal in 1
+asig2 oscil   .3, 100, gisin		;signal in 2
+fsig1 pvsanal asig1,1024,256,1024,0	;pvoc analysis 
+fsig2 pvsanal asig2,1024,256,1024,0	;of both signals
+fsall pvsmix  fsig1, fsig2 
+asig  pvsynth fsall
+      outs asig, asig 
+
+endin 
+</CsInstruments>
+<CsScore>
+
+i 1 0 3
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/pvsmooth.csd b/examples/pvsmooth.csd
new file mode 100644
index 0000000..e7a188e
--- /dev/null
+++ b/examples/pvsmooth.csd
@@ -0,0 +1,36 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o pvsmooth.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+kacf = p4
+kfcf = p5
+asig soundin "fox.wav"
+fsig pvsanal asig, 1024, 256, 1024, 1	; analyse it
+ftps pvsmooth fsig, kacf, kfcf
+atps pvsynth ftps			; synthesise it                      
+     outs atps*3, atps*3
+
+endin
+</CsInstruments>
+<CsScore>
+;       amp  freq 
+i 1 0 3 0.01 0.01	;smooth amplitude and frequency with cutoff frequency of filter at 1% of 1/2 frame-rate (ca 0.86 Hz)
+i 1 + 3  1   0.01	;no smoothing on amplitude, but frequency with cf at 1% of 1/2 frame-rate (ca 0.86 Hz)
+i 1 + 10 .001  1	;smooth amplitude with cf at 0.1% of 1/2 frame-rate (ca 0.086 Hz)
+			;and no smoothing of frequency
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/pvstanal.csd b/examples/pvstanal.csd
new file mode 100644
index 0000000..490ddae
--- /dev/null
+++ b/examples/pvstanal.csd
@@ -0,0 +1,44 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o pvstanal.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+gifil     ftgen     0, 0, 0, 1, "fox.wav", 0, 0, 1
+
+instr 1
+
+fsig      pvstanal  p4, 1, p5, gifil, p6, p7
+aout      pvsynth   fsig
+          outs      aout, aout
+endin
+
+instr 2
+
+kspeed    randi     2, 2, 2 ;speed randomly between -2 and 2
+kpitch    randi     2, 2, 2 ;pitch between 2 octaves lower or higher
+fsig      pvstanal  kspeed, 1, octave(kpitch), gifil
+aout      pvsynth   fsig
+          outs      aout, aout
+endin
+
+</CsInstruments>
+<CsScore>
+;           speed pch det wrap
+i 1 0 2.757 1     1   0   0
+i 1 3 .     2     1   0   0
+i 1 6 .     2     1   0   1
+i 1 9 .     1     .75
+i 2 12 10 ;random scratching
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/pvsvoc.csd b/examples/pvsvoc.csd
new file mode 100644
index 0000000..f549109
--- /dev/null
+++ b/examples/pvsvoc.csd
@@ -0,0 +1,36 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o pvsvoc.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+gisaw	ftgen	1, 0, 2048, 10, 1, 0.5, 0.3, 0.25, 0.2	;sawtooth-like
+
+instr 1
+
+asig in					;get the signal in
+asyn poscil .6, 150, gisaw		;excitation signal of 150 Hz
+
+famp pvsanal asig, 1024, 256, 1024, 1	;analyse in signal
+fexc pvsanal asyn, 1024, 256, 1024, 1	;analyse excitation signal
+ftps pvsvoc  famp, fexc, 1, 1		;cross it
+atps pvsynth ftps			;synthesise it                      
+     outs atps, atps
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 10
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/pvswarp.csd b/examples/pvswarp.csd
new file mode 100644
index 0000000..78f39e3
--- /dev/null
+++ b/examples/pvswarp.csd
@@ -0,0 +1,35 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o pvswarp.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+kscal = p4
+asig  soundin "fox.wav"			; get the signal in
+fsig  pvsanal asig, 1024, 256, 1024, 1	; analyse it
+ftps  pvswarp fsig, kscal, 0		; warp it
+atps  pvsynth ftps			; synthesise it                      
+      outs atps, atps
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 3 1
+i 1 + 3 1.5
+i 1 + 3 3
+i 1 + 3 .25
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/pwd.csd b/examples/pwd.csd
new file mode 100644
index 0000000..b69b8df
--- /dev/null
+++ b/examples/pwd.csd
@@ -0,0 +1,32 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+; Audio out   Audio in
+-odac          ; -iadc    ;;;RT audio I/O
+; For Non-realtime ouput leave only the line below:
+; -o system.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+; Initialize the global variables.
+sr = 44100
+kr = 4410
+ksmps = 10
+nchnls = 1
+
+instr 1
+; Waits for command to execute before continuing
+Swd pwd
+puts Swd, 1
+endin
+
+</CsInstruments>
+<CsScore>
+
+; Play Instrument #1 for minimal time.
+i 1 0 0.1
+e
+
+
+</CsScore>
+</CsoundSynthesizer> 
\ No newline at end of file
diff --git a/examples/q.csd b/examples/q.csd
new file mode 100644
index 0000000..cb087ff
--- /dev/null
+++ b/examples/q.csd
@@ -0,0 +1,42 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o q.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+aenv expseg .01, p3*0.25, 1, p3*0.75, 0.01
+asig poscil3 .8*aenv, p4, 1
+     outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+f 1 0 16384 10 1;sine wave
+s
+q 1 6 0		;mute at 6 seconds in this section
+i 1 0 2 110
+i 1 3 2 220
+i 1 6 2 440
+i 1 9 2 880
+
+s
+q 1 6 1		;unmute again at 6 seconds in this section
+i 1 0 2 110
+i 1 3 2 220
+i 1 6 2 440
+i 1 9 2 880
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/qinf.csd b/examples/qinf.csd
new file mode 100644
index 0000000..b9e6ca7
--- /dev/null
+++ b/examples/qinf.csd
@@ -0,0 +1,48 @@
+<CsoundSynthesizer>
+<CsOptions>
+-+rtaudio=alsa -o dac:hw:0
+</CsOptions>
+<CsInstruments>
+nchnls = 2
+ksmps = 400
+
+#define WII_B           #3#
+#define WII_A           #4#
+#define WII_R_A         #304#
+#define WII_PITCH       #20#
+#define WII_ROLL        #21#
+
+gkcnt init 1
+
+instr 1  
+  i1  wiiconnect 3,1
+
+      wiirange   $WII_PITCH., -20, 0
+  kt  wiidata    $WII_B.
+  ka  wiidata    $WII_A.
+  kra wiidata    $WII_R_A.
+  gka wiidata    $WII_PITCH.
+  gkp wiidata    $WII_ROLL.
+; If the B (trigger) button is pressed then activate a note
+  if  (kt==0)    goto ee
+  if (qinf(gka)) goto ee
+  if (qinf(gkp)) goto ee
+  event "i", 2, 0, 5
+  gkcnt = gkcnt + 1
+  printk2  kb
+endin
+
+instr 2
+  a1 oscil  ampdbfs(gka), 440+gkp, 1
+     outs   a1, a1
+endin
+
+</CsInstruments>
+
+<CsScore>
+f1 0 4096 10 1
+i1 0 300
+
+</CsScore>
+
+</CsoundSynthesizer>
diff --git a/examples/qnan.csd b/examples/qnan.csd
new file mode 100644
index 0000000..7bff9a7
--- /dev/null
+++ b/examples/qnan.csd
@@ -0,0 +1,48 @@
+<CsoundSynthesizer>
+<CsOptions>
+-+rtaudio=alsa -o dac:hw:0
+</CsOptions>
+<CsInstruments>
+nchnls = 2
+ksmps = 400
+
+#define WII_B           #3#
+#define WII_A           #4#
+#define WII_R_A         #304#
+#define WII_PITCH       #20#
+#define WII_ROLL        #21#
+
+gkcnt init 1
+
+instr 1  
+  i1  wiiconnect 3,1
+
+      wiirange   $WII_PITCH., -20, 0
+  kt  wiidata    $WII_B.
+  ka  wiidata    $WII_A.
+  kra wiidata    $WII_R_A.
+  gka wiidata    $WII_PITCH.
+  gkp wiidata    $WII_ROLL.
+; If the B (trigger) button is pressed then activate a note
+  if  (kt==0)    goto ee
+  if (qnan(gka)) goto ee
+  if (qnan(gkp)) goto ee
+  event "i", 2, 0, 5
+  gkcnt = gkcnt + 1
+  printk2  kb
+endin
+
+instr 2
+  a1 oscil  ampdbfs(gka), 440+gkp, 1
+     outs   a1, a1
+endin
+
+</CsInstruments>
+
+<CsScore>
+f1 0 4096 10 1
+i1 0 300
+
+</CsScore>
+
+</CsoundSynthesizer>
diff --git a/examples/raises.csd b/examples/raises.csd
index efeb6b5..1e0c755 100644
--- a/examples/raises.csd
+++ b/examples/raises.csd
@@ -1,33 +1,36 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o raises.wav -W ;;; for file output any platform
+;-o ^.wav        ; output to audio file
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
-
-; Instrument #1.
-instr 1
-  i1 = 2 ^ 12
-  print i1
-endin
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+  
+instr 1	; Lo-Fi sound
 
+kpow	  = 10						;exponent
+kbase	  line 1, p3, 2.2				;vary the base
+kQuantize = kbase^kpow
+kQuantize = kQuantize*0.5				;half the number of steps for each side of a bipolar signal
+printk2	  kQuantize
+asig	  diskin2 "fox.wav", 1, 0, 1			;loop the fox
+asig	  = round(asig * kQuantize) / kQuantize		;quantize and scale audio signal
+	  outs asig, asig  
 
+endin
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for one second.
-i 1 0 1
-e
-
+i1 0 19.2
 
+e
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/rand.csd b/examples/rand.csd
index 1028ac1..8d42031 100644
--- a/examples/rand.csd
+++ b/examples/rand.csd
@@ -1,40 +1,42 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o rand.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
-
-; Instrument #1.
-instr 1
-  ; Choose a random frequency between 4,100 and 44,100.
-  kfreq rand 20000
-  kcps = kfreq + 24100
-
-  a1 oscil 30000, kcps, 1
-  out a1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1	;same values every time
+
+krnd rand 100
+     printk .5, krnd			; look 
+aout oscili 0.8, 440+krnd, 1		; & listen
+     outs aout, aout
+
 endin
 
+instr 2	;different values every time
+
+krnd rand 100, 10			; seed from system clock
+     printk .5, krnd			; look 
+aout oscili 0.8, 440+krnd, 1		; & listen
+     outs aout, aout
 
+endin
 </CsInstruments>
 <CsScore>
+f 1 0 16384 10 1	;sine wave.
 
-; Table #1, a sine wave.
-f 1 0 16384 10 1
-
-; Play Instrument #1 for one second.
 i 1 0 1
+i 2 2 1
 e
 
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/randh.csd b/examples/randh.csd
index a50d372..ecc3fe0 100644
--- a/examples/randh.csd
+++ b/examples/randh.csd
@@ -1,47 +1,41 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o randh.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
-
-; Instrument #1.
-instr 1
-  ; Choose a random frequency between 200 and 1000.
-  ; Generate new random numbers at 4 Hz.
-  ; kamp = 400
-  ; kcps = 4
-  ; iseed = 0.5
-  ; isize = 0
-  ; ioffset = 600
-
-  kcps randh 400, 4, 0.5, 0, 600
-  printk2 kcps
-
-  a1 oscil 30000, kcps, 1
-  out a1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1	;same values every time
+
+krnd randh 100, 10
+     printk2 krnd			; look 
+aout oscili 0.8, 440+krnd, 1		; & listen
+     outs aout, aout
+
 endin
 
+instr 2	;different values every time
+
+krnd randh 100, 10, 10			; seed from system clock
+     printk2 krnd			; look 
+aout oscili 0.8, 440+krnd, 1		; & listen
+     outs aout, aout
 
+endin
 </CsInstruments>
 <CsScore>
+f 1 0 16384 10 1	;sine wave.
 
-; Table #1, a sine wave.
-f 1 0 16384 10 1
-
-; Play Instrument #1 for one second.
-i 1 0 5
+i 1 0 1
+i 2 2 1
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/randi.csd b/examples/randi.csd
index a496547..9d430b3 100644
--- a/examples/randi.csd
+++ b/examples/randi.csd
@@ -1,46 +1,41 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o randi.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
-
-; Instrument #1.
-instr 1
-  ; Choose a random frequency between 4,100 and 44,100.
-  ; Generate new random numbers at 10 Hz.
-  ; kamp = 40000
-  ; kcps = 10
-  ; iseed = 0.5
-  ; isize = 0
-  ; ioffset = 4100
-
-  kcps randi 40000, 10, 0.5, 0, 4100
-
-  a1 oscil 30000, kcps, 1
-  out a1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1	;same values every time
+
+krnd randi 100, 10
+     printk .5, krnd			; look 
+aout oscili 0.8, 440+krnd, 1		; & listen
+     outs aout, aout
+
 endin
 
+instr 2	;different values every time
+
+krnd randi 100, 10, 10			; seed from system clock
+     printk .5, krnd			; look 
+aout oscili 0.8, 440+krnd, 1		; & listen
+     outs aout, aout
 
+endin
 </CsInstruments>
 <CsScore>
+f 1 0 16384 10 1	;sine wave.
 
-; Table #1, a sine wave.
-f 1 0 16384 10 1
-
-; Play Instrument #1 for one second.
 i 1 0 1
+i 2 2 1
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/random.csd b/examples/random.csd
index 5ac86ad..53e16b7 100644
--- a/examples/random.csd
+++ b/examples/random.csd
@@ -1,37 +1,42 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o random.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
-
-; Instrument #1.
-instr 1
-  ; Generate a random number between 220 and 440.
-  kmin init 220
-  kmax init 440
-  k1 random kmin, kmax
-
-  printks "k1 = %f\\n", 0.1, k1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1	;same values every time
+
+krnd random 100, 1000
+     printk .5, krnd			; look 
+aout oscili 0.8, 440+krnd, 1		; & listen
+     outs aout, aout
+
 endin
 
+instr 2	;different values every time
+
+seed 0
+krnd random 100, 1000			; seed from system clock
+     printk .5, krnd			; look 
+aout oscili 0.8, 440+krnd, 1		; & listen
+     outs aout, aout
 
+endin
 </CsInstruments>
 <CsScore>
+f 1 0 16384 10 1	;sine wave.
 
-; Play Instrument #1 for one second.
 i 1 0 1
+i 2 2 1
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/randomh.csd b/examples/randomh.csd
index 26e59b3..3488911 100644
--- a/examples/randomh.csd
+++ b/examples/randomh.csd
@@ -14,30 +14,33 @@ kr = 4410
 ksmps = 10
 nchnls = 1
 
+     seed 0
+     
 ; Instrument #1.
 instr 1
   ; Choose a random frequency between 220 and 440 Hz.
   ; Generate new random numbers at 10 Hz.
-  kmin = 220
-  kmax = 440
-  kcps = 10
-
-  k1 randomh kmin, kmax, kcps
-
-  printks "k1 = %f\\n", 0.1, k1
+  kmin    init 220
+  kmax    init 440
+  kcps    init 10
+  imode   =    p4
+  ifstval =    p5
+  
+     printf_i "\nMode: %d\n", 1, imode
+  k1 randomh kmin, kmax, kcps, imode, ifstval
+     printk2 k1
 endin
 
-
 </CsInstruments>
 <CsScore>
 
-; Table #1, a sine wave.
-f 1 0 16384 10 1
-
-; Play Instrument #1 for one second.
+; Play Instrument #1 for one second,
+; each time with a different mode.
 i 1 0 1
+i 1 1 1 2 330
+i 1 2 1 3
 e
 
-
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/randomi.csd b/examples/randomi.csd
index def7ad5..95f913e 100644
--- a/examples/randomi.csd
+++ b/examples/randomi.csd
@@ -14,27 +14,34 @@ kr = 4410
 ksmps = 10
 nchnls = 1
 
+     seed 0
+     
 ; Instrument #1.
 instr 1
   ; Choose a random frequency between 220 and 440.
   ; Generate new random numbers at 10 Hz.
-  kmin init 220
-  kmax init 440
-  kcps init 10
-
-  k1 randomi kmin, kmax, kcps
-
-  printks "k1 = %f\\n", 0.1, k1
+  kmin    init 220
+  kmax    init 440
+  kcps    init 10
+  imode   =    p4
+  ifstval =    p5
+  
+     printf_i "\nMode: %d\n", 1, imode
+  k1 randomi kmin, kmax, kcps, imode, ifstval
+     printks "k1 = %f\n", 0.1, k1
 endin
 
-
 </CsInstruments>
 <CsScore>
 
 ; Play Instrument #1 for one second.
+; each time with a different mode.
 i 1 0 1
+i 1 1 1 1
+i 1 2 1 2 330
+i 1 3 1 3
 e
 
-
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/rbjeq.csd b/examples/rbjeq.csd
index ab4c3c6..28a9b11 100644
--- a/examples/rbjeq.csd
+++ b/examples/rbjeq.csd
@@ -1,33 +1,35 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o rbjeq.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-sr      =  44100
-ksmps   =  10
-nchnls  =  1
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-        instr 1
-
-a1      vco2    10000, 155.6            ; sawtooth wave
-kfco    expon   8000, p3, 200           ; filter frequency
-a1      rbjeq   a1, kfco, 1, kfco * 0.005, 1, 0 ; resonant lowpass
-        out a1
-
-        endin
+instr 1
 
+imode = p4
+a1    vco2    .3, 155.6			; sawtooth wave
+kfco  expon   8000, p3, 200		; filter frequency
+asig  rbjeq   a1, kfco, 1, kfco * 0.005, 1, imode
+      outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
 
-i 1 0 5
-e
-
+i 1 0  5 0	;lowpass
+i 1 6  5 2	;highpass
+i 1 12 5 4	;bandpass
+i 1 18 5 8	;equalizer
 
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/readf.csd b/examples/readf.csd
new file mode 100644
index 0000000..48d9c66
--- /dev/null
+++ b/examples/readf.csd
@@ -0,0 +1,27 @@
+<CsoundSynthesizer>
+<CsOptions>
+-n
+</CsOptions>
+
+<CsInstruments>
+instr 1
+  Swd           pwd
+                printf_i      "Working directory is '%s'\n", 1, Swd
+                prints        "Reading myself =):\n"
+read:
+  Sline, kLinNum readf "readf.csd"
+                printf "Line %d: %s", kLinNum, kLinNum, Sline
+  if kLinNum != -1 then
+                kgoto read
+  else 
+                turnoff
+  endif
+endin
+</CsInstruments>
+
+<CsScore>
+i1 0 1
+e
+</CsScore>
+
+</CsoundSynthesizer>
diff --git a/examples/readfi.csd b/examples/readfi.csd
new file mode 100644
index 0000000..11ef36a
--- /dev/null
+++ b/examples/readfi.csd
@@ -0,0 +1,23 @@
+<CsoundSynthesizer>
+<CsOptions>
+-n
+</CsOptions>
+
+<CsInstruments>
+instr 1
+    Swd pwd
+        printf_i "Working directory is '%s'\n", 1, Swd
+        prints "Reading myself =):\n"
+read:
+Sline, iLineNum readfi "readfi.csd"
+        printf_i  "Line %d: %s", iLineNum, iLineNum, Sline
+        if iLineNum != -1 igoto read
+endin
+</CsInstruments>
+
+<CsScore>
+i1 0 0.1
+e
+</CsScore>
+
+</CsoundSynthesizer>
diff --git a/examples/readk-2.csd b/examples/readk-2.csd
new file mode 100644
index 0000000..61d4133
--- /dev/null
+++ b/examples/readk-2.csd
@@ -0,0 +1,37 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o readk-2.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giSine ftgen 0, 0, 2^10, 10, 1
+
+instr 1 ;writes a control signal to a file
+kfreq randh  100, 1, 2, 1, 500 ;generates one random number between 400 and 600 per second
+      dumpk  kfreq, "dumpk.txt", 8, 1 ;writes the control signal
+      printk 1, kfreq 				 ;prints it
+endin
+
+instr 2 ;reads the file written by instr 1
+kfreq readk  "dumpk.txt", 8, 1
+      printk 1, kfreq ;prints it
+aout  poscil .2, kfreq, giSine
+      outs   aout, aout
+endin
+
+</CsInstruments>
+<CsScore>
+i 1 0 5
+i 2 5 5
+e
+</CsScore>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/readk2.csd b/examples/readk2.csd
new file mode 100644
index 0000000..7f1d3a4
--- /dev/null
+++ b/examples/readk2.csd
@@ -0,0 +1,42 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o readk2.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giSine ftgen 0, 0, 2^10, 10, 1
+
+instr 1 ;writes two control signals to a file
+kfreq     randh     100, 1, 2, 1, 500 ;generates one random number between 400 and 600 per second
+kdb       randh     12, 1, 2, 1, -12 ;amplitudes in dB between -24 and 0
+          dumpk2    kfreq, kdb, "dumpk2.txt", 8, 1 ;writes the control signals
+          prints    "WRITING:\n"
+          printks   "kfreq = %f, kdb = %f\n", 1, kfreq, kdb  ;prints them
+endin
+
+instr 2 ;reads the file written by instr 1
+kf,kdb    readk2    "dumpk2.txt", 8, 1
+          prints    "READING:\n"
+          printks   "kfreq = %f, kdb = %f\n", 1, kf, kdb  ;prints again
+kdb       lineto    kdb, .1 ;smoothing amp transition
+aout      poscil    ampdb(kdb), kf, giSine
+          outs      aout, aout
+endin
+
+</CsInstruments>
+<CsScore>
+i 1 0 5
+i 2 5 5
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/readk3.csd b/examples/readk3.csd
new file mode 100644
index 0000000..ea59f31
--- /dev/null
+++ b/examples/readk3.csd
@@ -0,0 +1,45 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o readk3.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giSine ftgen 0, 0, 2^10, 10, 1
+
+instr 1 ;writes three control signals to a file
+kfreq     randh     100, 1, 2, 1, 500 ;generates one random number between 400 and 600 per second
+kdb       randh     12, 1, 2, 1, -12 ;amplitudes in dB between -24 and 0
+kpan      randh     .5, 1, 2, 1, .5 ;panning between 0 and 1
+          dumpk3    kfreq, kdb, kpan, "dumpk3.txt", 8, 1 ;writes the control signals
+          prints    "WRITING:\n"
+          printks   "kfreq = %f, kdb = %f, kpan = %f\n", 1, kfreq, kdb, kpan  ;prints them
+endin
+
+instr 2 ;reads the file written by instr 1
+kf,kdb,kp readk3    "dumpk3.txt", 8, 1
+          prints    "READING:\n"
+          printks   "kfreq = %f, kdb = %f, kpan = %f\n", 1, kf, kdb, kp  ;prints again
+kdb       lineto    kdb, .1 ;smoothing amp transition
+kp        lineto    kp, .1 ;smoothing pan transition
+aout      poscil    ampdb(kdb), kf, giSine
+aL, aR    pan2      aout, kp
+          outs      aL, aR
+endin
+
+</CsInstruments>
+<CsScore>
+i 1 0 5
+i 2 5 5
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/readk4.csd b/examples/readk4.csd
new file mode 100644
index 0000000..615ee12
--- /dev/null
+++ b/examples/readk4.csd
@@ -0,0 +1,48 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o readk4.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giSine ftgen 0, 0, 2^10, 10, 1
+
+instr 1 ;writes four control signals to a file
+kcf       randh     950, 1, 2, 1, 1050 ;generates one random number between 100 and 2000 per second
+kq        randh     10, 1, 2, 1, 11 ;generates another random number between 1 and 21 per second
+kdb       randh     9, 1, 2, 1, -15 ;amplitudes in dB between -24 and -6
+kpan      randh     .5, 1, 2, 1, .5 ;panning between 0 and 1
+          dumpk4    kcf, kq, kdb, kpan, "dumpk4.txt", 8, 1 ;writes the control signals
+          prints    "WRITING:\n"
+          printks   "kcf = %f, kq = %f, kdb = %f, kpan = %f\n", 1, kcf, kq, kdb, kpan  ;prints them
+endin
+
+instr 2 ;reads the file written by instr 1
+kcf,kq,kdb,kp readk4 "dumpk4.txt", 8, 1
+          prints    "READING:\n"
+          printks   "kcf = %f, kq = %f, kdb = %f, kpan = %f\n", 1, kcf, kq, kdb, kp  ;prints values
+kdb       lineto    kdb, .1 ;smoothing amp transition
+kp        lineto    kp, .1 ;smoothing pan transition
+anoise    rand      ampdb(kdb), 2, 1
+kbw       =         kcf/kq ;bandwidth of resonant filter
+abp       reson     anoise, kcf, kbw
+aout      balance   abp, anoise
+aL, aR    pan2      aout, kp
+          outs      aL, aR
+endin
+
+</CsInstruments>
+<CsScore>
+i 1 0 5
+i 2 5 5
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/readscore.csd b/examples/readscore.csd
new file mode 100644
index 0000000..f0f4c60
--- /dev/null
+++ b/examples/readscore.csd
@@ -0,0 +1,31 @@
+<CsoundSynthesizer>  
+<CsOptions>
+-d -o dac
+</CsOptions> 
+<CsInstruments>   
+ 
+instr 1
+a1 flooper2 1000,p4,2,5,0.1,1 
+   out a1
+endin
+
+instr 2
+ires readscore {{
+{12  COUNT 
+i1 $COUNT 1 [1 + $COUNT/12]
+}
+}}
+endin
+ 
+</CsInstruments>
+<CsScore>
+f0 12
+f 1 0 0 1 "fox.wav" 0 0 1
+
+i2 0 1
+
+
+
+</CsScore>
+</CsoundSynthesizer> 
+ 
diff --git a/examples/readscratch.csd b/examples/readscratch.csd
new file mode 100644
index 0000000..d751610
--- /dev/null
+++ b/examples/readscratch.csd
@@ -0,0 +1,30 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-n
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+ilast readscratch
+      writescratch p2
+ilen  readscratch 1
+      writescratch p3, 1
+      printf_i "last run at %f for %f\n", ilen, ilast, ilen
+endin
+
+</CsInstruments>
+<CsScore>
+i 1 0 1
+i 1 2 3
+i 1 6 10
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/repluck.csd b/examples/repluck.csd
index 2af2659..d5ceb8e 100644
--- a/examples/repluck.csd
+++ b/examples/repluck.csd
@@ -1,44 +1,50 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o repluck.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2
 
-; Instrument #1.
 instr 1
-  iplk = 0.75
-  kamp = 30000
-  icps = 220
-  kpick = 0.75
-  krefl = 0.5
-  axcite oscil 1, 1, 1
 
-  apluck repluck iplk, kamp, icps, kpick, krefl, axcite
+iplk  = 0.75
+kamp  = .8
+icps  = 110
+krefl = p4
+kpick = p5
 
-  out apluck
-endin
 
+axcite oscil 1, 1, 1
+asig repluck iplk, kamp, icps, kpick, krefl, axcite
+asig dcblock2 asig		;get rid of DC offset
+     outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
-
-; Table #1, a sine wave.
-f 1 0 16384 10 1
-
-; Play Instrument #1 for two seconds.
-i 1 0 2
+f 1 0 16384 10 1	;sine wave.
+
+s
+i 1 0 1 0.95 0.75	;sounds heavier (=p5)
+i 1 + 1  <
+i 1 + 1  <
+i 1 + 1  <
+i 1 + 10 0.6
+
+s
+i 1 0 1 0.95 0.15	;sounds softer (=p5)
+i 1 + 1  <
+i 1 + 1  <
+i 1 + 1  <
+i 1 + 10 0.6
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/reson.csd b/examples/reson.csd
index 967b155..aa37748 100644
--- a/examples/reson.csd
+++ b/examples/reson.csd
@@ -1,48 +1,34 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o reson.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2
 
-; Instrument #1.
 instr 1
-  ; Generate a sine waveform.
-  asine buzz 15000, 440, 3, 1
 
-  ; Vary the cut-off frequency from 220 to 1280.
-  kcf line 220, p3, 1320
-  kbw init 20
+asaw vco2 .2, 220	;sawtooth
+kcf  line 220, p3, 1760	;vary cut-off frequency from 220 to 1280 Hz
+kbw  = p4		;vary bandwidth of filter too		
+ares reson asaw, kcf, kbw
+asig balance ares, asaw
+     outs asig, asig
 
-  ; Run the sine through a resonant filter.
-  ares reson asine, kcf, kbw
-
-  ; Give the filtered signal the same amplitude 
-  ; as the original signal. 
-  a1 balance ares, asine
-  out a1
 endin
-
-
 </CsInstruments>
 <CsScore>
 
-; Table #1, an ordinary sine wave.
-f 1 0 16384 10 1
-
-; Play Instrument #1 for 4 seconds.
-i 1 0 4
+i 1 0 4 10	;bandwidth of filter = 10 Hz
+i 1 + 4 50	;50 Hz and
+i 1 + 4 200	;200 Hz
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/resonk.csd b/examples/resonk.csd
new file mode 100644
index 0000000..cf9470f
--- /dev/null
+++ b/examples/resonk.csd
@@ -0,0 +1,39 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o resonk.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+gisin ftgen 0, 0, 2^10, 10, 1
+
+instr 1
+
+ksig	randomh	400, 1800, 150
+aout	poscil	.2, 1000+ksig, gisin
+	outs	aout, aout
+endin
+
+instr 2
+
+ksig	randomh	400, 1800, 150
+khp	line	1, p3, 400	;vary high-pass
+ksig	resonk	ksig, khp, 50
+aout	poscil	.2, 1000+ksig, gisin
+	outs	aout, aout
+endin
+
+</CsInstruments>
+<CsScore>
+i 1 0 5
+i 2 5.5 5
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/resonx.csd b/examples/resonx.csd
new file mode 100644
index 0000000..dac4fe5
--- /dev/null
+++ b/examples/resonx.csd
@@ -0,0 +1,42 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o resonx.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1	; unfiltered noise
+
+kenv	linseg	0, p3*.5, 1, p3*.5, 0	;envelope
+asig	rand	0.7			;white noise
+	outs	asig*kenv, asig*kenv
+
+endin
+
+instr 2	; filtered noise
+
+kenv	linseg	0, p3*.5, 1, p3*.5, 0	;envelope
+asig	rand	0.7
+kcf	line	300, p3, 2000
+afilt	resonx	asig, kcf, 300, 4
+asig	balance afilt, asig
+	outs	asig*kenv, asig*kenv
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 2
+i 2 3 2
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/resonxk.csd b/examples/resonxk.csd
new file mode 100644
index 0000000..536dbd9
--- /dev/null
+++ b/examples/resonxk.csd
@@ -0,0 +1,44 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o resonxk.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+gisin ftgen 0, 0, 2^10, 10, 1
+
+instr 1
+
+ksig randomh  400, 1800, 150
+aout poscil   .2, 1000+ksig, gisin
+     outs     aout, aout
+endin
+
+instr 2
+
+ksig randomh  400, 1800, 150
+kcf  line     1, p3, 1000		;vary high-pass
+ilay = p4
+ksig resonxk  ksig, kcf, 100, ilay
+aout poscil   .2, 1000+ksig, gisin
+asig interp   ksig			;convert k-rate to a-rate
+aout balance  asig, aout		;avoid getting asig out of range
+     outs     aout, aout
+endin
+
+</CsInstruments>
+<CsScore>
+i 1 0  5
+i 2 6  5 1	;number of filter stack = 1
+i 2 12 5 5	;number of filter stack = 5
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/resony.csd b/examples/resony.csd
index 1e08bf6..1118c54 100644
--- a/examples/resony.csd
+++ b/examples/resony.csd
@@ -1,48 +1,44 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o resony.wav -W ;;; for file output any platform
+; -o resonx.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
-
-; Instrument #1.
-instr 1
-  ; Use a nice sawtooth waveform.
-  asig vco 32000, 220, 1
-
-  ; Vary the base frequency from 60 to 600 Hz.
-  kbf line 60, p3, 600
-  kbw = 50
-  inum = 2
-  ksep = 1
-  isepmode = 0
-  iscl = 1
-
-  a1 resony asig, kbf, kbw, inum, ksep, isepmode, iscl
-
-  out a1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1	; unfiltered noise
+
+kenv	linseg	0, p3*.5, 1, p3*.5, 0	;envelope
+asig	rand	0.7			;white noise
+	outs	asig*kenv, asig*kenv
+
 endin
 
+instr 2	; filtered noise
 
+ksep	= p4				;vary seperation of center frequency of filters in octaves
+kenv	linseg	0, p3*.5, 1, p3*.5, 0	;envelope
+asig	rand	0.7
+kbf	line	300, p3, 2000		;vary base frequency
+afilt	resony	asig, kbf, 300, 4, ksep
+asig	balance afilt, asig
+	outs	asig*kenv, asig*kenv
+
+endin
 </CsInstruments>
 <CsScore>
 
-; Table #1, a sine wave for the vco opcode.
-f 1 0 16384 10 1
-
-; Play Instrument #1 for two seconds.
 i 1 0 2
-e
-
+i 2 3 2 1
+i 2 6 2 3
 
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/resonz.csd b/examples/resonz.csd
new file mode 100644
index 0000000..fccd06e
--- /dev/null
+++ b/examples/resonz.csd
@@ -0,0 +1,70 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+; Audio out   Audio in    No messages
+-odac           -iadc     -d     ;;;RT audio I/O
+; For Non-realtime ouput leave only the line below:
+; -o resonz.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+/* Written by Sean Costello */
+ ; Orchestra file for resonant filter sweep of a sawtooth-like waveform. 
+  ; The outputs of reson, resonr, and resonz are scaled by coefficients
+  ; specified in the score, so that each filter can be heard on its own
+  ; from the same instrument.
+
+  sr = 44100
+  kr = 4410
+  ksmps = 10
+  nchnls = 1
+  
+instr 1
+  
+  idur     =        p3
+  ibegfreq =        p4                              ; beginning of sweep frequency
+  iendfreq =        p5                              ; ending of sweep frequency
+  ibw      =        p6                              ; bandwidth of filters in Hz
+  ifreq    =        p7                              ; frequency of gbuzz that is to be filtered
+  iamp     =        p8                              ; amplitude to scale output by
+  ires     =        p9                              ; coefficient to scale amount of reson in output
+  iresr    =        p10                             ; coefficient to scale amount of resonr in output
+  iresz    =        p11                             ; coefficient to scale amount of resonz in output
+  
+ ; Frequency envelope for reson cutoff
+  kfreq    linseg ibegfreq, idur * .5, iendfreq, idur * .5, ibegfreq
+  
+ ; Amplitude envelope to prevent clicking
+  kenv     linseg 0, .1, iamp, idur - .2, iamp, .1, 0
+  
+ ; Number of harmonics for gbuzz scaled to avoid aliasing
+  iharms   =        (sr*.4)/ifreq
+  
+  asig     gbuzz 1, ifreq, iharms, 1, .9, 1      ; "Sawtooth" waveform
+  ain      =        kenv * asig                     ; output scaled by amp envelope
+  ares     reson ain, kfreq, ibw, 1
+  aresr    resonr ain, kfreq, ibw, 1
+  aresz    resonz ain, kfreq, ibw, 1
+  
+           out ares * ires + aresr * iresr + aresz * iresz
+  
+endin
+
+
+</CsInstruments>
+<CsScore>
+
+/* Written by Sean Costello */
+f1 0 8192 9 1 1 .25                               ; cosine table for gbuzz generator
+  
+i1  0 10 1 3000 200 100 4000 1 0 0                ; reson  output with bw = 200
+i1 10 10 1 3000 200 100 4000 0 1 0                ; resonr output with bw = 200
+i1 20 10 1 3000 200 100 4000 0 0 1                ; resonz output with bw = 200
+i1 30 10 1 3000  50 200 8000 1 0 0                ; reson  output with bw = 50
+i1 40 10 1 3000  50 200 8000 0 1 0                ; resonr output with bw = 50
+i1 50 10 1 3000  50 200 8000 0 0 1                ; resonz output with bw = 50
+e
+
+
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/resyn.csd b/examples/resyn.csd
old mode 100755
new mode 100644
index 98245c7..aaebb51
--- a/examples/resyn.csd
+++ b/examples/resyn.csd
@@ -1,36 +1,36 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in   No messages  MIDI in
--odac           -iadc     -d       ;;;RT audio I/O with MIDI in
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o resyn.wav -W ;;; for file output any platform
-;heavy on CPU
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
 instr 1
-ain	diskin2	"beats.wav", 1, 0, 1                  
-fs1,fsi2 pvsifd	ain, 2048, 512, 1		; pvsifd analysis
-fst	partials	fs1, fsi2, .003, 1,3, 500	; partial tracking
-aout	resyn		fst, 1, 1.5, 100, 1		; resynthesis (up a 5th)
-	out	aout
 
-endin
+ktracks = p4
+ain	diskin2  "fox.wav", 1, 0, 1                  
+fs1,fsi2 pvsifd  ain, 2048, 512, 1		; pvsifd analysis
+fst	partials fs1, fsi2, .1, 1,3, 500	; partial tracking
+aout	resyn    fst, 1, 1.5, ktracks, 1	; resynthesis (up a 5th)
+	outs	 aout, aout
 
+endin
 </CsInstruments>
 <CsScore>
 ;sine
 f1 0 4096 10 1
 
-i 1 0 2
-e
+i 1 0 2.7 500
+i 1 3 2.7 10	;non-linear filtering effect	
 
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/reverb.csd b/examples/reverb.csd
index db2627f..b0f7bab 100644
--- a/examples/reverb.csd
+++ b/examples/reverb.csd
@@ -1,63 +1,48 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o reverb.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2
 
-; init an audio receiver/mixer
 ga1 init 0 
 
-; Instrument #1. (there may be many copies)
 instr 1 
-  ; generate a source signal
-  a1 oscili 7000, cpspch(p4), 1 
-  ; output the direct sound
-  out a1  
-  ; and add to audio receiver
-  ga1 = ga1 + a1 
+
+asig poscil .2, cpspch(p4), 1 
+     outs asig, asig 
+
+ga1  += asig     ;add direct signal to global reverb
+ 
 endin
 
-; (highest instr number executed last)
-instr 99 
-  ; reverberate whatever is in ga1
-  a3 reverb ga1, 1.5
-  ; and output the result
-  out a3 
-  ; empty the receiver for the next pass
-  ga1 = 0 
+instr 99	;(highest instr number executed last)
+
+arev reverb ga1, 1.5
+     outs arev, arev 
+  
+ga1  = 0	;clear
 endin
 
 
 </CsInstruments>
 <CsScore>
+f 1 0 128 10 1	;sine
 
-; Table #1, a sine wave.
-f 1 0 128 10 1
-
-; p4 = frequency (in a pitch-class)
-; Play Instrument #1 for a tenth of a second, p4=8.00
-i 1 0 0.1 8.00
-; Play Instrument #1 for a tenth of a second, p4=8.02
+i 1 0 0.1 7.00	;short sounds
 i 1 1 0.1 8.02
-; Play Instrument #1 for a tenth of a second, p4=8.04
 i 1 2 0.1 8.04
-; Play Instrument #1 for a tenth of a second, p4=8.06
 i 1 3 0.1 8.06
 
-; Make sure the reverb remains active.
-i 99 0 6
+i 99 0 6	;reverb runs for 6 seconds
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/rewindscore.csd b/examples/rewindscore.csd
new file mode 100644
index 0000000..70d74e1
--- /dev/null
+++ b/examples/rewindscore.csd
@@ -0,0 +1,46 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o rewindscore.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+ 
+instr 1
+
+kenv expon  1, p3, 0.0001
+aout poscil .5*kenv, cpspch(p4), 1
+     outs   aout, aout
+endin
+
+instr 100
+
+rewindscore
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0 4096 10 1	;sine wave
+
+i1 0 1 8.00
+i1 + 1 8.03
+i1 + 1 8.04
+i1 + 1 8.07 
+i1 + 1 8.09
+i1 + 1 8.10
+i1 + 1 8.09
+i1 + 1 8.07
+i1 + 1 8.03
+
+i100 9 1	;rewind from 9th second
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/rezzy.csd b/examples/rezzy.csd
index 59878f4..f0d8be7 100644
--- a/examples/rezzy.csd
+++ b/examples/rezzy.csd
@@ -1,46 +1,34 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o rezzy.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2
 
-; Instrument #1.
 instr 1
-  ; Use a nice sawtooth waveform.
-  asig vco 32000, 220, 1
 
-  ; Vary the filter-cutoff frequency from .2 to 2 KHz.
-  kfco line 200, p3, 2000
+asaw vco2 .3, 110	;sawtooth
+kcf  line 1760, p3, 220	;vary cut-off frequency from 220 to 1280 Hz
+kres = p4		;vary resonance too		
+ares rezzy asaw, kcf, kres
+asig balance ares, asaw
+     outs asig, asig
 
-  ; Set the resonance amount.
-  kres init 25
-
-  a1 rezzy asig, kfco, kres
-
-  out a1
 endin
-
-
 </CsInstruments>
 <CsScore>
 
-; Table #1, a sine wave for the vco opcode.
-f 1 0 16384 10 1
-
-; Play Instrument #1 for three seconds.
-i 1 0 3
+i 1 0 4 10
+i 1 + 4 30
+i 1 + 4 120	;lots of resonance
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/round.csd b/examples/round.csd
old mode 100755
new mode 100644
index a302b41..64ad59d
--- a/examples/round.csd
+++ b/examples/round.csd
@@ -1,32 +1,35 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+;-o round.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  i1 = 1 / p4
-  i2 = round(i1)
 
-  print i2
-endin
+idiv init 1
 
+loop:
+inumber = 9
+i1  = inumber / idiv
+iro =  round(i1)
+print inumber, idiv, iro ;print number / idiv = result using round
+idiv = idiv + 1
+if (idiv <= 10) igoto loop
 
+endin
 </CsInstruments>
 <CsScore>
 
-i 1 0 1 2				;0.5 becomes 1, not 0
-i 1 + 1 3
-i 1 + 1 2.1
+i 1 0 0
 e
 
 </CsScore>
diff --git a/examples/rspline.csd b/examples/rspline.csd
old mode 100755
new mode 100644
index 9e0b9db..0038b08
--- a/examples/rspline.csd
+++ b/examples/rspline.csd
@@ -1,53 +1,37 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o rspline.wav -W ;;; for file output any platform
+; -o jspline.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
+ksmps = 32
 nchnls = 2
+0dbfs  = 1
 
-; Instrument #1 -- plain instrument.
 instr 1
-  aplain vco 10000, 220, 2, 0.83
 
-  outs aplain, aplain
-endin
-
-; Instrument #2 
-instr 2
-  ; Create a signal modulated the rspline opcode.
-  kamp init 2
-  kcpsmin init 4
-  kcpsmax init 10
-  kj rspline -20,20, kcpsmin, kcpsmax
+krangeMin init p4
+krangeMax init p5
+kcpsmin init 2
+kcpsmax init 3
 
-  aplain vco 10000, 220, 2, 0.83
-  ajitter vco 10000, 220+kj, 2, 0.83
+ksp  rspline krangeMin, krangeMax, kcpsmin, kcpsmax
+aout pluck 1, 200+ksp, 1000, 0, 1
+aout dcblock aout	;remove DC
+     outs aout, aout
 
-  outs aplain, ajitter
 endin
-
-
 </CsInstruments>
 <CsScore>
 
-; Table #1, a sine wave.
-f 1 0 16384 10 1
-
-; Play Instrument #1 for 3 seconds.
-i 1 0 3
-; Play Instrument #2 for 3 seconds.
-i 2 3 5
+i 1 0  10  2  5	;a bit jitter
+i 1 8  10 10 20	;some more
+i 1 16 10 20 50	;lots more
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/rtclock.csd b/examples/rtclock.csd
index b1a8eb4..68b674b 100644
--- a/examples/rtclock.csd
+++ b/examples/rtclock.csd
@@ -1,35 +1,53 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-n     ;;;no sound
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o rtclock.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
+;after an example by Iain McCurdy
+
 sr = 44100
-kr = 44100
-ksmps = 1
-nchnls = 1
-
-; Instrument #1
-instr 1
-  ; Get the system time.
-  k1 rtclock
-  ; Print it once per second.
-  printk 1, k1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+FLcolor	200, 200, 200, 0, 0, 0
+;	LABEL     | WIDTH | HEIGHT | X | Y
+FLpanel	"rtclock",   500,    130,    0,  0
+;                                  ON,OFF,TYPE,WIDTH, HEIGHT, X, Y, OPCODE, INS,START,IDUR
+gkOnOff,ihOnOff	FLbutton "On/Off", 1,  0,  22,  150,   25,    5, 5,    0,   1,   0,   3600
+gkExit,ihExit	FLbutton "exitnow",1,  0,  21,  150,   25,  345, 5,    0,  999,  0,   0.001
+FLsetColor2 255, 0, 50, ihOnOff	;reddish color
+
+;VALUE DISPLAY BOXES	 WIDTH,HEIGHT,X, Y
+gidclock FLvalue "clock", 100, 25, 200, 60
+FLsetVal_i 1, ihOnOff	
+FLpanel_end
+FLrun
+
+instr 1	
+
+if gkOnOff !=0 kgoto CONTINUE ;sense if FLTK on/off switch is not off (in which case skip the next line)  
+turnoff			      ;turn this instr. off now
+CONTINUE:
+ktime rtclock                 ;clock continues to run even 
+FLprintk2 ktime, gidclock     ;after the on/off button was used to stop
+
 endin
 
+instr 999
+
+exitnow			      ;exit Csound as fast as possible
 
+endin
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for two seconds.
-i 1 0 2
+f 0 60	;runs 60 seconds
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/s.csd b/examples/s.csd
new file mode 100644
index 0000000..37958d4
--- /dev/null
+++ b/examples/s.csd
@@ -0,0 +1,41 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o s.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+aenv expseg .01, p3*0.25, 1, p3*0.75, 0.01
+asig poscil3 .8*aenv, p4, 1
+     outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+f 1 0 16384 10 1;sine wave
+
+s		;first section
+i 1 0 2 110
+i 1 3 2 220
+i 1 6 2 440
+i 1 9 2 880
+
+s		;second section
+i 1 0 2 880
+i 1 3 2 440
+i 1 6 2 220
+i 1 9 2 110
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/samphold.csd b/examples/samphold.csd
new file mode 100644
index 0000000..93aa3e9
--- /dev/null
+++ b/examples/samphold.csd
@@ -0,0 +1,32 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o samphold.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+kx	line -1, p3, 1   	; between -1 and +1 
+ktrig	metro 1	 		; triggers 1 time per second 
+kval	samphold kx, ktrig	; change value whenever ktrig = 1 
+        printk2 kval		; will print every time kval changes 
+asig	diskin2	"flute.aiff", 1+kval, 0, 1
+	outs asig, asig
+
+endin 
+</CsInstruments> 
+<CsScore> 
+
+i 1 0 11 
+e
+</CsScore> 
+</CsoundSynthesizer> 
diff --git a/examples/sandpaper.csd b/examples/sandpaper.csd
index 087cdd8..cceebed 100644
--- a/examples/sandpaper.csd
+++ b/examples/sandpaper.csd
@@ -1,36 +1,32 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o sandpaper.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-;orchestra ---------------
-
-  sr =           44100
-  kr =            4410
-  ksmps =              10
-  nchnls =               1
-
-instr 01                  ;an example of sandpaper blocks
-  a1      line 2, p3, 2                             ;preset amplitude increase
-  a2      sandpaper p4, 0.01            ;sandpaper needs a little amp help at these settings
-  a3      product a1, a2                               ;increase amplitude
-          out a3
-          endin
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
+instr 1
 
+idmp = p4
+a1   line 2, p3, 2			;preset amplitude increase
+a2   sandpaper 1, 0.01, 128, idmp	;sandpaper needs a little amp help at these settings
+asig product a1, a2			;increase amplitude
+     outs asig, asig
+          
+endin
 </CsInstruments>
 <CsScore>
+i1 0 1 0.5
+i1 + 1 0.95
 
-;score -------------------
-
-   i1 0 1 26000
-   e
-
-
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/scalearray.csd b/examples/scalearray.csd
new file mode 100644
index 0000000..4a0b388
--- /dev/null
+++ b/examples/scalearray.csd
@@ -0,0 +1,38 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-n 
+</CsOptions>
+<CsInstruments>
+;example by joachim heintz
+
+           seed       0
+
+instr 1
+;create an array with 10 elements
+kArr[]     init       10
+;fill in random numbers and print them out
+           printks    "kArr in maximum range 0..100:\n", 0
+kIndx      =          0
+  until kIndx == 10 do
+kNum       random     0, 100
+kArr[kIndx] =         kNum
+           printf     "kArr[%d] = %10f\n", kIndx+1, kIndx, kNum
+kIndx      +=         1
+  od
+;scale numbers 0...1 and print them out again
+           scalearray kArr, 0, 1
+kIndx      =          0
+           printks    "kArr in range 0..1\n", 0
+  until kIndx == 10 do
+           printf     "kArr[%d] = %10f\n", kIndx+1, kIndx, kArr[kIndx]
+kIndx      +=         1
+  od
+           turnoff
+endin
+</CsInstruments>
+<CsScore>
+i1 0 0.1
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/scans-2.csd b/examples/scans-2.csd
new file mode 100644
index 0000000..0cc643b
--- /dev/null
+++ b/examples/scans-2.csd
@@ -0,0 +1,62 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o scans-2.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+strset 1, "mary.wav"
+strset 2, "fox.wav"
+
+instr 	2	;show 2 different trajectories, with samples as excitation signal
+
+ismp = p6		
+iamp = p7
+itrj = p8
+aout soundin p6				;choose wave file
+     scanu ismp, .01, 6, 2, 33, 44, 5, 2, .01, .05, -.05, .1, .5, 0, 0, aout, 1, 0
+asig scans iamp, cpspch(p5), itrj , 0
+     outs asig, asig
+
+endin	
+</CsInstruments>
+<CsScore>
+f1 0 128 7 0 64 1 64 0			; Initial condition
+f2 0 128 -7 1 128 0.3			; Masses
+f33 0 16384 -23 "cylinder-128,8"	; Spring matrices
+f44 0 128 -7 2 4 0 124 2		; Centering force
+f5 0 128 -7 1 128 0			; Damping
+f6 0 128 -7 -.0 128 0			; Initial velocity
+f7 0 128 -5 .001 128 128		; Trajectories
+f77 0 128 -23 "spiral-8,16,128,2,1over2"
+
+s
+i2 0  5  63 6.00 1 .9 7			;"mary.wav" &
+i2 6  5  60 7.00			;trajectory table 7
+i2 10 5  60 8.00
+
+s
+i2 0  5  63 6.00 2 .08 7		;"fox.wav", at much lower volume
+i2 6  5  60 7.00
+i2 10 5  60 8.00
+
+s
+i2 0  5  63 6.00 1 .9 77		;"mary.wav" &
+i2 6  5  60 7.00			;trajectory table 77
+i2 10 5  60 8.00
+
+s
+i2 0  5  63 6.00 2 .08 77		;"fox.wav", at much lower volume
+i2 6  5  60 7.00
+i2 10 5  60 8.00
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/scantable.csd b/examples/scantable.csd
index 20340b9..94d4470 100644
--- a/examples/scantable.csd
+++ b/examples/scantable.csd
@@ -1,54 +1,40 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac -+rtmidi=virtual -M0 ;;;realtime audio out and midi in
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o scantable.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
-
-; Table #1 - initial position
-git1 ftgen 1, 0, 128, 7, 0, 64, 1, 64, 0
-; Table #2 - masses
-git2 ftgen 2, 0, 128, -7, 1, 128, 1
-; Table #3 - stiffness
-git3 ftgen 3, 0, 128, -7, 0, 64, 100, 64, 0
-; Table #4 - damping
-git4 ftgen 4, 0, 128, -7, 1, 128, 1
-; Table #5 - initial velocity
-git5 ftgen 5, 0, 128, -7, 0, 128, 0
-
-; Instrument #1.
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+gi1 ftgen 1, 0, 128, 7, 0, 64, 1, 64, 0		; initial position
+gi2 ftgen 2, 0, 128, -7, 1, 128, 1		; masses
+gi3 ftgen 3, 0, 128, -7, 0, 64, 100, 64, 0	; stiffness
+gi4 ftgen 4, 0, 128, -7, 1, 128, 1		; damping
+gi5 ftgen 5, 0, 128, -7, 0, 128, 0.5		; initial velocity
+
+
 instr 1
-  kamp init 20000
-  kpch init 220
-  ipos = 1
-  imass = 2
-  istiff = 3
-  idamp = 4
-  ivel = 5
-
-  a1 scantable kamp, kpch, ipos, imass, istiff, idamp, ivel
-  a2 dcblock a1
-
-  out a2
-endin
 
+iamp ampmidi .5
+ipch cpsmidi 
+kenv madsr .1, .1, .8, .3
 
+asig scantable iamp, ipch, 1, 2, 3, 4, 5
+asig dcblock asig
+     outs asig*kenv, asig*kenv
+
+endin
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for ten seconds.
-i 1 0 10
+f0 60	; play for 60 seconds
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/schedwhen.csd b/examples/schedwhen.csd
index bcab331..c7082ae 100644
--- a/examples/schedwhen.csd
+++ b/examples/schedwhen.csd
@@ -1,56 +1,38 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o schedwhen.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 44100
-ksmps = 1
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1 - oscillator with a high note.
 instr 1
-  ; Use the fourth p-field as the trigger.
-  ktrigger = p4
-  kinsnum = 2
-  kwhen = 0
-  kdur = p3
-
-  ; Play Instrument #2 at the same time, if the trigger is set.
-  schedwhen ktrigger, kinsnum, kwhen, kdur
-
-  ; Play a high note.
-  a1 oscils 10000, 880, 1
-  out a1
-endin
 
-; Instrument #2 - oscillator with a low note.
-instr 2
-  ; Play a low note.
-  a1 oscils 10000, 220, 1
-  out a1
+kmtr metro 100				;produce 100 triggers per second
+     schedwhen kmtr, 2, 1, .3		;but schedwhen plays instr. 2 only once		
+
 endin
 
+instr 2                                            
 
+aenv linseg 0, p3*.1, 1, p3*.3, 1, p3*.6, 0 ;envelope
+a1   poscil .3*aenv, 1000, 1
+     outs a1, a1
+
+endin
 </CsInstruments>
 <CsScore>
+f 1 0 16384 10 1	;sine 
 
-; Table #1, a sine wave.
-f 1 0 16384 10 1
-
-; p4 = trigger for Instrument #2 (when p4 > 0).
-; Play Instrument #1 for half a second, trigger Instrument #2.
-i 1 0 0.5 1
-; Play Instrument #1 for half a second, no trigger.
-i 1 1 0.5 0
+i 1 0 3
+i 1 3 5
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/scoreline.csd b/examples/scoreline.csd
new file mode 100644
index 0000000..cb84941
--- /dev/null
+++ b/examples/scoreline.csd
@@ -0,0 +1,39 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o scoreline.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+ktrig metro 3				;trigger 3 times a second
+scoreline {{				;so it sounds like an echo
+            i 2  0  3  "flute.aiff"
+            i 2  1  3  "beats.wav"
+            }}, ktrig
+ktrig = 0
+        
+endin
+
+instr 2
+
+asig soundin p4
+     outs asig*.3, asig*.3
+
+endin
+</CsInstruments>
+<CsScore>
+
+i1 0 2	;play for 2 seconds, so the samples are played 6 times 
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/scoreline_i.csd b/examples/scoreline_i.csd
new file mode 100644
index 0000000..16578bc
--- /dev/null
+++ b/examples/scoreline_i.csd
@@ -0,0 +1,37 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac --old-parser   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o scoreline.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+scoreline_i {{
+            i 2  0  3  "flute.aiff"
+            i 2  1  3  "beats.wav"
+            }}
+        
+endin
+
+instr 2
+
+asig soundin p4
+     outs asig*.8, asig*.8
+
+endin
+</CsInstruments>
+<CsScore>
+
+i1 0 1
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/seed.csd b/examples/seed.csd
old mode 100755
new mode 100644
index d0ac99e..9a678ec
--- a/examples/seed.csd
+++ b/examples/seed.csd
@@ -1,40 +1,43 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o seed.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
+instr 1	;same values every time
 
-instr 1
-  ; Generate a random number between -1 and 1.
-  ; krange = 1
-seed 10				; same seed values produces same result
-  i1 trirand 1
+seed 10
+krnd randomh 100, 200, 5
+     printk .5, krnd			; look 
+aout oscili 0.8, 440+krnd, 1		; & listen
+     outs aout, aout
 
-  print i1
 endin
 
+instr 2	;different values every time - value is derived from system clock
 
+seed 0					; seed from system clock
+krnd randomh 100, 200, 5		
+     printk .5, krnd			; look 
+aout oscili 0.8, 440+krnd, 1		; & listen
+     outs aout, aout
 
+endin
 </CsInstruments>
 <CsScore>
+f 1 0 16384 10 1	;sine wave.
 
 i 1 0 1
-i 1 + 1
-i 1 + 1
+i 2 2 1
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
-
diff --git a/examples/sekere.csd b/examples/sekere.csd
index 4189961..298be1a 100644
--- a/examples/sekere.csd
+++ b/examples/sekere.csd
@@ -1,34 +1,30 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o sekere.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-;orchestra ---------------
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-  sr =           44100
-  kr =            4410
-  ksmps =              10
-  nchnls =               1
-
-instr 01                  ;an example of a sekere
-a1      sekere p4, 0.01
-          out a1
-          endin
+instr 1
 
+idamp = p4			;vary damping amount
+asig  sekere 1, 0.01, 64, idamp
+      outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
 
-;score -------------------
-
-   i1 0 1 26000
-   e
-
-
+i1 0 1 .1
+i1 + 1 .9
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/semitone.csd b/examples/semitone.csd
index f2d6b8c..718d20e 100644
--- a/examples/semitone.csd
+++ b/examples/semitone.csd
@@ -1,45 +1,37 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o semitone.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  ; The root note is A above middle-C (440 Hz)
-  iroot = 440
 
-  ; Raise the root note by three semitones to C.
-  isemitone = 3
+iroot = 440		; root note is A above middle-C (440 Hz)
+ksem  lfo 12, .5, 5	; generate sawtooth, go from 5 octaves higher to root
+ksm = int(ksem)		; produce only whole numbers
+kfactor = semitone(ksm)	; for semitones
+knew = iroot * kfactor
+printk2 knew
+printk2 kfactor
+asig pluck 1, knew, 1000, 0, 1 
+asig dcblock asig	;remove DC
+     outs asig, asig
 
-  ; Calculate the new note.
-  ifactor = semitone(isemitone)
-  inew = iroot * ifactor
-
-  ; Print out all of the values.
-  print iroot
-  print ifactor
-  print inew
 endin
-
-
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for one second.
-i 1 0 1
+i 1 0 5
 e
 
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/seqtime2.csd b/examples/seqtime2.csd
new file mode 100644
index 0000000..8473542
--- /dev/null
+++ b/examples/seqtime2.csd
@@ -0,0 +1,53 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o seqtime2.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+gitabMap2 ftgen	57,0,512,-2, 1,1/4,1/4,1/8,1/8,1/8,1/8,1/4,1/4,.5,1/4,1/4,1/16,1/16,1/16,1/16,1/16,1/16,1/16,1/16
+gisine	  ftgen	1,0,512,10, 1
+
+instr 1
+
+ktrigin	metro	.333333333333
+ktrig2	metro	1
+	schedkwhen ktrig2, 0,0, 2, 0, .1			; just to set the metronome!
+kspeed	init	1
+;          	 ktime_unit, kstart, kloop, initndx, kfn_times 
+ktrig	seqtime2 ktrigin, kspeed, 0, 20, 2, gitabMap2
+;ktrig	seqtime	 kspeed, 0, 20, 0, gitabMap2			; try with seqtime too...		
+	schedkwhen ktrig, 0, 0, 3, 0, ktrig			; the duration is got from seqtime2 output!
+endin
+
+instr 2
+
+a1	line	1,p3,0
+aout	oscili	0.7*a1,500,gisine
+	outs1	aout
+endin	
+
+
+instr 3
+
+a1	line 	1,p3,0
+aout	oscili	0.7*a1,1000,gisine
+	outs2	aout
+endin	
+
+</CsInstruments>
+<CsScore>
+i1 0 20
+
+;f0 3600
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/serialBegin.csd b/examples/serialBegin.csd
new file mode 100644
index 0000000..702595d
--- /dev/null
+++ b/examples/serialBegin.csd
@@ -0,0 +1,41 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-n  ;;;no output
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o serialBegin.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr  = 44100
+ksmps = 500 ; the default krate can be too fast for the arduino to handle
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+iPort serialBegin "/dev/cu.usbmodemfa131", 9600			;connect to the arduino with baudrate = 9600
+
+kGain init 16							;read our knob value
+kVal serialRead iPort
+if (kVal != -1) then
+    kGain = kVal/128
+endif
+
+aSig in								;get our audio input and get its rms
+kRms rms aSig*kGain
+
+kRms = kRms*kRms*255						;scale the rms to a good value for the LED and send it out
+serialWrite iPort, (kRms < 255 ? kRms : 255)			;must be in range: 0-255
+
+endin
+</CsInstruments>
+<CsScore>
+f 1 0 1024 10 1 1 1 1 1 1
+
+i 1 0 200
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/serialRead.csd b/examples/serialRead.csd
new file mode 100644
index 0000000..83e81f2
--- /dev/null
+++ b/examples/serialRead.csd
@@ -0,0 +1,41 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-n  ;;;no output
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o serialRead.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr  = 44100
+ksmps = 500 ; the default krate can be too fast for the arduino to handle
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+iPort serialBegin "/dev/cu.usbmodemfa131", 9600			;connect to the arduino with baudrate = 9600
+
+kGain init 16							;read our knob value
+kVal serialRead iPort
+if (kVal != -1) then
+    kGain = kVal/128
+endif
+
+aSig in								;get our audio input and get its rms
+kRms rms aSig*kGain
+
+kRms = kRms*kRms*255						;scale the rms to a good value for the LED and send it out
+serialWrite iPort, (kRms < 255 ? kRms : 255)			;must be in range: 0-255
+
+endin
+</CsInstruments>
+<CsScore>
+f 1 0 1024 10 1 1 1 1 1 1
+
+i 1 0 200
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/serialWrite.csd b/examples/serialWrite.csd
new file mode 100644
index 0000000..2d368de
--- /dev/null
+++ b/examples/serialWrite.csd
@@ -0,0 +1,41 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-n  ;;;no output
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o serialWrite.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr  = 44100
+ksmps = 500 ; the default krate can be too fast for the arduino to handle
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+iPort serialBegin "/dev/cu.usbmodemfa131", 9600			;connect to the arduino with baudrate = 9600
+
+kGain init 16							;read our knob value
+kVal serialRead iPort
+if (kVal != -1) then
+    kGain = kVal/128
+endif
+
+aSig in								;get our audio input and get its rms
+kRms rms aSig*kGain
+
+kRms = kRms*kRms*255						;scale the rms to a good value for the LED and send it out
+serialWrite iPort, (kRms < 255 ? kRms : 255)			;must be in range: 0-255
+
+endin
+</CsInstruments>
+<CsScore>
+f 1 0 1024 10 1 1 1 1 1 1
+
+i 1 0 200
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/setscorepos.csd b/examples/setscorepos.csd
old mode 100755
new mode 100644
index 7809a0b..3a95e97
--- a/examples/setscorepos.csd
+++ b/examples/setscorepos.csd
@@ -1,89 +1,39 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o setscorepos.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-;---------------------------------------------------------
-; TBVCF Test
-; Coded by Hans Mikelson December, 2000
-;---------------------------------------------------------
-  sr =  44100   ; Sample rate
-  ksmps =  10   ; Samples/Kontrol period
-  nchnls =  2        ; Normal stereo
-  0dbfs = 1
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giSine ftgen 0, 0, 8192, 10, 1
 
 instr 1
-;setscorepos 0			; uncomment to hear from beginning
-setscorepos 8			; start at 8 seconds, comment this 
-					; when uncommenting setscorepos 0
 
+asig poscil 0.5, p4, giSine		;play something
+     outs asig, asig
 endin
 
-          instr 10
-
-  idur	=	p3			; Duration
-  iamp	=	p4			; Amplitude
-  ifqc	=	cpspch(p5)		; Pitch to frequency
-  ipanl	=	sqrt(p6)		; Pan left
-  ipanr	=	sqrt(1-p6)		; Pan right
-  iq	=	p7
-  idist	=	p8
-  iasym =	p9
-
-kdclck		linseg	0, .002, 1, idur-.004, 1, .002, 0	; Declick envelope
-kfco		expseg	10000, idur, 1000			; Frequency envelope
-ax		vco		1, ifqc, 2, 0.5			; Square wave
-ay		tbvcf		ax, kfco, iq, idist, iasym		; TB-VCF
-ay		buthp	ay/1, 100				; Hi-pass
-
-		outs		ay*iamp*ipanl*kdclck, ay*iamp*ipanr*kdclck
-          endin
+instr 11
 
+setscorepos 8.5				
+endin
 
 </CsInstruments>
 <CsScore>
 
-f1 0 65536 10 1
-i1 0 1
-; TeeBee Test
-;   Sta  Dur  Amp    Pitch Pan  Q    Dist1 Asym
-i10 0    0.2  0.5    7.00  .5   0.0  2.0   0.0
-i10 0.3  0.2  0.5    7.00  .5   0.8  2.0   0.0
-i10 0.6  0.2  0.5    7.00  .5   1.6  2.0   0.0
-i10 0.9  0.2  0.5    7.00  .5   2.4  2.0   0.0
-i10 1.2  0.2  0.5    7.00  .5   3.2  2.0   0.0
-;i10 1.5  0.2  0.5    7.00  .5   4.0  2.0   0.0
-i10 1.8  0.2  0.5    7.00  .5   0.0  2.0   0.25
-i10 2.1  0.2  0.5    7.00  .5   0.8  2.0   0.25
-i10 2.4  0.2  0.5    7.00  .5   1.6  2.0   0.25
-i10 2.7  0.2  0.5    7.00  .5   2.4  2.0   0.25
-i10 3.0  0.2  0.5    7.00  .5   3.2  2.0   0.25
-i10 3.3  0.2  0.5    7.00  .5   4.0  2.0   0.25
-i10 3.6  0.2  0.5    7.00  .5   0.0  2.0   0.5
-i10 3.9  0.2  0.5    7.00  .5   0.8  2.0   0.5
-i10 4.2  0.2  0.5    7.00  .5   1.6  2.0   0.5
-i10 4.5  0.2  0.5    7.00  .5   2.4  2.0   0.5
-i10 4.8  0.2  0.5    7.00  .5   3.2  2.0   0.5
-i10 5.1  0.2  0.5    7.00  .5   4.0  2.0   0.5
-i10 5.4  0.2  0.5    7.00  .5   0.0  2.0   0.75
-i10 5.7  0.2  0.5    7.00  .5   0.8  2.0   0.75
-i10 6.0  0.2  0.5    7.00  .5   1.6  2.0   0.75
-i10 6.3  0.2  0.5    7.00  .5   2.4  2.0   0.75
-i10 6.6  0.2  0.5    7.00  .5   3.2  2.0   0.75
-i10 6.9  0.2  0.5    7.00  .5   4.0  2.0   0.75
-i10 7.2  0.2  0.5    7.00  .5   0.0  2.0   1.0
-i10 7.5  0.2  0.5    7.00  .5   0.8  2.0   1.0
-i10 7.8  0.2  0.5    7.00  .5   1.6  2.0   1.0
-i10 8.1  0.2  0.5    7.00  .5   2.4  2.0   1.0
-i10 8.4  0.2  0.5    7.00  .5   3.2  2.0   1.0
-i10 8.7  0.2  0.5    7.00  .5   4.0  2.0   1.0
-e
-
+i1 0 2 220	;this one will be played
+i11 2.5 1	;start setscorepos now
+i1 3 2 330	;skip this note
+i1 6 2 440	;and this one
+i1 9 2 550	;play this one        
 
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/sfilist.csd b/examples/sfilist.csd
old mode 100755
new mode 100644
index a23925a..4b62e66
--- a/examples/sfilist.csd
+++ b/examples/sfilist.csd
@@ -1,68 +1,45 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d   -M0     ;;;RT audio I/O, midi in
+-odac -+rtmidi=virtual -M0   ;;;realtime audio out, virtual midi in
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o sfilist.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-sr         = 44100
-ksmps = 100
+sr = 44100
+ksmps = 32
 nchnls = 2
-; load two soundfonts
-isf	sfload	"07AcousticGuitar.sf2"
-ir	sfload	"01hpschd.sf2"
-	sfplist	isf			; print presets of
-	sfplist	ir			; soundfonts
-	sfpassign	0, isf	
-	sfpassign	1, ir
+0dbfs  = 1
 
-	instr 1
-; play from score and midi keyboard (=midi channel 1)
-	mididefault		60, p3
-	midinoteonkey	p4, p5
-inum	init	p4
-ivel	init	p5
-print	ivel
+gisf	sfload	"sf_GMbank.sf2"
+	sfilist	gisf						;list all instruments
 
-ivel	init	3*(ivel/127)					; velocity-dependent
-kamp	linsegr	1,1,1,.1,0
-kfreq	init	1						;do not change freq from sf
-a1,a2	sfplay3	ivel, inum, kamp*ivel, kfreq, 0, 0
-	outs	a1, a2
-	
-	endin
-	
-		instr 2
-; play from score and midi keyboard (=midi channel 2)
-	mididefault		60, p3
+instr 1	; play from score and midi keyboard
+
+	mididefault	60, p3
 	midinoteonkey	p4, p5
 inum	init	p4
 ivel	init	p5
-print	ivel
-
-ivel	init	10*(ivel/127)				; 01hpschd.sf2 needs extra volume
-kamp	linsegr	1,1,1,.1,0				; velocity-dependent
+ivel	init	ivel/127					;make velocity dependent
+kamp	linsegr	1, 1, 1, .1, 0
+kamp	= kamp/3000						;scale amplitude
 kfreq	init	1						;do not change freq from sf
-a1,a2	sfplay3	ivel, inum, kamp*ivel, kfreq, 1, 0
+a1, a2	sfinstr3 ivel, inum, kamp*ivel, kfreq, 100, gisf		;choose Halo Pad
 	outs	a1, a2
 	
-	endin
+endin
 	
 </CsInstruments>
 <CsScore>
 f0  60				; stay active for 1 minute
 
-i1 0 1 60 100
+i1 0 1 60 127
 i1 + 1 62 <
 i1 + 1 65 <
 i1 + 1 69 10
 
-i2 5 1 60 100
-i2 + 1 62 <
-i2 7 1 65 <
-i2 7 1 69 10
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/sfinstr.csd b/examples/sfinstr.csd
new file mode 100644
index 0000000..abe9793
--- /dev/null
+++ b/examples/sfinstr.csd
@@ -0,0 +1,46 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac -+rtmidi=virtual -M0 ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o sfinstr.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100 
+ksmps = 32
+nchnls = 2
+0dbfs  = 1 
+
+
+gisf	sfload	"sf_GMbank.sf2"
+	sfilist	isf
+
+instr 1	; play from score and midi keyboard
+
+	mididefault	60, p3
+	midinoteonkey	p4, p5
+inum	init	p4
+ivel	init	p5
+ivel	init	ivel/127					;make velocity dependent
+kamp	linsegr	1, 1, 1, .1, 0
+kamp	= kamp/5000						;scale amplitude
+kfreq	init	1						;do not change freq from sf
+a1,a2	sfinstr	ivel, inum, kamp*ivel, kfreq, 194, gisf		;= Strings 2 tighter
+	outs	a1, a2
+	
+	endin
+	
+</CsInstruments>
+<CsScore>
+f0  60				; stay active for 1 minute
+
+i1 0 1 60 127
+i1 + 1 62 <
+i1 + 1 65 <
+i1 + 1 69 10
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/sfinstr3.csd b/examples/sfinstr3.csd
new file mode 100644
index 0000000..d824680
--- /dev/null
+++ b/examples/sfinstr3.csd
@@ -0,0 +1,50 @@
+<CsoundSynthesizer> 
+<CsOptions> 
+; Select audio/midi flags here according to platform
+-odac -+rtmidi=virtual -M0 ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o sfinstr3.wav -W ;;; for file output any platform
+</CsOptions> 
+<CsInstruments> 
+
+sr = 44100 
+ksmps = 32
+nchnls = 2
+0dbfs  = 1 
+
+gi24   ftgen 1, 0, 32, -2, 24, 2, 261.626, 60, 1, 1.0293022, 1.059463, 1.0905076, 1.1224619, 1.1553525, 1.1892069, \
+             1.2240532, 1.2599207, 1.2968391, 1.33483924, 1.3739531, 1.414213, 1.4556525, 1.4983063, 1.54221, 1.5874001, \
+             1.6339145, 1.6817917, 1.73107, 1.7817962, 1.8340067, 1.8877471, 1.9430623,  2 ;table for microtuning, a 24 tone equal temperament
+
+giSF	sfload	"sf_GMbank.sf2" 
+        sfilist giSF 
+
+instr 1 
+
+	mididefault	60, p3
+	midinoteonkey	p4, p5
+ikey	= p4
+ivel	= p5
+aenv    linsegr	1, 1, 1, 1, 0			;envelope
+icps    cpstuni ikey, 1				;24 tones per octave
+iamp    = 0.0002				;scale amplitude
+iamp    = iamp * ivel * 1/128 			;make velocity-dependent
+aL, aR	sfinstr3 ivel, ikey, iamp, icps, 180, giSF, 1 ;= Slap Bass 3
+aL      = aL * aenv 
+aR      = aR * aenv 
+        outs aL, aR 
+
+endin 
+</CsInstruments> 
+<CsScore> 
+f0 60	;play for 60 seconds
+
+i1 0 1 60 100 1	;using ftable 1
+i1 + 1 62 <   .
+i1 + 1 65 <   .
+i1 + 1 69 40  .
+
+e 
+</CsScore> 
+</CsoundSynthesizer> 
\ No newline at end of file
diff --git a/examples/sfinstr3m.csd b/examples/sfinstr3m.csd
new file mode 100644
index 0000000..ad86ccc
--- /dev/null
+++ b/examples/sfinstr3m.csd
@@ -0,0 +1,46 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac -+rtmidi=virtual -M0 ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o sfinstr3m.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100 
+ksmps = 32
+nchnls = 2
+0dbfs  = 1 
+
+
+gisf	sfload	"07AcousticGuitar.sf2"
+	sfilist	isf
+
+instr 1	; play from score and midi keyboard
+
+	mididefault	60, p3
+	midinoteonkey	p4, p5
+inum	init	p4
+ivel	init	p5
+ivel	init	ivel/127					;make velocity dependent
+kamp	linsegr	1, 1, 1, .1, 0
+kamp	= kamp/7000						;scale amplitude
+kfreq	init	1						;do not change freq from sf
+aout	sfinstr3m ivel, inum, kamp*ivel, kfreq, 0, gisf
+	outs	aout, aout
+	
+	endin
+	
+</CsInstruments>
+<CsScore>
+f0  60				; stay active for 1 minute
+
+i1 0 1 60 127
+i1 + 1 62 <
+i1 + 1 65 <
+i1 + 1 69 10
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/sfload.csd b/examples/sfload.csd
old mode 100755
new mode 100644
index bb303cf..7e7a8c9
--- a/examples/sfload.csd
+++ b/examples/sfload.csd
@@ -1,53 +1,55 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d   -M0     ;;;RT audio I/O, midi in
+-odac -+rtmidi=virtual -M0   ;;;realtime audio out, virtual midi in
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o sfload.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-sr         = 44100
-ksmps = 100
+sr = 44100
+ksmps = 32
 nchnls = 2
-; load two soundfonts
+0dbfs  = 1
+
+;load two soundfonts
 isf	sfload	"07AcousticGuitar.sf2"
 ir	sfload	"01hpschd.sf2"
+	sfplist isf
+	sfplist ir
 	sfpassign	0, isf	
 	sfpassign	1, ir
 
-	instr 1
-; play from score and midi keyboard (=midi channel 1)
-	mididefault		60, p3
+instr 1	; play guitar from score and midi keyboard - preset index = 0
+
+	mididefault	60, p3
 	midinoteonkey	p4, p5
 inum	init	p4
 ivel	init	p5
-print	ivel
-
-ivel	init	3*(ivel/127)					; velocity-dependent
-kamp	linsegr	1,1,1,.1,0
+ivel	init	ivel/127					;make velocity dependent
+kamp	linsegr	1, 1, 1, .1, 0
+kamp	= kamp/3000						;scale amplitude
 kfreq	init	1						;do not change freq from sf
-a1,a2	sfplay3	ivel, inum, kamp*ivel, kfreq, 0, 0
+a1,a2	sfplay3	ivel, inum, kamp*ivel, kfreq, 0			;preset index = 0
 	outs	a1, a2
 	
 	endin
 	
-		instr 2
-; play from score and midi keyboard (=midi channel 2)
-	mididefault		60, p3
+instr 2	; play harpsichord from score and midi keyboard - preset index = 1
+
+	mididefault	60, p3
 	midinoteonkey	p4, p5
 inum	init	p4
 ivel	init	p5
-print	ivel
-
-ivel	init	10*(ivel/127)				; 01hpschd.sf2 needs extra volume
-kamp	linsegr	1,1,1,.1,0				; velocity-dependent
+ivel	init	ivel/127					;make velocity dependent
+kamp	linsegr	1, 1, 1, .1, 0
+kamp	= kamp/1000						;scale amplitude
 kfreq	init	1						;do not change freq from sf
-a1,a2	sfplay3	ivel, inum, kamp*ivel, kfreq, 1, 0
+a1,a2	sfplay3	ivel, inum, kamp*ivel, kfreq, 1			;preset index = 1
 	outs	a1, a2
 	
-	endin
+endin
 	
 </CsInstruments>
 <CsScore>
@@ -62,5 +64,7 @@ i2 5 1 60 100
 i2 + 1 62 <
 i2 7 1 65 <
 i2 7 1 69 10
+
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/sflooper.csd b/examples/sflooper.csd
old mode 100755
new mode 100644
index c6b9add..f9cfdc3
--- a/examples/sflooper.csd
+++ b/examples/sflooper.csd
@@ -2,45 +2,47 @@
 <CsOptions>
 ; Select audio/midi flags here according to platform
 ; Audio out   Audio in    No messages
--odac           -iadc     -d   -M0     ;;;RT audio I/O, midi in
+-odac -+rtmidi=virtual  -M0     ;;;realtime audio in, midi in
 ; For Non-realtime ouput leave only the line below:
 ; -o sflooper.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-sr         = 44100
-ksmps = 100
+sr = 44100
+ksmps = 32
 nchnls = 2
+0dbfs  = 1
 
-isf	sfload	"/home/menno/CVS/manual/examples/07AcousticGuitar.sf2"
-	sfilist		isf
-	sfplist	isf
-	sfpassign	0, isf
 
-	instr 1
-; play from score and midi keyboard
-	mididefault		60, p3
-	midinoteonkey	p4, p5
-inum	init	p4
-ivel	init	p5
-print	ivel
+isf   sfload "07AcousticGuitar.sf2"
+      sfpassign 0, isf
 
-ivel	init	3*(ivel/127)					; pre-amplify
-kamp	linsegr	1,1,1,.1,0
-kfreq	init	1						;do not change freq from sf
-;                             ivel, inum, kamp          ,kfreq, ind,loopstrt,loopend,xfade, ifn
-a1,a2	sflooper	ivel, inum, kamp*ivel, kfreq,  0,   0,        .3,         .5,     0
-	outs	a1, a2
-	
-	endin
+instr 1	; play from score and midi keyboard
+
+      mididefault   60, p3
+      midinoteonkey p4, p5
+inum  init p4
+ivel  init p5
+print ivel
+
+ivel  init    ivel/127		;velocity dependent
+kamp  linsegr 1,1,1,.1,0	;envelope
+kamp  = kamp * .0002		;scale amplitude (= kamp/5000)
+kfreq init 1			;do not change freq from sf
+;"07AcousticGuitar.sf2" contains 2 samples, on notes E1 and C#4
+;start loop from beginning, loop .2 seconds - on the root key of these samples
+aL,aR sflooper ivel, inum, kamp*ivel, kfreq, 0, 0, .2, .05
+      outs aL, aR
 	
+endin
 </CsInstruments>
 <CsScore>
-f0  60				; stay active for 1 minute
+f0  60		; stay active for 1 minute
 
 i1 0 1 60 100
 i1 + 1 62 <
 i1 + 1 65 <
 i1 + 1 69 10
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/sfpassign.csd b/examples/sfpassign.csd
new file mode 100644
index 0000000..5db8db1
--- /dev/null
+++ b/examples/sfpassign.csd
@@ -0,0 +1,70 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac -+rtmidi=virtual -M0   ;;;realtime audio out, virtual midi in
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o sfpassign.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+;load two soundfonts
+gisf	sfload	"07AcousticGuitar.sf2"
+gir	sfload	"01hpschd.sf2"
+	sfplist gisf
+	sfplist gir
+	sfpassign	0, gisf	
+	sfpassign	1, gir
+
+instr 1	; play guitar from score and midi keyboard - preset index = 0
+
+	mididefault	60, p3
+	midinoteonkey	p4, p5
+inum	init	p4
+ivel	init	p5
+ivel	init	ivel/127					;make velocity dependent
+kamp	linsegr	1, 1, 1, .1, 0
+kamp	= kamp/5000						;scale amplitude
+kfreq	init	1						;do not change freq from sf
+a1,a2	sfplay3	ivel, inum, kamp*ivel, kfreq, 0			;preset index = 0
+	outs	a1, a2
+	
+	endin
+	
+instr 2	; play harpsichord from score and midi keyboard - preset index = 1
+
+	mididefault	60, p3
+	midinoteonkey	p4, p5
+inum	init	p4
+ivel	init	p5
+ivel	init	ivel/127					;make velocity dependent
+kamp	linsegr	1, 1, 1, .1, 0
+kamp	= kamp/1000						;scale amplitude
+kfreq	init	1						;do not change freq from sf
+a1,a2	sfplay3	ivel, inum, kamp*ivel, kfreq, 1			;preset index = 1
+	outs	a1, a2
+	
+endin
+	
+</CsInstruments>
+<CsScore>
+f0  60				; stay active for 1 minute
+
+i1 0 1 60 100
+i1 + 1 62 <
+i1 + 1 65 <
+i1 + 1 69 10
+
+i2 5 1 60 100
+i2 + 1 62 <
+i2 7 1 65 <
+i2 7 1 69 10
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/sfplay.csd b/examples/sfplay.csd
old mode 100755
new mode 100644
index fe37380..d21ad9c
--- a/examples/sfplay.csd
+++ b/examples/sfplay.csd
@@ -1,34 +1,34 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d   -M0     ;;;RT audio I/O, midi in
+-odac -+rtmidi=virtual -M0 ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o sfplay.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-sr         = 44100
-ksmps = 100
+sr = 44100 
+ksmps = 32
 nchnls = 2
+0dbfs  = 1 
+
 
 isf	sfload	"07AcousticGuitar.sf2"
-	sfilist		isf
 	sfplist	isf
-	sfpassign	0, isf
+	sfpassign 0, isf
+
+instr 1	; play from score and midi keyboard
 
-	instr 1
-; play from score and midi keyboard
-	mididefault		60, p3
+	mididefault	60, p3
 	midinoteonkey	p4, p5
 inum	init	p4
 ivel	init	p5
-print	ivel
-
-ivel	init	3*(ivel/127)					; pre-amplify
-kamp	linsegr	1,1,1,.1,0
-kfreq	init	1							;do not change freq from sf
-a1,a2	sfplay	ivel, inum, kamp*ivel, kfreq, 0, 0
+ivel	init	ivel/127					;make velocity dependent
+kamp	linsegr	1, 1, 1, .1, 0
+kamp	= kamp/5000						;scale amplitude
+kfreq	init	1						;do not change freq from sf
+a1,a2	sfplay	ivel, inum, kamp*ivel, kfreq, 0			;preset index = 0
 	outs	a1, a2
 	
 	endin
@@ -41,5 +41,7 @@ i1 0 1 60 127
 i1 + 1 62 <
 i1 + 1 65 <
 i1 + 1 69 10
+
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/sfplay3.csd b/examples/sfplay3.csd
old mode 100755
new mode 100644
index 2532ac8..b92088e
--- a/examples/sfplay3.csd
+++ b/examples/sfplay3.csd
@@ -1,45 +1,72 @@
-<CsoundSynthesizer>
-<CsOptions>
+<CsoundSynthesizer> 
+<CsOptions> 
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d   -M0     ;;;RT audio I/O, midi in
+-odac -+rtmidi=virtual -M0 ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o sfplay3.wav -W ;;; for file output any platform
-</CsOptions>
-<CsInstruments>
+</CsOptions> 
+<CsInstruments> 
 
-sr         = 44100
-ksmps = 100
+sr = 44100 
+ksmps = 32
 nchnls = 2
+0dbfs  = 1 
 
-isf	sfload	"07AcousticGuitar.sf2"
-	sfilist		isf
-	sfplist	isf
-	sfpassign	0, isf
+gitwelve ftgen 1, 0, 16, -2, 12, 2, 440, 69, 1, 16/15, 9/8, 6/5, 5/4, 4/3, 7/5, 3/2, 8/5, 5/3, 9/5, 15/8, 2 
+givife   ftgen 2, 0, 16, -2, 5, 2, 261.659, 60, 1, 1.1486, 1.3195, 1.5157, 1.7411, 2.00
 
-	instr 1
-; play from score and midi keyboard
-	mididefault		60, p3
+giSF	sfload	"01hpschd.sf2" 
+        sfplist giSF 
+gipre	sfpreset 0, 0, giSF, 0 
+
+instr 1 
+
+	mididefault	60, p3
+	midinoteonkey	p4, p5
+ikey	= p4
+ivel	= p5
+aenv    linsegr	1, 1, 1, 1, 0			;envelope
+icps    cpstuni	ikey, gitwelve 			;12 tones per octave
+iamp    = 0.0004				;scale amplitude
+iamp    = iamp * ivel * 1/128 			;make velocity-dependent
+aL, aR	sfplay3 ivel, ikey, iamp, icps, gipre, 1 
+aL      = aL * aenv 
+aR      = aR * aenv 
+        outs aL, aR 
+
+endin 
+
+instr 2 
+
+	mididefault	60, p3
 	midinoteonkey	p4, p5
-inum	init	p4
-ivel	init	p5
-print	ivel
-
-ivel	init	3*(ivel/127)					; pre-amplify
-kamp	linsegr	1,1,1,.1,0
-kfreq	init	1							;do not change freq from sf
-a1,a2	sfplay3	ivel, inum, kamp*ivel, kfreq, 0, 0
-	outs	a1, a2
-	
-	endin
-	
-</CsInstruments>
-<CsScore>
-f0  60				; stay active for 1 minute
-
-i1 0 1 60 127
-i1 + 1 62 <
-i1 + 1 65 <
-i1 + 1 69 10
-</CsScore>
-</CsoundSynthesizer>
+ikey	= p4
+ivel	= p5
+aenv    linsegr	1, 1, 1, 1, 0			;envelope
+icps    cpstuni	ikey, givife			;5 tones per octave
+iamp    = 0.0004				;scale amplitude
+iamp    = iamp * ivel * 1/128 			;make velocity-dependent
+aL, aR	sfplay3 ivel, ikey, iamp, icps, gipre, 1 
+aL      = aL * aenv 
+aR      = aR * aenv 
+        outs aL, aR 
+
+endin 
+</CsInstruments> 
+<CsScore> 
+f0 60	;play for 60 seconds
+;instr.1 using ftable 1
+i1 0 1 60 100 
+i1 + 1 62 <  
+i1 + 1 65 <   
+i1 + 1 69 40  
+
+;instr.2 using ftable 2
+i2 5 1 60 100 
+i2 + 1 62 <   
+i2 + 1 65 <   
+i2 + 1 69 40  
+e 
+</CsScore> 
+</CsoundSynthesizer> 
\ No newline at end of file
diff --git a/examples/sfplay3m.csd b/examples/sfplay3m.csd
old mode 100755
new mode 100644
index 229c14f..0add172
--- a/examples/sfplay3m.csd
+++ b/examples/sfplay3m.csd
@@ -1,45 +1,47 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d   -M0     ;;;RT audio I/O, midi in
+-odac -+rtmidi=virtual -M0 ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o sfplay3m.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-sr         = 44100
-ksmps = 100
+sr = 44100 
+ksmps = 32
 nchnls = 2
+0dbfs  = 1 
 
-isf	sfload	"07AcousticGuitar.sf2"
-	sfilist		isf
-	sfplist	isf
-	sfpassign	0, isf
 
-	instr 1
-; play from score and midi keyboard
-	mididefault		60, p3
+gisf	sfload	"07AcousticGuitar.sf2"
+	sfplist	gisf
+	sfpassign 10, gisf
+
+instr 1	; play from score and midi keyboard
+
+	mididefault	60, p3
 	midinoteonkey	p4, p5
 inum	init	p4
 ivel	init	p5
-print	ivel
-
-ivel	init	2*(ivel/127)					; pre-amplify
-kamp	linsegr	1,1,1,.1,0
-kfreq	init	1							;do not change freq from sf
-a1	sfplay3m	ivel, inum, kamp*ivel, kfreq, 0, 0
-	outs	a1, a1
+ivel	init	ivel/127					;make velocity dependent
+kamp	linsegr	1, 1, 1, .1, 0
+kamp	= kamp/7000						;scale amplitude
+kfreq	init	1						;do not change freq from sf
+aout	sfplay3m ivel, inum, kamp*ivel, kfreq, 10		;preset index = 10
+	outs	aout, aout
 	
-	endin
+endin
 	
 </CsInstruments>
 <CsScore>
-f0  60				; stay active for 1 minute
+f0  60	; stay active for 1 minute
 
 i1 0 1 60 127
 i1 + 1 62 <
 i1 + 1 65 <
 i1 + 1 69 10
+
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/sfplaym.csd b/examples/sfplaym.csd
old mode 100755
new mode 100644
index 2666489..1951e9e
--- a/examples/sfplaym.csd
+++ b/examples/sfplaym.csd
@@ -1,45 +1,47 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d   -M0     ;;;RT audio I/O, midi in
+-odac -+rtmidi=virtual -M0 ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o sfplaym.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-sr         = 44100
-ksmps = 100
+sr = 44100 
+ksmps = 32
 nchnls = 2
+0dbfs  = 1 
 
-isf	sfload	"07AcousticGuitar.sf2"
-	sfilist		isf
-	sfplist	isf
-	sfpassign	0, isf
 
-	instr 1
-; play from score and midi keyboard
-	mididefault		60, p3
+gisf	sfload	"07AcousticGuitar.sf2"
+	sfplist	gisf
+	sfpassign 100, gisf
+
+instr 1	; play from score and midi keyboard
+
+	mididefault	60, p3
 	midinoteonkey	p4, p5
 inum	init	p4
 ivel	init	p5
-print	ivel
-
-ivel	init	2*(ivel/127)					; pre-amplify
-kamp	linsegr	1,1,1,.1,0
-kfreq	init	1							;do not change freq from sf
-a1	sfplaym	ivel, inum, kamp*ivel, kfreq, 0, 0
-	outs	a1, a1
+ivel	init	ivel/127					;make velocity dependent
+kamp	linsegr	1, 1, 1, .1, 0
+kamp	= kamp/7000						;scale amplitude
+kfreq	init	1						;do not change freq from sf
+aout	sfplaym ivel, inum, kamp*ivel, kfreq, 100		;preset index = 100
+	outs	aout, aout
 	
-	endin
+endin
 	
 </CsInstruments>
 <CsScore>
-f0  60				; stay active for 1 minute
+f0  60	; stay active for 1 minute
 
 i1 0 1 60 127
 i1 + 1 62 <
 i1 + 1 65 <
 i1 + 1 69 10
+
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/sfplist.csd b/examples/sfplist.csd
new file mode 100644
index 0000000..75b05e7
--- /dev/null
+++ b/examples/sfplist.csd
@@ -0,0 +1,46 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac -+rtmidi=virtual -M0  ;;;realtime audio out, virtual midi in
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o sfplist.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+gisf	sfload	 "sf_GMbank.sf2"
+	sfplist	 gisf					;list all presets
+gir	sfpreset 125, 3, gisf, 0 			;preset = Car Pass
+
+instr 1	; play from score and midi keyboard
+
+	mididefault	60, p3
+	midinoteonkey	p4, p5
+inum	init	p4
+ivel	init	p5
+ivel	init	ivel/127				;make velocity dependent
+kamp	linsegr	1, 1, 1, .1, 0
+kamp	= kamp/6000					;scale amplitude
+kfreq	init	1					;do not change freq from sf
+a1,a2	sfplay3	ivel, inum, kamp, kfreq, gir
+	outs	a1, a2
+	
+endin
+	
+</CsInstruments>
+<CsScore>
+f0  60				; stay active for 1 minute
+
+i1 0 1 60 127
+i1 + 1 62 <
+i1 + 1 65 <
+i1 + 1 69 10
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/sfpreset.csd b/examples/sfpreset.csd
new file mode 100644
index 0000000..0b80030
--- /dev/null
+++ b/examples/sfpreset.csd
@@ -0,0 +1,55 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac -+rtmidi=virtual -M0  ;;;realtime audio out, virtual midi in
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o sfpreset.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+gisf1	sfload	 "sf_GMbank.sf2"
+	sfplist	 gisf1						;list presets of first soundfont
+gisf2	sfload	 "07AcousticGuitar.sf2"
+	sfplist	 gisf2						;list presets of second soundfont
+gir	sfpreset 50, 0, gisf1, 0 				;assign Synth Strings to index 0
+giv	sfpreset 0, 0, gisf2, 1					;assign AcousticGuitar to index 1
+print gir
+print giv
+
+instr 1	; play from score and midi keyboard
+
+	mididefault	60, p3
+	midinoteonkey	p4, p5
+inum	init	p4
+ivel	init	p5
+ivel	init	ivel/127					;make velocity dependent
+kamp	linsegr	1, 1, 1, .1, 0
+kamp	= kamp/5000						;scale amplitude
+kfreq	init	1						;do not change freq from sf
+a1,a2	sfplay3	ivel, inum, kamp*ivel, kfreq, p6
+	outs	a1, a2
+	
+endin
+	
+</CsInstruments>
+<CsScore>
+f0  60		; stay active for 1 minute
+
+i1 0 1 60 127 0	;= Synth Strings I from first soundfont
+i1 + 1 62 <   .
+i1 + 1 65 <   .
+i1 + 1 69 10  .
+
+i1 5 1 60 127 1	;= AcousticGuitar from second soundfont
+i1 + 1 62 <   .
+i1 + 1 65 <   .
+i1 + 1 69 10  .
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/signum.csd b/examples/signum.csd
new file mode 100644
index 0000000..e124afb
--- /dev/null
+++ b/examples/signum.csd
@@ -0,0 +1,39 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o oscil.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr     =    44100
+kr     =    4410
+ksmps  =    10
+nchnls =    2
+0dbfs  =    1
+
+gaArr[]  init  2
+
+instr 1
+kEnv transeg    1, p3, -3, 0
+
+a_pi = 4 * taninv(1.0);
+a1   phasor 440;
+a2   = sin(2 * a_pi * 1/ksmps * a1);
+a3   dcblock2 a2
+asig = signum(a3)
+
+gaArr[0] = a2   * 0.6 * kEnv 
+gaArr[1] = asig * 0.6 * kEnv 
+
+outs  gaArr[0], gaArr[1]
+endin
+
+</CsInstruments>
+<CsScore>
+i 1 0 3
+
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/sin.csd b/examples/sin.csd
index c0c920a..3f515cf 100644
--- a/examples/sin.csd
+++ b/examples/sin.csd
@@ -1,35 +1,44 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o sin.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  irad = 25
-  i1 = sin(irad)
 
-  print i1
+isin1     =          sin(0) 					;sine of 0 is 0
+isin2     =          sin($M_PI_2) 				;sine of pi/2 (1.5707...) is 1
+isin3     =          sin($M_PI) 				;sine of pi (3.1415...) is 0
+isin4     =          sin($M_PI_2 * 3) 				;sine of 3/2pi (4.7123...) is -1
+isin5     =          sin($M_PI * 2) 				;sine of 2pi (6.2831...) is 0
+isin6     =          sin($M_PI * 4) 				;sine of 4pi is also 0
+          print      isin1, isin2, isin3, isin4, isin5, isin6
 endin
 
+instr 2 ;sin used in panning, after an example from Hans Mikelson
+
+aout      vco2       0.8, 220 					; sawtooth
+kpan      linseg     p4, p3, p5 ;0 = left, 1 = right
+kpan      =          kpan*$M_PI_2 				;range 0-1 becomes 0-pi/2
+kpanl     =          cos(kpan)
+kpanr     =          sin(kpan)
+          outs       aout*kpanl, aout*kpanr
+endin
 
 </CsInstruments>
 <CsScore>
-
-; Play Instrument #1 for one second.
-i 1 0 1
+i 1 0 0
+i 2 0 5 0 1 ;move left to right
+i 2 5 5 1 0 ;move right to left
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/sinsyn.csd b/examples/sinsyn.csd
new file mode 100644
index 0000000..adbf7a8
--- /dev/null
+++ b/examples/sinsyn.csd
@@ -0,0 +1,34 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o sinsyn.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+kmxtr init p4
+ain   diskin2 "fox.wav", 1
+fs1,fsi2 pvsifd ain, 2048, 512,1	; ifd analysis
+fst   partials fs1, fsi2, .03, 1, 3, 500 ; partial tracking
+aout  sinsyn fst, .5, kmxtr, 1		; scale amplitude down
+      outs aout, aout
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0 8192 10 1
+
+i 1 0 2.7 15	;filtering effect by using low number of tracks
+i 1 + 2.7 500	;maximum number of tracks
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/sleighbells.csd b/examples/sleighbells.csd
index ef3b861..9546850 100644
--- a/examples/sleighbells.csd
+++ b/examples/sleighbells.csd
@@ -1,42 +1,41 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o sleighbells.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-sr = 22050
-kr = 2205
-ksmps = 10
-nchnls = 1
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1: An example of sleighbells.
-instr 1
-  a1 sleighbells 20000, 0.01
 
-  out a1
-endin
+instr 1
 
+idamp = p4
+asig  sleighbells .7, 0.01, 32, idamp
+      outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
 
-i 1 0.00 0.25
+i 1 0.00 0.25 0	;short sound
 i 1 0.30 0.25
 i 1 0.60 0.25
 i 1 0.90 0.25
 i 1 1.20 0.25
-i 1 1.50 0.25
-i 1 1.80 0.25
+i 1 1.50 1   .3	;longer sound
+i 1 1.80 0.25 0	;short sound again
 i 1 2.10 0.25
 i 1 2.40 0.25
 i 1 2.70 0.25
 i 1 3.00 0.25
 e
 
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/slicearray.csd b/examples/slicearray.csd
new file mode 100644
index 0000000..023ff5b
--- /dev/null
+++ b/examples/slicearray.csd
@@ -0,0 +1,56 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-n
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+;create and fill an array
+kArr[]  genarray_i 1, 9
+
+;print the content
+        printf  "%s", 1, "kArr = whole array\n"
+kndx    =       0
+  until kndx == lenarray(kArr) do
+        printf  "kArr[%d] = %f\n", kndx+1, kndx, kArr[kndx]
+kndx    +=      1
+  od
+
+;build new arrays for the slices
+kArr1[] init    5
+kArr2[] init    4
+
+;put in first five and last four elements
+kArr1   slicearray kArr, 0, 4
+kArr2   slicearray kArr, 5, 8
+
+;print the content
+        printf  "%s", 1, "\nkArr1 = slice from index 0 to index 4\n"
+kndx    =       0
+  until kndx == lenarray(kArr1) do
+        printf  "kArr1[%d] = %f\n", kndx+1, kndx, kArr1[kndx]
+kndx    +=      1
+  od
+        printf  "%s", 1, "\nkArr2 = slice from index 5 to index 8\n"
+kndx    =       0
+  until kndx == lenarray(kArr2) do
+        printf  "kArr2[%d] = %f\n", kndx+1, kndx, kArr2[kndx]
+kndx    +=      1
+  od
+
+        turnoff
+endin
+
+
+</CsInstruments>
+<CsScore>
+i 1 0 1
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/sndloop.csd b/examples/sndloop.csd
old mode 100755
new mode 100644
index d3cf257..6c8c1d5
--- a/examples/sndloop.csd
+++ b/examples/sndloop.csd
@@ -1,37 +1,37 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o sndloop.wav -W -t60 ;;; for file output any platform
+; -o sndloop.wav -W  ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2
 
-; Instrument #1.
 instr 1
-ifade	=	p4
-asig	diskin2	"beats.wav", 1		; get the signal in
-ktrig	line		0, 1, 1			; trigger signal
-aout,krec	sndloop	asig, .8, ktrig, .4, ifade	; rec starts at 1 sec, for 4 secs 0.05 crossfade
-	printk  1, krec                 		; prints the recording signal
-	out     aout
+
+itrig  = p4
+asig   diskin2 "beats.wav", 1, 0, 1		;get the signal in, loop it
+ktrig  line 0, itrig, 1				;when to trigger signal = p4
+kpitch line 1.2, p3, .5				;vary pitch of recorded signal
+aout,krec sndloop asig, kpitch, ktrig, .4, 0.05	;rec starts at p4 sec, for .4 secs and 0.05 crossfade
+       printk2 krec               	  	; prints the recording signal
+       outs    aout, aout
 
 endin
 
 </CsInstruments>
 <CsScore>
 
-i1 0 3.5 .05
-i1 + 3.5 .25
+i1 0 5 .5	;trigger in seconds (=p4)
+i1 + 5 .8
+i1 + 10 1.2
 
 e
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/sndwarp.csd b/examples/sndwarp.csd
index 018f2ee..b783807 100644
--- a/examples/sndwarp.csd
+++ b/examples/sndwarp.csd
@@ -1,64 +1,41 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o sndwarp.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2
 
-; Instrument #1 - play an audio file.
 instr 1
-  ; Use the audio file defined in Table #1.
-  a1 loscil 30000, 1, 1, 1
 
-  out a1
-endin
+ktimewarp line 0, p3, 2.7	;length of "fox.wav"
+kresample init 1		;do not change pitch
+ibeg = 0			;start at beginning
+iwsize = 4410			;window size in samples with
+irandw = 882			;bandwidth of a random number generator
+itimemode = 1			;ktimewarp is "time" pointer
+ioverlap = p4
 
-; Instrument #2 - time-stretch an audio file.
-instr 2
-  kamp init 6500
-  ; Start at 1 second and end at 3.5 seconds.
-  ktimewarp line 1, p3, 3.5
-  ; Playback at the normal speed.
-  kresample init 1
-  ; Use the audio file defined in Table #1.
-  ifn1 = 1
-  ibeg = 0
-  iwsize = 4410
-  irandw = 882
-  ioverlap = 15
-  ; Use Table #2 for the windowing function.
-  ifn2 = 2
-  ; Use the ktimewarp parameter as a "time" pointer.
-  itimemode = 1
+asig sndwarp .5, ktimewarp, kresample, 1, ibeg, iwsize, irandw, ioverlap, 2, itimemode
+     outs asig, asig
 
-  a1 sndwarp kamp, ktimewarp, kresample, ifn1, ibeg, iwsize, irandw, ioverlap, ifn2, itimemode
-  out a1
 endin
-
-
 </CsInstruments>
 <CsScore>
+f 1 0 131072 1 "fox.wav" 0 0 0	; audio file
+f 2 0 1024 9 0.5 1 0		; half of a sine wave
 
-; Table #1: an audio file.
-f 1 0 262144 1 "mary.wav" 0 0 0
-; Table #2: half of a sine wave.
-f 2 0 16384 9 0.5 1 0
-
-; Play Instrument #1 for 3.5 seconds.
-i 1 0 3.5
-; Play Instrument #2 for 7 seconds (time-stretched).
-i 2 3.5 10.5
+i 1 0 7 2			;different overlaps
+i 1 + 7 5
+i 1 + 7 15
 e
 
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/sndwarpst.csd b/examples/sndwarpst.csd
old mode 100755
new mode 100644
index 46a2c86..f72ff98
--- a/examples/sndwarpst.csd
+++ b/examples/sndwarpst.csd
@@ -1,53 +1,43 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o sndwarpst.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-
 sr = 44100
-kr = 4410
-ksmps = 10
+ksmps = 32
 nchnls = 2
+0dbfs  = 1
 
 
 instr 1
-  kamp init 10000
-  ; Start at 1 second and end at 3.5 seconds.
-  ktimewarp line 1, p3, 1.5
-  ; Playback at the normal speed.
-  kresample init 4
-  ; Use the audio file defined in Table #1.
-  ifn1 = 1
-  ibeg = 0
-  iwsize = 4410
-  irandw = 100
-  ioverlap = 15
-  ; Use Table #2 for the windowing function.
-  ifn2 = 2
-  ; Use the ktimewarp parameter as a "time" pointer.
-  itimemode = 1
 
-  a1, a2 sndwarp kamp, ktimewarp, kresample, ifn1, ibeg, iwsize, irandw, ioverlap, ifn2, itimemode
-  outs a1, a2
+ktimewarp line 0, p3, 1		;length of stereo file "kickroll.wav"
+kresample init 1		;playback at the normal speed
+ibeg = 0
+iwsize = 4410
+irandw = 441
+ioverlap = p4
+itimemode = 1			; Use the ktimewarp parameter as a "time" pointer
+
+aL, aR sndwarpst .3, ktimewarp, kresample, 1, ibeg, iwsize, irandw, ioverlap, 2, itimemode
+aL dcblock aL			;get rid of DC offsets for left channel &
+aR dcblock aR			;right channel
+   outs aL, aR
   
 endin
-
-
 </CsInstruments>
 <CsScore>
-; Table #1: an audio file.
 f 1 0 65536 1 "kickroll.wav" 0 0 0
-; Table #2: half of a sine wave.
-f 2 0 16384 9 0.5 1 0
+f 2 0 16384 9 0.5 1 0		;half of a sine wave
 
-i 1 0 10
+i 1 0 7 2			;different overlaps
+i 1 + 7 5
+i 1 + 7 15
 e
-
 </CsScore>
-</CsoundSynthesizer>
\ No newline at end of file
+</CsoundSynthesizer>
diff --git a/examples/soundin.csd b/examples/soundin.csd
index b87b737..3a469f4 100644
--- a/examples/soundin.csd
+++ b/examples/soundin.csd
@@ -1,33 +1,38 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+;-odac     ;;;realtime audio out
+-iadc   ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o soundin.wav -W ;;; for file output any platform
+;-o soundin.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 44100
-ksmps = 1
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1 - play an audio file.
-instr 1
-  asig soundin "beats.wav"
-  out asig
-endin
+instr 1 ; choose between mono or stereo file
+
+ichn filenchnls  p4	;check number of channels
+print  ichn
 
+if ichn == 1 then	
+asig   soundin p4	;mono signal
+       outs    asig, asig
+else			;stereo signal
+aL, aR soundin p4
+       outs    aL, aR
+endif
 
+endin
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1, the audio file, for three seconds.
-i 1 0 3
-e
-
+i 1 0 3 "fox.wav"	;mono signal
+i 1 5 2 "kickroll.wav"	;stereo signal
 
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/space_quad.csd b/examples/space_quad.csd
old mode 100755
new mode 100644
index 5deac14..f9b7a58
--- a/examples/space_quad.csd
+++ b/examples/space_quad.csd
@@ -1,15 +1,16 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d   ;;;RT audio I/O
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o space_quad.wav -W ;;; for file output any platform
 </CsOptions> 
 <CsInstruments>
-sr = 44100
-kr = 4410
-ksmps = 10
+
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
 nchnls = 4
   
 ga1	init	0
@@ -17,44 +18,43 @@ ga2	init	0
 ga3	init	0
 ga4	init	0
 
-instr 1
+instr 1	;uses GEN28 file "move", as found in /manual/examples
 
-asig	diskin2	"beats.wav", 1
-a1, a2, a3, a4	space	asig, 0, 0, .1, p4, p5	; take position values from p4, p5
-ar1, ar2, ar3, ar4	spsend
+kx    init 0
+ky    init 0
+ktime line  0, 5, 5				;same time as in table 1 (="move")
+asig  diskin2 "beats.wav", 1, 0, 1		;sound source is looped
+a1, a2, a3, a4 space asig, 1, ktime, .1, kx, ky	;use table 1 = GEN28
+ar1, ar2, ar3, ar4 spsend			;send to reverb
 
 ga1  = ga1+ar1
 ga2  = ga2+ar2
 ga3  = ga3+ar3
 ga4  = ga4+ar4
-	outq	a1, a2, a3, a4
+     outq a1, a2, a3, a4
+
 endin
 
 instr 99 ; reverb instrument
 
-a1	reverb2	ga1, 2.5, .5
-a2	reverb2	ga2, 2.5, .5
-a3	reverb2  ga3, 2.5, .5
-a4	reverb2  ga4, 2.5, .5
-	outq	a1, a2, a3, a4
+a1 reverb2 ga1, 2.5, .5
+a2 reverb2 ga2, 2.5, .5
+a3 reverb2 ga3, 2.5, .5
+a4 reverb2 ga4, 2.5, .5
+   outq	a1, a2, a3, a4
 
-ga1=0
+ga1=0	
 ga2=0
 ga3=0
 ga4=0
 
 endin
-
 </CsInstruments>
 <CsScore>
-;place the sound in the left speaker and near
-  i1 0 1 -1 1
-;place the sound in the right speaker and far
-  i1 1 1 45 45
-;place the sound equally between left and right and in the middle ground distance
-  i1 2 1 0 12
-
-  i 99 0 5
-  e
+f1 0 0 28 "move"
+
+i1 0 5		;same time as ktime
+i 99 0 10	;keep reverb active
+e
 </CsScore>
-</CsoundSynthesizer>
\ No newline at end of file
+</CsoundSynthesizer>
diff --git a/examples/space_stereo.csd b/examples/space_stereo.csd
old mode 100755
new mode 100644
index a16200d..4a72ee7
--- a/examples/space_stereo.csd
+++ b/examples/space_stereo.csd
@@ -1,37 +1,41 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d   ;;;RT audio I/O
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o space_stereo.wav -W ;;; for file output any platform
 </CsOptions> 
 <CsInstruments>
- sr = 44100
-kr = 4410
-ksmps = 10
+
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
 nchnls = 2
   
-ga1	init	0
-ga2	init	0
+ga1 init 0
+ga2 init 0
 
 instr 1
 
-asig	diskin2	"beats.wav", 1
-a1, a2, a3, a4	space	asig, 0, 0, .1, p4, p5	; take position values from p4, p5
-ar1, ar2, ar3, ar4	spsend				; a3, a4, ar3, ar4 are dummies
+kx   = p4
+ky   = p5
+asig diskin2 "beats.wav", 1
+a1, a2, a3, a4 space asig, 0, 0, .1, kx, ky	;take position values from p4, p5
+ar1, ar2, ar3, ar4 spsend			;send to reverb
 
-ga1  = ga1+ar1
-ga2  = ga2+ar2
+ga1 = ga1+ar1
+ga2 = ga2+ar2
+    outs a1, a2
 
-	outs	a1, a2
 endin
 
 instr 99 ; reverb instrument
 
-a1	reverb2	ga1, 2.5, .5
-a2	reverb2	ga2, 2.5, .5
-	outs	a1, a2
+a1 reverb2 ga1, 2.5, .5
+a2 reverb2 ga2, 2.5, .5
+   outs	a1, a2
+
 ga1=0
 ga2=0
 
@@ -40,13 +44,13 @@ endin
 </CsInstruments>
 <CsScore>
 ;place the sound in the left speaker and near
-  i1 0 1 -1 1
+i1 0 1 -1 1
 ;place the sound in the right speaker and far
-  i1 1 1 45 45
+i1 1 1 45 45
 ;place the sound equally between left and right and in the middle ground distance
-  i1 2 1 0 12
+i1 2 1 0 12
 
-  i 99 0 5
-  e
+i 99 0 7	;keep reverb active
+e
 </CsScore>
-</CsoundSynthesizer>
\ No newline at end of file
+</CsoundSynthesizer>
diff --git a/examples/spat3dt.csd b/examples/spat3dt.csd
new file mode 100644
index 0000000..838ed6c
--- /dev/null
+++ b/examples/spat3dt.csd
@@ -0,0 +1,90 @@
+<CsoundSynthesizer> 
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o spat3dt.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments> 
+
+sr = 44100
+ksmps = 32  
+nchnls = 2
+0dbfs  = 1
+
+garvb   init 0 
+gaW     init 0 
+gaX     init 0 
+gaY     init 0 
+
+itmp ftgen 1, 0, 64, -2, 2, 40, -1, -1, -1, 123,          \ 
+           1, 13.000, 0.05, 0.85, 20000.0, 0.0, 0.50, 2,   \ 
+           1,  2.000, 0.05, 0.85, 20000.0, 0.0, 0.25, 2,   \ 
+           1, 16.000, 0.05, 0.85, 20000.0, 0.0, 0.35, 2,   \ 
+           1,  9.000, 0.05, 0.85, 20000.0, 0.0, 0.35, 2,   \ 
+           1, 12.000, 0.05, 0.85, 20000.0, 0.0, 0.35, 2,   \ 
+           1,  8.000, 0.05, 0.85, 20000.0, 0.0, 0.35, 2 
+
+itmp ftgen 2, 0, 262144, -2, 0 
+     spat3dt 2, -0.2, 1, 0, 1, 1, 2, 0.005 
+
+itmp ftgen 3, 0, 262144, -52, 3, 2, 0, 4, 2, 1, 4, 2, 2, 4 
+
+instr 1 
+
+a1   vco2 1, 440, 10 
+kfrq port 100, 0.008, 20000 
+a1   butterlp a1, kfrq 
+a2   linseg 0, 0.003, 1, 0.01, 0.7, 0.005, 0, 1, 0 
+a1   =  a1 * a2 * 2 
+     denorm a1 
+     vincr garvb, a1 
+aw, ax, ay, az spat3di a1, p4, p5, p6, 1, 1, 2 
+     vincr gaW, aw 
+     vincr gaX, ax 
+     vincr gaY, ay 
+
+endin 
+
+instr 2 
+
+denorm garvb 
+; skip as many samples as possible without truncating the IR 
+arW, arX, arY ftconv garvb, 3, 2048, 2048, (65536 - 2048) 
+aW     =  gaW + arW 
+aX     =  gaX + arX 
+aY     =  gaY + arY 
+garvb  =  0 
+gaW    =  0 
+gaX    =  0 
+gaY    =  0 
+
+aWre, aWim hilbert aW 
+aXre, aXim hilbert aX 
+aYre, aYim hilbert aY 
+aWXr    =  0.0928*aXre + 0.4699*aWre 
+aWXiYr  =  0.2550*aXim - 0.1710*aWim + 0.3277*aYre 
+aL      =  aWXr + aWXiYr 
+aR      =  aWXr - aWXiYr 
+        outs aL, aR 
+
+endin 
+
+</CsInstruments> 
+<CsScore> 
+
+i 1 0 0.5  0.0  2.0 -0.8 
+i 1 1 0.5  1.4  1.4 -0.6 
+i 1 2 0.5  2.0  0.0 -0.4 
+i 1 3 0.5  1.4 -1.4 -0.2 
+i 1 4 0.5  0.0 -2.0  0.0 
+i 1 5 0.5 -1.4 -1.4  0.2 
+i 1 6 0.5 -2.0  0.0  0.4 
+i 1 7 0.5 -1.4  1.4  0.6 
+i 1 8 0.5  0.0  2.0  0.8 
+i 2 0 10 
+e 
+
+</CsScore> 
+</CsoundSynthesizer> 
diff --git a/examples/spdist.csd b/examples/spdist.csd
new file mode 100644
index 0000000..390d644
--- /dev/null
+++ b/examples/spdist.csd
@@ -0,0 +1,64 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o spdist.wav -W ;;; for file output any platform
+</CsOptions> 
+<CsInstruments>
+
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 4
+  
+ga1	init	0
+ga2	init	0
+ga3	init	0
+ga4	init	0
+
+instr 1	;uses GEN28 file "move2", as found in /manual/examples
+
+ifreq = 1
+kx    init 0
+ky    init 0
+ktime line  0, 5.6, 5.6				;same time as in table 1 (="move2")
+kdist spdist 1, ktime, kx, ky
+kfreq = (ifreq*340) / (340 + kdist)		;calculate doppler shift
+printk2 kdist					;print distance values
+asig  diskin2 "flute.aiff", kfreq, 0, 1		;sound source is looped
+a1, a2, a3, a4 space asig, 1, ktime, .1, kx, ky	;use table 1 = GEN28
+ar1, ar2, ar3, ar4 spsend			;send to reverb
+
+ga1  = ga1+ar1
+ga2  = ga2+ar2
+ga3  = ga3+ar3
+ga4  = ga4+ar4
+     outq a1, a2, a3, a4
+
+endin
+
+instr 99 ; reverb instrument
+
+a1 reverb2 ga1, 2.5, .5
+a2 reverb2 ga2, 2.5, .5
+a3 reverb2 ga3, 2.5, .5
+a4 reverb2 ga4, 2.5, .5
+   outq	a1, a2, a3, a4
+
+ga1=0	
+ga2=0
+ga3=0
+ga4=0
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0 0 28 "move2"	;from left front and left rear to the middle in front
+
+i 1 0 5.6		;same time as ktime
+i 99 0 10		;keep reverb active
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/spectrum.txt b/examples/spectrum.txt
new file mode 100644
index 0000000..c60cc6c
--- /dev/null
+++ b/examples/spectrum.txt
@@ -0,0 +1,64 @@
+#Frequency (Hz)	Level (dB)
+344.531250	-9.408175
+689.062500	-11.542959
+1033.593750	-21.892752
+1378.125000	-24.258373
+1722.656250	-18.601250
+2067.187500	-20.766144
+2411.718750	-25.426712
+2756.250000	-20.080441
+3100.781250	-26.096043
+3445.312500	-26.792006
+3789.843750	-25.379452
+4134.375000	-34.031952
+4478.906250	-41.497753
+4823.437500	-46.513386
+5167.968750	-32.469891
+5512.500000	-26.959146
+5857.031250	-33.118156
+6201.562500	-52.667919
+6546.093750	-50.139523
+6890.625000	-44.757580
+7235.156250	-38.376083
+7579.687500	-40.954887
+7924.218750	-42.764221
+8268.750000	-37.079933
+8613.281250	-42.961800
+8957.812500	-55.379814
+9302.343750	-54.114830
+9646.875000	-55.103600
+9991.406250	-58.144154
+10335.937500	-60.414536
+10680.468750	-52.401680
+11025.000000	-47.045467
+11369.531250	-50.944092
+11714.062500	-56.675507
+12058.593750	-59.445457
+12403.125000	-55.266907
+12747.656250	-56.959026
+13092.187500	-60.342400
+13436.718750	-57.675564
+13781.250000	-52.839638
+14125.781250	-59.135277
+14470.312500	-65.163216
+14814.843750	-64.589638
+15159.375000	-64.101051
+15503.906250	-68.578819
+15848.437500	-71.754791
+16192.968750	-55.440922
+16537.500000	-49.826622
+16882.031250	-55.727921
+17226.562500	-70.721367
+17571.093750	-67.187195
+17915.625000	-62.886978
+18260.156250	-64.825745
+18604.687500	-68.334122
+18949.218750	-66.449799
+19293.750000	-61.810974
+19638.281250	-67.812668
+19982.812500	-73.615036
+20327.343750	-72.949310
+20671.875000	-76.245728
+21016.406250	-80.125305
+21360.937500	-83.319687
+21705.468750	-81.967491
diff --git a/examples/sprintf.csd b/examples/sprintf.csd
new file mode 100644
index 0000000..5d30624
--- /dev/null
+++ b/examples/sprintf.csd
@@ -0,0 +1,33 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o sprintf.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+;the file "impuls20.aiff" can be found in /manual/examples
+instr 1
+
+ifn = 20
+Sname sprintf "impuls%02d.aiff", ifn
+Smsg  sprintf "The file name is: '%s'", Sname
+      puts    Smsg, 1
+asig  soundin Sname
+      outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 1
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/spsend.csd b/examples/spsend.csd
new file mode 100644
index 0000000..2de05bf
--- /dev/null
+++ b/examples/spsend.csd
@@ -0,0 +1,64 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o spsend.wav -W ;;; for file output any platform
+</CsOptions> 
+<CsInstruments>
+
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2	;stereo output
+  
+ga1 init 0
+ga2 init 0
+
+instr 1	;sends different amounts to reverb
+
+irev = p6
+asig diskin2 "fox.wav", 1
+a1, a2, a3, a4 space asig, 0, 0, irev, p4, p5	;take position values from p4, p5
+ar1, ar2, ar3, ar4 spsend			;send to reverb
+
+ga1 = ga1+ar1
+ga2 = ga2+ar2
+    outs a1, a2
+
+endin
+
+instr 99 ; reverb instrument
+
+a1 reverb2 ga1, 2.5, .5
+a2 reverb2 ga2, 2.5, .5
+   outs	a1, a2
+
+ga1=0
+ga2=0
+
+endin
+
+</CsInstruments>
+<CsScore>
+;WITH REVERB
+;place the sound in the left speaker and near
+i1 0 1 -1 1 .1
+;place the sound in the right speaker and far
+i1 1 1 45 45 .1
+;place the sound equally between left and right and in the middle ground distance
+i1 2 1 0 12 .1
+
+;NO REVERB
+;place the sound in the left speaker and near
+i1 6 1 -1 1 0
+;place the sound in the right speaker and far
+i1 7 1 45 45 0
+;place the sound equally between left and right and in the middle ground distance
+i1 8 1 0 12 0
+
+i 99 0 12	;keep reverb active all the time
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/spsend_quad.csd b/examples/spsend_quad.csd
old mode 100755
new mode 100644
diff --git a/examples/spsend_stereo.csd b/examples/spsend_stereo.csd
old mode 100755
new mode 100644
diff --git a/examples/sqrt.csd b/examples/sqrt.csd
index 8637e96..b0ea677 100644
--- a/examples/sqrt.csd
+++ b/examples/sqrt.csd
@@ -1,33 +1,32 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o sqrt.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2
 
-; Instrument #1.
 instr 1
-  i1 = sqrt(64)
-  print i1
-endin
 
+asig   pluck 0.7, 55, 55, 0, 1
+kpan   line 0,p3,1 
+kleft  = sqrt(1-kpan) 
+kright = sqrt(kpan) 
+printks "square root of left channel = %f\\n", 1, kleft	;show coarse of sqaure root values
+       outs asig*kleft, asig*kright					;where 0.707126 is between 2 speakers
 
+endin 
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for one second.
-i 1 0 1
+i 1 0 10
 e
-
-
 </CsScore>
-</CsoundSynthesizer>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/sr.csd b/examples/sr.csd
new file mode 100644
index 0000000..e181270
--- /dev/null
+++ b/examples/sr.csd
@@ -0,0 +1,35 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+; -iadc    ;;;uncomment -iadc if real audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o sr.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1	;use sr to find maximum harmonics
+
+ihar	= int(sr/2/p4)		; maximum possible number of harmonics w/o aliasing
+prints  "maximum number of harmonics = %d \\n", ihar
+kenv	linen .5, 1, p3, .2	; envelope
+asig	buzz  kenv, p4, ihar, 1
+	outs  asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0 4096 10 1	;sine wave
+
+i 1 0 3 100	;different frequencies
+i 1 + 3 1000
+i 1 + 3 10000
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/stack.csd b/examples/stack.csd
new file mode 100644
index 0000000..00e7129
--- /dev/null
+++ b/examples/stack.csd
@@ -0,0 +1,39 @@
+<CsoundSynthesizer> 
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o stack.wav -W ;;; for file output any platform
+</CsOptions> 
+<CsInstruments> 
+
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2
+
+stack 100000 
+
+instr 1 
+
+a1	oscils 0.7, 220, 0 
+k1	line 0, p3, 1 
+        push "blah", 123.45, a1, k1 
+        push rnd(k1) 
+
+k_rnd	pop 
+S01, i01, a01, k01 pop 
+        printf_i "S01 = '%s', i01 = %g\n", 1, S01, i01 
+ktrig	metro 5.0 
+        printf "k01 = %.3f, k_rnd = %.3f\n", ktrig, k01, k_rnd 
+        outs a01, a01 
+
+endin 
+</CsInstruments> 
+<CsScore> 
+
+i 1 0 5 
+e 
+</CsScore> 
+</CsoundSynthesizer> 
diff --git a/examples/statevar.csd b/examples/statevar.csd
new file mode 100644
index 0000000..3fc23db
--- /dev/null
+++ b/examples/statevar.csd
@@ -0,0 +1,32 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o statevar.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2
+
+instr 1
+
+kenv linseg 0,0.1,1, p3-0.2,1, 0.1, 0		;declick envelope	
+asig buzz .6*kenv, 100, 100, 1
+kf   expseg 100, p3/2, 5000, p3/2, 1000		;envelope for filter cutoff
+ahp,alp,abp,abr statevar asig, kf, 4
+     outs alp,ahp				; lowpass left, highpass right
+	
+endin	
+</CsInstruments>
+<CsScore>
+f 1 0 16384 10 1	;sine wave
+
+i1 0 5 
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/statvar.csd b/examples/statvar.csd
old mode 100755
new mode 100644
diff --git a/examples/stix.csd b/examples/stix.csd
index a645463..ca930ce 100644
--- a/examples/stix.csd
+++ b/examples/stix.csd
@@ -1,36 +1,33 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o stix.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-;orchestra ---------------
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2
 
-  sr =           44100
-  kr =            4410
-  ksmps =              10
-  nchnls =               1
-
-instr 01                  ;an example of stix
-  a1      line 20, p3, 20                           ;preset amplitude increase
-  a2      stix p4, 0.01   ;stix needs a little amp help at these settings
-  a3      product a1, a2                               ;increase amplitude
-          out a3
-          endin
+instr 1
 
+idamp = p4			;vary damping amount
+asig stix .5, 0.01, 30, idamp
+     outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
 
-;score -------------------
-
-   i1 0 1 26000
-   e
-
+i1 0 1 .3
+i1 + 1  >
+i1 + 1  >
+i1 + 1 .95
 
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/strcat.csd b/examples/strcat.csd
new file mode 100644
index 0000000..3d9832a
--- /dev/null
+++ b/examples/strcat.csd
@@ -0,0 +1,30 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o strcat.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+Sname =  "beats"
+Sname strcat  Sname, ".wav"
+asig  soundin Sname
+      outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 2
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/strcatk.csd b/examples/strcatk.csd
new file mode 100644
index 0000000..b67b63b
--- /dev/null
+++ b/examples/strcatk.csd
@@ -0,0 +1,39 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+; Audio out   Audio in
+-odac           -iadc    ;;;RT audio I/O
+; For Non-realtime ouput leave only the line below:
+; -o strcatk.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+  sr	    =  48000
+  ksmps	    =  16
+  nchnls    =  2
+  0dbfs	    =  1
+
+; Example by Jonathan Murphy 2007
+
+    instr 1
+
+  S1	    =  "1"
+  S2	    =  " + 1"
+  ktrig	    init      0
+  kval	    init      2
+if (ktrig == 1) then
+  S1	    strcatk   S1, S2
+  kval	    =  kval + 1
+endif
+  String    sprintfk  "%s = %d", S1, kval
+	    puts      String, kval
+  ktrig	    metro     1
+
+    endin
+
+</CsInstruments>
+<CsScore>
+i1 0 10
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/strchar.csd b/examples/strchar.csd
new file mode 100644
index 0000000..baf7ad5
--- /dev/null
+++ b/examples/strchar.csd
@@ -0,0 +1,37 @@
+<CsoundSynthesizer>
+<CsOptions>
+-ndm0
+</CsOptions>
+<CsInstruments>
+;example by joachim heintz 2013
+
+  opcode ToAscii, S, S				;returns the ASCII numbers of the input string as string
+
+Sin        xin 					;input string
+ilen       strlen     Sin 			;its length
+ipos       =          0 			;set counter to zero
+Sres       =          "" 			;initialize output string
+loop:                 				;for all characters in input string:
+ichr       strchar    Sin, ipos 		;get its ascii code number
+Snew       sprintf    "%d ", ichr 		;put this number into a new string
+Sres       strcat     Sres, Snew 		;append this to the output string
+           loop_lt    ipos, 1, ilen, loop 	;see comment for 'loop:'
+           xout       Sres 			;return output string
+  endop
+
+  instr Characters
+
+printf_i "\nCharacters:\n  given as single strings: %s%s%s%s%s%s\n", 1, "c", "s", "o", "u", "n", "d"
+printf_i "  but can also be given as numbers: %c%c%c%c%c%c\n", 1, 99, 115, 111, 117, 110, 100 
+Scsound ToAscii "csound"
+printf_i "  in csound, the ASCII code of a character can be accessed with the opcode strchar.%s", 1, "\n"
+printf_i "  the name 'csound' returns the numbers %s\n\n", 1, Scsound
+  endin
+
+</CsInstruments>
+<CsScore>
+
+i "Characters" 0 0
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/strcmp.csd b/examples/strcmp.csd
new file mode 100644
index 0000000..c6d4af1
--- /dev/null
+++ b/examples/strcmp.csd
@@ -0,0 +1,48 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o strcmp.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+;modified example from Joachim Heintz
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+   opcode Triad, iii, S				;define UDO
+Sname      xin
+iMaj       strcmp     "maj", Sname
+iMin       strcmp     "min", Sname
+iPrim      =          8.00			;notes in pitch notattion
+iQuint     =          8.05
+  if iMaj == 0 then
+iTer       =          8.03
+  elseif iMin == 0 then
+iTer       =          8.02
+  endif
+            xout       iPrim, iTer, iQuint
+   endop
+
+instr 1
+
+Sname strget p4
+ia, ib, ic Triad Sname				;apply UDO
+      print ia, ib, ic
+asig1 pluck 0.7, cpspch(ia), 220, 0, 1
+asig2 pluck 0.7, cpspch(ib), 220, 0, 1
+asig3 pluck 0.7, cpspch(ic), 220, 0, 1
+asig  = (asig1+asig2+asig3)*.5
+      outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+i1 0 3 "maj"
+i1 4 3 "min"
+</CsScore>
+</CsoundSynthesizer> 
+
diff --git a/examples/strcpyk.csd b/examples/strcpyk.csd
new file mode 100644
index 0000000..f6ec1bd
--- /dev/null
+++ b/examples/strcpyk.csd
@@ -0,0 +1,85 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o strcpyk.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+seed 0
+
+instr 1 
+;get one element of the input string whenever the metro
+;triggers, and call a subinstrument to play the file
+
+Smember   strget    p4
+istrlen   strlen    Smember
+kprint    init      0
+ktrig     metro     .6 
+
+ ;whenever the trigger gives signal
+ if ktrig == 1 then
+  ;choose a random element (0, 1 or 2)
+kel       random    0, 3.9999
+kel       =         int(kel)
+ ;make a copy for leaving Smember intact
+Scopy     strcpyk   Smember 
+ ;set the initial index for reading substrings
+kndx      =         0 
+ ;set counter for searching the element
+kcount    =         0
+ ;start looping over the elements in Smember
+loop:
+kdelim    strindexk Scopy, ":"
+  ;as long as ":" occurs in Scopy, do:
+  if kdelim > 0 then
+   ;if this is the element to get
+   if kel == kcount then
+    ;read it as substring
+Sfile     strsubk   Scopy, kndx, kdelim
+kprint = kprint+1
+    ;and jump out
+          kgoto     call
+   ;if not
+   else
+    ;cut off this element from Scopy
+Scopy     strsubk   Scopy, kdelim+1, istrlen
+   endif
+   ;if no element has been found,go back to loop 
+   ;and look for the next element
+kcount    =         kcount+1
+          kgoto     loop
+  ;if there is no delimiter left, the rest is the searched element
+  else
+Sfile     strcpyk   Scopy
+  endif
+call:
+ ;print the result, call the subinstrument and play the file
+          printf    "kel = %d, file = '%s'\n", ktrig+kprint, kel, Sfile
+S_call    sprintfk  {{i 2 0 1 "%s"}}, Sfile
+          scoreline S_call, ktrig
+ endif
+
+endin
+
+instr 2 ;play
+Sfile     strget    p4
+ilen      filelen   Sfile
+p3        =         ilen
+asig      soundin   Sfile
+          outs      asig, asig
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 30 "mary.wav:fox.wav:beats.wav:flute.aiff"
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/streson.csd b/examples/streson.csd
index f2b215b..66cf925 100644
--- a/examples/streson.csd
+++ b/examples/streson.csd
@@ -1,46 +1,40 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o streson.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2
 
-; Instrument #1.
 instr 1
-  ; Generate a normal sine wave.
-  asig oscils 1500, 440, 1
 
-  ; Vary the fundamental frequency of the string 
-  ; resonator linearly from 220 to 880 Hertz. 
-  kfr line 220, p3, 880
-  ifdbgain = 0.95
+asig diskin2 "fox.wav", 1, 0, 1
+ 
+kfr = p4
+ifdbgain = 0.90
 
-  ; Run our sine wave through the string resonator.
-  astres streson asig, kfr, ifdbgain
+astr streson asig, kfr, ifdbgain
+asig clip astr, 0, 1
+     outs asig, asig
 
-  ; The resonance can get quite loud.
-  ; So we'll clip the signal at 30,000.
-  a1 clip astres, 1, 30000
-  out a1
 endin
-
-
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for five seconds.
-i 1 0 5
+i 1 0 1 20
+i 1 + . >
+i 1 + . >
+i 1 + . >
+i 1 + . >
+i 1 + . >
+i 1 + . 1000
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/strfromurl.csd b/examples/strfromurl.csd
new file mode 100644
index 0000000..a50eb91
--- /dev/null
+++ b/examples/strfromurl.csd
@@ -0,0 +1,30 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o strget.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+#include "http://codemist.co.uk/jpff/test.in"
+
+instr 2
+
+Sfile strget "http://codemist.co.uk/jpff/test.in"
+  prints Sfile
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 1
+i 2 + .
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/strget.csd b/examples/strget.csd
new file mode 100644
index 0000000..4bba1da
--- /dev/null
+++ b/examples/strget.csd
@@ -0,0 +1,33 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o strget.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+strset 1, "fox.wav"
+strset 2, "beats.wav"
+
+instr 1
+
+Sfile strget p4
+asig  soundin Sfile
+      outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 2.7 1
+i 1 + 2   2
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/strindexk.csd b/examples/strindexk.csd
new file mode 100644
index 0000000..0d66a69
--- /dev/null
+++ b/examples/strindexk.csd
@@ -0,0 +1,85 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o strindexk.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+seed 0
+
+instr 1 
+;get one element of the input string whenever the metro
+;triggers, and call a subinstrument to play the file
+
+Smember   strget    p4
+istrlen   strlen    Smember
+kprint    init      0
+ktrig     metro     .5 
+
+ ;whenever the trigger gives signal
+ if ktrig == 1 then
+  ;choose a random element (0, 1 or 2)
+kel       random    0, 2.9999
+kel       =         int(kel)
+ ;make a copy for leaving Smember intact
+Scopy     strcpyk   Smember 
+ ;set the initial index for reading substrings
+kndx      =         0 
+ ;set counter for searching the element
+kcount    =         0
+ ;start looping over the elements in Smember
+loop:
+kdelim    strindexk Scopy, ":"
+  ;as long as ":" occurs in Scopy, do:
+  if kdelim > 0 then
+   ;if this is the element to get
+   if kel == kcount then
+    ;read it as substring
+Sfile     strsubk   Scopy, kndx, kdelim
+kprint = kprint+1
+    ;and jump out
+          kgoto     call
+   ;if not
+   else
+    ;cut off this element from Scopy
+Scopy     strsubk   Scopy, kdelim+1, istrlen
+   endif
+   ;if no element has been found,go back to loop 
+   ;and look for the next element
+kcount    =         kcount+1
+          kgoto     loop
+  ;if there is no delimiter left, the rest is the searched element
+  else
+Sfile     strcpyk   Scopy
+  endif
+call:
+ ;print the result, call the subinstrument and play the file
+          printf    "kel = %d, file = '%s'\n", ktrig+kprint, kel, Sfile
+S_call    sprintfk  {{i 2 0 1 "%s"}}, Sfile
+          scoreline S_call, ktrig
+ endif
+
+endin
+
+instr 2 ;play
+Sfile     strget    p4
+ilen      filelen   Sfile
+p3        =         ilen
+asig      soundin   Sfile
+          outs      asig, asig
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 30 "mary.wav:fox.wav:beats.wav"
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/strlower.csd b/examples/strlower.csd
new file mode 100644
index 0000000..ff93deb
--- /dev/null
+++ b/examples/strlower.csd
@@ -0,0 +1,36 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-n    ;;;no sound output
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+</CsOptions>
+<CsInstruments>
+;example of Joachim Heintz
+
+  opcode FilSuf, S, So
+  ;returns the suffix of a filename or path, optional in lower case 
+Spath,ilow xin
+ipos   strrindex Spath, "."	;look for the rightmost '.'
+Suf    strsub    Spath, ipos+1	;extract the substring after "."
+ if ilow != 0 then		;if ilow input is not 0 then 
+Suf    strlower  Suf 		;convert to lower case
+ endif
+       xout      Suf
+  endop
+
+instr suff
+
+ilow = p4
+       prints    "Printing suffix:\n"
+Suf    FilSuf    "/my/dir/my/file.WAV", ilow
+       puts      Suf, 1
+
+endin
+</CsInstruments>
+<CsScore>
+i "suff" 0 1 0	;do not convert to lower case
+i "suff" 3 1 1	;convert to lower case
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/strrindex.csd b/examples/strrindex.csd
new file mode 100644
index 0000000..7273738
--- /dev/null
+++ b/examples/strrindex.csd
@@ -0,0 +1,30 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-n    ;;;no sound output
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+</CsOptions>
+<CsInstruments>
+;example by Joachim Heintz
+
+  opcode FilNam, S, S
+;returns the name of a file path
+Spath  xin
+ipos   strrindex Spath, "/"	;look for the rightmost '/'
+Snam   strsub    Spath, ipos+1	;extract the substring 
+       xout      Snam
+  endop
+  
+instr name
+       prints    "Printing name:\n"
+Snam   FilNam    "/my/dir/my/file.WAV"
+       puts      Snam, 1  
+
+endin 
+</CsInstruments>
+<CsScore>
+i "name" 0 0
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/subtracts.csd b/examples/subtracts.csd
index f59a15b..7d98738 100644
--- a/examples/subtracts.csd
+++ b/examples/subtracts.csd
@@ -1,33 +1,40 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+; Audio out   Audio in    No messages
+-odac    ;;;realtime audio I/O
 ; For Non-realtime ouput leave only the line below:
-; -o subtracts.wav -W ;;; for file output any platform
+; -o -.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  i1 = 24 - 8
-  print i1
-endin
 
+idur = p3
+iatt = p4
+idec = p5
+isus = p3-iatt-idec				;calculate sustain time from subtracting attack and decay
+printf_i "sutain time= note duration - attack - decay --> %.1f-%.1f-%.1f = %.1f\n", 1, idur, iatt, idec, isus
+
+kenv expseg 0.01, iatt, 1, isus, 1, idec, 0.01	;envelope
+asig poscil 1*kenv, 200, 1
+     outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
+f 1 0 4096 10 1	;sine wave
+;      attack decay
+i 1 0 3 .1     .2
+i 1 4 3 .5    1.5
+i 1 8 5  4     .5
 
-; Play Instrument #1 for one second.
-i 1 0 1
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/sum.csd b/examples/sum.csd
new file mode 100644
index 0000000..6337373
--- /dev/null
+++ b/examples/sum.csd
@@ -0,0 +1,36 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o sum.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+gisine ftgen 0, 0, 2^10, 10, 1
+
+instr 1
+
+a1   oscili 1, 10.0, gisine		;combine 3 sinusses
+a2   oscili 1, 1.0, gisine		;at different rates
+a3   oscili 1, 3.0, gisine
+ares sum a1, a2, a3			;sum them
+
+ares = ares*100				;scale result and
+asig poscil .5, ares+110, gisine	;add to frequency			
+     outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+
+i1 0 5
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/sumarray.csd b/examples/sumarray.csd
new file mode 100644
index 0000000..c54d099
--- /dev/null
+++ b/examples/sumarray.csd
@@ -0,0 +1,32 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-n 
+</CsOptions>
+<CsInstruments>
+;example by joachim heintz
+
+           seed       0
+
+instr 1
+;create an array with 10 elements
+kArr[]     init       10
+;fill in random numbers and print them out
+kIndx      =          0
+  until kIndx == 10 do
+kNum       random     0, 10
+kArr[kIndx] =         kNum
+           printf     "kArr[%d] = %10f\n", kIndx+1, kIndx, kNum
+kIndx      +=         1
+  od
+;calculate sum of all values and print it out
+kSum       sumarray   kArr
+           printf     "Sum of all values in kArr = %f\n", kIndx+1, kSum
+           turnoff
+endin
+</CsInstruments>
+<CsScore>
+i1 0 0.1
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/sym10.txt b/examples/sym10.txt
new file mode 100644
index 0000000..c8fd25e
--- /dev/null
+++ b/examples/sym10.txt
@@ -0,0 +1,21 @@
+0.00077015980911449011
+9.5632670722894754e-05
+-0.0086412992770224222
+-0.0014653825813050513
+0.045927239231092203
+0.011609893903711381
+-0.15949427888491757
+-0.070880535783243853
+0.47169066693843925
+0.7695100370211071
+0.38382676106708546
+-0.035536740473817552
+-0.0319900568824278
+0.049994972077376687
+0.0057649120335819086
+-0.02035493981231129
+-0.00080435893201654491
+0.0045931735853118284
+5.7036083618494284e-05
+-0.00045932942100465878
+
diff --git a/examples/syncgrain.csd b/examples/syncgrain.csd
old mode 100755
new mode 100644
index aacfcbe..bbc3c99
--- a/examples/syncgrain.csd
+++ b/examples/syncgrain.csd
@@ -1,16 +1,16 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d   ;;;RT audio I/O
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o syncgrain.wav -W ;;; for file output any platform
 </CsOptions> 
 <CsInstruments>
 
-sr = 44100
-kr = 4410
-ksmps = 10
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
 nchnls = 2
   
 instr 1
@@ -20,20 +20,21 @@ igrsize = 0.04
 ifreq   = iolaps/igrsize
 ips     = 1/iolaps
 
-istr    = .5  /* timescale  */
-ipitch  = 1   /* pitchscale */
-
-a1	syncgrain	16000, ifreq, ipitch, igrsize, ips*istr, 1, 2, iolaps
-	outs			a1, a1 
-endin
+istr    = .3   /* timescale  */
+ipitch  = p4   /* pitchscale */
 
+asig	syncgrain 1, ifreq, ipitch, igrsize, ips*istr, 1, 2, iolaps
+	outs	  asig, asig 
 
+endin
 </CsInstruments>
 <CsScore>
-f1 0 0 1 "beats.wav" 0 0 0
+f1 0 0 1 "fox.wav" 0 0 0	;deferred table
 f2   0   8192   20   2   1
 
-i1 0 4
-  e
+i1 0 5 1
+i1 + 5 4
+i1 + 5 .8
+e
 </CsScore>
 </CsoundSynthesizer> 
\ No newline at end of file
diff --git a/examples/syncloop.csd b/examples/syncloop.csd
old mode 100755
new mode 100644
index 2af9e3b..37a40d2
--- a/examples/syncloop.csd
+++ b/examples/syncloop.csd
@@ -1,16 +1,16 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d   ;;;RT audio I/O
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o syncloop.wav -W ;;; for file output any platform
 </CsOptions> 
 <CsInstruments>
 
-sr = 44100
-kr = 4410
-ksmps = 10
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
 nchnls = 2
 
 instr 1
@@ -20,20 +20,20 @@ igrsize = 0.01
 ifreq   = iolaps/igrsize
 ips     = 1/iolaps
 
-istr    = .5  /* timescale  */
+istr    = p4  /* timescale  */
 ipitch  = 1   /* pitchscale */
 
-a1	syncloop	16000, ifreq, ipitch, igrsize, ips*istr, .3, .75, 1, 2, iolaps
-	outs		a1, a1
-endin
-
+asig	syncloop 1, ifreq, ipitch, igrsize, ips*istr, .3, .75, 1, 2, iolaps
+	outs	 asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
 f1 0 0 1 "beats.wav" 0 0 0
 f2   0   8192   20   2   1
 
-i1 0 6
+i1 0 6 .5
+i1 7 6 .15
 e
 </CsScore>
 </CsoundSynthesizer> 
\ No newline at end of file
diff --git a/examples/t.csd b/examples/t.csd
new file mode 100644
index 0000000..173451c
--- /dev/null
+++ b/examples/t.csd
@@ -0,0 +1,40 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o t.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+aenv expseg .01, p3*0.25, 1, p3*0.75, 0.01
+asig poscil3 .8*aenv, p4, 1
+     outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+f 1 0 16384 10 1	;sine wave
+
+t 0 240 12 30 15 240	;start tempo = 240 
+		
+i 1 0 2 110		;tempo = 240
+i 1 3 2 220		;slow down &
+i 1 6 2 440		;slow down &
+i 1 9 2 880		;slow down &		
+i 1 12 2 110		;slow down to 30 at 12 seconds
+i 1 15 2 220		;speed up to 240 again
+i 1 18 2 440		;stay at tempo 240
+i 1 21 2 880
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/tab.csd b/examples/tab.csd
new file mode 100644
index 0000000..c0f5e9f
--- /dev/null
+++ b/examples/tab.csd
@@ -0,0 +1,34 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o tab.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+gifn1 ftgen 1, 0, 0, 1, "flute.aiff", 0, 4, 0	;deferred-size table
+
+instr 1 
+
+atab  init 0 
+isize tableng 1					;length of table?
+print isize
+andx  phasor 1 / (isize / sr) 
+asig  tab andx, 1, 1				;has a 0 to 1 range
+      outs asig, asig
+
+endin 
+</CsInstruments> 
+<CsScore> 
+
+i 1 0 2.3
+e
+</CsScore> 
+</CsoundSynthesizer>
diff --git a/examples/tablecopy.csd b/examples/tablecopy.csd
new file mode 100644
index 0000000..af8a1a2
--- /dev/null
+++ b/examples/tablecopy.csd
@@ -0,0 +1,68 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o tablecopy.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr  = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+;after an example from Jonathan Murphy 
+  
+gilen = 7
+gilist  ftgen 1, 0, gilen + 1, -2, 2, 3, 4, 5, 6, 7	;only 6 elements, so 1 is doubled
+gitmp   ftgen 2, 0, gilen + 1, -2, 0			;empty table
+gkmax   init gilen
+
+seed 0							;each time different 
+
+instr 1
+
+ktrig metro 3						;trigger values
+krnd  random 0, gkmax
+
+if (ktrig == 1) then
+  kval    table  krnd, gilist
+          tablew 0, krnd, gilist
+  kread   = 0
+  kwrite  = 0
+start:
+  knew    table kread, gilist
+if (knew != 0) then
+          tablew knew, kwrite, gitmp
+  kwrite    =  kwrite + 1
+endif
+  kread   = kread + 1
+if (kread <= gilen) kgoto start
+          tablecopy gilist, gitmp			;fill with zeroes
+  gkmax   = gkmax - 1
+endif
+
+printk2 kval
+
+if (gkmax < 0) then
+          event "i", 2, 0, 1/kr				;when ready, then stop
+endif
+
+asig vco2 .5, 40*kval					;sound generation
+outs asig, asig
+    
+endin
+
+instr 2
+
+exitnow
+    
+endin
+</CsInstruments>
+<CsScore>
+i1 0 5
+e
+</CsScore>
+</CsoundSynthesizer> 
+
diff --git a/examples/tablefilter.csd b/examples/tablefilter.csd
index f50006b..c092ad2 100644
--- a/examples/tablefilter.csd
+++ b/examples/tablefilter.csd
@@ -1,5 +1,6 @@
 <CsoundSynthesizer>
 <CsOptions>
+
 </CsOptions>
 <CsInstruments>
 
@@ -7,20 +8,22 @@ sr=44100
 ksmps=10
 nchnls=1
 
-      gifarn init 8	; initialise integer for Farey Sequence F_8
+      gifarn init 8     ; initialise integer for Farey Sequence F_8
       gires fareyleni gifarn  ; calculate length of F_8, returns 23
-      ; the table length won't be a power of 2 
+      ; the table length won't be a power of 2
       ; (The length of a Farey Sequence with n > 1 is always odd)
-      gilen init gires * -1   
-             
+      gilen init gires * -1
+
+      gifarey ftgen 200, 0, gilen, "farey", gifarn, 0
+
       ; initialize destiniation table with 0s
       gifiltered ftgen 0, 0, gilen, 21, 1, 0
 
       ; initialize second destiniation table with 0s
       gifiltered2 ftgen 0, 0, gilen, 21, 1, 0
-      
-      ; table filtering opcode:	  dest.		source,		mode,	threshold
-      ginumpassed tablefilteri 	  gifiltered,	gifarey,	1,	6
+
+      ; table filtering opcode:   dest.         source,         mode,   threshold
+      ginumpassed tablefilteri    gifiltered,   gifarey,        1,      6
       ; the threshold parameter indicates that denominators whose weights are heavier
       ; than 6 are not passing through the filter. The weight is calculated using
       ; Clarence Barlow's function of indigestibility of a number. According to this function,
@@ -29,36 +32,36 @@ nchnls=1
       ; that have passed the test and which have been copied to the destination table 'gifiltered'
 
       ; apply a different filter:
-      ginumpassed2 tablefilteri	  gifiltered2,	gifarey,	2,	5
+      ginumpassed2 tablefilteri   gifiltered2,  gifarey,        2,      5
       ; In mode=2 we again test the digestibility of the denominators of the
       ; fractions in the source table.
       ; The difference to mode=1 is that we now let pass only vaules from the
-      ; source that are as heavy as the threshold or greater. 
+      ; source that are as heavy as the threshold or greater.
 
 
-instr 4      
+instr 4
       kndx init 0 ; read out elements of now filtered F_8 sequentially and print to file
-      if (kndx < ginumpassed) then    
-      	 kelem tab kndx, gifiltered
-      	 fprintks "fareyfilter_lp.txt", "%2.6f\\n", kelem
-      	 kndx = kndx+1
-      endif   
+      if (kndx < ginumpassed) then
+         kelem tab kndx, gifiltered
+         fprintks "fareyfilter_lp.txt", "%2.6f\\n", kelem
+         kndx = kndx+1
+      endif
 endin
 
 instr 5
       kndx init 0 ; read out elements and print to file
-      if (kndx < ginumpassed2) then    
-      	 kelem tab kndx, gifiltered2
-      	 fprintks "fareyfilter_hp.txt", "%2.6f\\n", kelem
-      	 kndx = kndx+1
+      if (kndx < ginumpassed2) then
+         kelem tab kndx, gifiltered2
+         fprintks "fareyfilter_hp.txt", "%2.6f\\n", kelem
+         kndx = kndx+1
       endif
 endin
 
 </CsInstruments>
 <CsScore>
-f1 0 23 "farey" 8
-i4	0     1
-i5 	0     1
+
+i4      0     1
+i5      0     1
 e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/tablei.csd b/examples/tablei.csd
new file mode 100644
index 0000000..eaa6d46
--- /dev/null
+++ b/examples/tablei.csd
@@ -0,0 +1,66 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o tablei.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+seed 0	;generate new values every time the instr is played
+
+instr 1
+
+ifn = p4
+isize = p5
+ithresh = 0.5
+    
+itemp ftgen ifn, 0, isize, 21, 2
+
+iwrite_value = 0
+i_index = 0
+    
+loop_start:
+    iread_value tablei i_index, ifn
+    
+    if iread_value > ithresh then
+         iwrite_value = 1
+    else
+         iwrite_value = -1
+    endif
+tableiw iwrite_value, i_index, ifn
+loop_lt i_index, 1, isize, loop_start        
+    turnoff
+
+endin
+
+instr 2
+
+ifn = p4
+isize = ftlen(ifn)    
+prints "Index\tValue\n"
+    
+i_index = 0
+loop_start:
+    ivalue tablei i_index, ifn
+    prints "%d:\t%f\n", i_index, ivalue
+
+  loop_lt i_index, 1, isize, loop_start		;read table 1 with our index
+
+aout oscili .5, 100, ifn			;use table to play the polypulse
+     outs   aout, aout
+
+endin
+</CsInstruments>
+<CsScore>
+i 1 0 1 100 16
+i 2 0 2 100
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/tableikt.csd b/examples/tableikt.csd
new file mode 100644
index 0000000..1d457ea
--- /dev/null
+++ b/examples/tableikt.csd
@@ -0,0 +1,52 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o tableikt.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+ilowfn	= p4					;lowest ftable wave
+ihighfn	= p5					;highest ftable wave
+
+kswpenv	line 1, p3, 0				;sweep envelope, calculate current table pair and interpolation amount
+inumtables = ihighfn - ilowfn			;1 less than number of tables
+kfn1	= int(kswpenv*inumtables) + ilowfn
+        printks "play table no: %d\n", 1, kfn1
+kfn2	= kfn1 + 1
+kinterp	= frac(kswpenv*inumtables)		
+ixmode  = 1					;read tables with phasor
+aphase	phasor	40	
+asig	tableikt aphase, kfn1, ixmode		;normalized index
+   if kswpenv == 1.0 kgoto skipfn2		;if kfn1 is last table, there is no kfn2
+	asig2	tableikt aphase, kfn2, ixmode
+   skipfn2:
+   amix	ntrpol	asig, asig2, kinterp		;interpolate between tables and output
+	outs	amix*.5, amix*.5
+	
+endin
+</CsInstruments>
+<CsScore>
+f 1  0 16384 10 1  
+f 2  0 16384 10 1 .5  
+f 3  0 16384 1 "fox.wav" 0 0 0				;a sample
+f 4  0 16384 10 1 .5 .3 .25 .2 .16 .14 .125 .111	;sawtooth 
+f 5  0 16384 10 1 .4 .3 .25 .2
+f 6  0 16384 10 1 .3 .3 .25 .2 .16 
+f 7  0 16384 10 1  1  1  1  .7 .5  .3  .1		;pulse
+f 8  0 16384 1 "beats.wav" 0 0 0			;a sample
+
+i 1 0 10 1 8
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/tableimix.csd b/examples/tableimix.csd
new file mode 100644
index 0000000..83c2990
--- /dev/null
+++ b/examples/tableimix.csd
@@ -0,0 +1,33 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o tableimix.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+gisine ftgen 1, 0, 256, 10, 1, 0, 0, .4		;sinoid
+gisaw  ftgen 2, 0, 1024, 7, 0, 256, 1		;saw
+gimix  ftgen 100, 0, 256, 7, 0, 256, 1		;used to mix
+
+instr 1
+
+      tableimix 100, 0, 256, 1, 0, 1, 2, 0, .5
+asig  poscil .5, 110, gimix			;mix table 1 & 2			
+      outs   asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+
+i1 0 5
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/tableiw.csd b/examples/tableiw.csd
new file mode 100644
index 0000000..3fe6510
--- /dev/null
+++ b/examples/tableiw.csd
@@ -0,0 +1,66 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o tableiw.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+seed 0	;generate new values every time the instr is played
+
+instr 1
+
+ifn = p4
+isize = p5
+ithresh = 0.5
+    
+itemp ftgen ifn, 0, isize, 21, 2
+
+iwrite_value = 0
+i_index = 0
+    
+loop_start:
+    iread_value tablei i_index, ifn
+    
+    if iread_value > ithresh then
+         iwrite_value = 1
+    else
+         iwrite_value = -1
+    endif
+tableiw iwrite_value, i_index, ifn
+loop_lt i_index, 1, isize, loop_start        
+    turnoff
+
+endin
+
+instr 2
+
+ifn = p4
+isize = ftlen(ifn)    
+prints "Index\tValue\n"
+    
+i_index = 0
+loop_start:
+    ivalue tablei i_index, ifn
+    prints "%d:\t%f\n", i_index, ivalue
+
+  loop_lt i_index, 1, isize, loop_start		;read table 1 with our index
+
+aout oscili .5, 100, ifn			;use table to play the polypulse
+     outs   aout, aout
+
+endin
+</CsInstruments>
+<CsScore>
+i 1 0 1 100 16
+i 2 0 2 100
+e
+</CsScore>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/tablekt.csd b/examples/tablekt.csd
new file mode 100644
index 0000000..d768531
--- /dev/null
+++ b/examples/tablekt.csd
@@ -0,0 +1,44 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o tablekt.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+seed 0
+
+gift1 ftgen 1, 0, 1024, 10, 1				;sine wave
+gift2 ftgen 2, 0, 1024, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1	;pulse
+
+
+instr 1
+andx phasor 400 		;phasor for reading the index
+kfn init 1 			;initialize the choice of the function table
+kmetro init 1			;initialize the frequency of the metro
+knewft metro kmetro		;make a new choice for selecting the function table once a second
+
+if knewft == 1 then
+  kfn = (kfn == 1 ? 2 : 1) 	;switch between 1 and 2
+  kmetro random .5, 2 		;create new metro frequency
+  printk2 kfn
+endif
+
+ares tablekt andx, kfn, 1
+outs ares,  ares
+endin
+
+</CsInstruments>
+<CsScore>
+i 1 0 10
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/tablemix.csd b/examples/tablemix.csd
new file mode 100644
index 0000000..3f24952
--- /dev/null
+++ b/examples/tablemix.csd
@@ -0,0 +1,35 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o tablemix.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+gisinoid ftgen 1, 0, 256, 10, 1, 0, 0, .4		;sinoid
+gisaw    ftgen 2, 0, 1024, 7, 0, 256, 1			;saw
+gimix    ftgen 100, 0, 256, 7, 0, 256, 1		;destination table
+
+instr 1
+
+kgain linseg 0, p3*.5, .5, p3*.5, 0
+      tablemix 100, 0, 256, 1, 0, 1, 2, 0, kgain
+asig  poscil .5, 110, gimix			;mix table 1 & 2			
+      outs   asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+
+i1 0 10
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/tableng.csd b/examples/tableng.csd
index e6ced1e..1fed969 100644
--- a/examples/tableng.csd
+++ b/examples/tableng.csd
@@ -1,39 +1,33 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o tableng.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
-instr 1
-  ; Let's look at Table #1.
-  ifn = 1
-  ilen tableng ifn
+gifn1 ftgen 1, 0, 0, 1, "flute.aiff", 0, 4, 0	;deferred-size table
 
-  print ilen
-endin
+instr 1 
 
+isize tableng 1
+print isize
+andx  phasor 1 / (isize / sr)			;play at correct pitch
+asig  tab andx, 1, 1
+      outs asig, asig
 
-</CsInstruments>
-<CsScore>
+endin 
+</CsInstruments> 
+<CsScore> 
 
-; Table #1, a sine wave.
-f 1 0 16384 10 1
-
-; Play Instrument #1 for one second.
-i 1 0 1
+i 1 0 2.3	
 e
-
-
-</CsScore>
+</CsScore> 
 </CsoundSynthesizer>
diff --git a/examples/tableseg.csd b/examples/tableseg.csd
new file mode 100644
index 0000000..99c6741
--- /dev/null
+++ b/examples/tableseg.csd
@@ -0,0 +1,33 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o tableseg.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+; analyze "fox.wav" with PVANAL first
+iend  = p4
+ktime line 0, p3, iend
+      tableseg p5, p3, p6		;morph from table 1
+asig  vpvoc ktime, 1, "fox.pvx"		;to table 2
+      outs asig*3, asig*3
+
+endin      
+</CsInstruments>
+<CsScore>
+f 1 0 512 9 .5 1 0
+f 2 0 512 7 0 20 1 30 0 230 0 232 1
+
+i 1 0 10 2.7 1 2
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/tablexseg.csd b/examples/tablexseg.csd
new file mode 100644
index 0000000..c667fa2
--- /dev/null
+++ b/examples/tablexseg.csd
@@ -0,0 +1,33 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o tablexseg.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+; analyze "fox.wav" with PVANAL first
+iend  = p4
+ktime line 0, p3, iend
+      tablexseg p5, p3, p6		;morph from table 1
+asig  vpvoc ktime, 1, "fox.pvx"		;to table 2
+      outs asig*3, asig*3
+
+endin      
+</CsInstruments>
+<CsScore>
+f 1 0 512 9 .5 1 0
+f 2 0 512 5 1 60 0.01 390 0.01 62 1
+
+i 1 0 5 2.7 1 2
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/tabmorph.csd b/examples/tabmorph.csd
new file mode 100644
index 0000000..ff838af
--- /dev/null
+++ b/examples/tabmorph.csd
@@ -0,0 +1,41 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o tabmorph.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giSine   ftgen 0, 0, 8193, 10, 1				;sine wave
+giSquare ftgen 0, 0, 8193, 7, 1, 4096, 1, 0, -1, 4096, -1	;square wave
+giTri    ftgen 0, 0, 8193, 7, 0, 2048, 1, 4096, -1, 2048, 0	;triangle wave
+giSaw    ftgen 0, 0, 8193, 7, 1, 8192, -1			;sawtooth wave, downward slope
+
+instr    1
+
+iamp   = .7
+kindex phasor 440			;read table value at this index
+kindex = kindex*8192			;for all 8192 index points
+kweightpoint = 0.5			;set weightpoint
+ktabnum1 line 0, p3, 3			;morph through all tables
+ktabnum2 = 2				;set to triangle wave
+ksig tabmorph kindex, kweightpoint, ktabnum1, ktabnum2, giSine, giSquare, giTri, giSaw
+ksig = ksig*iamp
+asig interp ksig			;convert to audio signal
+outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+
+i1 0 5
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/tabmorpha.csd b/examples/tabmorpha.csd
new file mode 100644
index 0000000..50e41de
--- /dev/null
+++ b/examples/tabmorpha.csd
@@ -0,0 +1,41 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o tabmorpha.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs   =1
+
+giSine	 ftgen	0, 0, 8193, 10, 1						; sine wave
+giSquare ftgen	0, 0, 8193, 7, 1, 4096, 1, 0, -1, 4096, -1			; square wave 
+giTri	 ftgen	0, 0, 8193, 7, 0, 2048, 1, 4096, -1, 2048, 0			; triangle wave 
+giSaw	 ftgen	0, 0, 8193, 7, 1, 8192, -1					; sawtooth wave, downward slope 
+
+	
+instr	1
+
+iamp	= .7
+aindex	phasor 110			; read table value at this index
+aweightpoint = 0			; set weightpoint
+atabnum1 line 0, p3, 3			; morph through all tables
+atabnum2 = 2				; set to triangle wave
+asig	 tabmorpha aindex, aweightpoint, atabnum1,atabnum2, giSine, giSquare, giTri, giSaw
+asig	 = asig*iamp
+	 outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+
+i1 0 10
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/tabmorphak.csd b/examples/tabmorphak.csd
new file mode 100644
index 0000000..31c714e
--- /dev/null
+++ b/examples/tabmorphak.csd
@@ -0,0 +1,41 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o tabmorphak.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs   =1
+
+giSine	 ftgen	0, 0, 8193, 10, 1						; sine wave
+giSquare ftgen	0, 0, 8193, 7, 1, 4096, 1, 0, -1, 4096, -1			; square wave 
+giTri	 ftgen	0, 0, 8193, 7, 0, 2048, 1, 4096, -1, 2048, 0			; triangle wave 
+giSaw	 ftgen	0, 0, 8193, 7, 1, 8192, -1					; sawtooth wave, downward slope 
+	
+instr	1
+
+iamp	= .7
+aindex	phasor	110			; read table value at this index
+kweightpoint expon 0.001, p3, 1		; using the weightpoint to morph between two tables exponentially
+ktabnum1 = p4				; first wave, it morphs to
+ktabnum2 = p5				; the second wave
+asig 	tabmorphak aindex, kweightpoint, ktabnum1,ktabnum2, giSine, giSquare, giTri, giSaw
+asig	= asig*iamp
+	outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+
+i1 0 5 0 1	;from sine to square wave
+i1 6 5 2 3	;from triangle to saw
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/tabmorphi.csd b/examples/tabmorphi.csd
new file mode 100644
index 0000000..89320f9
--- /dev/null
+++ b/examples/tabmorphi.csd
@@ -0,0 +1,41 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o tabmorphi.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giSine   ftgen 0, 0, 8193, 10, 1				;sine wave
+giSquare ftgen 0, 0, 8193, 7, 1, 4096, 1, 0, -1, 4096, -1	;square wave
+giTri    ftgen 0, 0, 8193, 7, 0, 2048, 1, 4096, -1, 2048, 0	;triangle wave
+giSaw    ftgen 0, 0, 8193, 7, 1, 8192, -1			;sawtooth wave, downward slope
+
+instr    1
+
+iamp   = .7
+kindex phasor 440			;read table value at this index
+kindex = kindex*8192			;for all 8192 index points
+kweightpoint = 0.5			;set weightpoint
+ktabnum1 line 0, p3, 3			;morph through all tables
+ktabnum2 = 2				;set to triangle wave
+ksig tabmorphi kindex, kweightpoint, ktabnum1, ktabnum2, giSine, giSquare, giTri, giSaw
+ksig = ksig*iamp
+asig interp ksig			;convert to audio signal
+outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+
+i1 0 5
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/tabsum.csd b/examples/tabsum.csd
new file mode 100644
index 0000000..8e944b0
--- /dev/null
+++ b/examples/tabsum.csd
@@ -0,0 +1,44 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+; For Non-realtime ouput leave only the line below:
+; -o tab.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 2205
+nchnls = 1
+0dbfs  = 1
+
+instr 1       ;;; Give a value to the increment
+  kmax = 256
+  knorm tabsum 1, 0, kmax
+  gkinc = knorm/10
+endin
+
+instr 2
+  kmax = 256
+  kx = rnd(kmax)
+  krnd  tabsum 1, 0, kx
+  knorm tabsum 1, 0, kmax
+  kvar  = krnd / knorm          ;;; now n [0,1] range
+  asig  oscil  kvar, p4, 2
+        out    asig
+;;; Make randomness give 1 more often
+  kc    tab     0, 1
+        tablew  kc+gkinc, 0, 1
+endin
+</CsInstruments>
+
+<CsScore>
+f1 0 256 21 1  
+f2 0 4096 10 1
+i1 0 0.1
+i2 0.1 3 440
+e
+
+</CsScore>
+
+</CsoundSynthesizer>
diff --git a/examples/tambourine.csd b/examples/tambourine.csd
index f3fedd1..a520691 100644
--- a/examples/tambourine.csd
+++ b/examples/tambourine.csd
@@ -1,32 +1,31 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o tambourine.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-sr = 22050
-kr = 2205
-ksmps = 10
-nchnls = 1
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1: An example of a tambourine.
-instr 01
-  a1 tambourine 15000, 0.01
-
-  out a1
-endin
+instr 1
 
+idamp = p4
+asig  tambourine .8, 0.01, 30, idamp
+      outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
 
-i 1 0 1
+i 1 0 .2 0
+i 1 + .2 >
+i 1 + 1 .7
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/tanh.csd b/examples/tanh.csd
index 6732991..26ea187 100644
--- a/examples/tanh.csd
+++ b/examples/tanh.csd
@@ -13,19 +13,21 @@ sr = 44100
 kr = 4410
 ksmps = 10
 nchnls = 1
+0dbfs = 1
 
 ; Instrument #1.
 instr 1
-  irad = 1
-  i1 = tanh(irad)
-
-  print i1
+  asig1 vco  1, 440, 2, 0.4, 1
+  asig2 vco  1, 800, 3, 0.5, 1
+  asig  =    asig1+asig2       ;; will go out of range
+        out  tanh(asig)        ;; but tanh is a limiter
 endin
 
 
 </CsInstruments>
 <CsScore>
 
+f1 0 65536 10 1
 ; Play Instrument #1 for one second.
 i 1 0 1
 e
diff --git a/examples/temposcal.csd b/examples/temposcal.csd
new file mode 100644
index 0000000..fc71c8e
--- /dev/null
+++ b/examples/temposcal.csd
@@ -0,0 +1,35 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o temposcal.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+ilock  =  p4
+itab   =  1
+ipitch =  1
+iamp   =  0.8
+ktime  linseg 0.3, p3/2, 0.8, p3/2, 0.3
+asig   temposcal ktime, iamp, ipitch, itab, ilock
+       outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+f 1 0 0 1 "fox.wav" 0 4 0
+
+i 1 0 3.8 0	;no locking
+i 1 4 3.8 1	;locking
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/tigoto.csd b/examples/tigoto.csd
new file mode 100644
index 0000000..606e6d8
--- /dev/null
+++ b/examples/tigoto.csd
@@ -0,0 +1,45 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o tigoto.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100 
+ksmps = 32 
+nchnls = 2
+0dbfs  = 1 
+
+instr 1
+
+idur  = abs(p3)				;make p3 positive even if p3 is negative in score
+itiv  tival
+i1    = -1				;assume this is tied note, so keep fase of oscili
+      tigoto slur			;no reinitialisation on tied notes
+i1    = 0				;first note, so reset phase
+aatt  line p4, idur, 0			;primary envelope
+
+slur:
+      if itiv==0 kgoto note		;no expression on first and second note
+aslur linseg 0, idur*.3, p4, idur*.7, 0	;envelope for slurred note
+aatt  = aatt + aslur
+
+note:
+asig  oscili aatt, p5, 1, i1
+      outs   asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0 4096 10 1	;sine wave
+
+i1  0    -5  .8  451	;p3 = 5 seconds
+i1  1.5 -1.5 .1  512 
+i1  3    2   .7  440	;3 notes together--> duration = 5 seconds
+                    
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/timedseq.csd b/examples/timedseq.csd
new file mode 100644
index 0000000..6675625
--- /dev/null
+++ b/examples/timedseq.csd
@@ -0,0 +1,58 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o timedseq.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giseq ftgen 0,0,128,-2, 2,  0,   0.5, 8.00,\		;first note
+                        2,  1,   0.5, 8.02,\		;second note
+                        2,  2,   0.5, 8.04,\		;third
+                        2,  3,   0.5, 8.05,\		;fourth
+                        2,  4,   0.5, 8.07,\		;fifth
+                        2,  5,   0.5, 8.09,\		;sixth
+                        2,  6,   0.5, 8.11,\		;seventh
+                        2,  7,   0.5, 9.00,\		;eight note
+                        2,  8,   0.5, 8.00,\		;due to a quirk in the opcode, it needs an extra note - a copy of the first note
+                        -1, 8,   -1,  -1		;last line is a dummy event that indicates to timedseq when to loop back to the beginning
+
+instr	1
+
+ibeats	= 8						;lengths of sequence in beats
+itempo	= p4						;tempo
+iBPS	= itempo/60					;beats per second	
+kphase	phasor	iBPS/ibeats				;phasor to move through table
+kpointer = kphase*ibeats				;multiply phase (range 0 - 1) by the number of beats contained within the sequence
+kp1 init 0
+kp2 init 0
+kp3 init 0 
+kp4 init 0       		
+ktrigger   timedseq kpointer, giseq, kp1, kp2,kp3, kp4
+schedkwhen ktrigger, 0, 0, 2, 0, kp3/abs(iBPS), kp4	;p3 values have been scaled according to tempo so that they maesure beats rather than seconds
+endin							;abs(iBPS)(absolute value) is used because the tempo provided by the fourth note of the score is negative.
+							;Durations here should be positive, because negative values for duration would indicate a held note.
+instr	2
+
+aenv	linseg	0,0.01,1,p3-0.01,0			;amplitude envelope
+asig	vco2	0.4, cpspch(p4), 4, 0.5
+	outs	asig*aenv, asig*aenv			
+endin
+
+</CsInstruments>
+<CsScore>
+i 1 0 4 120
+i 1 + . 240
+i 1 + . 480
+i 1 + . -480	;when negative it plays backwards 
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/timeinsts.csd b/examples/timeinsts.csd
index c0fd1ea..7f71c0d 100644
--- a/examples/timeinsts.csd
+++ b/examples/timeinsts.csd
@@ -1,34 +1,37 @@
-<CsoundSynthesizer>
-<CsOptions>
-; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
-; For Non-realtime ouput leave only the line below:
-; -o timeinsts.wav -W ;;; for file output any platform
-</CsOptions>
-<CsInstruments>
-
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
-
-; Instrument #1.
-instr 1
-  ; Print out the value from timeinsts every half-second.
-  k1 timeinsts
-  printks "k1 = %f seconds\\n", 0.5, k1
-endin
-
-
-</CsInstruments>
-<CsScore>
-
-; Play Instrument #1 for two seconds.
-i 1 0 2
-e
-
-
-</CsScore>
-</CsoundSynthesizer>
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o timeinsts.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giSine ftgen 0, 0, 2^10, 10, 1
+
+instr 1
+
+kvib init 1
+ktim timeinsts				;read time 
+
+if ktim > 2 then			;do something after 2 seconds
+   kvib oscili 2, 3, giSine		;make a vibrato
+endif
+
+asig poscil .5, 600+kvib, giSine	;add vibrato
+     outs asig, asig
+
+endin 
+</CsInstruments>
+<CsScore>
+
+i 1 0 5
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/times_complex.csd b/examples/times_complex.csd
new file mode 100644
index 0000000..cbd5280
--- /dev/null
+++ b/examples/times_complex.csd
@@ -0,0 +1,69 @@
+<CsoundSynthesizer> 
+<CsOptions> 
+; Select audio/midi flags here according to platform 
+-odac     ;;;realtime audio out 
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too 
+; For Non-realtime ouput leave only the line below: 
+; -o times_complex.wav -W ;;; for file output any platform 
+</CsOptions> 
+<CsInstruments> 
+;by joachim heintz and rory walsh 
+sr = 44100 
+ksmps = 32 
+nchnls = 2 
+0dbfs = 1 
+
+giWave   ftgen      0, 0, 1024, 10, 1, .5, .25 
+
+instr again 
+
+instance =          p4 
+ ;reset the duration of this instance 
+iDur     rnd31      5, 3				;shorter values are more probable 
+iDur     =          abs(iDur) + 0.2 
+p3       =          iDur 
+ ;trigger the effect instrument of this instance 
+         event_i    "i", "fx_processor", 0, iDur, instance 
+ ;print the status quo 
+kTime    times 
+         prints     "instance = %d, start = %f, duration = %f\n", instance, i(kTime), iDur 
+ ;make sound 
+iamp     active     1					;scale amplitudes 
+iOct     random     5, 10				;find pitch 
+aEnv     transeg    0, 0.02, 0, 1/iamp, p3-0.02, -6, 0	;output envelope 
+aSend    poscil     aEnv, cpsoct(iOct), giWave		;audio signal 
+ ;send signal to effect instrument 
+Sbus     sprintf    "audio_%d", instance		;create unique software bus 
+         chnset     aSend/2, Sbus			;send audio on this bus 
+ ;get the last k-cycle of this instance and trigger the successor in it 
+kLast    release 
+         schedkwhen kLast, 0, 0, "again", 0, 1, instance+1 
+endin 
+
+instr fx_processor 
+ ;apply feedback delay to the above instrument 
+iwhich    =         p4					;receive instance number ... 
+Sbus      sprintf   "audio_%d", iwhich			; ... and related software bus 
+audio     chnget    Sbus				;receive audio on this bus 
+irvbtim   random    1, 5				;find reverb time 
+p3        =         p3+irvbtim				;adjust instrument duration 
+iltptmL   random    .1, .5				;find looptime left ... 
+iltptmR   random    .1, .5				;...and right 
+ipan      random    0, 1				; pan and ... 
+imix      random    0, 1				;... mix audio 
+aL,aR     pan2      audio, ipan				;create stereo 
+awetL     comb      aL, irvbtim, iltptmL		;comb filter 
+awetR     comb      aR, irvbtim, iltptmR 
+aoutL     ntrpol    aL, awetL, imix			;wet-dry mix 
+aoutR     ntrpol    aR, awetR, imix 
+          outs      aoutL/2, aoutR/2 
+endin 
+
+</CsInstruments> 
+<CsScore> 
+i "again" 0 1 1 
+
+e 3600 
+</CsScore> 
+</CsoundSynthesizer>
+
diff --git a/examples/timout.csd b/examples/timout.csd
new file mode 100644
index 0000000..45cc673
--- /dev/null
+++ b/examples/timout.csd
@@ -0,0 +1,52 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o timout.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+indx = 0
+itim = p4				;change time for one step
+
+clock: 
+   timout 0, itim, time
+   reinit clock
+
+time:
+   itmp table indx, 2, 0, 0, 1
+   if itmp == 1 then
+   print itmp
+   event_i "i",2, 0, .1			;event has duration of .1 second
+endif
+indx = indx+1
+
+endin
+
+instr 2	;play it
+
+kenv transeg 0.01, p3*0.25, 1, 1, p3*0.75, .5, 0.01
+asig oscili kenv*.4, 400, 1
+     outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+f 1 0 1024 10 1	;sine
+f 2 0 16 2 1 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 ;the rythm table
+
+i1 0 10 .1
+i1 + 10 .05
+i1 + 10 .01
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/tival.csd b/examples/tival.csd
new file mode 100644
index 0000000..a86b5ca
--- /dev/null
+++ b/examples/tival.csd
@@ -0,0 +1,45 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o tival.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100 
+ksmps = 32 
+nchnls = 2
+0dbfs  = 1 
+
+instr 1
+
+idur  = abs(p3)				;make p3 positive even if p3 is negative in score
+itiv  tival
+i1    = -1				;assume this is tied note, so keep fase of oscili
+      tigoto slur			;no reinitialisation on tied notes
+i1    = 0				;first note, so reset phase
+aatt  line p4, idur, 0			;primary envelope
+
+slur:
+      if itiv==0 kgoto note		;no expression on first and second note
+aslur linseg 0, idur*.3, p4, idur*.7, 0	;envelope for slurred note
+aatt  = aatt + aslur
+
+note:
+asig  oscili aatt, p5, 1, i1
+      outs   asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0 4096 10 1	;sine wave
+
+i1  0    -5  .8  451	;p3 = 5 seconds
+i1  1.5 -1.5 .1  512 
+i1  3    2   .7  440	;3 notes together--> duration = 5 seconds
+                    
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/tlineto.csd b/examples/tlineto.csd
new file mode 100644
index 0000000..a4bbca1
--- /dev/null
+++ b/examples/tlineto.csd
@@ -0,0 +1,38 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o tlineto.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giSine ftgen 0, 0, 2^10, 10, 1
+
+instr 1
+
+
+kmtr lfo 1, .5, 1			;produce trigger signal			
+ktr  trigger kmtr, .5, 0		;with triangle wave
+
+ktime = p4				
+kfreq randh 1000, 3, .2, 0, 500		;generate random values
+kfreq tlineto kfreq, ktime, ktr		;different glissando times
+aout  poscil .4, kfreq, giSine
+      outs aout, aout
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 10 .2	;short glissando
+i 1 11 10 .8	;longer glissande
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/tone.csd b/examples/tone.csd
old mode 100755
new mode 100644
index 27008b1..675359e
--- a/examples/tone.csd
+++ b/examples/tone.csd
@@ -1,31 +1,30 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o tone.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
 nchnls = 2
 
-
 instr 1
 
-a1	diskin2 "beats.wav", 1
-	outs a1, a1
+asig diskin2 "beats.wav", 1
+     outs asig, asig
 endin
 
 instr 2
 
-a1      diskin2 "beats.wav", 1
-a1	tone	a1, 500
-	outs a1, a1
+kton line 10000, p3, 0		;all the way down to 0 Hz
+asig diskin2 "beats.wav", 1
+asig tone asig, kton		;half-power point at 500 Hz
+     outs asig, asig
 endin
 
 </CsInstruments>
@@ -37,4 +36,4 @@ i 2 2 2
 e
 
 </CsScore>
-</CsoundSynthesizer>
\ No newline at end of file
+</CsoundSynthesizer>
diff --git a/examples/tonek.csd b/examples/tonek.csd
new file mode 100644
index 0000000..e062910
--- /dev/null
+++ b/examples/tonek.csd
@@ -0,0 +1,41 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o tonek.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+gisin ftgen 0, 0, 2^10, 10, 1
+
+instr 1
+
+ksig	randomh	400, 1800, 150
+aout	poscil	.2, 100+ksig, gisin
+	outs	aout, aout
+endin
+
+instr 2
+
+ksig	randomh	400, 1800, 150
+khp	line	1, p3, 100	;vary high-pass
+ksig	tonek	ksig, khp
+aout	poscil	.2, 100+ksig, gisin
+	outs	aout, aout
+endin
+
+</CsInstruments>
+<CsScore>
+
+i 1 0 5
+i 2 5.5 5
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/tonex.csd b/examples/tonex.csd
old mode 100755
new mode 100644
index 1863578..b31329c
--- a/examples/tonex.csd
+++ b/examples/tonex.csd
@@ -1,44 +1,37 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o tonex.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-
-sr = 44100
-kr = 4410
-ksmps = 10
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
 nchnls = 2
 
-
 instr 1
 
-a1	diskin2 "beats.wav", 1
-      outs a1, a1
+asig diskin2 "beats.wav", 1
+     outs asig, asig
 endin
 
 instr 2
 
-a1      diskin2 "beats.wav", 1
-a1	tonex	a1, 500, 12
-   outs a1, a1
+kton line 10000, p3, 0		;all the way down to 0 Hz
+asig diskin2 "beats.wav", 1
+asig tonex asig, kton, 8	;8 filters
+     outs asig, asig
 endin
-
-
 </CsInstruments>
 <CsScore>
 
-
 i 1 0 2
-i 2 2 2
+i 2 3 2
 
 e
-
-
 </CsScore>
-</CsoundSynthesizer>
\ No newline at end of file
+</CsoundSynthesizer>
diff --git a/examples/tradsyn.csd b/examples/tradsyn.csd
old mode 100755
new mode 100644
index 934e8d0..29e7154
--- a/examples/tradsyn.csd
+++ b/examples/tradsyn.csd
@@ -1,38 +1,34 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o tradsyn.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-
 sr = 44100
-kr = 4410
-ksmps = 10
+ksmps = 32
 nchnls = 2
+0dbfs  = 1
 
 instr 1
 
-ain		diskin2	"beats.wav", 1
-fs1,fsi2	pvsifd	ain,2048,512,1			; ifd analysis
-fst		partials	fs1,fsi2,.003,1,3,500		; partial tracking
-aout		tradsyn	fst, 1, 1.5, 500, 1		; resynthesis (up a 5th)
+ipch = p4
+ain  diskin2 "beats.wav", 1
+fs1,fsi2 pvsifd ain,2048,512,1		; ifd analysis
+fst  partials fs1,fsi2,.003,1,3,500	; partial tracking
+aout tradsyn fst, 1, ipch, 500, 1	; resynthesis
+     outs aout, aout
 
-		outs aout, aout
 endin
-
-
 </CsInstruments>
 <CsScore>
 f1 0 8192 10 1
 
-i 1 0 3
-
+i 1 0 2 1.5	;up a 5th
+i 1 + 2  .5	;octave down
 e
-
 </CsScore>
-</CsoundSynthesizer>
\ No newline at end of file
+</CsoundSynthesizer>
diff --git a/examples/trandom.csd b/examples/trandom.csd
old mode 100755
new mode 100644
index 566250f..1d52c6f
--- a/examples/trandom.csd
+++ b/examples/trandom.csd
@@ -1,39 +1,37 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
-
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o trandom.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-
 sr = 44100
-kr = 4410
-ksmps = 10
+ksmps = 32
 nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
-instr 1
-  ; Generate a random number between 220 and 440.
-  kmin init 220
-  kmax init 440
-  ktrig	=	p4
-  k1 trandom ktrig, kmin, kmax
-
-  printks "k1 = %f\\n", 0.1, k1
-endin
+seed 0				; every run time different values	
 
+instr 1	
+			
+kmin init 0			;random number between 0 and 220
+kmax init 220
+ktrig = p4
+k1   trandom ktrig, kmin, kmax
+     printk2 k1			;print when k1 changes
+asig poscil .4, 220+k1, 1	;if triggered, add random values to frequency
+     outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
+f1 0 4096 10 1
 
-; Play Instrument #1 for one second.
-i 1 0 1 0
-i 1 + 1 1
+i 1 0 2 0	;not triggered
+i 1 + 2 1	;triggered
 e
-
-
 </CsScore>
-</CsoundSynthesizer>
\ No newline at end of file
+</CsoundSynthesizer>
diff --git a/examples/transegb.csd b/examples/transegb.csd
new file mode 100644
index 0000000..21daf09
--- /dev/null
+++ b/examples/transegb.csd
@@ -0,0 +1,41 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+; Audio out   Audio in
+-odac           -iadc    ;;;RT audio I/O
+; For Non-realtime ouput leave only the line below:
+; -o transeg.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 128
+nchnls = 2
+
+0dbfs = 1
+
+instr 1
+;p4 and p5 determine the type of curve for each
+;section of the envelope
+kenv transegb 0.01, p3*0.25, p4, 1, p3, p5, 0.01
+a1 oscil kenv, 440, 1
+outs a1, a1
+endin
+
+</CsInstruments>
+<CsScore>
+; Table #1, a sine wave.
+f 1 0 16384 10 1
+
+i 1 0 2 2 2
+i 1 + . 5 5
+i 1 + . 1 1
+i 1 + . 0 0
+i 1 + . -2 -2
+i 1 + . -2 2
+i 1 + . 2 -2
+e
+</CsScore>
+</CsoundSynthesizer>
+
+
diff --git a/examples/transegr.csd b/examples/transegr.csd
new file mode 100644
index 0000000..a64185d
--- /dev/null
+++ b/examples/transegr.csd
@@ -0,0 +1,34 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  -+rtmidi=virtual -M0  ;;;realtime audio out and realtime midi in
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o transegr.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+ 	 
+icps cpsmidi	 	 
+iamp ampmidi .2	 
+;             st,dur1,typ1,val,dur2,typ2,end	 	 	 
+kenv transegr 0,  .2,  2,  .5,  1, - 3,   0
+asig pluck kenv*iamp, icps, icps, 1, 1	 
+     outs asig, asig
+
+	 
+endin
+</CsInstruments>
+<CsScore>
+f1 0 4096 10 1	;sine
+
+f0 30	;runs 30 seconds
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/trcross.csd b/examples/trcross.csd
old mode 100755
new mode 100644
index 642ae68..e6fc277
--- a/examples/trcross.csd
+++ b/examples/trcross.csd
@@ -1,44 +1,42 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o trcross.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-
 sr = 44100
-kr = 4410
-ksmps = 10
+ksmps = 32
 nchnls = 2
-
+0dbfs  = 1
 
 instr 1
 
-ain1      diskin2 "beats.wav", 1, 0, 1
-ain2      diskin2 "fox.wav", 1
-fs1,fsi2	pvsifd ain1,2048,512,1		; ifd analysis
-fst		partials fs1,fsi2,.003,1,3,500  ; partial tracking
-fs11,fsi12	pvsifd ain2,2048,512,1		; ifd analysis (second input)
-fst1		partials	fs11,fsi12,.003,1,3,500		; partial tracking \(second input
-fcr	trcross fst,fst1, 1.05, 1,p4		; cross-synthesis (mode 0 and mode 1)
-aout	tradsyn fcr, 1, 1, 500, 1		; resynthesis of tracks
-	outs aout*10, aout*10
+ain1 diskin2 "beats.wav", 1, 0, 1
+ain2 diskin2 "fox.wav", 1
 
-endin
+imode = p4
+fs1,fsi2 pvsifd ain1, 2048, 512, 1		; ifd analysis
+fst      partials fs1, fsi2, .01, 1, 3, 500	; partial tracking
 
+fs11,fsi12 pvsifd ain2, 2048, 512, 1		; ifd analysis (second input)
+fst1     partials fs11, fsi12, .01, 1, 3, 500	; partial tracking (second input
 
+fcr  trcross fst, fst1, 1.05, 1, imode		; cross-synthesis (mode 0 and mode 1)
+aout tradsyn fcr, 1, 1, 500, 1			; resynthesis of tracks
+     outs aout*3, aout*3
+
+endin
 </CsInstruments>
 <CsScore>
 f1 0 8192 10 1
 
-i 1 0 4 0
-i 1 + 4 1
+i 1 0 3 0
+i 1 5 3 1
 
 e
-
 </CsScore>
 </CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/trfilter.csd b/examples/trfilter.csd
new file mode 100644
index 0000000..a0fd6f4
--- /dev/null
+++ b/examples/trfilter.csd
@@ -0,0 +1,37 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o trfilter.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+gifn ftgen 2, 0, -22050, 5, 1, 1000, 1, 4000, 0.000001, 17050, 0.000001 ; low-pass filter curve of 22050 points	
+
+instr 1
+
+kam  line 1, p3, p4
+ain  diskin2 "beats.wav", 1, 0, 1
+fs1,fsi2 pvsifd	ain, 2048, 512, 1		; ifd analysis
+fst  partials fs1, fsi2, .003, 1, 3, 500	; partial tracking
+fscl trfilter fst, kam, gifn			; filtering using function table 2
+aout tradsyn fscl, 1, 1, 500, 1			; resynthesis 
+     outs aout, aout
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0 8192 10 1
+
+i 1 0 4 1
+i 1 5 4 0	;reduce filter effect
+e
+</CsScore>
+</CsoundSynthesizer>
\ No newline at end of file
diff --git a/examples/trhighest.csd b/examples/trhighest.csd
old mode 100755
new mode 100644
index df3e354..beb8154
--- a/examples/trhighest.csd
+++ b/examples/trhighest.csd
@@ -1,39 +1,34 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o trhighest.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
+ksmps = 32
 nchnls = 2
-
+0dbfs  = 1
 
 instr 1
 
-ain     diskin2 "beats.wav", 1
-fs1,fsi2	pvsifd ain,2048,512,1		; ifd analysis
-fst		partials fs1,fsi2,.003,1,3,500	; partial tracking
-fhi,kfr,kamp	trhighest fst,1			; highest freq-track 
+ain     diskin2 "fox.wav", 1
+fs1,fsi2 pvsifd ain, 2048, 512, 1		; ifd analysis
+fst	partials fs1, fsi2, .1, 1, 3, 500	; partial tracking
+fhi,kfr,kamp trhighest fst, 1			; highest freq-track 
 aout	tradsyn	fhi, 1, 1, 1, 1			; resynthesis of highest frequency
-	outs aout*100, aout*100			; compensate energy loss
+	outs aout*40, aout*40			; compensate energy loss
 
 endin
-
-
 </CsInstruments>
 <CsScore>
-f1 0 8192 10 1
+f1 0 8192 10 1	;sine wave
 
 i 1 0 3
 
 e
-
 </CsScore>
-</CsoundSynthesizer>
\ No newline at end of file
+</CsoundSynthesizer>
diff --git a/examples/trigger.csd b/examples/trigger.csd
index 1c6ff00..d4f1ec9 100644
--- a/examples/trigger.csd
+++ b/examples/trigger.csd
@@ -1,43 +1,43 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o trigger.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  ; Use a square-wave low frequency oscillator as the trigger.
-  klf lfo 1, 10, 3
-  ktr trigger klf, 1, 2
-
-  ; When the value of the trigger isn't equal to 0, print it out.
-  if (ktr == 0) kgoto contin
-    ; Print the value of the trigger and the time it occurred.
-    ktm times
-    printks "time = %f seconds, trigger = %f\\n", 0, ktm, ktr
-
-contin:
-  ; Continue with processing.
+
+kmtr lfo 1, 1, 1			;triangle wave
+kmode = p4
+ktr  trigger kmtr, .5, kmode
+     printk2  ktr
+     schedkwhen ktr, 0, 3, 2, 0, .3
+
+
 endin
 
+instr 2                                            
+
+aenv linseg 0,p3*.1,1,p3*.3,1,p3*.6,0	;envelope
+a1   poscil .3*aenv, 1000, 1
+     outs a1, a1
 
+endin
 </CsInstruments>
 <CsScore>
+f 1 0 16384 10 1	;sine 
 
-; Play Instrument #1 for one second.
-i 1 0 1
-e
-
+i 1 0 3 0		;down-up
+i 1 4 3 2		;down-up & up=down
 
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/trigseq.csd b/examples/trigseq.csd
new file mode 100644
index 0000000..0adde46
--- /dev/null
+++ b/examples/trigseq.csd
@@ -0,0 +1,111 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o trigseq.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giTimes	ftgen	91, 0, 128, -2,     1, 1/2, 1/2, 1/8, 1/8, 1/2,1/2, 1/16, 1/16, 1/16, 1/16, 1/16, 1/16, 1/16, 1/16; times
+giSeq	ftgen 	90, 0, 128, -2,     1, 2,     .5, 3,    .25, 4,      .10, 5,       .05, 6 ;** sequence amplitude and freq-ratio bins
+ 
+	
+instr	1
+
+icps	init	p4
+iamp	init	.3
+
+kloop	init	p5
+initndx	init	p6
+kloop2	init	p7
+initndx2 init	p8
+kdur	init	p9
+iminTime init	p10
+imaxTime init	p11
+kampratio init  1
+kfreqratio init 1
+
+ktime_unit expseg iminTime,p3/8,iminTime,p3* 3/4,imaxTime,p3/8,imaxTime
+
+
+;**ktrig	seqtime	ktime_unit, kstart, kloop, initndx, kfn_times 
+;ktrig	seqtime	1/ktime_unit, 0,      15, 0,      giTimes	
+
+ktrig	metro	ktime_unit
+
+;****	trigseq	ktrig_in,  kstart,  kloop, initndx,  kfn_values, kout1 [, kout2, kout3, ....,  koutN] 
+	trigseq	ktrig, 	0, 	kloop2,initndx2,   giSeq,      kampratio, kfreqratio
+	
+;atrig	= ktrig*10000
+	schedkwhen ktrig, -1, -1, 3, 0, kdur, kampratio*iamp, kfreqratio*icps
+;	schedkwhen ktrig, -1, -1, 2, 0, ktrig, kampratio*iamp, kfreqratio*icps
+	endin
+
+instr	2
+
+icps	init	p4
+iamp	init	20000
+
+kloop	init	p5
+initndx	init	p6
+kloop2	init	p7
+initndx2 init	p8
+kdur	init	p9
+iminTime init	p10
+imaxTime init	p11
+kampratio init  1
+kfreqratio init 1
+
+ktime_unit expseg iminTime,p3/8,iminTime,p3* 3/4,imaxTime,p3/8,imaxTime
+
+
+;**ktrig	seqtime	ktime_unit, kstart, kloop, initndx, kfn_times 
+ktrig	seqtime	1/ktime_unit, 0,      15, 0,      giTimes	
+
+;ktrig	metro	ktime_unit
+
+;****	trigseq	ktrig_in,  kstart,  kloop, initndx,  kfn_values, kout1 [, kout2, kout3, ....,  koutN] 
+	trigseq	ktrig,      0, 	   kloop2, initndx2,   giSeq,    kampratio, kfreqratio
+printk2 ktrig
+;atrig	= ktrig*10000
+;	schedkwhen ktrig, -1, -1, 2, 0, kdur, kampratio*iamp, kfreqratio*icps
+	schedkwhen ktrig, -1, -1, 3, 0, ktrig, kampratio*iamp, kfreqratio*icps
+endin
+
+instr	3
+
+print p3
+kenv	expseg	 1.04, p3,.04
+a1	foscili	p4*a(kenv-0.04), p5,1,1,kenv*5, 2
+	outs	a1, a1
+endin
+
+</CsInstruments>
+<CsScore>
+f2 0 8192 10 1
+
+;	icps	unused	unused	kloop2	initndx2 kdur iminTime	imaxTime
+
+s
+
+i1 0  6	100	0	0	5	0	.2	3	15
+i1 8  6	150	0	0	4	1	.1	4	30
+i1 16 6	200	0	0	5	3	.25	8	50  
+i1 24 6	300	0	0	3	0	.1	1	30  
+
+i2 32 6	100	0	0	5	0	.2	1	1
+i2 40 6 150	0	0	4	1	.1	.5	.5
+i2 48 6	200	0	0	5	3	.25	3	.5  
+i2 56 6	300	0	0	5	0	.1	1	8  
+
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/trirand.csd b/examples/trirand.csd
index 3ba4947..d8dd839 100644
--- a/examples/trirand.csd
+++ b/examples/trirand.csd
@@ -1,50 +1,42 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o trirand.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
-instr 1
-  ; Generate a random number between -1 and 1.
-  ; krange = 1
+instr 1  	; every run time same values
 
-  i1 trirand 1
-
-  print i1
+ktri	trirand 100
+	printk .2, ktri			; look 
+aout	oscili 0.8, 440+ktri, 1		; & listen
+	outs	aout, aout
 endin
 
-; Instrument #2.
-instr 2
-  ; Generate a random number between -1 and 1.
-  ; krange = 1
-
-  seed 0
-
-  i1 trirand 1
+instr 2		; every run time different values
 
-  print i1
+	seed 0
+ktri	trirand 100
+	printk .2, ktri			; look 
+aout	oscili 0.8, 440+ktri, 1		; & listen
+	outs	aout, aout
 endin
 
 </CsInstruments>
 <CsScore>
+; sine wave
+f 1 0 16384 10 1
 
-; Play Instrument #1 for one second.
-i 1 0 1
-; Play Instrument #2 for one second.
-i 2 1 1
+i 1 0 2
+i 2 3 2
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/trlowest.csd b/examples/trlowest.csd
old mode 100755
new mode 100644
index 3bda911..5873be6
--- a/examples/trlowest.csd
+++ b/examples/trlowest.csd
@@ -1,39 +1,33 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o trlowest.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 48000
-;kr = 4410
-ksmps = 128
+sr = 44100
+ksmps = 32
 nchnls = 2
-
+0dbfs  = 1
 
 instr 1
 
 ain     diskin2 "beats.wav", 1
-fs1,fsi2	pvsifd ain,2048,512,1		; ifd analysis
-fst	partials	fs1,fsi2,.003,1,3,500  ; partial tracking
-flow,kfr,kamp	trlowest	fst,1		; lowest freq-track 
-aout	tradsyn	flow, 1, 1, 1, 1		; resynthesis of lowest frequenc
+fs1,fsi2 pvsifd ain, 2048, 512, 1	; ifd analysis
+fst partials fs1, fsi2, .003, 1, 3, 500 ; partial tracking
+flow,kfr,kamp trlowest fst, 1		; lowest freq-track 
+aout	tradsyn	flow, 1, 1, 1, 1	; resynthesis of lowest frequency
 	outs	aout*2, aout*2
 
 endin
-
-
 </CsInstruments>
 <CsScore>
-f1 0 8192 10 1
+f1 0 8192 10 1	;sine wave
 
 i 1 0 3
-
 e
-
 </CsScore>
-</CsoundSynthesizer>
\ No newline at end of file
+</CsoundSynthesizer>
diff --git a/examples/trmix.csd b/examples/trmix.csd
old mode 100755
new mode 100644
index ee1ef7f..5066ee4
--- a/examples/trmix.csd
+++ b/examples/trmix.csd
@@ -1,39 +1,35 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o trmix.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
+ksmps = 32
 nchnls = 2
-
+0dbfs  = 1
 
 instr 1
 
-ain		diskin2	"fox.wav", 1
-fs1,fsi2	pvsifd ain,2048,512,1		; ifd analysis
-fst	partials	fs1,fsi2,.003,1,3,500	; partial tracking
-fslo,fshi	trsplit	fst, 500		; split partial tracks at 1500 Hz
-fscl	trscale	fshi, 1.15			; shift the upper tracks
+ain	diskin2	"fox.wav", 1
+fs1,fsi2 pvsifd ain, 2048, 512, 1		; ifd analysis
+fst	partials fs1, fsi2, .003, 1, 3, 500	; partial tracking
+fslo,fshi trsplit fst, 1000			; split partial tracks at 1000 Hz
+fscl	trscale	fshi, 1.3			; shift the upper tracks
 fmix	trmix	fslo,fscl			; mix the shifted and unshifted tracks
 aout	tradsyn	fmix, 1, 1, 500, 1		; resynthesis of tracks
-	outs aout, aout
-endin
-
+	outs    aout, aout
 
+endin
 </CsInstruments>
 <CsScore>
-f1 0 8192 10 1
+f1 0 8192 10 1	;sine wave
 
-i 1 0 2
+i 1 0 3
 e
-
 </CsScore>
-</CsoundSynthesizer>
\ No newline at end of file
+</CsoundSynthesizer>
diff --git a/examples/trscale.csd b/examples/trscale.csd
old mode 100755
new mode 100644
index 33e178f..c9c521f
--- a/examples/trscale.csd
+++ b/examples/trscale.csd
@@ -1,38 +1,35 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o trscale.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
+ksmps = 32
 nchnls = 2
-
+0dbfs  = 1
 
 instr 1
 
-ain		diskin2	"fox.wav", 1
-fs1,fsi2	pvsifd	ain,2048,512,1			; ifd analysis
-fst		partials	fs1,fsi2,.003,1,3,500	; partial tracking
-fscl		trscale	fst, 2.5			; frequency scale (up a 5th)
-aout		tradsyn	fscl, 1, 1, 500, 1		; resynthesis 
+kpitch  = p4
+ain	diskin2	"fox.wav", 1
+fs1,fsi2 pvsifd	ain, 2048, 512, 1		; ifd analysis
+fst	partials fs1, fsi2, .003, 1, 3, 500	; partial tracking
+fscl	trscale	fst, kpitch			; frequency scale
+aout	tradsyn	fscl, 1, 1, 500, 1		; resynthesis 
+        outs    aout, aout
 
-		outs aout, aout
 endin
-
-
 </CsInstruments>
 <CsScore>
 f1 0 8192 10 1
 
-i 1 0 3
+i 1 0 3 1.5	;up a 5th
+i 1 3 3 3	;two octaves higher
 e
-
 </CsScore>
-</CsoundSynthesizer>
\ No newline at end of file
+</CsoundSynthesizer>
diff --git a/examples/trshift.csd b/examples/trshift.csd
new file mode 100644
index 0000000..d3b29c5
--- /dev/null
+++ b/examples/trshift.csd
@@ -0,0 +1,35 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o trshift.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+kpsft   = p4
+ain	diskin2	  "fox.wav", 1
+fs1, fsi2 pvsifd  ain, 2048, 512, 1            ; ifd analysis
+fst     partials  fs1, fsi2, 0.003, 1, 3, 500  ; partial tracking
+fscl    trshift   fst, kpsft                   ; frequency shift
+aout    tradsyn   fscl, 1, 1, 500, 1           ; resynthesis
+        outs aout, aout
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0 8192 10 1	;sine
+
+i 1 0 3 150	;adds 150Hz to all tracks
+i 1 + 3 500	;adds 500Hz to all tracks
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/trsplit.csd b/examples/trsplit.csd
old mode 100755
new mode 100644
index 33fc341..1120974
--- a/examples/trsplit.csd
+++ b/examples/trsplit.csd
@@ -1,38 +1,33 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o trsplit.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
+ksmps = 32
 nchnls = 2
-
+0dbfs  = 1
 
 instr 1
 
-ain		diskin2	"beats.wav", 1
-fs1,fsi2	pvsifd ain,2048,512,1		; ifd analysis
-fst	partials	fs1,fsi2,.003,1,3,500	; partial tracking
-fslo,fshi	trsplit	fst, 1500		; split partial tracks at 1500 Hz
-aout	tradsyn	fshi, 1, 1, 500, 1		; resynthesis of tracks above 1500Hz
+ain	 diskin2 "beats.wav", 1
+fs1,fsi2 pvsifd  ain, 2048, 512, 1		; ifd analysis
+fst	 partials fs1, fsi2, .003, 1, 3, 500	; partial tracking
+fslo,fshi trsplit fst, 1500			; split partial tracks at 1500 Hz
+aout	 tradsyn fshi, 1, 1, 500, 1	; resynthesis of tracks above 1500Hz
+         outs aout, aout
 
-		outs aout, aout
 endin
-
-
 </CsInstruments>
 <CsScore>
-f1 0 8192 10 1
+f1 0 8192 10 1	;sine
 
 i 1 0 2
 e
-
 </CsScore>
-</CsoundSynthesizer>
\ No newline at end of file
+</CsoundSynthesizer>
diff --git a/examples/unirand.csd b/examples/unirand.csd
index d2459d7..65f024b 100644
--- a/examples/unirand.csd
+++ b/examples/unirand.csd
@@ -1,50 +1,42 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o unirand.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
-instr 1
-  ; Generate a random number between 0 and 1.
-  ; krange = 1
+instr 1  	; every run time same values
 
-  i1 unirand 1
-
-  print i1
+ktri	unirand 100
+	printk .2, ktri			; look 
+aout	oscili 0.8, 440+ktri, 1		; & listen
+	outs	aout, aout
 endin
 
-; Instrument #2.
-instr 2
-  ; Generate a random number between 0 and 1.
-  ; krange = 1
-
-  seed 0
-
-  i1 unirand 1
+instr 2		; every run time different values
 
-  print i1
+	seed 0
+ktri	unirand 100
+	printk .2, ktri			; look 
+aout	oscili 0.8, 440+ktri, 1		; & listen
+	outs	aout, aout
 endin
 
 </CsInstruments>
 <CsScore>
+; sine wave
+f 1 0 16384 10 1
 
-; Play Instrument #1 for one second.
-i 1 0 1
-; Play Instrument #2 for one second.
-i 2 1 1
+i 1 0 2
+i 2 3 2
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/until.csd b/examples/until.csd
new file mode 100644
index 0000000..25e8889
--- /dev/null
+++ b/examples/until.csd
@@ -0,0 +1,38 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+; Audio out   Audio in
+-odac           -iadc    ;;;RT audio I/O
+; For Non-realtime ouput leave only the line below:
+; -o ifthen.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+kr = 4410
+ksmps = 10
+nchnls = 1
+
+instr 1
+lab99:
+if p4<0 goto lab100
+  p4 = p4-1
+  print p4
+  goto lab99
+lab100:
+endin
+
+instr 2
+  until p4<0 do
+    p4 = p4-1
+    print p4
+  od
+endin
+</CsInstruments>
+<CsScore>
+i 1 1 1 4
+i 2 2 1 4
+e
+
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/upsamp.csd b/examples/upsamp.csd
new file mode 100644
index 0000000..96f1a03
--- /dev/null
+++ b/examples/upsamp.csd
@@ -0,0 +1,67 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o upsamp.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+;;with code from Steven Cook / David Akbari, Menno Knevel and Joachim Heintz
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+seed      0
+
+  opcode Decimator, a, akk	;UDO Sample rate / Bit depth reducer
+  ;see http://www.csounds.com/udo/displayOpcode.php?opcode_id=73
+         setksmps   1
+ain, kbit, ksrate xin
+
+kbits    =        2^kbit                ;bit depth (1 to 16)
+kfold    =        (sr/ksrate)           ;sample rate
+kin      downsamp ain                   ;convert to kr
+kin      =        (kin+0dbfs)           ;add DC to avoid (-)
+kin      =        kin*(kbits/(0dbfs*2)) ;scale signal level
+kin      =        int(kin)              ;quantise
+aout     upsamp   kin                   ;convert to sr
+aout     =        aout*(2/kbits)-0dbfs  ;rescale and remove DC
+a0ut     fold     aout, kfold           ;resample
+         xout     a0ut
+  endop
+	
+		
+instr 1	;avoid playing this too loud
+
+kbit     =        p4
+ksr      =        44100
+asig     diskin   "fox.wav", 1
+aout     Decimator asig, kbit, ksr
+         printks  "bitrate = %d, ", 3, kbit
+         printks  "with samplerate = %d\\n", 3, ksr
+         outs     aout*.7, aout*.7
+endin
+
+
+instr 2	;moving randomly between different bit values (1 - 6)
+
+kbit     randomi  1, 6, .5, 1
+asig     diskin   "fox.wav", 1, 0, 1 ;loop play
+aout     Decimator asig, kbit, 44100
+         printks  "bitrate = %f\n", .3, kbit
+         outs     aout*.7, aout*.7
+
+endin
+
+</CsInstruments>
+<CsScore>
+i 1 0	3 16		;sounds allright but
+i 1 +	3 5		;it's getting worse
+i 1 +	3 2		;and worse...
+i 2 9  22		;or quality moves randomly
+e	
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/urd.csd b/examples/urd.csd
new file mode 100644
index 0000000..feb6ae9
--- /dev/null
+++ b/examples/urd.csd
@@ -0,0 +1,49 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac   ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o urd.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1 
+
+ktab  = 1			;ftable 1
+kurd  = urd(ktab) 
+ktrig metro 5			;triggers 5 times per second
+kres  samphold kurd, ktrig	;sample and hold value of kurd
+      printk2 kres		;print it
+asig  poscil .5, 220+kres, 2
+      outs asig, asig
+endin
+
+instr 2
+
+seed 0	;every run new values
+
+ktab  = 1 			;ftable 1
+kurd  = urd(ktab) 
+ktrig metro 5			;triggers 5 times per second
+kres  samphold kurd, ktrig	;sample and hold value of kurd
+      printk2 kres		;print it
+asig  poscil .5, 220+kres, 2
+      outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0 -20 -42  10 20 .3 100 200 .7 ;30% choose between 10 and 20 and 70% between 100 and 200
+f2 0 8192 10 1			  ;sine wave
+
+i 1 0 5
+i 2 6 5
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/v.csd b/examples/v.csd
new file mode 100644
index 0000000..3404c89
--- /dev/null
+++ b/examples/v.csd
@@ -0,0 +1,39 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o v.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+aenv expseg .01, p3*0.25, 1, p3*0.75, 0.01
+asig poscil3 .4*aenv, p4, 1
+     outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+f 1 0 16384 10 1	;sine wave
+;because note 3 and 5 are played simultaneously and are nearly of the same frequency,
+;played together they will create a "beating" sound.
+
+i 1 0 2  110	; note1
+v2
+i 1 3 .  220	; note2
+i 1 6 .  110	; note3
+v1
+i 1 9 .  880	; note4
+i 1 12 . 100	; note5
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/valpass-2.csd b/examples/valpass-2.csd
new file mode 100644
index 0000000..d9431d4
--- /dev/null
+++ b/examples/valpass-2.csd
@@ -0,0 +1,39 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o valpass-2.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+giSine ftgen 0, 0, 65536, 10, 1			;sine wave
+
+instr 1
+
+asig diskin2 "beats.wav", 1, 0, 1
+krvt line 0.01, p3, p3				;reverb time
+adepth = p4					;sine depth 
+krate = 0.3					;sine rate (speed)
+adel oscil 0.5, krate, giSine			;delay time oscillator (LFO)
+adel = ((adel+0.5)*adepth)			;scale and offset LFO
+aout valpass asig, krvt, adel*0.01, 0.5
+     outs aout, aout
+
+endin
+</CsInstruments>
+<CsScore>
+	
+i1 0  10 1
+i1 11 10 5	
+e
+</CsScore>
+</CsoundSynthesizer>
+
+
diff --git a/examples/valpass.csd b/examples/valpass.csd
index fe49376..14734fe 100644
--- a/examples/valpass.csd
+++ b/examples/valpass.csd
@@ -1,38 +1,34 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o valpass.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
+ksmps = 32
 nchnls = 2
+0dbfs  = 1
 
 instr 1 
 
 krvt = 1.5
-klpt line	p4, p3, p5
+klpt line p4, p3, p5
 imaxlpt = .1
 
-a1	diskin2	"fox.wav", 1
-a1	valpass	a1, krvt, klpt, imaxlpt
-a2	valpass	a1, krvt, klpt*.5, imaxlpt
-	outs	a1, a2  
+a1 diskin2 "fox.wav", 1
+a1 valpass a1, krvt, klpt, imaxlpt
+a2 valpass a1, krvt, klpt*.5, imaxlpt
+   outs	a1, a2  
 
 endin
-
 </CsInstruments>
 <CsScore>
 
 i 1 0 5 .01 .2
-
 e
-
 </CsScore>
-</CsoundSynthesizer> 
\ No newline at end of file
+</CsoundSynthesizer> 
diff --git a/examples/vbap.csd b/examples/vbap.csd
new file mode 100644
index 0000000..3df3d8f
--- /dev/null
+++ b/examples/vbap.csd
@@ -0,0 +1,34 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o vbap.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 4	;quad
+0dbfs  = 1
+
+vbaplsinit 2, 4, 0, 90, 180, 270
+
+instr 1
+
+asig diskin2 "beats.wav", 1, 0, 1			;loop beats.wav
+kaz  line 0, p3, p4					;come from right rear speaker &	
+a1,a2,a3,a4 vbap  asig, 180, 100, kaz			;change spread of soundsource
+     printks "spread of source = %d\n", 1, kaz		;print spread value
+     outq a1,a2,a3,a4
+
+endin 
+</CsInstruments>
+<CsScore>
+
+i 1 0 12 100
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/vbap4.csd b/examples/vbap4.csd
new file mode 100644
index 0000000..cc25426
--- /dev/null
+++ b/examples/vbap4.csd
@@ -0,0 +1,34 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o vbap4.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 4	;quad
+0dbfs  = 1
+
+vbaplsinit 2, 4, 0, 90, 180, 270
+
+instr 1
+
+asig diskin2 "beats.wav", 1, 0, 1			;loop beats.wav
+kaz  line 0, p3, p4					;come from right rear speaker &	
+a1,a2,a3,a4 vbap4  asig, 180, 100, kaz			;change spread of soundsource
+     printks "spread of source = %d\n", 1, kaz		;print spread value
+     outq a1,a2,a3,a4
+
+endin 
+</CsInstruments>
+<CsScore>
+
+i 1 0 12 100
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/vbap4move.csd b/examples/vbap4move.csd
new file mode 100644
index 0000000..05b8305
--- /dev/null
+++ b/examples/vbap4move.csd
@@ -0,0 +1,33 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o vbap4move.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 4	;quad
+0dbfs  = 1
+
+vbaplsinit 2, 4, 0, 90, 180, 270
+
+instr 1
+
+asig diskin2 "beats.wav", 1, 0, 1		;loop beats.wav
+a1,a2,a3,a4 vbap4move  asig, p3, 1, 2, 310, 180	;change movement of soundsource in
+     outq a1,a2,a3,a4				;the rear speakers
+
+endin 
+</CsInstruments>
+<CsScore>
+
+i 1 0 5
+
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/vbap8.csd b/examples/vbap8.csd
index 38473e2..1ec4edb 100644
--- a/examples/vbap8.csd
+++ b/examples/vbap8.csd
@@ -8,7 +8,7 @@
 </CsOptions>
 <CsInstruments>
 
-  sr       =          41000
+  sr       =          44100
   kr       =           441
   ksmps    =           100
   nchnls   =             4
@@ -30,9 +30,9 @@
 
 </CsInstruments>
 <CsScore>
-
+f 1 0 8192 10 1
 ; Play Instrument #1 for one second.
-,          azimuth
+;          azimuth
 i 1 0 1      20
 i 1 + .      40
 i 1 + .      60
diff --git a/examples/vbapg.csd b/examples/vbapg.csd
new file mode 100644
index 0000000..0c98e71
--- /dev/null
+++ b/examples/vbapg.csd
@@ -0,0 +1,34 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o vbap4.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 4	;quad
+0dbfs  = 1
+
+vbaplsinit 2.01, 4, 0, 90, 180, 270
+
+instr 1
+
+asig diskin2 "beats.wav", 1, 0, 1		;loop beats.wav
+kaz  line 0, p3, p4				;come from right rear speaker &	
+k1,k2,k3,k4 vbapg  180, 100, kaz, 1             ;change spread of soundsource
+     printks "spread of source = %d\n", 1, kaz	;print spread value
+     outq asig*k1,asig*k2,asig*k3,asig*k4
+
+endin 
+</CsInstruments>
+<CsScore>
+
+i 1 0 12 100
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/vbapgmove.csd b/examples/vbapgmove.csd
new file mode 100644
index 0000000..e612741
--- /dev/null
+++ b/examples/vbapgmove.csd
@@ -0,0 +1,34 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o vbapgmove.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 4	;quad
+0dbfs  = 1
+
+vbaplsinit 2, 4, 0, 90, 180, 270
+
+instr 1
+
+asig diskin2 "beats.wav", 1, 0, 1		;loop beats.wav
+
+k0,k1,k2,k3 vbapgmove  p3, 1, 2, 310, 180	;change movement of soundsource in
+     outq k0*asig,k1*asig,k2*asig,k3*asig	;the rear speakers
+
+endin 
+</CsInstruments>
+<CsScore>
+
+i 1 0 5
+
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/vbaplsinit.csd b/examples/vbaplsinit.csd
new file mode 100644
index 0000000..f897bf6
--- /dev/null
+++ b/examples/vbaplsinit.csd
@@ -0,0 +1,39 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o vbaplsinit.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 8	
+0dbfs  = 1
+
+vbaplsinit 2, 8, 0, 45, 90, 180, 270, 0, 0, 0		;5 speakers for 5.1 amps
+
+instr 1
+
+asig diskin2 "beats.wav", 1, 0, 1			;loop beats.wav
+kazim line 1, p3, 355				
+a1,a2,a3,a4,a5,a6,a7,a8 vbap8  asig, kazim, 0, 1	;change azimuth of soundsource
+; Speaker mapping
+aFL = a1 						; Front Left
+aMF = a5 						; Mid Front 
+aFR = a2 						; Front Right
+aBL = a3 						; Back Left
+aBR = a4 						; Back Right
+    outo aFL,aFR,aBL,aBR,aMF,a6,a7,a8			;a6, a7 and a8 are dummies				
+
+endin 
+</CsInstruments>
+<CsScore>
+
+i 1 0 5
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/vbapmove.csd b/examples/vbapmove.csd
new file mode 100644
index 0000000..d843053
--- /dev/null
+++ b/examples/vbapmove.csd
@@ -0,0 +1,33 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o vbapmove.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 4	;quad
+0dbfs  = 1
+
+vbaplsinit 2, 4, 0, 90, 180, 270
+
+instr 1
+
+asig diskin2 "beats.wav", 1, 0, 1		;loop beats.wav
+a1,a2,a3,a4 vbapmove  asig, p3, 1, 2, 310, 180	;change movement of soundsource in
+     outq a1,a2,a3,a4				;the rear speakers
+
+endin 
+</CsInstruments>
+<CsScore>
+
+i 1 0 5
+
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/vco2ift.csd b/examples/vco2ift.csd
index 654c050..d004bbe 100644
--- a/examples/vco2ift.csd
+++ b/examples/vco2ift.csd
@@ -1,66 +1,41 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o vco2ift.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-sr      =  44100
-ksmps   =  10
-nchnls  =  1
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; user defined waveform -1: trapezoid wave with default parameters (can be
-; accessed at ftables starting from 10000)
-itmp    ftgen 1, 0, 16384, 7, 0, 2048, 1, 4096, 1, 4096, -1, 4096, -1, 2048, 0
-ift     vco2init -1, 10000, 0, 0, 0, 1
-; user defined waveform -2: fixed table size (4096), number of partials
-; multiplier is 1.02 (~238 tables)
-itmp    ftgen 2, 0, 16384, 7, 1, 4095, 1, 1, -1, 4095, -1, 1, 0, 8192, 0
-ift     vco2init -2, ift, 1.02, 4096, 4096, 2
+; user defined waveform -2: fixed table size (64), number of partials
+; multiplier is 1.4
+itmp    ftgen 2, 0, 64, 5, 1, 2, 120, 60, 1, 1, 0.001, 1
+ift     vco2init -2, 2, 1.4, 4096, 4096, 2
 
-        instr 1
-kcps    expon p4, p3, p5                ; instr 1: basic vco2 example
-a1      vco2 12000, kcps                ; (sawtooth wave with default
-        out a1                          ; parameters)
-        endin
 
-        instr 2
-kcps    expon p4, p3, p5                        ; instr 2:
-kpw     linseg 0.1, p3/2, 0.9, p3/2, 0.1        ; PWM example
-a1      vco2 10000, kcps, 2, kpw
-        out a1
-        endin
-
-        instr 3
-kcps    expon p4, p3, p5                ; instr 3: vco2 with user
-a1      vco2 14000, kcps, 14            ; defined waveform (-1)
-aenv    linseg 1, p3 - 0.1, 1, 0.1, 0   ; de-click envelope
-        out a1 * aenv
-        endin
-
-        instr 4
-icps    = p4                            ; instr 4: vco2ift example,
-ifn     vco2ift icps, -2, 0.25          ; with user defined waveform
-a1      oscili 12000, icps, ifn         ; (-2), and sr/4 bandwidth
-        out a1
-        endin
+instr 1
 
+icps = p4
+ifn  vco2ift icps, -2, 0.5	;with user defined waveform
+print ifn
+asig oscili 1, 220, ifn		; (-2), and sr/2 bandwidth
+     outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
 
-i 1  0 3 20 2000
-i 2  4 2 200 400
-i 3  7 3 400 20
-i 4 11 2 200
-
-f 0 14
+i 1 0 2 20
+i 1 3 2 2000
+i 1 6 2 20000
 
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/vco2init.csd b/examples/vco2init.csd
old mode 100755
new mode 100644
index c0ebdd5..ac0316d
--- a/examples/vco2init.csd
+++ b/examples/vco2init.csd
@@ -1,66 +1,38 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o vco2init.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-sr      =  44100
-ksmps   =  10
-nchnls  =  2
+sr=44100
+ksmps=1
+nchnls=2
 
-; user defined waveform -1: trapezoid wave with default parameters (can be
-; accessed at ftables starting from 10000)
-itmp    ftgen 1, 0, 16384, 7, 0, 2048, 1, 4096, 1, 4096, -1, 4096, -1, 2048, 0
-ift     vco2init -1, 10000, 0, 0, 0, 1
-; user defined waveform -2: fixed table size (4096), number of partials
-; multiplier is 1.02 (~238 tables)
-itmp    ftgen 2, 0, 16384, 7, 1, 4095, 1, 1, -1, 4095, -1, 1, 0, 8192, 0
-ift     vco2init -2, ift, 1.02, 4096, 4096, 2
+; create waveform with discontinuities, so it has a lot of high freq content
+gitable ftgen 0, 0, 2^16+1, 7, -1, 2^14, 1, 0, -1, 2^14, 1, 0, -1, 2^15, 1
+; make bandlimited tables of the waveform
+gi_nextfree vco2init -gitable, gitable+1, 1.05, 128, 2^16, gitable
+gitable_bl = -gitable
 
-        instr 1
-kcps    expon p4, p3, p5                ; instr 1: basic vco2 example
-a1      vco2 12000, kcps                ; (sawtooth wave with default
-        outs a1, a1                     ; parameters)
-        endin
+instr 1
 
-        instr 2
-kcps    expon p4, p3, p5                        ; instr 2:
-kpw     linseg 0.1, p3/2, 0.9, p3/2, 0.1        ; PWM example
-a1      vco2 10000, kcps, 2, kpw
-        outs a1, a1
-        endin
-
-        instr 3
-kcps    expon p4, p3, p5                ; instr 3: vco2 with user
-a1      vco2 14000, kcps, 14            ; defined waveform (-1)
-aenv    linseg 1, p3 - 0.1, 1, 0.1, 0   ; de-click envelope
-        outs a1 * aenv, a1 * aenv
-        endin
-
-        instr 4
-kcps    expon p4, p3, p5                ; instr 4: vco2ft example,
-kfn     vco2ft kcps, -2, 0.25           ; with user defined waveform
-a1      oscilikt 12000, kcps, kfn       ; (-2), and sr/4 bandwidth
-        outs a1, a1
-        endin
+kfreq  expon 14000, p3, 500
+kfn    vco2ft kfreq, gitable_bl
+asig   oscilikt 5000, kfreq, kfn
+printk 0.1, kfn
 
+; remove semicolon on next line to hear original waveform, demonstrating the aliasing
+;asig   oscili 5000, kfreq, gitable
+       outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
-
-i 1  0 3 20 2000
-i 2  4 2 200 400
-i 3  7 3 400 20
-i 4 11 2 100 200
-
-f 0 14
-
+i1 0 5
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/vdelay.csd b/examples/vdelay.csd
index 8996833..f39bcc2 100644
--- a/examples/vdelay.csd
+++ b/examples/vdelay.csd
@@ -1,37 +1,35 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o vdelay.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
+sr   = 44100
+ksmps = 32
 nchnls = 2
+0dbfs  = 1
 
 instr 1 
 
-ims	=	100             ; Maximum delay time in msec
-a1	oscil	10000, 1737, 1  ; Make a signal
-a2	oscil	ims/2, 1/p3, 1  ; Make an LFO
-a2	=	a2 + ims/2      ; Offset the LFO so that it is positive
-a3	vdelay	a1, a2, ims     ; Use the LFO to control delay time
-	outs	a3, a3
+ims  = 100				;maximum delay time in msec
+aout poscil .8, 220, 1			;make a signal
+a2   poscil3 ims/2, 1/p3, 1		;make an LFO
+a2   = a2 + ims/2 			;offset the LFO so that it is positive
+asig vdelay aout, a2, ims		;use the LFO to control delay time
+     outs  asig, asig
 
 endin
-
 </CsInstruments>
 <CsScore>
-f1 0 8192 10 1
+f1 0 8192 10 1 ;sine wave
 
 i 1 0 5 
 
 e
-
 </CsScore>
-</CsoundSynthesizer> 
\ No newline at end of file
+</CsoundSynthesizer> 
+
diff --git a/examples/vdelay3.csd b/examples/vdelay3.csd
index 894dd97..22d57c1 100644
--- a/examples/vdelay3.csd
+++ b/examples/vdelay3.csd
@@ -1,27 +1,26 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o vdelay3.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
+ksmps = 32
 nchnls = 2
+0dbfs  = 1
 
 instr 1 
 
-ims	=	100             ; Maximum delay time in msec
-a1	oscil	10000, 1737, 1  ; Make a signal
-a2	oscil	ims/2, 1/p3, 1  ; Make an LFO
-a2	=	a2 + ims/2      ; Offset the LFO so that it is positive
-a3	vdelay3	a1, a2, ims     ; Use the LFO to control delay time
-	outs	a3, a3
+ims  = 100			;maximum delay time in msec
+aout poscil .8, 220, 1		;make a signal
+a2   poscil ims/2, 1/p3, 1	;make an LFO
+a2   = a2 + ims/2		;offset the LFO so that it is positive
+asig vdelay3 aout, a2, ims	;use the LFO to control delay time
+     outs  asig, asig
 
 endin
 
@@ -34,4 +33,4 @@ i 1 0 5
 e
 
 </CsScore>
-</CsoundSynthesizer> 
\ No newline at end of file
+</CsoundSynthesizer> 
diff --git a/examples/vdelayx.csd b/examples/vdelayx.csd
new file mode 100644
index 0000000..37bd965
--- /dev/null
+++ b/examples/vdelayx.csd
@@ -0,0 +1,36 @@
+<CsoundSynthesizer> 
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o vdelayx.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1 
+
+ims  =	.5				;maximum delay time in seconds
+iws  =	1024				;window size
+adl  =	.5				;delay time
+asig diskin2 "fox.wav", 1, 0, 1		;loop fox.wav
+a2   poscil .2, .2, 1			;make an LFO
+adl  = a2 + ims/2      			;offset the LFO so that it is positive
+aout vdelayx asig, adl, ims, iws	;use the LFO to control delay time
+     outs aout, aout
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0 8192 10 1
+
+i 1 0 10
+
+e
+</CsScore>
+</CsoundSynthesizer> 
diff --git a/examples/vdelayxq.csd b/examples/vdelayxq.csd
new file mode 100644
index 0000000..ff4e0fe
--- /dev/null
+++ b/examples/vdelayxq.csd
@@ -0,0 +1,39 @@
+<CsoundSynthesizer> 
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o vdelayxq.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 4
+0dbfs  = 1
+
+instr 1 
+
+ims   =	.5						;maximum delay time in seconds
+iws   =	1024						;window size
+adl   =	.5
+aout1  diskin2 "beats.wav", 1, 0, 1			;loop beats.wav
+aout2  diskin2 "fox.wav", 1, 0, 1			;loop fox.wav
+aout3  diskin2 "Church.wav", 1, 0, 1			;loop Church.wav
+aout4  diskin2 "flute.aiff", 1, 0, 1			;loop flute.aiff
+a2    poscil .1, .5, 1					;make an LFO, 1 cycle per 2 seconds
+adl   = a2 + ims/2      				;offset the LFO so that it is positive
+aout1, aout2, aout3, aout4 vdelayxq aout1, aout2, aout3, aout4, adl, ims, iws; Use the LFO to control delay time
+      outq aout1, aout2, aout3, aout4
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0 8192 10 1
+
+i 1 0 10 
+
+e
+</CsScore>
+</CsoundSynthesizer> 
diff --git a/examples/vdelayxs.csd b/examples/vdelayxs.csd
new file mode 100644
index 0000000..a8a7bab
--- /dev/null
+++ b/examples/vdelayxs.csd
@@ -0,0 +1,36 @@
+<CsoundSynthesizer> 
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o vdelayxs.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1 
+
+ims  =	.5						;maximum delay time in seconds
+iws  =	1024						;window size
+adl  =	.5						;delay time
+asig1, asig2 diskin2 "kickroll.wav", 1, 0, 1		;loop stereo file kickroll.wav
+a2   poscil .25, .1, 1					;make an LFO, 1 cycle per 2 seconds
+adl  = a2 + ims/2      					;offset the LFO so that it is positive
+aoutL, aoutR vdelayxs asig1, asig2, adl, ims, iws	;use the LFO to control delay time
+     outs aoutL, aoutR
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0 8192 10 1
+
+i 1 0 10
+
+e
+</CsScore>
+</CsoundSynthesizer> 
diff --git a/examples/vdelayxw.csd b/examples/vdelayxw.csd
new file mode 100644
index 0000000..bfff16a
--- /dev/null
+++ b/examples/vdelayxw.csd
@@ -0,0 +1,36 @@
+<CsoundSynthesizer> 
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o vdelayxw.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1 
+
+ims  =	.5				;maximum delay time in seconds
+iws  =	1024				;best quality
+adl  =	.5				;delay time
+asig diskin2 "flute.aiff", .5, 0, 1	;loop flute.aiff at half speed
+a2   poscil3 .2, .1, 1			;make an LFO, 1 cycle per 2 seconds
+adl  = a2 + ims/2      			;offset the LFO so that it is positive
+aout vdelayxw asig, adl, ims, iws	;use the LFO to control delay time
+     outs aout, aout
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0 8192 10 1
+
+i 1 0 10
+
+e
+</CsScore>
+</CsoundSynthesizer> 
diff --git a/examples/vdelayxwq.csd b/examples/vdelayxwq.csd
new file mode 100644
index 0000000..5f1bd5f
--- /dev/null
+++ b/examples/vdelayxwq.csd
@@ -0,0 +1,40 @@
+<CsoundSynthesizer> 
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o vdelayxwq.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 4
+0dbfs  = 1
+
+instr 1 
+
+ims  =	.5				;maximum delay time in seconds
+iws  =	1024				;best quality
+adl  =	.5				;delay time
+aout1  diskin2 "beats.wav", 1, 0, 1	;loop beats.wav
+aout2  diskin2 "fox.wav", 1, 0, 1	;loop fox.wav
+aout3  diskin2 "Church.wav", 1, 0, 1	;loop Church.wav
+aout4  diskin2 "flute.aiff", 1, 0, 1	;loop flute.aiff
+a2   poscil3 .2, .1, 1			;make an LFO, 1 cycle per 2 seconds
+adl  = a2 + ims/2      			;offset the LFO so that it is positive
+aout1, aout2, aout3, aout4 vdelayxwq aout1, aout2, aout3, aout4, adl, ims, iws	;use the LFO to control delay time
+     outq aout1, aout2, aout3, aout4
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0 8192 10 1
+
+i 1 0 10
+
+e
+</CsScore>
+</CsoundSynthesizer> 
+
diff --git a/examples/vdelayxws.csd b/examples/vdelayxws.csd
new file mode 100644
index 0000000..58e9100
--- /dev/null
+++ b/examples/vdelayxws.csd
@@ -0,0 +1,36 @@
+<CsoundSynthesizer> 
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o vdelayxws.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1 
+
+ims  =	.5						;maximum delay time in seconds
+iws  =	1024						;window size
+adl  =	.5						;delay time
+asig1, asig2 diskin2 "kickroll.wav", 1, 0, 1		;loop stereo file kickroll.wav
+a2   poscil .2, .1, 1					;make an LFO, 1 cycle per 10 seconds
+adl  = a2 + ims/2      					;offset the LFO so that it is positive
+aoutL, aoutR vdelayxws asig1, asig2, adl, ims, iws	;use the LFO to control delay time
+     outs aoutL, aoutR
+
+endin
+</CsInstruments>
+<CsScore>
+f1 0 8192 10 1
+
+i 1 0 10
+
+e
+</CsScore>
+</CsoundSynthesizer> 
diff --git a/examples/veloc.csd b/examples/veloc.csd
index d71a756..0ddae3e 100644
--- a/examples/veloc.csd
+++ b/examples/veloc.csd
@@ -1,34 +1,32 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in   No messages  MIDI in
--odac           -iadc     -d         -M0  ;;;RT audio I/O with MIDI in
-; For Non-realtime ouput leave only the line below:
-; -o veloc.wav -W ;;; for file output any platform
+-odac -+rtmidi=virtual  -M0  ;;;realtime audio I/O with MIDI in
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+gisine	ftgen 0, 0, 1024, 10, 1
 
-; Instrument #1.
 instr 1
-  i1 veloc
 
-  print i1
+ivel veloc 0, 1				;scale 0 - 1
+print ivel				;print velocity
+asig poscil .5*ivel, 220, gisine	;and use it as amplitude
+     outs asig, asig
+       
 endin
-
-
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for 12 seconds.
-i 1 0 12
-e
-
+f 0 30     ;runs 30 seconds
 
+e
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/vibr.csd b/examples/vibr.csd
index 9f1d5b2..3a476bc 100644
--- a/examples/vibr.csd
+++ b/examples/vibr.csd
@@ -1,46 +1,34 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o vibr.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  ; Create a vibrato waveform.
-  kaverageamp init 7500
-  kaveragefreq init 5
-  ifn = 1
-  kvamp vibr kaverageamp, kaveragefreq, ifn
 
-  ; Generate a tone including the vibrato.
-  a1 oscili 10000+kvamp, 440, 2
+kaverageamp  init 500
+kaveragefreq init 4
+kvib vibr kaverageamp, kaveragefreq, 1
+asig poscil .8, 220+kvib, 1		;add vibrato
+     outs asig, asig
 
-  out a1
 endin
-
-
 </CsInstruments>
 <CsScore>
+f 1 0 16384 10 1       ;sine wave
 
-; Table #1, a sine wave for the vibrato.
-f 1 0 256 10 1
-; Table #1, a sine wave for the oscillator.
-f 2 0 16384 10 1
+i 1 0 10
 
-; Play Instrument #1 for 2 seconds.
-i 1 0 2
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/vibrato.csd b/examples/vibrato.csd
index e0414de..881fa98 100644
--- a/examples/vibrato.csd
+++ b/examples/vibrato.csd
@@ -1,54 +1,40 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o vibrato.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  ; Create a vibrato waveform.
-  kaverageamp init 2500
-  kaveragefreq init 6
-  krandamountamp init 0.3
-  krandamountfreq init 0.5
-  kampminrate init 3
-  kampmaxrate init 5
-  kcpsminrate init 3
-  kcpsmaxrate init 5
-  ifn = 1
-  kvamp vibrato kaverageamp, kaveragefreq, krandamountamp, \
-                krandamountfreq, kampminrate, kampmaxrate, \
-                kcpsminrate, kcpsmaxrate, ifn
 
-  ; Generate a tone including the vibrato.
-  a1 oscili 10000+kvamp, 440, 2
+kaverageamp     init .5
+kaveragefreq    init 5
+krandamountamp  line p4, p3, p5			;increase random amplitude of vibrato
+krandamountfreq init .3
+kampminrate init 3
+kampmaxrate init 5
+kcpsminrate init 3
+kcpsmaxrate init 5
+kvib vibrato kaverageamp, kaveragefreq, krandamountamp, krandamountfreq, kampminrate, kampmaxrate, kcpsminrate, kcpsmaxrate, 1
+asig poscil .8, 220+kvib, 1			;add vibrato
+     outs asig, asig
 
-  out a1
 endin
-
-
 </CsInstruments>
 <CsScore>
+f 1 0 16384 10 1       ;sine wave
 
-; Table #1, a sine wave for the vibrato.
-f 1 0 256 10 1
-; Table #1, a sine wave for the oscillator.
-f 2 0 16384 10 1
+i 1 0 15 .01 20
 
-; Play Instrument #1 for 2 seconds.
-i 1 0 2
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/vincr-complex.csd b/examples/vincr-complex.csd
new file mode 100644
index 0000000..7e6d089
--- /dev/null
+++ b/examples/vincr-complex.csd
@@ -0,0 +1,50 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o vincr-complex.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+gaReverbSend init 0
+
+instr 1
+
+iamp   = p4
+ifreq  = p5
+aenv   linseg  0.0, 0.1*p3, iamp, 0.6*p3, iamp, 0.3*p3, 0.0
+aosc   poscil aenv, ifreq, 1
+       vincr   gaReverbSend, aosc
+endin
+
+
+instr 2	; global reverb instrument
+
+al, ar reverbsc gaReverbSend, gaReverbSend, 0.85, 12000
+       outs     gaReverbSend+al, gaReverbSend+ar
+       clear    gaReverbSend
+endin
+
+</CsInstruments>
+<CsScore>
+f1 0 4096 10 1
+
+{ 4 CNT
+  { 8 PARTIAL
+      ;   start time     duration            amplitude          frequency     
+      i1  [0.5 * $CNT.]  [1 + ($CNT * 0.2)]  [.04 + (~ * .02)]  [800 + (200 * $CNT.) + ($PARTIAL. * 20)]
+  }
+}
+
+i2 0 6
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/vincr.csd b/examples/vincr.csd
index 274bbe3..71112dd 100644
--- a/examples/vincr.csd
+++ b/examples/vincr.csd
@@ -1,42 +1,44 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o vincr.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
-  sr	    =  44100
-  ksmps	    =  10
-  nchnls    =  2
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
 gaReverb init 0
 
 instr 1
     
-idur	=	p3
-kpitch	=	p4
+idur	= p3
+kpitch	= p4
 a1	diskin2	"fox.wav", kpitch
-a1	=	a1*.5			;reduce volume
+a1	= a1*.5			;reduce volume
 	vincr	gaReverb, a1
 endin
 
-; global reverb
-instr 99
-kfb	line	1, p3, 0
-al, ar	reverbsc gaReverb, gaReverb, kfb, 10000
+instr 99 ; global reverb		
+al, ar	reverbsc gaReverb, gaReverb, .8, 10000
 	outs	gaReverb+al, gaReverb+ar
-	clear	gaReverb
+	
+clear	gaReverb
+
 endin
 
 </CsInstruments>
 <CsScore>
 
 i1  0 3 1
-i1  0.1 3 1.1
 i99 0 5
 e
 
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/vlowres.csd b/examples/vlowres.csd
index 14bc909..58c7df4 100644
--- a/examples/vlowres.csd
+++ b/examples/vlowres.csd
@@ -1,47 +1,44 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o vlowres.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-ksmps = 10
+ksmps = 32
 nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
-instr 1
-  ; Use a nice sawtooth waveform.
-  asig vco 10000, 220, 1
-
-  ; Vary the cutoff frequency from 30 to 300 Hz.
-  kfco line 30, p3, 300
-  kres = 25
-  iord = 2
-  ksep = 20
 
-  ; Apply the filters.
-  avlr vlowres asig, kfco, kres, iord, ksep
+instr 1
 
-  ; It gets loud, so clip the output amplitude to 30,000.
-  a1 clip avlr, 1, 30000
-  outs a1, a1
+kamp init p4
+asig vco2  kamp, 110			;saw wave
+kfco line 30, p3, 300			;vary the cutoff frequency from 30 to 300 Hz.
+kres = 20	
+ksep = p5				;different resonance values
+iord = p6				;and different number of filters
+aout vlowres asig, kfco, kres, iord, ksep
+aclp clip aout, 1, 1			;avoid distortion
+     outs aclp, aclp
+     
 endin
-
-
 </CsInstruments>
 <CsScore>
+f 1 0 16384 10 1	;sine
 
-; Table #1, a sine wave.
-f 1 0 16384 10 1
+s
+i 1 0 10 .1 5  2	;compensate volume and 
+i 1 + 10 .1 25 2	;number of filters = 2
+s
+i 1 0 10 .01 5  6	;compensate volume and 
+i 1 + 10 .04 15 6	;number of filters = 6
 
-; Play Instrument #1 for two seconds.
-i 1 0 10
 e
-
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/voice.csd b/examples/voice.csd
index c27c8e8..c12b35b 100644
--- a/examples/voice.csd
+++ b/examples/voice.csd
@@ -1,50 +1,50 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o voice.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
-sr = 22050
-kr = 2205
-ksmps = 10
-nchnls = 1
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  kamp = 3
-  kfreq = 0.8
-  kphoneme = 6
-  kform = 0.488
-  kvibf = 0.04
-  kvamp = 1
-  ifn = 1
-  ivfn = 2
 
-  av voice kamp, kfreq, kphoneme, kform, kvibf, kvamp, ifn, ivfn
+kamp  = p4
+kphon = p5
+asig  voice kamp, 200, kphon, 0.488, 0, 1, 1, 2
+      outs asig, asig
 
-  ; It tends to get loud, so clip voice's amplitude at 30,000.
-  a1 clip av, 2, 30000
-  out a1
 endin
-
-
 </CsInstruments>
 <CsScore>
+f 1 0 256 1 "impuls20.aiff" 0 0 0	;audio file for the carrier waveform
+f 2 0 256 10 1				;sine wave for the vibrato waveform
+
+;       ampl phoneme
+i 1 0 2 0.8    1
+i 1 + . 0.6    2
+i 1 + . 1.8    3
+i 1 + . 15.0   4
+i 1 + . 0.05   5
+i 1 + . 0.06   6
+i 1 + . 0.03   7
+i 1 + . 0.0002 8
+i 1 + . 0.1    9
+i 1 + . 0.5   10
+i 1 + . 100   11
+i 1 + . 0.03  12
+i 1 + . 0.04  13
+i 1 + . 0.04  14
+i 1 + . 0.04  15
+i 1 + . 0.05  16
 
-; Table #1, an audio file for the carrier waveform.
-f 1 0 256 1 "impuls20.aiff" 0 0 0
-; Table #2, a sine wave for the vibrato waveform.
-f 2 0 256 10 1
-
-; Play Instrument #1 for a half-second.
-i 1 0 0.5
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/vpow-2.csd b/examples/vpow-2.csd
new file mode 100644
index 0000000..f985910
--- /dev/null
+++ b/examples/vpow-2.csd
@@ -0,0 +1,39 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o vpow-2.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+ain   diskin2 "fox.wav", 1				;soundfile
+fsrc  pvsanal ain, 1024, 256, 1024, 1
+ifn   ftgen   0, 0, 1024/2, 2, 0			;create empty function table for the 513 bins
+kflag pvsftw fsrc,ifn					;export only amplitudes to table	
+kval  line .001, p3, 1					;start with big distortion, cahnge over note duration to clean sound
+kbin  line p4, p3, p5					;vary the bins
+vpow  ifn, kval, kbin, 0				;note that this operation is applied each k-cycle!
+;vpow ifn, kval, kbin, 10				;if you set kdstoffset to 10 it will affect bins 10+(kbin line p4, p3, p5)
+      pvsftr  fsrc,ifn					;read modified data back to fsrc
+aout  pvsynth fsrc					;and resynth
+      outs aout*p6, aout*p6				;adjust volume to compensate
+
+endin
+</CsInstruments>
+<CsScore>
+
+i 1 0 4 100 100 .02	;first 100 bins are affected
+i 1 + 4 10  10  .1	;first 10 bins
+i 1 + 4 1 400	.05	;sweep from bin 1 to 400
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/vpow_i-2.csd b/examples/vpow_i-2.csd
new file mode 100644
index 0000000..d0fea04
--- /dev/null
+++ b/examples/vpow_i-2.csd
@@ -0,0 +1,36 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac  ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o vpow_i-2.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+gifil ftgen 1, 0, 0, 1, "fox.wav", 0, 0, 1
+
+instr 1
+
+ival       = p4				;different distortion settings
+ielements  = p5
+idstoffset = p6				;index offset
+vpow_i 1, ival, ielements, idstoffset
+asig lposcil 1, 1, 0, 0, 1
+     outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+	
+i1	0	2.7	.5	70000	0	;no offset
+i1	3	2.7	.01	50000	70000	;add another period of distortion, starting at sample 70000	
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/vpvoc.csd b/examples/vpvoc.csd
index 2dfa934..e7c375a 100644
--- a/examples/vpvoc.csd
+++ b/examples/vpvoc.csd
@@ -1,39 +1,33 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o vpvoc.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
+ksmps = 32
 nchnls = 2
+0dbfs  = 1
 
-;analyze "fox.wav" with pvanal first
 instr 1
-
-ktime   line            0, p3,3 ; time pointer, in seconds, into file
-        tablexseg       3, p3*.5, 1, p3*.5, 2
-apv     vpvoc           ktime,1, "fox.pvx"
-apv	=	apv*1
-outs apv, apv
-endin
-
-
+; analyze "fox.wav" with PVANAL first
+iend  = p4
+ktime line 0, p3, iend
+      tablexseg p5, p3, p6		;morph from table 1
+asig  vpvoc ktime, 1, "fox.pvx"		;to table 2
+      outs asig*3, asig*3
+
+endin      
 </CsInstruments>
 <CsScore>
+f 1 0 512 9 .5 1 0
+f 2 0 512 5 1 60 0.01 390 0.01 62 1
 
-f 1 0 256 5 .001 128 1 128 .001
-f 2 0 256  5 1 128 .001 128 1
-f 3 0 256  7 1 256 1
-
-i1 0 10
+i 1 0 5 2.7 1 2
 e
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/vtablewa.csd b/examples/vtablewa.csd
index 0d049e9..dc46e32 100644
--- a/examples/vtablewa.csd
+++ b/examples/vtablewa.csd
@@ -9,11 +9,12 @@ sr=44100
 kr=4410
 ksmps=10
 nchnls=2
+0dbfs = 1
 
 	instr 1
-vcopy
+vcopy 2, 1, 262144
 ar random 0, 1
-vtablewa ar
+vtablewa ar,2,1,ar
 out ar,ar
 	endin    
 
@@ -23,16 +24,8 @@ out ar,ar
 f1  0 262144   -1 "beats.wav" 0 4 0
 f2  0 262144   2  0
 
-
-i1 0 4
-i2 3 1
-
-s
-i1 0 4
-i3 3 1
-s
-
 i1 0 4
 
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/vtablewk.csd b/examples/vtablewk.csd
index e86fc42..3b97419 100644
--- a/examples/vtablewk.csd
+++ b/examples/vtablewk.csd
@@ -12,7 +12,7 @@ ksmps=100
 nchnls=2
 
 	instr 1
-ilen = ftlen (1)
+ilen = ftlen(1)
 
 knew1 oscil 10000, 440, 3
 knew2 oscil 15000, 440, 3, 0.5
@@ -25,7 +25,7 @@ out asig,asig
 
 </CsInstruments>
 <CsScore>
-f1  0 262144   -1 "beats.aiff" 0 4 0
+f1  0 262144   -1 "beats.wav" 0 4 0
 f2  0 262144   2  0
 f3  0 1024  10 1
 
diff --git a/examples/waveset.csd b/examples/waveset.csd
index e0e6e89..fb2c154 100644
--- a/examples/waveset.csd
+++ b/examples/waveset.csd
@@ -1,44 +1,33 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o waveset.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs   =1
 
-; Instrument #1 - play an audio file.
 instr 1
-  asig soundin "beats.wav"
-  out asig
-endin
-
 
-; Instrument #2 - stretch the audio file with waveset.
-instr 2
-  asig soundin "beats.wav"
-  a1 waveset asig, 2
-
-  out a1
+krep init p4
+asig soundin "flute.aiff"
+aout waveset asig, krep
+     outs aout, aout
+  
 endin
-
-
 </CsInstruments>
 <CsScore>
 
-; Play Instrument #1 for two seconds.
-i 1 0 2
-; Play Instrument #2 for four seconds.
-i 2 3 4
-e
-
+i 1 0 3 1	;no repetitions
+i 1 + 10 3	;stretching 3 times
+i 1 + 14 6	;6 times
 
+e
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/weibull.csd b/examples/weibull.csd
index 23026ee..b31562a 100644
--- a/examples/weibull.csd
+++ b/examples/weibull.csd
@@ -1,52 +1,52 @@
-<CsoundSynthesizer>
-<CsOptions>
-; Select audio/midi flags here according to platform
-; Audio out   Audio in
--odac           -iadc    ;;;RT audio I/O
-; For Non-realtime ouput leave only the line below:
-; -o weibull.wav -W ;;; for file output any platform
-</CsOptions>
-<CsInstruments>
-
-; Initialize the global variables.
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
-
-; Instrument #1.
-instr 1
-  ; Generate a random number in a Weibull distribution.
-  ; ksigma = 1
-  ; ktau = 1
-
-  i1 weibull 1, 1
-
-  print i1
-endin
-
-; Instrument #2.
-instr 2
-  ; Generate a random number in a Weibull distribution.
-  ; ksigma = 1
-  ; ktau = 1
-
-  seed 0
-
-  i1 weibull 1, 1
-
-  print i1
-endin
-
-</CsInstruments>
-<CsScore>
-
-; Play Instrument #1 for one second.
-i 1 0 1
-; Play Instrument #2 for one second.
-i 2 1 1
-e
-
-
-</CsScore>
-</CsoundSynthesizer>
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o weibull.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1  	; every run time same values
+
+ktri	weibull 100, 1
+	printk .2, ktri			; look 
+aout	oscili 0.8, 440+ktri, 1		; & listen
+	outs	aout, aout
+endin
+
+instr 2		; every run time different values
+
+	seed 0
+ktri	weibull 100, 1
+	printk .2, ktri			; look 
+aout	oscili 0.8, 440+ktri, 1		; & listen
+	outs	aout, aout
+endin
+
+instr 3		; every run time different values
+
+	seed 0
+ktri	weibull 100, 10			; closer to ksigma..
+	printk .2, ktri			; look 
+aout	oscili 0.8, 440+ktri, 1		; & listen
+	outs	aout, aout
+endin
+</CsInstruments>
+<CsScore>
+; sine wave
+f 1 0 16384 10 1
+
+i 1 0 2
+i 2 3 2
+i 3 6 2
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/wgbow.csd b/examples/wgbow.csd
index c3054bf..018ed83 100644
--- a/examples/wgbow.csd
+++ b/examples/wgbow.csd
@@ -1,47 +1,39 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o wgbow.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  kamp = 31129.60
-  kfreq = 440
-  kpres = 3.0
-  krat = 0.127236
-  kvibf = 6.12723
-  ifn = 1
-
-  ; Create an amplitude envelope for the vibrato.
-  kv linseg 0, 0.5, 0, 1, 1, p3-0.5, 1
-  kvamp = kv * 0.01
-
-  a1 wgbow kamp, kfreq, kpres, krat, kvibf, kvamp, ifn
-  out a1
-endin
 
+kpres = p4							;pressure value
+krat = p5							;position along string
+kvibf = 6.12723
+
+kvib  linseg 0, 0.5, 0, 1, 1, p3-0.5, 1				; amplitude envelope for the vibrato.		
+kvamp = kvib * 0.01
+asig  wgbow .7, 55, kpres, krat, kvibf, kvamp, 1
+      outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
+f 1 0 2048 10 1	;sine wave
 
-; Table #1, a sine wave.
-f 1 0 128 10 1
+i 1 0 3 3 0.127236
+i 1 + 3 5 0.127236
+i 1 + 3 5 0.23
 
-; Play Instrument #1 for two seconds.
-i 1 0 2
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/wgbowedbar.csd b/examples/wgbowedbar.csd
index 7fe4622..dbf4d02 100644
--- a/examples/wgbowedbar.csd
+++ b/examples/wgbowedbar.csd
@@ -1,43 +1,37 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o wgbowedbar.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-  instr 1
-; pos      =         [0, 1]
-; bowpress =         [1, 10]
-; gain     =         [0.8, 1]
-; intr     =         [0,1]
-; trackvel =         [0, 1]
-; bowpos   =         [0, 1]
-
-  kb      line 0.5, p3, 0.1
-  kp      line 0.6, p3, 0.7
-  kc      line 1, p3, 1
-
-  a1      wgbowedbar p4, cpspch(p5), kb, kp, 0.995, p6, 0
-
-          out a1
-          endin
+instr 1
 
+kp   = p6
+asig wgbowedbar p4, cpspch(p5), 1, kp, 0.995
+     outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
-
-  i1      0  3 32000 7.00 0
-  e
-
-
+s
+i1 0 .5 .5 7.00 .1	;short sound
+i1 + .  .3 8.00 .1
+i1 + .  .5 9.00 .1
+s
+i1 0 .5 .5 7.00  1	;longer sound
+i1 + .  .3 8.00  1
+i1 + .  .5 9.00  1
+ 
+e
 </CsScore>
 </CsoundSynthesizer>
+
diff --git a/examples/wgclar.csd b/examples/wgclar.csd
index bab1fe1..d98626e 100644
--- a/examples/wgclar.csd
+++ b/examples/wgclar.csd
@@ -1,47 +1,39 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o wgclar.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  kamp init 31129.60
-  kfreq = 440
-  kstiff = -0.3
-  iatt = 0.1
-  idetk = 0.1
-  kngain = 0.2
-  kvibf = 5.735
-  kvamp = 0.1
-  ifn = 1
 
-  a1 wgclar kamp, kfreq, kstiff, iatt, idetk, kngain, kvibf, kvamp, ifn
-
-  out a1
+kfreq = 330
+kstiff = -0.3
+iatt = 0.1
+idetk = 0.1
+kngain init p4		;vary breath
+kvibf = 5.735
+kvamp = 0.1
+
+asig wgclar .9, kfreq, kstiff, iatt, idetk, kngain, kvibf, kvamp, 1
+     outs asig, asig
+      
 endin
-
-
 </CsInstruments>
 <CsScore>
+f 1 0 16384 10 1	;sine wave
 
-; Table #1, a sine wave.
-f 1 0 16384 10 1
-
-; Play Instrument #1 for one second.
-i 1 0 1
+i 1 0 2 0.2
+i 1 + 2 0.5		;more breath
 e
 
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/wgflute.csd b/examples/wgflute.csd
index 23afa7a..7bf7258 100644
--- a/examples/wgflute.csd
+++ b/examples/wgflute.csd
@@ -1,46 +1,38 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac      ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
 ; For Non-realtime ouput leave only the line below:
 ; -o wgflute.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
 
-; Initialize the global variables.
 sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 1
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
 
-; Instrument #1.
 instr 1
-  kamp = 31129.60
-  kfreq = 440
-  kjet = 0.32
-  iatt = 0.1
-  idetk = 0.1
-  kngain = 0.15
-  kvibf = 5.925
-  kvamp = 0.05
-  ifn = 1
 
-  a1 wgflute kamp, kfreq, kjet, iatt, idetk, kngain, kvibf, kvamp, ifn
-  out a1
-endin
+kfreq = 440
+kjet init p4			;vary air jet
+iatt = 0.1
+idetk = 0.1
+kngain = 0.15
+kvibf = 5.925
+kvamp = 0.05
 
+asig wgflute .8, kfreq, kjet, iatt, idetk, kngain, kvibf, kvamp, 1
+     outs asig, asig
 
+endin
 </CsInstruments>
 <CsScore>
+f 1 0 16384 10 1		;sine wave
 
-; Table #1, a sine wave.
-f 1 0 16384 10 1
-
-; Play Instrument #1 for two seconds.
-i 1 0 2
+i 1 0 2 0.02			;more air jet
+i 1 + 2 0.32
 e
-
-
 </CsScore>
 </CsoundSynthesizer>
diff --git a/examples/wguide2.csd b/examples/wguide2.csd
index 31f71cc..45be789 100644
--- a/examples/wguide2.csd
+++ b/examples/wguide2.csd
@@ -1,29 +1,37 @@
 <CsoundSynthesizer>
 <CsOptions>
 ; Select audio/midi flags here according to platform
-; Audio out   Audio in    No messages
--odac           -iadc     -d     ;;;RT audio I/O
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
 ; For Non-realtime ouput leave only the line below:
-; -o wguide1.wav -W ;;; for file output any platform
+; -o wguide2.wav -W ;;; for file output any platform
 </CsOptions>
 <CsInstruments>
+
 sr = 44100
+ksmps = 32
 nchnls = 2
-instr 1
-  afrq  line    50, 10, 100
-  asig  oscil   3000, afrq, 1
-  aenv  expon   1,10,0.000001
-  aexc  =       aenv*asig
-  ares  wguide2 aexc, 500, 1200, 777, 1500, 0.2, 0.25
-        out ares,asig
+0dbfs  = 1
+
+instr	1
+
+aout diskin2 "beats.wav", 1, 0, 1				;in signal
+afreq1 line 100, p3, 2000						
+afreq2 line 1200, p3, p4					;vary second frequency in the score	
+kcutoff1   = 3000
+kcutoff2   = 1500
+kfeedback1 = 0.25						;the sum of the two feedback
+kfeedback2 = 0.25						;values should not exceed  0.5
+asig wguide2 aout, afreq1, afreq2, kcutoff1, kcutoff2, kfeedback1, kfeedback2
+asig dcblock2 asig						;get rid of DC
+      outs asig, asig 
+      
 endin
 </CsInstruments>
-
 <CsScore>
-f1 0 4096 10 1
-i1 0 3
+i 1 0 8 1200	;freqency of afreq2 remains the same
+i 1 9 8 100	;freqency of afreq2 gets lower
 e
 </CsScore>
-
 </CsoundSynthesizer>
 
diff --git a/examples/wrap.csd b/examples/wrap.csd
new file mode 100644
index 0000000..877531f
--- /dev/null
+++ b/examples/wrap.csd
@@ -0,0 +1,53 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o wrap.wav -W  ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100 
+ksmps = 32 
+0dbfs  = 1 
+nchnls = 2
+
+instr    1 ; Limit / Mirror / Wrap
+
+igain    = p4				;gain
+ilevl1   = p5				; + level
+ilevl2   = p6				; - level
+imode    = p7				;1 = limit, 2 = mirror, 3 = wrap
+
+ain   soundin  "fox.wav"
+ain   = ain*igain
+
+if    imode = 1 goto limit
+if    imode = 2 goto mirror
+
+asig  wrap  ain, ilevl2, ilevl1
+goto  outsignal
+
+limit:
+asig  limit  ain, ilevl2, ilevl1
+goto  outsignal
+
+mirror:
+asig  mirror  ain, ilevl2, ilevl1
+outsignal:
+
+outs  asig*.5, asig*.5			;mind your speakers
+  
+endin
+
+</CsInstruments>
+<CsScore>
+
+;           Gain  +Levl -Levl Mode
+i1  0  3    4.00  .25  -1.00   1	;limit
+i1  4  3    4.00  .25  -1.00   2	;mirror
+i1  8  3    4.00  .25  -1.00   3	;wrap
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/x.csd b/examples/x.csd
new file mode 100644
index 0000000..2f5fcfb
--- /dev/null
+++ b/examples/x.csd
@@ -0,0 +1,46 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o x.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+
+instr 1
+
+aenv expseg .01, p3*0.25, 1, p3*0.75, 0.01
+asig poscil3 .8*aenv, p4, 1
+     outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+f 1 0 16384 10 1	;sine wave
+
+s			;first section
+i 1 0 2 110
+i 1 3 2 220
+i 1 6 2 440
+i 1 9 2 880
+s			;second section
+x			;skip the rest
+i 1 0 2 110		;of this section
+i 1 3 2 220
+i 1 6 2 440
+i 1 9 2 880
+s			;but continue with this one
+i 1 0 2 880
+i 1 3 2 440
+i 1 6 2 220
+i 1 9 2 110
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/xadsr.csd b/examples/xadsr.csd
new file mode 100644
index 0000000..968bd0b
--- /dev/null
+++ b/examples/xadsr.csd
@@ -0,0 +1,40 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac     ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if RT audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o xadsr.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs = 1
+
+instr 1
+
+iatt  = p5
+idec  = p6  
+islev = p7
+irel  = p8
+
+kenv	xadsr iatt, idec, islev, irel
+kcps =  cpspch(p4) 	  ;frequency
+
+asig	vco2  kenv * 0.8, kcps
+	outs  asig, asig
+
+endin
+
+</CsInstruments>
+<CsScore>
+
+i 1  0  1  7.00  .0001  1  .01  .001 ; short attack
+i 1  2  1  7.02  1  .5  .01  .001    ; long attack
+i 1  4  2  6.09  .0001  1 .1  .7     ; long release
+
+e
+</CsScore>
+</CsoundSynthesizer>
diff --git a/examples/xscanmap.csd b/examples/xscanmap.csd
new file mode 100644
index 0000000..38f1cc5
--- /dev/null
+++ b/examples/xscanmap.csd
@@ -0,0 +1,74 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o xscanmap.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+;the matrices can be found in /manual/examples
+
+instr 1	; Plain scanned syntnesis
+	; note - scanu display is turned off
+a0    = 0							
+      xscanu   1, .01, 6, 2, "128-stringcircularX", 4, 5, 2, .1, .1, -.01, .1, .5, 0, 0, a0, 0, 0  		
+  a1  xscans   p4, cpspch(p5), 7, 0, 3
+k1,k2 xscanmap 0, 1000, 1000, 64
+      display  k1, .25 ; note - display is updated every second
+      outs     a1, a1
+endin
+
+instr 2	; Scan synthesis with audio injection and dual scan paths
+	; note - scanu display is turned off
+ain   diskin2 "fox.wav",1,0,1	
+ain   in
+a0    = ain/10000 						
+      xscanu   1, .01, 6, 2, "128,8-gridX", 14, 5, 2, .01, .05, -.05, .1, .5, 0, 0, a0, 0, 0 		
+a1    xscans   p4, cpspch(p5), 7, 0, 2
+a2    xscans   p4, cpspch(p6), 77, 0, 3
+k1,k2 xscanmap 0, 1000, 1000, 127
+      display  k2, .5  						; note - display is updated ever 500ms
+      outs     a1,a2
+endin 
+
+</CsInstruments>
+<CsScore>
+; Initial condition
+;f1 0 16 7 0 8 1 8 0
+f1 0 128 7 0 64 1 64 0
+
+; Masses
+f2 0 128 -7 1 128 1
+
+; Centering force
+f4  0 128 -7 0 128 2
+f14 0 128 -7 2 64 0 64 2
+
+; Damping
+f5 0 128 -7 1 128 1
+
+; Initial velocity
+f6 0 128 -7 -.0 128 .0
+
+; Trajectories
+f7 0 128 -5 .001 128 128
+f77 0 128 -23 "128-spiral-8,16,128,2,1over2"
+
+; Sine
+f9 0 1024 10 1
+;--------------------------------
+; Note list
+i1 0 10 .9 7.00                                  
+s
+i2 0 10 1  8.00 6.00
+i2 0 10 1  7.00 8.05
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/xscans.csd b/examples/xscans.csd
new file mode 100644
index 0000000..0a0505e
--- /dev/null
+++ b/examples/xscans.csd
@@ -0,0 +1,108 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o xscans.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+;the matrices can be found in /manual/examples
+
+instr 1	; Plain scanned syntnesis
+
+  a0       =           0
+           xscanu      1, .01, 6, 2, "128,8-cylinderX", 4, 5, 2, .1, .1, -.01, .1, .5, 0, 0, a0, 0, 0
+  a1       xscans      .7, cpspch(p4), 7, 0, 1
+           outs        a1, a1
+endin
+
+
+instr 2	; Scan synthesis with audio injection and dual scan paths
+	; tap the mic or sing to inject audio into the resonators
+
+  a0,aa    ins
+  a0       =           a0/.8
+           xscanu      1, .01, 6, 2, "128,8-gridX", 14, 5, 2, .01, .05, -.05, .1, .5, 0, 0, a0, 0, 0
+  a1       xscans      .5, cpspch(7.00), 7, 0, 1
+  a2       xscans      .5, cpspch(7.001), 77, 0, 1
+           outs        a1+a2,a1+a2
+endin 
+
+
+instr 3	; Vibrating structure with audio injection
+	; Tap the MIC - to inject audio into the resonators
+
+  a0,aa    ins          
+  a0       =          a0/.8
+           xscanu     1, .01, 6, 2, "128-stringcircularX", 14, 5, 2, .01, .05, -.05, .25, .75, 0, 0, a0, 0, 1
+endin
+
+
+instr 4	; Modulated scanners
+
+  i1       bexprnd     5
+  i2       bexprnd     1
+  ko       oscil       i1, i2, 9
+  ka1      oscili      .5, .15*8, p7
+  ka2      oscili      .5, .15*8, p8
+  kf       oscili      1, .15, p4
+  kf       =           2^(kf/12)*p6*440+ko
+  a1       xscans      p9*ka1, kf+i1, 777, 1, 1
+  a2       xscans      p9*ka2, (kf+i1)*2.1, 77, 1, 1
+           outs        a1+a2, a1+a2
+endin
+
+</CsInstruments>
+<CsScore>
+; Initial condition
+f1 0 128 7 0 64 1 64 0
+; Masses
+f2 0 128 -7 1 128 1
+; Centering force
+f4  0 128 -7 0 128 2
+f14 0 128 -7 2 64 0 64 2
+; Damping
+f5 0 128 -7 1 128 1
+; Initial velocity
+f6 0 128 -7 -.0 128 .0
+; Trajectories
+f7 0 128 -5 .001 128 128
+f777 0 128 -23 "128-stringcircular"
+f77 0 128 -23 "128-spiral-8,16,128,2,1over2"
+; Sine
+f9 0 16384 10 1
+
+; Pitch tables
+f100 0 1024 -7 +3 128 +3 128 -2 128 -2 128 +0 128 +0 128 -4 128 -4 128 +3
+f101 0 1024 -7 -2 128 -2 128 -2 128 -2 128 -5 128 -5 128 -4 128 -4 128 -2
+f102 0 1024 -7 +3 128 +3 128 +2 128 +2 128 +0 128 +0 128 +0 128 +0 128 +3
+f103 0 1024 -7 +7 128 +7 128 +5 128 +5 128 +3 128 +3 128 +3 128 +3 128 +7 
+
+; Amplitude tables
+f200 0 1024 7 1 128 0 128 0 127 0 1 1 128 0 128 0 127 0 1 1 128 0 127 0 1 1
+f201 0 1024 7 0 127 0 1 1 127 0 1 1 128 0 127 0 1 1 127 0 1 1 128 0 127 0 1 1 127 0 1 1
+f202 0 1024 7 1 127 0 1 1 127 0 1 1 127 0 1 1 127 0 1 1 127 0 1 1 127 0 1 1 127 0 1 1 127 0 1 
+f203 0 1024 7 1 1024 0
+
+;----------------------------------
+
+; Note list
+i1 0 10 6.00 1                                 
+s
+i2 1 10
+s
+i3 1 23
+i4 1 23  101 1 .5  200 202 1.5
+i4 . .   102 0 .5  200 201 1
+i4 . .   103 0 .5  200 201 1 
+i4 . .   100 0 .25 200 200 2
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/examples/xscanu.csd b/examples/xscanu.csd
new file mode 100644
index 0000000..b39b65a
--- /dev/null
+++ b/examples/xscanu.csd
@@ -0,0 +1,98 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac    ;;;realtime audio out
+;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o xscanu.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs  = 1
+;the matrices can be found in /manual/examples
+
+instr 1	; Plain scanned syntnesis
+	; Note Also that I am using quadratic interpolation on these.
+  a0	=           0
+	xscanu      1, .01, 6, 2, "128,8-gridX", 4, 5, 2, .1, .1, -.01, .1, .5, 0, 0, a0, 0, 0
+  a1	xscans      .5, cpspch(p4), 333, 0, p6			; NOTE LEFT RIGHT TRAJECTORY (f333) IS CLEAN!
+  a1	dcblock a1
+	outs        a1, a1
+endin
+
+
+instr 2	; Scan synthesis with audio injection and dual scan paths
+
+  a0  diskin2       "fox.wav",1,0,1	
+ ; a0,aa	    ins
+  a0	=           a0/.8
+	xscanu      1, .01, 6, 2, "128,8-torusX", 14, 5, 2, .01, .05, -.05, .1, .5, 0, 0, a0, 0, 0
+  a1	xscans      .3, cpspch(7.00), 333, 0, 2			; NOTE LEFT RIGHT TRAJECTORY (f333) IS CLEAN!
+  a2	xscans      .3, cpspch(6.00), 77, 0, 2
+  a1	dcblock a1
+  a2	dcblock a2
+	outs        a1*.5,a2*.1
+endin 
+
+</CsInstruments>
+<CsScore>
+
+; Initial condition
+;f1 0 16 7 0 8 1 8 0
+f1 0 128 7 0 64 1 64 0
+
+; Masses
+f2 0 128 -7 1 128 1
+
+; Centering force
+f4  0 128 -7 0 128 2
+f14 0 128 -7 2 64 0 64 2
+
+; Damping
+f5 0 128 -7 1 128 1
+
+; Initial velocity
+f6 0 128 -7 -.0 128 .0
+
+; Trajectories
+f7 0 128 -5 .001 128 128
+f77 0 128 -23 "128-spiral-8,16,128,2,1over2"
+f777 0 128 -23 "128,8-torusX"
+
+; Spring matrices
+f3 0 128 -23 "128-stringX"
+f33 0 128 -23 "128-stringcircularX"
+f333  0 128 -23 "128-left_rightX"
+f3333 0 128 -23 "128,8-torusX"
+f33333 0 128 -23 "128,8-cylinderX"
+f333333 0 128 -23 "128,8-gridX"
+
+; Sine
+f9 0 1024 10 1
+
+; Pitch tables
+f100 0 1024 -7 +3 128 +3 128 -2 128 -2 128 +0 128 +0 128 -4 128 -4 128 +3
+f101 0 1024 -7 -2 128 -2 128 -2 128 -2 128 -5 128 -5 128 -4 128 -4 128 -2
+f102 0 1024 -7 +3 128 +3 128 +2 128 +2 128 +0 128 +0 128 +0 128 +0 128 +3
+f103 0 1024 -7 +7 128 +7 128 +5 128 +5 128 +3 128 +3 128 +3 128 +3 128 +7 
+
+; Amplitude tables
+f200 0 1024 7 1 128 0 128 0 127 0 1 1 128 0 128 0 127 0 1 1 128 0 127 0 1 1
+f201 0 1024 7 0 127 0 1 1 127 0 1 1 128 0 127 0 1 1 127 0 1 1 128 0 127 0 1 1 127 0 1 1
+f202 0 1024 7 1 127 0 1 1 127 0 1 1 127 0 1 1 127 0 1 1 127 0 1 1 127 0 1 1 127 0 1 1 127 0 1 
+f203 0 1024 7 1 1024 0
+;;f204 0 1024 7 1 512 0 511 0 1 1
+
+;-----------------------
+
+; Note list
+i1 0 10 6.00 1  2                               
+s
+i2 0 15
+e
+</CsScore>
+</CsoundSynthesizer>
+
diff --git a/images/gen01_1.png b/images/gen01_1.png
new file mode 100644
index 0000000..fc957e6
Binary files /dev/null and b/images/gen01_1.png differ
diff --git a/images/gen01_2.png b/images/gen01_2.png
new file mode 100644
index 0000000..a5fa006
Binary files /dev/null and b/images/gen01_2.png differ
diff --git a/images/gen01_3.png b/images/gen01_3.png
new file mode 100644
index 0000000..9b0f2f8
Binary files /dev/null and b/images/gen01_3.png differ
diff --git a/images/gen02_1.png b/images/gen02_1.png
new file mode 100644
index 0000000..5095d09
Binary files /dev/null and b/images/gen02_1.png differ
diff --git a/images/gen02_2.png b/images/gen02_2.png
new file mode 100644
index 0000000..a25b698
Binary files /dev/null and b/images/gen02_2.png differ
diff --git a/images/gen02_3.png b/images/gen02_3.png
new file mode 100644
index 0000000..d2fe4af
Binary files /dev/null and b/images/gen02_3.png differ
diff --git a/images/gen03_1.png b/images/gen03_1.png
new file mode 100644
index 0000000..313a4a6
Binary files /dev/null and b/images/gen03_1.png differ
diff --git a/images/gen03_2.png b/images/gen03_2.png
new file mode 100644
index 0000000..c3014cb
Binary files /dev/null and b/images/gen03_2.png differ
diff --git a/images/gen03_3.png b/images/gen03_3.png
new file mode 100644
index 0000000..2ab51b8
Binary files /dev/null and b/images/gen03_3.png differ
diff --git a/images/gen03_4.png b/images/gen03_4.png
new file mode 100644
index 0000000..7c8141a
Binary files /dev/null and b/images/gen03_4.png differ
diff --git a/images/gen03_5.png b/images/gen03_5.png
new file mode 100644
index 0000000..2a08ff2
Binary files /dev/null and b/images/gen03_5.png differ
diff --git a/images/gen04_1.png b/images/gen04_1.png
new file mode 100644
index 0000000..e0cf506
Binary files /dev/null and b/images/gen04_1.png differ
diff --git a/images/gen04_2.png b/images/gen04_2.png
new file mode 100644
index 0000000..2ed55a5
Binary files /dev/null and b/images/gen04_2.png differ
diff --git a/images/gen04_3.png b/images/gen04_3.png
new file mode 100644
index 0000000..96b37c5
Binary files /dev/null and b/images/gen04_3.png differ
diff --git a/images/gen04_4.png b/images/gen04_4.png
new file mode 100644
index 0000000..51a4746
Binary files /dev/null and b/images/gen04_4.png differ
diff --git a/images/gen05_1.png b/images/gen05_1.png
new file mode 100644
index 0000000..ea69abc
Binary files /dev/null and b/images/gen05_1.png differ
diff --git a/images/gen05_2.png b/images/gen05_2.png
new file mode 100644
index 0000000..b77dfc4
Binary files /dev/null and b/images/gen05_2.png differ
diff --git a/images/gen06_1.png b/images/gen06_1.png
new file mode 100644
index 0000000..7cb8f57
Binary files /dev/null and b/images/gen06_1.png differ
diff --git a/images/gen06_2.png b/images/gen06_2.png
new file mode 100644
index 0000000..939685f
Binary files /dev/null and b/images/gen06_2.png differ
diff --git a/images/gen07_1.png b/images/gen07_1.png
new file mode 100644
index 0000000..effe1cc
Binary files /dev/null and b/images/gen07_1.png differ
diff --git a/images/gen07_2.png b/images/gen07_2.png
new file mode 100644
index 0000000..7438bd7
Binary files /dev/null and b/images/gen07_2.png differ
diff --git a/images/gen07_3.png b/images/gen07_3.png
new file mode 100644
index 0000000..ac42268
Binary files /dev/null and b/images/gen07_3.png differ
diff --git a/images/gen08_1.png b/images/gen08_1.png
new file mode 100644
index 0000000..a139162
Binary files /dev/null and b/images/gen08_1.png differ
diff --git a/images/gen08_2.png b/images/gen08_2.png
new file mode 100644
index 0000000..ee21f60
Binary files /dev/null and b/images/gen08_2.png differ
diff --git a/images/gen09_1.png b/images/gen09_1.png
new file mode 100644
index 0000000..8d25bb7
Binary files /dev/null and b/images/gen09_1.png differ
diff --git a/images/gen09_2.png b/images/gen09_2.png
new file mode 100644
index 0000000..7807c4c
Binary files /dev/null and b/images/gen09_2.png differ
diff --git a/images/gen09_3.png b/images/gen09_3.png
new file mode 100644
index 0000000..be0a05a
Binary files /dev/null and b/images/gen09_3.png differ
diff --git a/images/gen09_4.png b/images/gen09_4.png
new file mode 100644
index 0000000..8ced7b1
Binary files /dev/null and b/images/gen09_4.png differ
diff --git a/images/gen10_1.png b/images/gen10_1.png
new file mode 100644
index 0000000..23f39ef
Binary files /dev/null and b/images/gen10_1.png differ
diff --git a/images/gen10_2.png b/images/gen10_2.png
new file mode 100644
index 0000000..57538cb
Binary files /dev/null and b/images/gen10_2.png differ
diff --git a/images/gen10_3.png b/images/gen10_3.png
new file mode 100644
index 0000000..1c0e9ca
Binary files /dev/null and b/images/gen10_3.png differ
diff --git a/images/gen10_4.png b/images/gen10_4.png
new file mode 100644
index 0000000..e2ff252
Binary files /dev/null and b/images/gen10_4.png differ
diff --git a/images/gen11_1.png b/images/gen11_1.png
new file mode 100644
index 0000000..bc6205b
Binary files /dev/null and b/images/gen11_1.png differ
diff --git a/images/gen11_2.png b/images/gen11_2.png
new file mode 100644
index 0000000..8abac26
Binary files /dev/null and b/images/gen11_2.png differ
diff --git a/images/gen11_3.png b/images/gen11_3.png
new file mode 100644
index 0000000..38ab765
Binary files /dev/null and b/images/gen11_3.png differ
diff --git a/images/gen12.png b/images/gen12.png
index dae49f0..8071992 100644
Binary files a/images/gen12.png and b/images/gen12.png differ
diff --git a/images/gen13_1.png b/images/gen13_1.png
new file mode 100644
index 0000000..40ad706
Binary files /dev/null and b/images/gen13_1.png differ
diff --git a/images/gen13_2.png b/images/gen13_2.png
new file mode 100644
index 0000000..502efb7
Binary files /dev/null and b/images/gen13_2.png differ
diff --git a/images/gen13_3.png b/images/gen13_3.png
new file mode 100644
index 0000000..ad69d6c
Binary files /dev/null and b/images/gen13_3.png differ
diff --git a/images/gen13_4.png b/images/gen13_4.png
new file mode 100644
index 0000000..8ce42c8
Binary files /dev/null and b/images/gen13_4.png differ
diff --git a/images/gen13_5.png b/images/gen13_5.png
new file mode 100644
index 0000000..7780a00
Binary files /dev/null and b/images/gen13_5.png differ
diff --git a/images/gen13_6.png b/images/gen13_6.png
new file mode 100644
index 0000000..184bd9e
Binary files /dev/null and b/images/gen13_6.png differ
diff --git a/images/gen13_7.png b/images/gen13_7.png
new file mode 100644
index 0000000..7565834
Binary files /dev/null and b/images/gen13_7.png differ
diff --git a/images/gen14_1.png b/images/gen14_1.png
new file mode 100644
index 0000000..7b8b9a1
Binary files /dev/null and b/images/gen14_1.png differ
diff --git a/images/gen14_2.png b/images/gen14_2.png
new file mode 100644
index 0000000..6e9a342
Binary files /dev/null and b/images/gen14_2.png differ
diff --git a/images/gen14_3.png b/images/gen14_3.png
new file mode 100644
index 0000000..87a5cf7
Binary files /dev/null and b/images/gen14_3.png differ
diff --git a/images/gen14_4.png b/images/gen14_4.png
new file mode 100644
index 0000000..1513009
Binary files /dev/null and b/images/gen14_4.png differ
diff --git a/images/gen15-1.png b/images/gen15-1.png
new file mode 100644
index 0000000..099da7e
Binary files /dev/null and b/images/gen15-1.png differ
diff --git a/images/gen15-2.png b/images/gen15-2.png
new file mode 100644
index 0000000..f90a190
Binary files /dev/null and b/images/gen15-2.png differ
diff --git a/images/gen15-3.png b/images/gen15-3.png
new file mode 100644
index 0000000..fce23b0
Binary files /dev/null and b/images/gen15-3.png differ
diff --git a/images/gen15-4.png b/images/gen15-4.png
new file mode 100644
index 0000000..980b84b
Binary files /dev/null and b/images/gen15-4.png differ
diff --git a/images/gen15-5.png b/images/gen15-5.png
new file mode 100644
index 0000000..604f3b5
Binary files /dev/null and b/images/gen15-5.png differ
diff --git a/images/gen17.png b/images/gen17.png
new file mode 100644
index 0000000..752fc40
Binary files /dev/null and b/images/gen17.png differ
diff --git a/images/gen18_1.png b/images/gen18_1.png
new file mode 100644
index 0000000..14f34b3
Binary files /dev/null and b/images/gen18_1.png differ
diff --git a/images/gen18_2.png b/images/gen18_2.png
new file mode 100644
index 0000000..23e839f
Binary files /dev/null and b/images/gen18_2.png differ
diff --git a/images/gen18_3.png b/images/gen18_3.png
new file mode 100644
index 0000000..3538cf1
Binary files /dev/null and b/images/gen18_3.png differ
diff --git a/images/gen19_1.png b/images/gen19_1.png
new file mode 100644
index 0000000..20ae514
Binary files /dev/null and b/images/gen19_1.png differ
diff --git a/images/gen20_1.png b/images/gen20_1.png
new file mode 100644
index 0000000..c5b60f9
Binary files /dev/null and b/images/gen20_1.png differ
diff --git a/images/gen20_2.png b/images/gen20_2.png
new file mode 100644
index 0000000..b35e74a
Binary files /dev/null and b/images/gen20_2.png differ
diff --git a/images/gen21_1.png b/images/gen21_1.png
new file mode 100644
index 0000000..1a413f1
Binary files /dev/null and b/images/gen21_1.png differ
diff --git a/images/gen21_2.png b/images/gen21_2.png
new file mode 100644
index 0000000..5dc51a5
Binary files /dev/null and b/images/gen21_2.png differ
diff --git a/images/gen21_3.png b/images/gen21_3.png
new file mode 100644
index 0000000..4fd5911
Binary files /dev/null and b/images/gen21_3.png differ
diff --git a/images/gen21_4.png b/images/gen21_4.png
new file mode 100644
index 0000000..a40a884
Binary files /dev/null and b/images/gen21_4.png differ
diff --git a/images/gen21_5.png b/images/gen21_5.png
new file mode 100644
index 0000000..5fa1861
Binary files /dev/null and b/images/gen21_5.png differ
diff --git a/images/gen23.png b/images/gen23.png
new file mode 100644
index 0000000..426b492
Binary files /dev/null and b/images/gen23.png differ
diff --git a/images/gen25.png b/images/gen25.png
new file mode 100644
index 0000000..7da67e7
Binary files /dev/null and b/images/gen25.png differ
diff --git a/images/gen27.png b/images/gen27.png
new file mode 100644
index 0000000..2ec206b
Binary files /dev/null and b/images/gen27.png differ
diff --git a/images/gen33.png b/images/gen33.png
new file mode 100644
index 0000000..9820ce7
Binary files /dev/null and b/images/gen33.png differ
diff --git a/images/gen34.png b/images/gen34.png
new file mode 100644
index 0000000..57cb370
Binary files /dev/null and b/images/gen34.png differ
diff --git a/images/gen40.png b/images/gen40.png
new file mode 100644
index 0000000..0ade6db
Binary files /dev/null and b/images/gen40.png differ
diff --git a/images/gen41.png b/images/gen41.png
new file mode 100644
index 0000000..cfb4b16
Binary files /dev/null and b/images/gen41.png differ
diff --git a/images/gen42.png b/images/gen42.png
new file mode 100644
index 0000000..478f8fe
Binary files /dev/null and b/images/gen42.png differ
diff --git a/images/gen49.png b/images/gen49.png
new file mode 100644
index 0000000..062ae5e
Binary files /dev/null and b/images/gen49.png differ
diff --git a/images/gen51_1.png b/images/gen51_1.png
new file mode 100644
index 0000000..ea6eb7a
Binary files /dev/null and b/images/gen51_1.png differ
diff --git a/images/gen51_2.png b/images/gen51_2.png
new file mode 100644
index 0000000..ac0d999
Binary files /dev/null and b/images/gen51_2.png differ
diff --git a/images/gen51_3.png b/images/gen51_3.png
new file mode 100644
index 0000000..1268454
Binary files /dev/null and b/images/gen51_3.png differ
diff --git a/images/gen52.png b/images/gen52.png
new file mode 100644
index 0000000..e6a55d7
Binary files /dev/null and b/images/gen52.png differ
diff --git a/images/gendy.png b/images/gendy.png
new file mode 100644
index 0000000..0a06d2f
Binary files /dev/null and b/images/gendy.png differ
diff --git a/images/gendyx.png b/images/gendyx.png
new file mode 100644
index 0000000..67eb4ad
Binary files /dev/null and b/images/gendyx.png differ
diff --git a/images/genexp_1.png b/images/genexp_1.png
new file mode 100644
index 0000000..e2f840e
Binary files /dev/null and b/images/genexp_1.png differ
diff --git a/images/genexp_2.png b/images/genexp_2.png
new file mode 100644
index 0000000..f42cca4
Binary files /dev/null and b/images/genexp_2.png differ
diff --git a/images/genfarey-2_1.png b/images/genfarey-2_1.png
new file mode 100644
index 0000000..a4180d1
Binary files /dev/null and b/images/genfarey-2_1.png differ
diff --git a/images/genfarey-2_2.png b/images/genfarey-2_2.png
new file mode 100644
index 0000000..3c0eda9
Binary files /dev/null and b/images/genfarey-2_2.png differ
diff --git a/images/gensone.png b/images/gensone.png
new file mode 100644
index 0000000..2b1f946
Binary files /dev/null and b/images/gensone.png differ
diff --git a/images/gentanh_1.png b/images/gentanh_1.png
new file mode 100644
index 0000000..10b067f
Binary files /dev/null and b/images/gentanh_1.png differ
diff --git a/images/gentanh_2.png b/images/gentanh_2.png
new file mode 100644
index 0000000..5709c3f
Binary files /dev/null and b/images/gentanh_2.png differ
diff --git a/images/gentanh_3.png b/images/gentanh_3.png
new file mode 100644
index 0000000..df7e1de
Binary files /dev/null and b/images/gentanh_3.png differ
diff --git a/imagesXO/editorXO.jpg b/imagesXO/editorXO.jpg
deleted file mode 100644
index 66c1e98..0000000
Binary files a/imagesXO/editorXO.jpg and /dev/null differ
diff --git a/macinstall-cp.sh b/macinstall-cp.sh
deleted file mode 100644
index c9a69fc..0000000
--- a/macinstall-cp.sh
+++ /dev/null
@@ -1 +0,0 @@
-cp -R html ../csound5_install/CsoundLib/Package_Contents/Library/Frameworks/CsoundLib.framework/Resources/Manual
diff --git a/makeframes.py b/makeframes.py
index b4d3098..c277bbc 100644
--- a/makeframes.py
+++ b/makeframes.py
@@ -193,7 +193,7 @@ for j in range(len(sections)):
         (sections[j].attributes['class'].value!='refpurpose')and
         (sections[j].attributes['class'].value!='quote')and
         (sections[j].attributes['class'].value!='emphasis')):
-        print "--------Title"
+        print "--------Title:", sections[j].childNodes[1].firstChild.toxml().encode('utf-8')
         font = minidom.Element('font')
         font.setAttribute('size','4')
         font.setAttribute('color','Black')
@@ -240,8 +240,9 @@ for j in range(len(sections)):
           #sections[j].attributes['class'].value!='quote' and
           #sections[j].attributes['class'].value!='emphasis'):
         if newNode != []:
-            font.appendChild(newNode[0].cloneNode(True))
-        parent.appendChild(font)
+            #    font.appendChild(newNode[0].cloneNode(True))
+            parent.appendChild(newNode[0].cloneNode(True))
+#        parent.appendChild(font)
         parent.removeChild(sections[j])
         #print sections[j].toxml().encode('latin-1')
     
@@ -259,34 +260,33 @@ for num in range(65,93):
     alphabet.extend(chr(num+32))
 
 count = -1
-for j in range(len(unwantedtext)):
-    if (count==15):
-        count = count+1 #There is no 'Q'
-    if (count==23):
-        count = count+1 #There is no 'Y'
-    unwantedtext[j].removeChild(unwantedtext[j].childNodes[0])
-    unwantedtext[j].appendChild(minidom.Element('br'))
-    #print unwantedtext[j].toxml()
-    node = unwantedtext[j].getElementsByTagName('a')
+for text in unwantedtext:
+    if count==15 or count==23:
+        count = count + 1 #There is no 'Q' or 'Y'
+    #print "text: ", text.toxml()
+    text.removeChild(text.childNodes[0])
+    #text.appendChild(minidom.Element('br'))
+    #print "Unwanted: ", text.toxml()
+    node = text.getElementsByTagName('a')
     if ((node[0].firstChild.toxml().encode('utf-8')[0]==alphabet[count+1])
-    or(node[0].toxml().encode('utf-8')[0]==alphabetcaps[count+1])):
+        or(node[0].toxml().encode('utf-8')[0]==alphabetcaps[count+1])):
         count += 1
-        string = '<b><a name="' + alphabet[count] + '">' + alphabetcaps[count] + '</a></b>'
-        #print string
+        string = '<b style="border:solid;"><a name="' + alphabet[count] + '">' + alphabetcaps[count] + '</a></b>'
+        #print "string:", string
         letter = minidom.parseString(string)
-        unwantedtext[j].insertBefore(minidom.Element('br'), unwantedtext[j].firstChild) 
-        unwantedtext[j].insertBefore(letter.firstChild, unwantedtext[j].firstChild)
-        #print unwantedtext[j].toxml().encode('latin-1')
-    #print unwantedtext[j].toxml().encode('latin-1')
+        text.insertBefore(minidom.Element('br'), text.firstChild) 
+        text.insertBefore(letter.firstChild, text.firstChild)
+        print "unwanted2: ", text.firstChild
+    #print text.toxml().encode('latin-1')
 
 
 # routine to remove text description from score statement and GEN entries
 unwantedtext = scoregens.getElementsByTagName('dt')
-for j in xrange(len(unwantedtext)):
-    node = unwantedtext[j].firstChild
+for text in unwantedtext:
+    node = text.firstChild
     if node.nodeType == minidom.Node.ELEMENT_NODE and node.tagName == 'a':
-        unwantedtext[j].removeChild(unwantedtext[j].childNodes[1])
-        unwantedtext[j].appendChild(minidom.Element('br'))
+        text.removeChild(text.childNodes[1])
+        text.appendChild(minidom.Element('br'))
         
 
 # Routines to remove indentation
diff --git a/manpages.xml b/manpages.xml
deleted file mode 100644
index ea3636b..0000000
--- a/manpages.xml
+++ /dev/null
@@ -1,1531 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
-
-<!--<!DOCTYPE book SYSTEM "docbook42/docbookx.dtd" [ -->
-
-<!-- INTRO ENTITIES GO HERE -->
-
-<!--<!ENTITY pface SYSTEM "preface/top.xml">
-<!ENTITY pfaceacknowledgements SYSTEM "preface/acknowledgements.xml">
-<!ENTITY pfacecopy SYSTEM "preface/copy.xml">
-<!ENTITY pfacehistory SYSTEM "preface/history.xml">
-<!ENTITY pfacepreface SYSTEM "preface/preface.xml">
-<!ENTITY pfacegettingstarted SYSTEM "preface/gettingstarted.xml">
-<!ENTITY pfacewhatsnew SYSTEM "preface/whatsnew.xml">-->
-
-<!-- OVERVIEW ENTITIES GO HERE -->
-<!ENTITY oviewusersguide SYSTEM "overview/usersguide.xml">
-<!ENTITY oviewintroduction SYSTEM "overview/introduction.xml">
-<!ENTITY oviewrecentdev SYSTEM "overview/recentdev.xml">
-<!ENTITY oviewconfiguring SYSTEM "overview/configuring.xml">
-<!ENTITY oviewusing SYSTEM "overview/using.xml">
-<!ENTITY oviewdesign SYSTEM "overview/design.xml">
-<!ENTITY oviewfrontends SYSTEM "overview/frontends.xml">
-<!ENTITY oviewbuilding SYSTEM "overview/building.xml">
-<!ENTITY oviewlinks SYSTEM "overview/links.xml">
-<!ENTITY oviewrealtimelinux SYSTEM "overview/realtimelinux.xml">
-<!ENTITY oviewrealtimewindows SYSTEM "overview/realtimewindows.xml">
-<!ENTITY oviewrealtimemac SYSTEM "overview/realtimemac.xml">
-
-<!-- CSOUND 5 ENTITIES GO HERE -->
-<!--<!ENTITY csound5licenses SYSTEM "csound5/licenses.xml">-->
-<!ENTITY csound5preface SYSTEM "csound5/preface.xml">
-<!ENTITY csound5acknowledgments SYSTEM "csound5/acknowledgments.xml">
-
-<!ENTITY csound5extending SYSTEM "csound5/extending.xml">
-
-<!ENTITY csound5opcodesSection SYSTEM "overview/cs5opcodes.xml">
-
-<!-- CSOUND 5 OPCODES -->
-
-<!--<!ENTITY opcodesATSadd SYSTEM "opcodes/ATSadd.xml">
-<!ENTITY opcodesATSaddnz SYSTEM "opcodes/ATSaddnz.xml">
-<!ENTITY opcodesATSbufread SYSTEM "opcodes/ATSbufread.xml">
-<!ENTITY opcodesATScross SYSTEM "opcodes/ATScross.xml">
-<!ENTITY opcodesATSinfo SYSTEM "opcodes/ATSinfo.xml">
-<!ENTITY opcodesATSinterpread SYSTEM "opcodes/ATSinterpread.xml">
-<!ENTITY opcodesATSread SYSTEM "opcodes/ATSread.xml">
-<!ENTITY opcodesATSreadnz SYSTEM "opcodes/ATSreadnz.xml">
-<!ENTITY opcodesATSpartialtap SYSTEM "opcodes/ATSpartialtap.xml">
-<!ENTITY opcodesATSsinnoi SYSTEM "opcodes/ATSsinnoi.xml">
-
-<!ENTITY opcodesdenorm SYSTEM "opcodes/denorm.xml">
-<!ENTITY opcodesflooper SYSTEM "opcodes/flooper.xml">
-<!ENTITY opcodesflooper2 SYSTEM "opcodes/flooper2.xml">
-<!ENTITY opcodespvsarp SYSTEM "opcodes/pvsarp.xml">
-<!ENTITY opcodespvsvoc SYSTEM "opcodes/pvsvoc.xml">
-<!ENTITY opcodesrbjeq SYSTEM "opcodes/rbjeq.xml">
-<!ENTITY opcodessndloop SYSTEM "opcodes/sndloop.xml">
-<!ENTITY opcodesturnoff2 SYSTEM "opcodes/turnoff2.xml">
-<!ENTITY opcodeschani SYSTEM "opcodes/chani.xml">
-<!ENTITY opcodeschano SYSTEM "opcodes/chano.xml">
-<!ENTITY opcodeschn SYSTEM "opcodes/chn.xml">
-<!ENTITY opcodeschnexport SYSTEM "opcodes/chnexport.xml">
-<!ENTITY opcodeschnget SYSTEM "opcodes/chnget.xml">
-<!ENTITY opcodeschnparams SYSTEM "opcodes/chnparams.xml">
-<!ENTITY opcodeschnset SYSTEM "opcodes/chnset.xml">
-<!ENTITY opcodeschnmix SYSTEM "opcodes/chnmix.xml">
-<!ENTITY opcodeschnclear SYSTEM "opcodes/chnclear.xml">
-<!ENTITY opcodesdelayk SYSTEM "opcodes/delayk.xml">
-<!ENTITY opcodesevent_i SYSTEM "opcodes/event_i.xml">
-
-<!ENTITY opcodesdssilist SYSTEM "opcodes/dssilist.xml">
-<!ENTITY opcodesdssiinit SYSTEM "opcodes/dssiinit.xml">
-<!ENTITY opcodesdssiactivate SYSTEM "opcodes/dssiactivate.xml">
-<!ENTITY opcodesdssiaudio SYSTEM "opcodes/dssiaudio.xml">
-<!ENTITY opcodesdssictls SYSTEM "opcodes/dssictls.xml">
-
-<!ENTITY opcodesbformenc SYSTEM "opcodes/bformenc.xml">
-<!ENTITY opcodesbformdec SYSTEM "opcodes/bformdec.xml">
-<!ENTITY opcodesptrack SYSTEM "opcodes/ptrack.xml">
-
-<!ENTITY opcodesvstinit SYSTEM "opcodes/vstinit.xml">
-<!ENTITY opcodesvstinfo SYSTEM "opcodes/vstinfo.xml">
-<!ENTITY opcodesvstaudio SYSTEM "opcodes/vstaudio.xml">
-<!ENTITY opcodesvstbankload SYSTEM "opcodes/vstbankload.xml">
-<!ENTITY opcodesvstedit SYSTEM "opcodes/vstedit.xml">
-<!ENTITY opcodesvstmidiout SYSTEM "opcodes/vstmidiout.xml">
-<!ENTITY opcodesvstnote SYSTEM "opcodes/vstnote.xml">
-<!ENTITY opcodesvstparamset SYSTEM "opcodes/vstparamset.xml">
-<!ENTITY opcodesvstprogset SYSTEM "opcodes/vstprogset.xml">
-
-<!ENTITY opcodesdiskin2 SYSTEM "opcodes/diskin2.xml">
-<!ENTITY opcodesfreeverb SYSTEM "opcodes/freeverb.xml">
-<!ENTITY opcodesftconv SYSTEM "opcodes/ftconv.xml">
-<!ENTITY opcodesftfree SYSTEM "opcodes/ftfree.xml">
-<!ENTITY opcodespconvolve SYSTEM "opcodes/pconvolve.xml">
-<!ENTITY opcodesreverbsc SYSTEM "opcodes/reverbsc.xml">
-
-<!ENTITY plugin SYSTEM "plugin/top.xml">
-<!ENTITY plugindssi4cs SYSTEM "plugin/dssi4cs.xml">
-<!ENTITY pluginvst4cs SYSTEM "plugin/vst4cs.xml">
-
-<!ENTITY oscnetwork SYSTEM "oscnetwork/top.xml">
-<!ENTITY OSC SYSTEM "oscnetwork/OSC.xml">
-<!ENTITY Network SYSTEM "oscnetwork/Network.xml">
-<!ENTITY Remote SYSTEM "oscnetwork/Remote.xml">
-<!ENTITY opcodesOSCsend SYSTEM "opcodes/OSCsend.xml">
-<!ENTITY opcodesOSCinit SYSTEM "opcodes/OSCinit.xml">
-<!ENTITY opcodesOSClisten SYSTEM "opcodes/OSClisten.xml">
-
-<!ENTITY opcodessocksend SYSTEM "opcodes/socksend.xml">
-<!ENTITY opcodessockrecv SYSTEM "opcodes/sockrecv.xml">
-
-<!ENTITY py SYSTEM "csound5/opcodes/py.xml">
-<!ENTITY opcodespyassign SYSTEM "opcodes/pyassign.xml">
-<!ENTITY opcodespycall SYSTEM "opcodes/pycall.xml">
-<!ENTITY opcodespyeval SYSTEM "opcodes/pyeval.xml">
-<!ENTITY opcodespyexec SYSTEM "opcodes/pyexec.xml">
-<!ENTITY opcodespyinit SYSTEM "opcodes/pyinit.xml">
-<!ENTITY opcodespyrun SYSTEM "opcodes/pyrun.xml">
-
-<!ENTITY mixer SYSTEM "csound5/opcodes/mixer.xml">
-<!ENTITY opcodesmixersetlevel SYSTEM "opcodes/mixersetlevel.xml">
-<!ENTITY opcodesmixergetlevel SYSTEM "opcodes/mixergetlevel.xml">
-<!ENTITY opcodesmixersend SYSTEM "opcodes/mixersend.xml">
-<!ENTITY opcodesmixerreceive SYSTEM "opcodes/mixerreceive.xml">
-<!ENTITY opcodesmixerclear SYSTEM "opcodes/mixerclear.xml">
-
-<!ENTITY opcodespvsifd SYSTEM "opcodes/pvsifd.xml">
-<!ENTITY opcodestradsyn SYSTEM "opcodes/tradsyn.xml">
-<!ENTITY opcodesresyn SYSTEM "opcodes/resyn.xml">
-<!ENTITY opcodessinsyn SYSTEM "opcodes/sinsyn.xml">
-<!ENTITY opcodespartials SYSTEM "opcodes/partials.xml">
-<!ENTITY opcodestrcross SYSTEM "opcodes/trcross.xml">
-<!ENTITY opcodestrfilter SYSTEM "opcodes/trfilter.xml">
-<!ENTITY opcodestrhighest SYSTEM "opcodes/trhighest.xml">
-<!ENTITY opcodestrlowest SYSTEM "opcodes/trlowest.xml">
-<!ENTITY opcodestrmix SYSTEM "opcodes/trmix.xml">
-<!ENTITY opcodestrsplit SYSTEM "opcodes/trsplit.xml">
-<!ENTITY opcodestrshift SYSTEM "opcodes/trshift.xml">
-<!ENTITY opcodestrscale SYSTEM "opcodes/trscale.xml">
-<!ENTITY opcodesbinit SYSTEM "opcodes/binit.xml">
-
-<!ENTITY opcodesmax SYSTEM "opcodes/max.xml">
-<!ENTITY opcodesmaxabs SYSTEM "opcodes/maxabs.xml">
-<!ENTITY opcodesmaxabsaccum SYSTEM "opcodes/maxabsaccum.xml">
-<!ENTITY opcodesmaxaccum SYSTEM "opcodes/maxaccum.xml">
-<!ENTITY opcodesmin SYSTEM "opcodes/min.xml">
-<!ENTITY opcodesminabs SYSTEM "opcodes/minabs.xml">
-<!ENTITY opcodesminabsaccum SYSTEM "opcodes/minabsaccum.xml">
-<!ENTITY opcodesminaccum SYSTEM "opcodes/minaccum.xml">
-<!ENTITY opcodesexpcurve SYSTEM "opcodes/expcurve.xml">
-<!ENTITY opcodesgainslider SYSTEM "opcodes/gainslider.xml">
-<!ENTITY opcodeslogcurve SYSTEM "opcodes/logcurve.xml">
-<!ENTITY opcodesscale SYSTEM "opcodes/scale.xml">
-<!ENTITY opcodescpsmidinn SYSTEM "opcodes/cpsmidinn.xml">
-<!ENTITY opcodesoctmidinn SYSTEM "opcodes/octmidinn.xml">
-<!ENTITY opcodespchmidinn SYSTEM "opcodes/pchmidinn.xml">
-
-<!ENTITY tclcsound SYSTEM "csound5/tclcsound.xml">
- CSOUND 5 OPCODES -->
-<!ENTITY command SYSTEM "command/top.xml">
-<!ENTITY commanddesc SYSTEM "command/desc.xml">
-<!ENTITY commandflags SYSTEM "command/flags.xml">
-<!ENTITY commandflagscategory SYSTEM "command/flagscategory.xml">
-<!ENTITY commandenvironment SYSTEM "command/environment.xml">
-<!ENTITY commandpreproc SYSTEM "command/preproc.xml">
-<!ENTITY commandunifile SYSTEM "command/unifile.xml">
-<!--
-<!ENTITY control SYSTEM "control/top.xml">
-<!ENTITY controlclockctl SYSTEM "control/clockctl.xml">
-<!ENTITY controlconditional SYSTEM "control/conditional.xml">
-<!ENTITY controldurctl SYSTEM "control/durctl.xml">
-<!ENTITY controlfltkappearance SYSTEM "control/fltkappearance.xml">
-<!ENTITY controlfltkcontainers SYSTEM "control/fltkcontainers.xml">
-<!ENTITY controlfltkgeneral SYSTEM "control/fltkgeneral.xml">
-<!ENTITY controlfltkintro SYSTEM "control/fltkintro.xml">
-<!ENTITY controlfltkother SYSTEM "control/fltkother.xml">
-<!ENTITY controlfltkvaluators SYSTEM "control/fltkvaluators.xml">
-<!ENTITY controlinvocat SYSTEM "control/invocat.xml">
-<!ENTITY controlpgmctl SYSTEM "control/pgmctl.xml">
-<!ENTITY controlrealtime SYSTEM "control/realtime.xml">
-<!ENTITY controlreinitn SYSTEM "control/reinitn.xml">
-<!ENTITY controlsensing SYSTEM "control/sensing.xml">
-<!ENTITY controlstacks SYSTEM "control/stacks.xml">
-<!ENTITY controlsubinstr SYSTEM "control/subinstr.xml">
-<!ENTITY controltimeread SYSTEM "control/timeread.xml">
-
-<!ENTITY miscopcodes SYSTEM "miscopcodes/top.xml">
-
-<!ENTITY cscore SYSTEM "cscore/top.xml">
-<!ENTITY cscoreadvancd SYSTEM "cscore/advancd.xml">
-<!ENTITY cscorecompile SYSTEM "cscore/compile.xml">
-<!ENTITY cscoreevents SYSTEM "cscore/events.xml">
-<!ENTITY cscoremain SYSTEM "cscore/main.xml">
-
-<!ENTITY math SYSTEM "math/top.xml">
-<!ENTITY mathamp SYSTEM "math/amp.xml">
-<!ENTITY mathartlogic SYSTEM "math/artlogic.xml">
-<!ENTITY mathmathfunc SYSTEM "math/mathfunc.xml">
-<!ENTITY mathopeqfunc SYSTEM "math/opeqfunc.xml">
-<!ENTITY mathrndfunc SYSTEM "math/rndfunc.xml">
-<!ENTITY mathtrig SYSTEM "math/trig.xml">
-
-<!ENTITY midi SYSTEM "midi/top.xml">
-<!ENTITY midivirtual SYSTEM "midi/virtual.xml">
-<!ENTITY midiinput SYSTEM "midi/input.xml">
-<!ENTITY midioutput SYSTEM "midi/output.xml">
-<!ENTITY midigeneric SYSTEM "midi/generic.xml">
-<!ENTITY midiconvert SYSTEM "midi/convert.xml">
-<!ENTITY midiextender SYSTEM "midi/extender.xml">
-<!ENTITY midionoff SYSTEM "midi/onoff.xml">
-<!ENTITY midiinterop SYSTEM "midi/interop.xml">
-<!ENTITY midirealtime SYSTEM "midi/realtime.xml">
-<!ENTITY midisliderbk SYSTEM "midi/sliderbk.xml">
-
-<!ENTITY misc SYSTEM "misc/top.xml">
-<!ENTITY miscamp SYSTEM "misc/amp.xml">
-<!ENTITY misccsound64 SYSTEM "misc/csound64.xml">
-<!ENTITY miscglossary SYSTEM "misc/glossary.xml">
-<!ENTITY miscformants SYSTEM "misc/formants.xml">
-<!ENTITY miscpitch SYSTEM "misc/pitch.xml">
-<!ENTITY miscquickref SYSTEM "misc/quickref.xml">
-<!ENTITY miscsf2 SYSTEM "misc/sf2.xml">
-<!ENTITY miscwindows SYSTEM "misc/windows.xml">
-<!ENTITY miscmodalfreq SYSTEM "misc/modalfreq.xml">
-   &opcodes; -->
-<!ENTITY namebarry "Barry L. Vercoe">
-<!ENTITY namedavid "David M. Boothe">
-<!ENTITY namegabriel "Gabriel Maldonado">
-<!ENTITY namehans "Hans Mikelson">
-<!ENTITY nameistvan "Istvan Varga">
-<!ENTITY namejohn "John ffitch">
-<!ENTITY namekanata "Kanata Motohashi">
-<!ENTITY namekevin "Kevin Conder">
-<!ENTITY nameluis "Luis Jure">
-<!ENTITY namematt "Matt Ingalls">
-<!ENTITY nameoeyvind "Øyvind Brandtsegg">
-<!ENTITY namemichael "Michael Gogins">
-<!ENTITY namemike "Mike Berry">
-<!ENTITY nameparis "Paris Smaragdis">
-<!ENTITY nameperry "Perry Cook">
-<!ENTITY namerasmus "Rasmus Ekman">
-<!ENTITY namerichard "Richard Dobson">
-<!ENTITY namesean "Sean Costello">
-<!ENTITY namesteven "Steven Yi">
-<!ENTITY nameandres "Andres Cabrera">
-<!ENTITY nameanthony "Anthony Kozar">
-<!--  
-<!ENTITY opcodes SYSTEM "opcodes/top.xml">
-<!ENTITY opcodes0dbfs SYSTEM "opcodes/0dbfs.xml">
-<!ENTITY opcodesabetarand SYSTEM "opcodes/abetarand.xml">
-<!ENTITY opcodesabexprnd SYSTEM "opcodes/abexprnd.xml">
-<!ENTITY opcodesabs SYSTEM "opcodes/abs.xml">
-<!ENTITY opcodesacauchy SYSTEM "opcodes/acauchy.xml">
-<!ENTITY opcodesactive SYSTEM "opcodes/active.xml">
-<!ENTITY opcodesadds SYSTEM "opcodes/adds.xml">
-<!ENTITY opcodesadsr SYSTEM "opcodes/adsr.xml">
-<!ENTITY opcodesadsyn SYSTEM "opcodes/adsyn.xml">
-<!ENTITY opcodesadsynt SYSTEM "opcodes/adsynt.xml">
-<!ENTITY opcodesadsynt2 SYSTEM "opcodes/adsynt2.xml">
-<!ENTITY opcodesaexprand SYSTEM "opcodes/aexprand.xml">
-<!ENTITY opcodesaftouch SYSTEM "opcodes/aftouch.xml">
-<!ENTITY opcodesagauss SYSTEM "opcodes/agauss.xml">
-<!ENTITY opcodesagogobel SYSTEM "opcodes/agogobel.xml">
-<!ENTITY opcodesalinrand SYSTEM "opcodes/alinrand.xml">
-<!ENTITY opcodesalpass SYSTEM "opcodes/alpass.xml">
-<!ENTITY opcodesampdbfs SYSTEM "opcodes/ampdbfs.xml">
-<!ENTITY opcodesampdb SYSTEM "opcodes/ampdb.xml">
-<!ENTITY opcodesampmidi SYSTEM "opcodes/ampmidi.xml">
-<!ENTITY opcodesapcauchy SYSTEM "opcodes/apcauchy.xml">
-<!ENTITY opcodesapoisson SYSTEM "opcodes/apoisson.xml">
-<!ENTITY opcodesapow SYSTEM "opcodes/apow.xml">
-<!ENTITY opcodesaresonk SYSTEM "opcodes/aresonk.xml">
-<!ENTITY opcodesareson SYSTEM "opcodes/areson.xml">
-<!ENTITY opcodesassign SYSTEM "opcodes/assign.xml">
-<!ENTITY opcodesatonek SYSTEM "opcodes/atonek.xml">
-<!ENTITY opcodesatone SYSTEM "opcodes/atone.xml">
-<!ENTITY opcodesatonex SYSTEM "opcodes/atonex.xml">
-<!ENTITY opcodesatrirand SYSTEM "opcodes/atrirand.xml">
-<!ENTITY opcodesaunirand SYSTEM "opcodes/aunirand.xml">
-<!ENTITY opcodesaunirand SYSTEM "opcodes/aunirand.xml">
-<!ENTITY opcodesaweibull SYSTEM "opcodes/aweibull.xml">
-<!ENTITY opcodesbabo SYSTEM "opcodes/babo.xml">
-<!ENTITY opcodesbalance SYSTEM "opcodes/balance.xml">
-<!ENTITY opcodesbamboo SYSTEM "opcodes/bamboo.xml">
-<!ENTITY opcodesbbcutm SYSTEM "opcodes/bbcutm.xml">
-<!ENTITY opcodesbbcuts SYSTEM "opcodes/bbcuts.xml">
-<!ENTITY opcodesbetarand SYSTEM "opcodes/betarand.xml">
-<!ENTITY opcodesbexprnd SYSTEM "opcodes/bexprnd.xml">
-<!ENTITY opcodesbiquada SYSTEM "opcodes/biquada.xml">
-<!ENTITY opcodesbiquad SYSTEM "opcodes/biquad.xml">
-<!ENTITY opcodesbirnd SYSTEM "opcodes/birnd.xml">
-<!ENTITY opcodesbqrez SYSTEM "opcodes/bqrez.xml">
-<!ENTITY opcodesbutbp SYSTEM "opcodes/butbp.xml">
-<!ENTITY opcodesbutbr SYSTEM "opcodes/butbr.xml">
-<!ENTITY opcodesbuthp SYSTEM "opcodes/buthp.xml">
-<!ENTITY opcodesbutlp SYSTEM "opcodes/butlp.xml">
-<!ENTITY opcodesbutterbp SYSTEM "opcodes/butterbp.xml">
-<!ENTITY opcodesbutterbr SYSTEM "opcodes/butterbr.xml">
-<!ENTITY opcodesbutterhp SYSTEM "opcodes/butterhp.xml">
-<!ENTITY opcodesbutterlp SYSTEM "opcodes/butterlp.xml">
-<!ENTITY opcodesbutton SYSTEM "opcodes/button.xml">
-<!ENTITY opcodesbuzz SYSTEM "opcodes/buzz.xml">
-<!ENTITY opcodescabasa SYSTEM "opcodes/cabasa.xml">
-<!ENTITY opcodescauchy SYSTEM "opcodes/cauchy.xml">
-<!ENTITY opcodescent SYSTEM "opcodes/cent.xml">
-<!ENTITY opcodesceil SYSTEM "opcodes/ceil.xml">
-<!ENTITY opcodescggoto SYSTEM "opcodes/cggoto.xml">
-<!ENTITY opcodeschanctrl SYSTEM "opcodes/chanctrl.xml">
-<!ENTITY opcodeschanged SYSTEM "opcodes/changed.xml">
-<!ENTITY opcodescheckbox SYSTEM "opcodes/checkbox.xml">
-<!ENTITY opcodescigoto SYSTEM "opcodes/cigoto.xml">
-<!ENTITY opcodesckgoto SYSTEM "opcodes/ckgoto.xml">
-<!ENTITY opcodesclear SYSTEM "opcodes/clear.xml">
-<!ENTITY opcodesclfilt SYSTEM "opcodes/clfilt.xml">
-<!ENTITY opcodesclip SYSTEM "opcodes/clip.xml">
-<!ENTITY opcodesclockoff SYSTEM "opcodes/clockoff.xml">
-<!ENTITY opcodesclockon SYSTEM "opcodes/clockon.xml">
-<!ENTITY opcodesclock SYSTEM "opcodes/clock.xml">
-<!ENTITY opcodescngoto SYSTEM "opcodes/cngoto.xml">
-<!ENTITY opcodescomb SYSTEM "opcodes/comb.xml">
-<!ENTITY opcodescontrol SYSTEM "opcodes/control.xml">
-<!ENTITY opcodesconvle SYSTEM "opcodes/convle.xml">
-<!ENTITY opcodesconvolve SYSTEM "opcodes/convolve.xml">
-<!ENTITY opcodescosh SYSTEM "opcodes/cosh.xml">
-<!ENTITY opcodescosinv SYSTEM "opcodes/cosinv.xml">
-<!ENTITY opcodescos SYSTEM "opcodes/cos.xml">
-<!ENTITY opcodescps2pch SYSTEM "opcodes/cps2pch.xml">
-<!ENTITY opcodescpsmidib SYSTEM "opcodes/cpsmidib.xml">
-<!ENTITY opcodescpsmidi SYSTEM "opcodes/cpsmidi.xml">
-<!ENTITY opcodescpsoct SYSTEM "opcodes/cpsoct.xml">
-<!ENTITY opcodescpspch SYSTEM "opcodes/cpspch.xml">
-<!ENTITY opcodescpstmid SYSTEM "opcodes/cpstmid.xml">
-<!ENTITY opcodescpstuni SYSTEM "opcodes/cpstuni.xml">
-<!ENTITY opcodescpstun SYSTEM "opcodes/cpstun.xml">
-<!ENTITY opcodescpsxpch SYSTEM "opcodes/cpsxpch.xml">
-<!ENTITY opcodescpuprc SYSTEM "opcodes/cpuprc.xml">
-<!ENTITY opcodescross2 SYSTEM "opcodes/cross2.xml">
-<!ENTITY opcodescrunch SYSTEM "opcodes/crunch.xml">
-<!ENTITY opcodesctrl14 SYSTEM "opcodes/ctrl14.xml">
-<!ENTITY opcodesctrl21 SYSTEM "opcodes/ctrl21.xml">
-<!ENTITY opcodesctrl7 SYSTEM "opcodes/ctrl7.xml">
-<!ENTITY opcodesctrlinit SYSTEM "opcodes/ctrlinit.xml">
-<!ENTITY opcodescuserrnd SYSTEM "opcodes/cuserrnd.xml">
-<!ENTITY opcodesdam SYSTEM "opcodes/dam.xml">
-<!ENTITY opcodesdate SYSTEM "opcodes/date.xml">
-<!ENTITY opcodesdates SYSTEM "opcodes/dates.xml">
-<!ENTITY opcodesdbamp SYSTEM "opcodes/dbamp.xml">
-<!ENTITY opcodesdbfsamp SYSTEM "opcodes/dbfsamp.xml">
-<!ENTITY opcodesdb SYSTEM "opcodes/db.xml">
-<!ENTITY opcodesdcblock SYSTEM "opcodes/dcblock.xml">
-<!ENTITY opcodesdconv SYSTEM "opcodes/dconv.xml">
-<!ENTITY opcodesdefine SYSTEM "opcodes/define.xml">
-<!ENTITY opcodesdelay1 SYSTEM "opcodes/delay1.xml">
-<!ENTITY opcodesdelayr SYSTEM "opcodes/delayr.xml">
-<!ENTITY opcodesdelay SYSTEM "opcodes/delay.xml">
-<!ENTITY opcodesdelayw SYSTEM "opcodes/delayw.xml">
-<!ENTITY opcodesdeltap3 SYSTEM "opcodes/deltap3.xml">
-<!ENTITY opcodesdeltapi SYSTEM "opcodes/deltapi.xml">
-<!ENTITY opcodesdeltapn SYSTEM "opcodes/deltapn.xml">
-<!ENTITY opcodesdeltap SYSTEM "opcodes/deltap.xml">
-<!ENTITY opcodesdeltapx SYSTEM "opcodes/deltapx.xml">
-<!ENTITY opcodesdeltapxw SYSTEM "opcodes/deltapxw.xml">
-<!ENTITY opcodesdiff SYSTEM "opcodes/diff.xml">
-<!ENTITY opcodesdiskin SYSTEM "opcodes/diskin.xml">
-<!ENTITY opcodesdispfft SYSTEM "opcodes/dispfft.xml">
-<!ENTITY opcodesdisplay SYSTEM "opcodes/display.xml">
-<!ENTITY opcodesdistort1 SYSTEM "opcodes/distort1.xml">
-<!ENTITY opcodesdivides SYSTEM "opcodes/divides.xml">
-<!ENTITY opcodesdivz SYSTEM "opcodes/divz.xml">
-<!ENTITY opcodesdollar SYSTEM "opcodes/dollar.xml">
-<!ENTITY opcodesdownsamp SYSTEM "opcodes/downsamp.xml">
-<!ENTITY opcodesdripwater SYSTEM "opcodes/dripwater.xml">
-<!ENTITY opcodesdumpk2 SYSTEM "opcodes/dumpk2.xml">
-<!ENTITY opcodesdumpk3 SYSTEM "opcodes/dumpk3.xml">
-<!ENTITY opcodesdumpk4 SYSTEM "opcodes/dumpk4.xml">
-<!ENTITY opcodesdumpk SYSTEM "opcodes/dumpk.xml">
-<!ENTITY opcodesduserrnd SYSTEM "opcodes/duserrnd.xml">
-<!ENTITY opcodeselseif SYSTEM "opcodes/elseif.xml">
-<!ENTITY opcodeselse SYSTEM "opcodes/else.xml">
-<!ENTITY opcodesendif SYSTEM "opcodes/endif.xml">
-<!ENTITY opcodesendin SYSTEM "opcodes/endin.xml">
-<!ENTITY opcodesendop SYSTEM "opcodes/endop.xml">
-<!ENTITY opcodesenvlpxr SYSTEM "opcodes/envlpxr.xml">
-<!ENTITY opcodesenvlpx SYSTEM "opcodes/envlpx.xml">
-<!ENTITY opcodesequals SYSTEM "opcodes/equals.xml">
-<!ENTITY opcodeseqfil SYSTEM "opcodes/eqfil.xml">
-<!ENTITY opcodesevent SYSTEM "opcodes/event.xml">
-<!ENTITY opcodesexitnow SYSTEM "opcodes/exitnow.xml">
-<!ENTITY opcodesexpon SYSTEM "opcodes/expon.xml">
-<!ENTITY opcodesexprand SYSTEM "opcodes/exprand.xml">
-<!ENTITY opcodesexpsega SYSTEM "opcodes/expsega.xml">
-<!ENTITY opcodesexpsegr SYSTEM "opcodes/expsegr.xml">
-<!ENTITY opcodesexpseg SYSTEM "opcodes/expseg.xml">
-<!ENTITY opcodesexp SYSTEM "opcodes/exp.xml">
-<!ENTITY opcodesficlose SYSTEM "opcodes/ficlose.xml">
-<!ENTITY opcodesfilelen SYSTEM "opcodes/filelen.xml">
-<!ENTITY opcodesfilenchnls SYSTEM "opcodes/filenchnls.xml">
-<!ENTITY opcodesfilepeak SYSTEM "opcodes/filepeak.xml">
-<!ENTITY opcodesfilesr SYSTEM "opcodes/filesr.xml">
-<!ENTITY opcodesfilter2 SYSTEM "opcodes/filter2.xml">
-<!ENTITY opcodesfini SYSTEM "opcodes/fini.xml">
-<!ENTITY opcodesfink SYSTEM "opcodes/fink.xml">
-<!ENTITY opcodesfin SYSTEM "opcodes/fin.xml">
-<!ENTITY opcodesfiopen SYSTEM "opcodes/fiopen.xml">
-<!ENTITY opcodesflanger SYSTEM "opcodes/flanger.xml">
-<!ENTITY opcodesflashtxt SYSTEM "opcodes/flashtxt.xml">
-<!ENTITY opcodesflbox SYSTEM "opcodes/flbox.xml">
-<!ENTITY opcodesflbutbank SYSTEM "opcodes/flbutbank.xml">
-<!ENTITY opcodesflbutton SYSTEM "opcodes/flbutton.xml">
-<!ENTITY opcodesflclosebutton SYSTEM "opcodes/flclosebutton.xml">
-<!ENTITY opcodesflcolor2 SYSTEM "opcodes/flcolor2.xml">
-<!ENTITY opcodesflcolor SYSTEM "opcodes/flcolor.xml">
-<!ENTITY opcodesflcount SYSTEM "opcodes/flcount.xml">
-<!ENTITY opcodesflexecbutton SYSTEM "opcodes/flexecbutton.xml">
-<!ENTITY opcodesflgetsnap SYSTEM "opcodes/flgetsnap.xml">
-<!ENTITY opcodesflgroupend SYSTEM "opcodes/flgroupend.xml">
-<!ENTITY opcodesflgroup_end SYSTEM "opcodes/flgroup_end.xml">
-<!ENTITY opcodesflgroup SYSTEM "opcodes/flgroup.xml">
-<!ENTITY opcodesflhide SYSTEM "opcodes/flhide.xml">
-<!ENTITY opcodesflhvsbox SYSTEM "opcodes/flhvsbox.xml">
-<!ENTITY opcodesflhvsboxsetvalue SYSTEM "opcodes/flhvsboxsetvalue.xml">
-<!ENTITY opcodesfljoy SYSTEM "opcodes/fljoy.xml">
-<!ENTITY opcodesflkeyin SYSTEM "opcodes/flkeyin.xml">
-<!ENTITY opcodesflknob SYSTEM "opcodes/flknob.xml">
-<!ENTITY opcodesfllabel SYSTEM "opcodes/fllabel.xml">
-<!ENTITY opcodesflloadsnap SYSTEM "opcodes/flloadsnap.xml">
-<!ENTITY opcodesflmouse SYSTEM "opcodes/flmouse.xml">
-<!ENTITY opcodesfloor SYSTEM "opcodes/floor.xml">
-<!ENTITY opcodesflpackend SYSTEM "opcodes/flpackend.xml">
-<!ENTITY opcodesflpack_end SYSTEM "opcodes/flpack_end.xml">
-<!ENTITY opcodesflpack SYSTEM "opcodes/flpack.xml">
-<!ENTITY opcodesflpanelend SYSTEM "opcodes/flpanelend.xml">
-<!ENTITY opcodesflpanel_end SYSTEM "opcodes/flpanel_end.xml">
-<!ENTITY opcodesflpanel SYSTEM "opcodes/flpanel.xml">
-<!ENTITY opcodesflprintk2 SYSTEM "opcodes/flprintk2.xml">
-<!ENTITY opcodesflprintk SYSTEM "opcodes/flprintk.xml">
-<!ENTITY opcodesflroller SYSTEM "opcodes/flroller.xml">
-<!ENTITY opcodesflrun SYSTEM "opcodes/flrun.xml">
-<!ENTITY opcodesflsavesnap SYSTEM "opcodes/flsavesnap.xml">
-<!ENTITY opcodesflscrollend SYSTEM "opcodes/flscrollend.xml">
-<!ENTITY opcodesflscroll_end SYSTEM "opcodes/flscroll_end.xml">
-<!ENTITY opcodesflscroll SYSTEM "opcodes/flscroll.xml">
-<!ENTITY opcodesflsetalign SYSTEM "opcodes/flsetalign.xml">
-<!ENTITY opcodesflsetbox SYSTEM "opcodes/flsetbox.xml">
-<!ENTITY opcodesflsetcolor2 SYSTEM "opcodes/flsetcolor2.xml">
-<!ENTITY opcodesflsetcolor SYSTEM "opcodes/flsetcolor.xml">
-<!ENTITY opcodesflsetfont SYSTEM "opcodes/flsetfont.xml">
-<!ENTITY opcodesflsetposition SYSTEM "opcodes/flsetposition.xml">
-<!ENTITY opcodesflsetsize SYSTEM "opcodes/flsetsize.xml">
-<!ENTITY opcodesflsetsnap SYSTEM "opcodes/flsetsnap.xml">
-<!ENTITY opcodesflsetsnapgroup SYSTEM "opcodes/flsetsnapgroup.xml">
-<!ENTITY opcodesflsettextcolor SYSTEM "opcodes/flsettextcolor.xml">
-<!ENTITY opcodesflsettext SYSTEM "opcodes/flsettext.xml">
-<!ENTITY opcodesflsettextsize SYSTEM "opcodes/flsettextsize.xml">
-<!ENTITY opcodesflsettexttype SYSTEM "opcodes/flsettexttype.xml">
-<!ENTITY opcodesflsetvali SYSTEM "opcodes/flsetvali.xml">
-<!ENTITY opcodesflsetval SYSTEM "opcodes/flsetval.xml">
-<!ENTITY opcodesflshow SYSTEM "opcodes/flshow.xml">
-<!ENTITY opcodesflslidbnk SYSTEM "opcodes/flslidbnk.xml">
-<!ENTITY opcodesflslidbnk2 SYSTEM "opcodes/flslidbnk2.xml">
-<!ENTITY opcodesflslidbnkgethandle SYSTEM "opcodes/flslidbnkgethandle.xml">
-<!ENTITY opcodesflslidbnkset SYSTEM "opcodes/flslidbnkset.xml">
-<!ENTITY opcodesflslidbnksetk SYSTEM "opcodes/flslidbnksetk.xml">
-<!ENTITY opcodesflslidbnk2set SYSTEM "opcodes/flslidbnk2set.xml">
-<!ENTITY opcodesflslidbnk2setk SYSTEM "opcodes/flslidbnk2setk.xml">
-<!ENTITY opcodesflslider SYSTEM "opcodes/flslider.xml">
-<!ENTITY opcodesfltabsend SYSTEM "opcodes/fltabsend.xml">
-<!ENTITY opcodesfltabs_end SYSTEM "opcodes/fltabs_end.xml">
-<!ENTITY opcodesfltabs SYSTEM "opcodes/fltabs.xml">
-<!ENTITY opcodesfltext SYSTEM "opcodes/fltext.xml">
-<!ENTITY opcodesflupdate SYSTEM "opcodes/flupdate.xml">
-<!ENTITY opcodesflvalue SYSTEM "opcodes/flvalue.xml">
-<!ENTITY opcodesflvkeybd SYSTEM "opcodes/flvkeybd.xml">
-<!ENTITY opcodesflvslidbnk SYSTEM "opcodes/flvslidbnk.xml">
-<!ENTITY opcodesflvslidbnk2 SYSTEM "opcodes/flvslidbnk2.xml">
-<!ENTITY opcodesflxyin SYSTEM "opcodes/flxyin.xml">
-<!ENTITY opcodesfmb3 SYSTEM "opcodes/fmb3.xml">
-<!ENTITY opcodesfmbell SYSTEM "opcodes/fmbell.xml">
-<!ENTITY opcodesfmmetal SYSTEM "opcodes/fmmetal.xml">
-<!ENTITY opcodesfmpercfl SYSTEM "opcodes/fmpercfl.xml">
-<!ENTITY opcodesfmrhode SYSTEM "opcodes/fmrhode.xml">
-<!ENTITY opcodesfmvoice SYSTEM "opcodes/fmvoice.xml">
-<!ENTITY opcodesfmwurlie SYSTEM "opcodes/fmwurlie.xml">
-<!ENTITY opcodesfof2 SYSTEM "opcodes/fof2.xml">
-<!ENTITY opcodesfof SYSTEM "opcodes/fof.xml">
-<!ENTITY opcodesfofilter SYSTEM "opcodes/fofilter.xml">
-<!ENTITY opcodesfog SYSTEM "opcodes/fog.xml">
-<!ENTITY opcodesfold SYSTEM "opcodes/fold.xml">
-<!ENTITY opcodesfollow2 SYSTEM "opcodes/follow2.xml">
-<!ENTITY opcodesfollow SYSTEM "opcodes/follow.xml">
-<!ENTITY opcodesfoscili SYSTEM "opcodes/foscili.xml">
-<!ENTITY opcodesfoscil SYSTEM "opcodes/foscil.xml">
-<!ENTITY opcodesfoutir SYSTEM "opcodes/foutir.xml">
-<!ENTITY opcodesfouti SYSTEM "opcodes/fouti.xml">
-<!ENTITY opcodesfoutk SYSTEM "opcodes/foutk.xml">
-<!ENTITY opcodesfout SYSTEM "opcodes/fout.xml">
-<!ENTITY opcodesfluidAllOut SYSTEM "opcodes/fluidAllOut.xml">
-<!ENTITY opcodesfluidCCi SYSTEM "opcodes/fluidCCi.xml">
-<!ENTITY opcodesfluidCCk SYSTEM "opcodes/fluidCCk.xml">
-<!ENTITY opcodesfluidControl SYSTEM "opcodes/fluidControl.xml">
-<!ENTITY opcodesfluidEngine SYSTEM "opcodes/fluidEngine.xml">
-<!ENTITY opcodesfluidLoad SYSTEM "opcodes/fluidLoad.xml">
-<!ENTITY opcodesfluidNote SYSTEM "opcodes/fluidNote.xml">
-<!ENTITY opcodesfluidOut SYSTEM "opcodes/fluidOut.xml">
-<!ENTITY opcodesfluidProgramSelect SYSTEM "opcodes/fluidProgramSelect.xml">
-<!ENTITY opcodesfluidSetInterpMethod SYSTEM "opcodes/fluidSetInterpMethod.xml">
-<!ENTITY opcodesfprintks SYSTEM "opcodes/fprintks.xml">
-<!ENTITY opcodesfprints SYSTEM "opcodes/fprints.xml">
-<!ENTITY opcodesfrac SYSTEM "opcodes/frac.xml">
-<!ENTITY opcodesftchnls SYSTEM "opcodes/ftchnls.xml">
-<!ENTITY opcodesftgen SYSTEM "opcodes/ftgen.xml">
-<!ENTITY opcodesftgentmp SYSTEM "opcodes/ftgentmp.xml">
-<!ENTITY opcodesftlen SYSTEM "opcodes/ftlen.xml">
-<!ENTITY opcodesftloadk SYSTEM "opcodes/ftloadk.xml">
-<!ENTITY opcodesftload SYSTEM "opcodes/ftload.xml">
-<!ENTITY opcodesftlptim SYSTEM "opcodes/ftlptim.xml">
-<!ENTITY opcodesftmorf SYSTEM "opcodes/ftmorf.xml">
-<!ENTITY opcodesftsavek SYSTEM "opcodes/ftsavek.xml">
-<!ENTITY opcodesftsave SYSTEM "opcodes/ftsave.xml">
-<!ENTITY opcodesftsr SYSTEM "opcodes/ftsr.xml">
-<!ENTITY opcodesgain SYSTEM "opcodes/gain.xml">
-<!ENTITY opcodesgauss SYSTEM "opcodes/gauss.xml">
-<!ENTITY opcodesgbuzz SYSTEM "opcodes/gbuzz.xml">
-<!ENTITY opcodesgogobel SYSTEM "opcodes/gogobel.xml">
-<!ENTITY opcodesgoto SYSTEM "opcodes/goto.xml">
-<!ENTITY opcodesgrain2 SYSTEM "opcodes/grain2.xml">
-<!ENTITY opcodesgrain3 SYSTEM "opcodes/grain3.xml">
-<!ENTITY opcodesgrain SYSTEM "opcodes/grain.xml">
-<!ENTITY opcodesgranule SYSTEM "opcodes/granule.xml">
-<!ENTITY opcodesgreaterequal SYSTEM "opcodes/greaterequal.xml">
-<!ENTITY opcodesgreaterthan SYSTEM "opcodes/greaterthan.xml">
-<!ENTITY opcodesguiro SYSTEM "opcodes/guiro.xml">
-<!ENTITY opcodesharmon SYSTEM "opcodes/harmon.xml">
-<!ENTITY opcodesharmon2 SYSTEM "opcodes/harmon234.xml">
-<!ENTITY opcodeshilbert SYSTEM "opcodes/hilbert.xml">
-<!ENTITY opcodeshrtfer SYSTEM "opcodes/hrtfer.xml">
-<!ENTITY opcodeshsboscil SYSTEM "opcodes/hsboscil.xml">
-<!ENTITY opcodeshvs1 SYSTEM "opcodes/hvs1.xml">
-<!ENTITY opcodeshvs2 SYSTEM "opcodes/hvs2.xml">
-<!ENTITY opcodeshvs3 SYSTEM "opcodes/hvs3.xml">
-<!ENTITY opcodesibetarand SYSTEM "opcodes/ibetarand.xml">
-<!ENTITY opcodesibexprnd SYSTEM "opcodes/ibexprnd.xml">
-<!ENTITY opcodesicauchy SYSTEM "opcodes/icauchy.xml">
-<!ENTITY opcodesictrl14 SYSTEM "opcodes/ictrl14.xml">
-<!ENTITY opcodesictrl21 SYSTEM "opcodes/ictrl21.xml">
-<!ENTITY opcodesictrl7 SYSTEM "opcodes/ictrl7.xml">
-<!ENTITY opcodesiexprand SYSTEM "opcodes/iexprand.xml">
-<!ENTITY opcodesif SYSTEM "opcodes/if.xml">
-<!ENTITY opcodesifdef SYSTEM "opcodes/ifdef.xml">
-<!ENTITY opcodesifndef SYSTEM "opcodes/ifndef.xml">
-<!ENTITY opcodesigauss SYSTEM "opcodes/igauss.xml">
-<!ENTITY opcodesigoto SYSTEM "opcodes/igoto.xml">
-<!ENTITY opcodesihold SYSTEM "opcodes/ihold.xml">
-<!ENTITY opcodesilinrand SYSTEM "opcodes/ilinrand.xml">
-<!ENTITY opcodesimidic14 SYSTEM "opcodes/imidic14.xml">
-<!ENTITY opcodesimidic21 SYSTEM "opcodes/imidic21.xml">
-<!ENTITY opcodesimidic7 SYSTEM "opcodes/imidic7.xml">
-<!ENTITY opcodesin32 SYSTEM "opcodes/in32.xml">
-<!ENTITY opcodesinch SYSTEM "opcodes/inch.xml">
-<!ENTITY opcodesinclude SYSTEM "opcodes/include.xml">
-<!ENTITY opcodesinh SYSTEM "opcodes/inh.xml">
-<!ENTITY opcodesinitc14 SYSTEM "opcodes/initc14.xml">
-<!ENTITY opcodesinitc21 SYSTEM "opcodes/initc21.xml">
-<!ENTITY opcodesinitc7 SYSTEM "opcodes/initc7.xml">
-<!ENTITY opcodesinit SYSTEM "opcodes/init.xml">
-<!ENTITY opcodesino SYSTEM "opcodes/ino.xml">
-<!ENTITY opcodesinq SYSTEM "opcodes/inq.xml">
-<!ENTITY opcodesinrg SYSTEM "opcodes/inrg.xml">
-<!ENTITY opcodesin SYSTEM "opcodes/in.xml">
-<!ENTITY opcodesins SYSTEM "opcodes/ins.xml">
-<!ENTITY opcodesinsremot SYSTEM "opcodes/insremot.xml">
-<!ENTITY opcodesinsglobal SYSTEM "opcodes/insglobal.xml">
-<!ENTITY opcodesinstimek SYSTEM "opcodes/instimek.xml">
-<!ENTITY opcodesinstimes SYSTEM "opcodes/instimes.xml">
-<!ENTITY opcodesinstr SYSTEM "opcodes/instr.xml">
-<!ENTITY opcodesinteg SYSTEM "opcodes/integ.xml">
-<!ENTITY opcodesinterp SYSTEM "opcodes/interp.xml">
-<!ENTITY opcodesint SYSTEM "opcodes/int.xml">
-<!ENTITY opcodesinvalue SYSTEM "opcodes/invalue.xml">
-<!ENTITY opcodesinx SYSTEM "opcodes/inx.xml">
-<!ENTITY opcodesinz SYSTEM "opcodes/inz.xml">
-<!ENTITY opcodesioff SYSTEM "opcodes/ioff.xml">
-<!ENTITY opcodesiondur2 SYSTEM "opcodes/iondur2.xml">
-<!ENTITY opcodesiondur SYSTEM "opcodes/iondur.xml">
-<!ENTITY opcodesion SYSTEM "opcodes/ion.xml">
-<!ENTITY opcodesioutat SYSTEM "opcodes/ioutat.xml">
-<!ENTITY opcodesioutc14 SYSTEM "opcodes/ioutc14.xml">
-<!ENTITY opcodesioutc SYSTEM "opcodes/ioutc.xml">
-<!ENTITY opcodesioutpat SYSTEM "opcodes/ioutpat.xml">
-<!ENTITY opcodesioutpb SYSTEM "opcodes/ioutpb.xml">
-<!ENTITY opcodesioutpc SYSTEM "opcodes/ioutpc.xml">
-<!ENTITY opcodesipcauchy SYSTEM "opcodes/ipcauchy.xml">
-<!ENTITY opcodesipoisson SYSTEM "opcodes/ipoisson.xml">
-<!ENTITY opcodesipow SYSTEM "opcodes/ipow.xml">
-<!ENTITY opcodesis16b14 SYSTEM "opcodes/is16b14.xml">
-<!ENTITY opcodesis32b14 SYSTEM "opcodes/is32b14.xml">
-<!ENTITY opcodesislider16 SYSTEM "opcodes/islider16.xml">
-<!ENTITY opcodesislider32 SYSTEM "opcodes/islider32.xml">
-<!ENTITY opcodesislider64 SYSTEM "opcodes/islider64.xml">
-<!ENTITY opcodesislider8 SYSTEM "opcodes/islider8.xml">
-<!ENTITY opcodesitablecopy SYSTEM "opcodes/itablecopy.xml">
-<!ENTITY opcodesitablegpw SYSTEM "opcodes/itablegpw.xml">
-<!ENTITY opcodesitablemix SYSTEM "opcodes/itablemix.xml">
-<!ENTITY opcodesitablew SYSTEM "opcodes/itablew.xml">
-<!ENTITY opcodesitrirand SYSTEM "opcodes/itrirand.xml">
-<!ENTITY opcodesiunirand SYSTEM "opcodes/iunirand.xml">
-<!ENTITY opcodesiweibull SYSTEM "opcodes/iweibull.xml">
-<!ENTITY opcodesjitter2 SYSTEM "opcodes/jitter2.xml">
-<!ENTITY opcodesjitter SYSTEM "opcodes/jitter.xml">
-<!ENTITY opcodesjspline SYSTEM "opcodes/jspline.xml">
-<!ENTITY opcodeskbetarand SYSTEM "opcodes/kbetarand.xml">
-<!ENTITY opcodeskbexprnd SYSTEM "opcodes/kbexprnd.xml">
-<!ENTITY opcodeskcauchy SYSTEM "opcodes/kcauchy.xml">
-<!ENTITY opcodeskdump2 SYSTEM "opcodes/kdump2.xml">
-<!ENTITY opcodeskdump3 SYSTEM "opcodes/kdump3.xml">
-<!ENTITY opcodeskdump4 SYSTEM "opcodes/kdump4.xml">
-<!ENTITY opcodeskdump SYSTEM "opcodes/kdump.xml">
-<!ENTITY opcodeskexprand SYSTEM "opcodes/kexprand.xml">
-<!ENTITY opcodeskfilter2 SYSTEM "opcodes/kfilter2.xml">
-<!ENTITY opcodeskgauss SYSTEM "opcodes/kgauss.xml">
-<!ENTITY opcodeskgoto SYSTEM "opcodes/kgoto.xml">
-<!ENTITY opcodesklinrand SYSTEM "opcodes/klinrand.xml">
-<!ENTITY opcodeskon SYSTEM "opcodes/kon.xml">
-<!ENTITY opcodeskoutat SYSTEM "opcodes/koutat.xml">
-<!ENTITY opcodeskoutc14 SYSTEM "opcodes/koutc14.xml">
-<!ENTITY opcodeskoutc SYSTEM "opcodes/koutc.xml">
-<!ENTITY opcodeskoutpat SYSTEM "opcodes/koutpat.xml">
-<!ENTITY opcodeskoutpb SYSTEM "opcodes/koutpb.xml">
-<!ENTITY opcodeskoutpc SYSTEM "opcodes/koutpc.xml">
-<!ENTITY opcodeskpcauchy SYSTEM "opcodes/kpcauchy.xml">
-<!ENTITY opcodeskpoisson SYSTEM "opcodes/kpoisson.xml">
-<!ENTITY opcodeskpow SYSTEM "opcodes/kpow.xml">
-<!ENTITY opcodeskread2 SYSTEM "opcodes/kread2.xml">
-<!ENTITY opcodeskread3 SYSTEM "opcodes/kread3.xml">
-<!ENTITY opcodeskread4 SYSTEM "opcodes/kread4.xml">
-<!ENTITY opcodeskread SYSTEM "opcodes/kread.xml">
-<!ENTITY opcodeskr SYSTEM "opcodes/kr.xml">
-<!ENTITY opcodesksmps SYSTEM "opcodes/ksmps.xml">
-<!ENTITY opcodesktableseg SYSTEM "opcodes/ktableseg.xml">
-<!ENTITY opcodesktrirand SYSTEM "opcodes/ktrirand.xml">
-<!ENTITY opcodeskunirand SYSTEM "opcodes/kunirand.xml">
-<!ENTITY opcodeskweibull SYSTEM "opcodes/kweibull.xml">
-<!ENTITY opcodeslessequal SYSTEM "opcodes/lessequal.xml">
-<!ENTITY opcodeslessthan SYSTEM "opcodes/lessthan.xml">
-<!ENTITY opcodeslfo SYSTEM "opcodes/lfo.xml">
-<!ENTITY opcodeslimit SYSTEM "opcodes/limit.xml">
-<!ENTITY opcodeslinenr SYSTEM "opcodes/linenr.xml">
-<!ENTITY opcodeslinen SYSTEM "opcodes/linen.xml">
-<!ENTITY opcodesline SYSTEM "opcodes/line.xml">
-<!ENTITY opcodeslineto SYSTEM "opcodes/lineto.xml">
-<!ENTITY opcodeslinrand SYSTEM "opcodes/linrand.xml">
-<!ENTITY opcodeslinsegr SYSTEM "opcodes/linsegr.xml">
-<!ENTITY opcodeslinseg SYSTEM "opcodes/linseg.xml">
-<!ENTITY opcodeslocsend SYSTEM "opcodes/locsend.xml">
-<!ENTITY opcodeslocsig SYSTEM "opcodes/locsig.xml">
-<!ENTITY opcodeslog10 SYSTEM "opcodes/log10.xml">
-<!ENTITY opcodeslogbtwo SYSTEM "opcodes/logbtwo.xml">
-<!ENTITY opcodeslog SYSTEM "opcodes/log.xml">
-<!ENTITY opcodesloop_ge SYSTEM "opcodes/loop_ge.xml">
-<!ENTITY opcodesloop_gt SYSTEM "opcodes/loop_gt.xml">
-<!ENTITY opcodesloop_le SYSTEM "opcodes/loop_le.xml">
-<!ENTITY opcodesloop_lt SYSTEM "opcodes/loop_lt.xml">
-<!ENTITY opcodesloopseg SYSTEM "opcodes/loopseg.xml">
-<!ENTITY opcodesloopsegp SYSTEM "opcodes/loopsegp.xml">
-<!ENTITY opcodeslorenz SYSTEM "opcodes/lorenz.xml">
-<!ENTITY opcodeslorisread SYSTEM "opcodes/lorisread.xml">
-<!ENTITY opcodeslorismorph SYSTEM "opcodes/lorismorph.xml">
-<!ENTITY opcodeslorisplay SYSTEM "opcodes/lorisplay.xml">
-<!ENTITY opcodesloscil3 SYSTEM "opcodes/loscil3.xml">
-<!ENTITY opcodesloscil SYSTEM "opcodes/loscil.xml">
-<!ENTITY opcodesloscilx SYSTEM "opcodes/loscilx.xml">
-<!ENTITY opcodeslowpass2 SYSTEM "opcodes/lowpass2.xml">
-<!ENTITY opcodeslowres SYSTEM "opcodes/lowres.xml">
-<!ENTITY opcodeslowresx SYSTEM "opcodes/lowresx.xml">
-<!ENTITY opcodeslpf18 SYSTEM "opcodes/lpf18.xml">
-<!ENTITY opcodeslpfreson SYSTEM "opcodes/lpfreson.xml">
-<!ENTITY opcodeslphasor SYSTEM "opcodes/lphasor.xml">
-<!ENTITY opcodeslpinterp SYSTEM "opcodes/lpinterp.xml">
-<!ENTITY opcodeslposcil3 SYSTEM "opcodes/lposcil3.xml">
-<!ENTITY opcodeslposcila SYSTEM "opcodes/lposcila.xml">
-<!ENTITY opcodeslposcil SYSTEM "opcodes/lposcil.xml">
-<!ENTITY opcodeslposcilsa SYSTEM "opcodes/lposcilsa.xml">
-<!ENTITY opcodeslposcilsa2 SYSTEM "opcodes/lposcilsa2.xml">
-<!ENTITY opcodeslpread SYSTEM "opcodes/lpread.xml">
-<!ENTITY opcodeslpreson SYSTEM "opcodes/lpreson.xml">
-<!ENTITY opcodeslpshold SYSTEM "opcodes/lpshold.xml">
-<!ENTITY opcodeslpsholdp SYSTEM "opcodes/lpsholdp.xml">
-<!ENTITY opcodeslpslot SYSTEM "opcodes/lpslot.xml">
-<!ENTITY opcodesmaca SYSTEM "opcodes/maca.xml">
-<!ENTITY opcodesmac SYSTEM "opcodes/mac.xml">
-<!ENTITY opcodesmadsr SYSTEM "opcodes/madsr.xml">
-<!ENTITY opcodesmandel SYSTEM "opcodes/mandel.xml">
-<!ENTITY opcodesmandol SYSTEM "opcodes/mandol.xml">
-<!ENTITY opcodesmarimba SYSTEM "opcodes/marimba.xml">
-<!ENTITY opcodesmassign SYSTEM "opcodes/massign.xml">
-<!ENTITY opcodesmaxalloc SYSTEM "opcodes/maxalloc.xml">
-<!ENTITY opcodesmax_k SYSTEM "opcodes/max_k.xml">
-<!ENTITY opcodesmclock SYSTEM "opcodes/mclock.xml">
-<!ENTITY opcodesmdelay SYSTEM "opcodes/mdelay.xml">
-<!ENTITY opcodesmetro SYSTEM "opcodes/metro.xml">
-<!ENTITY opcodesmidic14 SYSTEM "opcodes/midic14.xml">
-<!ENTITY opcodesmidic21 SYSTEM "opcodes/midic21.xml">
-<!ENTITY opcodesmidic7 SYSTEM "opcodes/midic7.xml">
-<!ENTITY opcodesmidichannelaftertouch SYSTEM "opcodes/midichannelaftertouch.xml">
-<!ENTITY opcodesmidichn SYSTEM "opcodes/midichn.xml">
-<!ENTITY opcodesmidicontrolchange SYSTEM "opcodes/midicontrolchange.xml">
-<!ENTITY opcodesmidictrl SYSTEM "opcodes/midictrl.xml">
-<!ENTITY opcodesmididefault SYSTEM "opcodes/mididefault.xml">
-<!ENTITY opcodesmidiin SYSTEM "opcodes/midiin.xml">
-<!ENTITY opcodesmidinoteoff SYSTEM "opcodes/midinoteoff.xml">
-<!ENTITY opcodesmidinoteoncps SYSTEM "opcodes/midinoteoncps.xml">
-<!ENTITY opcodesmidinoteonkey SYSTEM "opcodes/midinoteonkey.xml">
-<!ENTITY opcodesmidinoteonoct SYSTEM "opcodes/midinoteonoct.xml">
-<!ENTITY opcodesmidinoteonpch SYSTEM "opcodes/midinoteonpch.xml">
-<!ENTITY opcodesmidion2 SYSTEM "opcodes/midion2.xml">
-<!ENTITY opcodesmidion SYSTEM "opcodes/midion.xml">
-<!ENTITY opcodesmidiout SYSTEM "opcodes/midiout.xml">
-<!ENTITY opcodesmidipitchbend SYSTEM "opcodes/midipitchbend.xml">
-<!ENTITY opcodesmidipolyaftertouch SYSTEM "opcodes/midipolyaftertouch.xml">
-<!ENTITY opcodesmidiprogramchange SYSTEM "opcodes/midiprogramchange.xml">
-<!ENTITY opcodesmiditempo SYSTEM "opcodes/miditempo.xml">
-<!ENTITY opcodesmidremot SYSTEM "opcodes/midremot.xml">
-<!ENTITY opcodesmidglobal SYSTEM "opcodes/midglobal.xml">
-<!ENTITY opcodesmirror SYSTEM "opcodes/mirror.xml">
-<!ENTITY opcodesmode SYSTEM "opcodes/mode.xml">
-<!ENTITY opcodesmodulus SYSTEM "opcodes/modulus.xml">
-<!ENTITY opcodesmonitor SYSTEM "opcodes/monitor.xml">
-<!ENTITY opcodesmoog SYSTEM "opcodes/moog.xml">
-<!ENTITY opcodesmoogladder SYSTEM "opcodes/moogladder.xml">
-<!ENTITY opcodesmoogvcf SYSTEM "opcodes/moogvcf.xml">
-<!ENTITY opcodesmoogvcf2 SYSTEM "opcodes/moogvcf2.xml">
-<!ENTITY opcodesmoscil SYSTEM "opcodes/moscil.xml">
-<!ENTITY opcodesmpulse SYSTEM "opcodes/mpulse.xml">
-<!ENTITY opcodesmrtmsg SYSTEM "opcodes/mrtmsg.xml">
-<!ENTITY opcodesmultiplies SYSTEM "opcodes/multiplies.xml">
-<!ENTITY opcodesmultitap SYSTEM "opcodes/multitap.xml">
-<!ENTITY opcodesmute SYSTEM "opcodes/mute.xml">
-<!ENTITY opcodesmxadsr SYSTEM "opcodes/mxadsr.xml">
-<!ENTITY opcodesnchnls SYSTEM "opcodes/nchnls.xml">
-<!ENTITY opcodesnestedap SYSTEM "opcodes/nestedap.xml">
-<!ENTITY opcodesnlfilt SYSTEM "opcodes/nlfilt.xml">
-<!ENTITY opcodesnoise SYSTEM "opcodes/noise.xml">
-<!ENTITY opcodesnoteoff SYSTEM "opcodes/noteoff.xml">
-<!ENTITY opcodesnoteondur2 SYSTEM "opcodes/noteondur2.xml">
-<!ENTITY opcodesnoteondur SYSTEM "opcodes/noteondur.xml">
-<!ENTITY opcodesnoteon SYSTEM "opcodes/noteon.xml">
-<!ENTITY opcodesnotequal SYSTEM "opcodes/notequal.xml">
-<!ENTITY opcodesnotnum SYSTEM "opcodes/notnum.xml">
-<!ENTITY opcodesnreverb SYSTEM "opcodes/nreverb.xml">
-<!ENTITY opcodesnrpn SYSTEM "opcodes/nrpn.xml">
-<!ENTITY opcodesnsamp SYSTEM "opcodes/nsamp.xml">
-<!ENTITY opcodesnstrnum SYSTEM "opcodes/nstrnum.xml">
-<!ENTITY opcodesntrpol SYSTEM "opcodes/ntrpol.xml">
-<!ENTITY opcodesoctave SYSTEM "opcodes/octave.xml">
-<!ENTITY opcodesoctcps SYSTEM "opcodes/octcps.xml">
-<!ENTITY opcodesoctmidib SYSTEM "opcodes/octmidib.xml">
-<!ENTITY opcodesoctmidi SYSTEM "opcodes/octmidi.xml">
-<!ENTITY opcodesoctpch SYSTEM "opcodes/octpch.xml">
-<!ENTITY opcodesopand SYSTEM "opcodes/opand.xml">
-<!ENTITY opcodesopa SYSTEM "opcodes/opa.xml">
-<!ENTITY opcodesopcode SYSTEM "opcodes/opcode.xml">
-<!ENTITY opcodesopi SYSTEM "opcodes/opi.xml">
-<!ENTITY opcodesopk SYSTEM "opcodes/opk.xml">
-<!ENTITY opcodesopor SYSTEM "opcodes/opor.xml">
-<!ENTITY opcodesopbitand SYSTEM "opcodes/opbitand.xml">
-<!ENTITY opcodesopbitor SYSTEM "opcodes/opbitor.xml">
-<!ENTITY opcodesopbitnot SYSTEM "opcodes/opbitnot.xml">
-<!ENTITY opcodesopnonequiv SYSTEM "opcodes/opnonequiv.xml">
-
-
-<!ENTITY opcodesoscbnk SYSTEM "opcodes/oscbnk.xml">
-<!ENTITY opcodesoscil1i SYSTEM "opcodes/oscil1i.xml">
-<!ENTITY opcodesoscil1 SYSTEM "opcodes/oscil1.xml">
-<!ENTITY opcodesoscil3 SYSTEM "opcodes/oscil3.xml">
-<!ENTITY opcodesosciliktp SYSTEM "opcodes/osciliktp.xml">
-<!ENTITY opcodesoscilikt SYSTEM "opcodes/oscilikt.xml">
-<!ENTITY opcodesoscilikts SYSTEM "opcodes/oscilikts.xml">
-<!ENTITY opcodesoscili SYSTEM "opcodes/oscili.xml">
-<!ENTITY opcodesosciln SYSTEM "opcodes/osciln.xml">
-<!ENTITY opcodesoscil SYSTEM "opcodes/oscil.xml">
-<!ENTITY opcodesoscils SYSTEM "opcodes/oscils.xml">
-<!ENTITY opcodesoscilx SYSTEM "opcodes/oscilx.xml">
-<!ENTITY opcodesout32 SYSTEM "opcodes/out32.xml">
-<!ENTITY opcodesoutch SYSTEM "opcodes/outch.xml">
-<!ENTITY opcodesoutc SYSTEM "opcodes/outc.xml">
-<!ENTITY opcodesouth SYSTEM "opcodes/outh.xml">
-<!ENTITY opcodesoutiat SYSTEM "opcodes/outiat.xml">
-<!ENTITY opcodesoutic14 SYSTEM "opcodes/outic14.xml">
-<!ENTITY opcodesoutic SYSTEM "opcodes/outic.xml">
-<!ENTITY opcodesoutipat SYSTEM "opcodes/outipat.xml">
-<!ENTITY opcodesoutipb SYSTEM "opcodes/outipb.xml">
-<!ENTITY opcodesoutipc SYSTEM "opcodes/outipc.xml">
-<!ENTITY opcodesoutkat SYSTEM "opcodes/outkat.xml">
-<!ENTITY opcodesoutkc14 SYSTEM "opcodes/outkc14.xml">
-<!ENTITY opcodesoutkc SYSTEM "opcodes/outkc.xml">
-<!ENTITY opcodesoutkpat SYSTEM "opcodes/outkpat.xml">
-<!ENTITY opcodesoutkpb SYSTEM "opcodes/outkpb.xml">
-<!ENTITY opcodesoutkpc SYSTEM "opcodes/outkpc.xml">
-<!ENTITY opcodesouto SYSTEM "opcodes/outo.xml">
-<!ENTITY opcodesoutq1 SYSTEM "opcodes/outq1.xml">
-<!ENTITY opcodesoutq2 SYSTEM "opcodes/outq2.xml">
-<!ENTITY opcodesoutq3 SYSTEM "opcodes/outq3.xml">
-<!ENTITY opcodesoutq4 SYSTEM "opcodes/outq4.xml">
-<!ENTITY opcodesoutq SYSTEM "opcodes/outq.xml">
-<!ENTITY opcodesoutrg SYSTEM "opcodes/outrg.xml">
-<!ENTITY opcodesouts1 SYSTEM "opcodes/outs1.xml">
-<!ENTITY opcodesouts2 SYSTEM "opcodes/outs2.xml">
-<!ENTITY opcodesout SYSTEM "opcodes/out.xml">
-<!ENTITY opcodesouts SYSTEM "opcodes/outs.xml">
-<!ENTITY opcodesoutvalue SYSTEM "opcodes/outvalue.xml">
-<!ENTITY opcodesoutx SYSTEM "opcodes/outx.xml">
-<!ENTITY opcodesoutz SYSTEM "opcodes/outz.xml">
-<!ENTITY opcodespan SYSTEM "opcodes/pan.xml">
-<!ENTITY opcodespan2 SYSTEM "opcodes/pan2.xml">
-<!ENTITY opcodespareq SYSTEM "opcodes/pareq.xml">
-<!ENTITY opcodespartikkel SYSTEM "opcodes/partikkel.xml">
-<!ENTITY opcodespartikkelsync SYSTEM "opcodes/partikkelsync.xml">
-<!ENTITY opcodespcauchy SYSTEM "opcodes/pcauchy.xml">
-<!ENTITY opcodespchbend SYSTEM "opcodes/pchbend.xml">
-<!ENTITY opcodespchmidib SYSTEM "opcodes/pchmidib.xml">
-<!ENTITY opcodespchmidi SYSTEM "opcodes/pchmidi.xml">
-<!ENTITY opcodespchoct SYSTEM "opcodes/pchoct.xml">
-<!ENTITY opcodespcount SYSTEM "opcodes/pcount.xml">
-<!ENTITY opcodespeakk SYSTEM "opcodes/peakk.xml">
-<!ENTITY opcodespeak SYSTEM "opcodes/peak.xml">
-<!ENTITY opcodespgmassign SYSTEM "opcodes/pgmassign.xml">
-<!ENTITY opcodesphaser1 SYSTEM "opcodes/phaser1.xml">
-<!ENTITY opcodesphaser2 SYSTEM "opcodes/phaser2.xml">
-<!ENTITY opcodesphasorbnk SYSTEM "opcodes/phasorbnk.xml">
-<!ENTITY opcodesphasor SYSTEM "opcodes/phasor.xml">
-<!ENTITY opcodespindex SYSTEM "opcodes/pindex.xml">
-<!ENTITY opcodespinkish SYSTEM "opcodes/pinkish.xml">
-<!ENTITY opcodespitchamdf SYSTEM "opcodes/pitchamdf.xml">
-<!ENTITY opcodespitch SYSTEM "opcodes/pitch.xml">
-<!ENTITY opcodesplanet SYSTEM "opcodes/planet.xml">
-<!ENTITY opcodespluck SYSTEM "opcodes/pluck.xml">
-<!ENTITY opcodespoisson SYSTEM "opcodes/poisson.xml">
-<!ENTITY opcodespolyaft SYSTEM "opcodes/polyaft.xml">
-<!ENTITY opcodespop SYSTEM "opcodes/pop.xml">
-<!ENTITY opcodespop_f SYSTEM "opcodes/pop_f.xml">
-<!ENTITY opcodesportk SYSTEM "opcodes/portk.xml">
-<!ENTITY opcodesport SYSTEM "opcodes/port.xml">
-<!ENTITY opcodesposcil3 SYSTEM "opcodes/poscil3.xml">
-<!ENTITY opcodesposcil SYSTEM "opcodes/poscil.xml">
-<!ENTITY opcodespowoftwo SYSTEM "opcodes/powoftwo.xml">
-<!ENTITY opcodespow SYSTEM "opcodes/pow.xml">
-<!ENTITY opcodesprealloc SYSTEM "opcodes/prealloc.xml">
-<!ENTITY opcodesprintk2 SYSTEM "opcodes/printk2.xml">
-<!ENTITY opcodesprintk SYSTEM "opcodes/printk.xml">
-<!ENTITY opcodesprintks SYSTEM "opcodes/printks.xml">
-<!ENTITY opcodesprints SYSTEM "opcodes/prints.xml">
-<!ENTITY opcodesprint SYSTEM "opcodes/print.xml">
-<!ENTITY opcodesproduct SYSTEM "opcodes/product.xml">
-<!ENTITY opcodespset SYSTEM "opcodes/pset.xml">
-<!ENTITY opcodesp SYSTEM "opcodes/p.xml">
-<!ENTITY opcodespush SYSTEM "opcodes/push.xml">
-<!ENTITY opcodespush_f SYSTEM "opcodes/push_f.xml">
-<!ENTITY opcodespvadd SYSTEM "opcodes/pvadd.xml">
-<!ENTITY opcodespvbufread SYSTEM "opcodes/pvbufread.xml">
-<!ENTITY opcodespvcross SYSTEM "opcodes/pvcross.xml">
-<!ENTITY opcodespvinterp SYSTEM "opcodes/pvinterp.xml">
-<!ENTITY opcodespvoc SYSTEM "opcodes/pvoc.xml">
-<!ENTITY opcodespvread SYSTEM "opcodes/pvread.xml">
-<!ENTITY opcodespvsadsyn SYSTEM "opcodes/pvsadsyn.xml">
-<!ENTITY opcodespvsanal SYSTEM "opcodes/pvsanal.xml">
-<!ENTITY opcodespvscross SYSTEM "opcodes/pvscross.xml">
-<!ENTITY opcodespvsmorph SYSTEM "opcodes/pvsmorph.xml">
-<!ENTITY opcodespvscent SYSTEM "opcodes/pvscent.xml">
-<!ENTITY opcodespvsdemix SYSTEM "opcodes/pvsdemix.xml">
-<!ENTITY opcodespvsfread SYSTEM "opcodes/pvsfread.xml">
-<!ENTITY opcodespvsdiskin SYSTEM "opcodes/pvsdiskin.xml">
-<!ENTITY opcodespvsbuffer SYSTEM "opcodes/pvsbuffer.xml">
-<!ENTITY opcodespvsbufread SYSTEM "opcodes/pvsbufread.xml">
-<!ENTITY opcodespvsfreeze SYSTEM "opcodes/pvsfreeze.xml">
-<!ENTITY opcodespvsftr SYSTEM "opcodes/pvsftr.xml">
-<!ENTITY opcodespvsftw SYSTEM "opcodes/pvsftw.xml">
-<!ENTITY opcodespvsinfo SYSTEM "opcodes/pvsinfo.xml">
-<!ENTITY opcodespvsinit SYSTEM "opcodes/pvsinit.xml">
-<!ENTITY opcodespvspitch SYSTEM "opcodes/pvspitch.xml">
-<!ENTITY opcodespvsin SYSTEM "opcodes/pvsin.xml">
-<!ENTITY opcodespvsout SYSTEM "opcodes/pvsout.xml">
-<!ENTITY opcodespvsosc SYSTEM "opcodes/pvsosc.xml">
-<!ENTITY opcodespvsdisp SYSTEM "opcodes/pvsdisp.xml">
-<!ENTITY opcodespvsbin SYSTEM "opcodes/pvsbin.xml">
-<!ENTITY opcodespvsfwrite SYSTEM "opcodes/pvsfwrite.xml">
-<!ENTITY opcodespvsmaska SYSTEM "opcodes/pvsmaska.xml">
-<!ENTITY opcodespvsynth SYSTEM "opcodes/pvsynth.xml">
-
-<!ENTITY opcodespvscale SYSTEM "opcodes/pvscale.xml">
-<!ENTITY opcodespvshift SYSTEM "opcodes/pvshift.xml">
-<!ENTITY opcodespvsmix SYSTEM "opcodes/pvsmix.xml">
-<!ENTITY opcodespvsmooth SYSTEM "opcodes/pvsmooth.xml">
-<!ENTITY opcodespvsfilter SYSTEM "opcodes/pvsfilter.xml">
-<!ENTITY opcodespvsblur SYSTEM "opcodes/pvsblur.xml">
-<!ENTITY opcodespvstencil SYSTEM "opcodes/pvstencil.xml">
-<!ENTITY opcodespvsbandp SYSTEM "opcodes/pvsbandp.xml">
-<!ENTITY opcodespvsbandr SYSTEM "opcodes/pvsbandr.xml">
-
-<!ENTITY opcodesraises SYSTEM "opcodes/raises.xml">
-<!ENTITY opcodesrandh SYSTEM "opcodes/randh.xml">
-<!ENTITY opcodesrandi SYSTEM "opcodes/randi.xml">
-<!ENTITY opcodesrandomh SYSTEM "opcodes/randomh.xml">
-<!ENTITY opcodesrandomi SYSTEM "opcodes/randomi.xml">
-<!ENTITY opcodesrandom SYSTEM "opcodes/random.xml">
-<!ENTITY opcodesrand SYSTEM "opcodes/rand.xml">
-<!ENTITY opcodesreadclock SYSTEM "opcodes/readclock.xml">
-<!ENTITY opcodesreadk2 SYSTEM "opcodes/readk2.xml">
-<!ENTITY opcodesreadk3 SYSTEM "opcodes/readk3.xml">
-<!ENTITY opcodesreadk4 SYSTEM "opcodes/readk4.xml">
-<!ENTITY opcodesreadk SYSTEM "opcodes/readk.xml">
-<!ENTITY opcodesreinit SYSTEM "opcodes/reinit.xml">
-<!ENTITY opcodesrelease SYSTEM "opcodes/release.xml">
-<!ENTITY opcodesremove SYSTEM "opcodes/remove.xml">
-<!ENTITY opcodesremoteport SYSTEM "opcodes/remoteport.xml">
-<!ENTITY opcodesrepluck SYSTEM "opcodes/repluck.xml">
-<!ENTITY opcodesresonk SYSTEM "opcodes/resonk.xml">
-<!ENTITY opcodesresonr SYSTEM "opcodes/resonr.xml">
-<!ENTITY opcodesreson SYSTEM "opcodes/reson.xml">
-<!ENTITY opcodesresonx SYSTEM "opcodes/resonx.xml">
-<!ENTITY opcodesresonxk SYSTEM "opcodes/resonxk.xml">
-<!ENTITY opcodesresony SYSTEM "opcodes/resony.xml">
-<!ENTITY opcodesresonz SYSTEM "opcodes/resonz.xml">
-<!ENTITY opcodesreverb2 SYSTEM "opcodes/reverb2.xml">
-<!ENTITY opcodesreverb SYSTEM "opcodes/reverb.xml">
-<!ENTITY opcodesrezzy SYSTEM "opcodes/rezzy.xml">
-<!ENTITY opcodesrigoto SYSTEM "opcodes/rigoto.xml">
-<!ENTITY opcodesrireturn SYSTEM "opcodes/rireturn.xml">
-<!ENTITY opcodesrms SYSTEM "opcodes/rms.xml">
-<!ENTITY opcodesround SYSTEM "opcodes/round.xml">
-<!ENTITY opcodesrnd31 SYSTEM "opcodes/rnd31.xml">
-<!ENTITY opcodesrnd SYSTEM "opcodes/rnd.xml">
-<!ENTITY opcodesrspline SYSTEM "opcodes/rspline.xml">
-<!ENTITY opcodesrtclock SYSTEM "opcodes/rtclock.xml">
-<!ENTITY opcodess16b14 SYSTEM "opcodes/s16b14.xml">
-<!ENTITY opcodess32b14 SYSTEM "opcodes/s32b14.xml">
-<!ENTITY opcodessamphold SYSTEM "opcodes/samphold.xml">
-<!ENTITY opcodessandpaper SYSTEM "opcodes/sandpaper.xml">
-<!ENTITY opcodesscanhammer SYSTEM "opcodes/scanhammer.xml">
-<!ENTITY opcodesscans SYSTEM "opcodes/scans.xml">
-<!ENTITY opcodesscantable SYSTEM "opcodes/scantable.xml">
-<!ENTITY opcodesscanu SYSTEM "opcodes/scanu.xml">
-<!ENTITY opcodesscoreline SYSTEM "opcodes/scoreline.xml">
-<!ENTITY opcodesscoreline_i SYSTEM "opcodes/scoreline_i.xml">
-<!ENTITY opcodesschedkwhen SYSTEM "opcodes/schedkwhen.xml">
-<!ENTITY opcodesschedkwhennamed SYSTEM "opcodes/schedkwhennamed.xml">
-<!ENTITY opcodesschedule SYSTEM "opcodes/schedule.xml">
-<!ENTITY opcodesschedwhen SYSTEM "opcodes/schedwhen.xml">
-<!ENTITY opcodesseed SYSTEM "opcodes/seed.xml">
-<!ENTITY opcodessekere SYSTEM "opcodes/sekere.xml">
-<!ENTITY opcodessemitone SYSTEM "opcodes/semitone.xml">
-<!ENTITY opcodessensekey SYSTEM "opcodes/sensekey.xml">
-<!ENTITY opcodessense SYSTEM "opcodes/sense.xml">
-<!ENTITY opcodesseqtime SYSTEM "opcodes/seqtime.xml">
-<!ENTITY opcodesseqtime2 SYSTEM "opcodes/seqtime2.xml">
-<!ENTITY opcodessetctrl SYSTEM "opcodes/setctrl.xml">
-<!ENTITY opcodessetksmps SYSTEM "opcodes/setksmps.xml">
-<!ENTITY opcodessfilist SYSTEM "opcodes/sfilist.xml">
-<!ENTITY opcodessfinstr3m SYSTEM "opcodes/sfinstr3m.xml">
-<!ENTITY opcodessfinstr3 SYSTEM "opcodes/sfinstr3.xml">
-<!ENTITY opcodessfinstrm SYSTEM "opcodes/sfinstrm.xml">
-<!ENTITY opcodessfinstr SYSTEM "opcodes/sfinstr.xml">
-<!ENTITY opcodessfload SYSTEM "opcodes/sfload.xml">
-<!ENTITY opcodessfpassign SYSTEM "opcodes/sfpassign.xml">
-<!ENTITY opcodessfplay3m SYSTEM "opcodes/sfplay3m.xml">
-<!ENTITY opcodessfplay3 SYSTEM "opcodes/sfplay3.xml">
-<!ENTITY opcodessfplaym SYSTEM "opcodes/sfplaym.xml">
-<!ENTITY opcodessfplay SYSTEM "opcodes/sfplay.xml">
-<!ENTITY opcodessflooper SYSTEM "opcodes/sflooper.xml">
-<!ENTITY opcodessfplist SYSTEM "opcodes/sfplist.xml">
-<!ENTITY opcodessfpreset SYSTEM "opcodes/sfpreset.xml">
-<!ENTITY opcodesshaker SYSTEM "opcodes/shaker.xml">
-<!ENTITY opcodessinh SYSTEM "opcodes/sinh.xml">
-<!ENTITY opcodessininv SYSTEM "opcodes/sininv.xml">
-<!ENTITY opcodessin SYSTEM "opcodes/sin.xml">
-<!ENTITY opcodessleighbells SYSTEM "opcodes/sleighbells.xml">
-<!ENTITY opcodesslider16f SYSTEM "opcodes/slider16f.xml">
-<!ENTITY opcodesslider16 SYSTEM "opcodes/slider16.xml">
-<!ENTITY opcodesslider32f SYSTEM "opcodes/slider32f.xml">
-<!ENTITY opcodesslider32 SYSTEM "opcodes/slider32.xml">
-<!ENTITY opcodesslider64f SYSTEM "opcodes/slider64f.xml">
-<!ENTITY opcodesslider64 SYSTEM "opcodes/slider64.xml">
-<!ENTITY opcodesslider8f SYSTEM "opcodes/slider8f.xml">
-<!ENTITY opcodesslider8 SYSTEM "opcodes/slider8.xml">
-<!ENTITY opcodesslider16tablef SYSTEM "opcodes/slider16tablef.xml">
-<!ENTITY opcodesslider16table SYSTEM "opcodes/slider16table.xml">
-<!ENTITY opcodesslider32tablef SYSTEM "opcodes/slider32tablef.xml">
-<!ENTITY opcodesslider32table SYSTEM "opcodes/slider32table.xml">
-<!ENTITY opcodesslider64tablef SYSTEM "opcodes/slider64tablef.xml">
-<!ENTITY opcodesslider64table SYSTEM "opcodes/slider64table.xml">
-<!ENTITY opcodesslider8tablef SYSTEM "opcodes/slider8tablef.xml">
-<!ENTITY opcodesslider8table SYSTEM "opcodes/slider8table.xml">
-<!ENTITY opcodessliderkawai SYSTEM "opcodes/sliderkawai.xml">
-<!ENTITY opcodessndload SYSTEM "opcodes/sndload.xml">
-<!ENTITY opcodessndwarp SYSTEM "opcodes/sndwarp.xml">
-<!ENTITY opcodessndwarpst SYSTEM "opcodes/sndwarpst.xml">
-<!ENTITY opcodessoundin SYSTEM "opcodes/soundin.xml">
-<!ENTITY opcodessoundout SYSTEM "opcodes/soundout.xml">
-<!ENTITY opcodessoundouts SYSTEM "opcodes/soundouts.xml">
-<!ENTITY opcodesspace SYSTEM "opcodes/space.xml">
-<!ENTITY opcodesspat3di SYSTEM "opcodes/spat3di.xml">
-<!ENTITY opcodesspat3d SYSTEM "opcodes/spat3d.xml">
-<!ENTITY opcodesspat3dt SYSTEM "opcodes/spat3dt.xml">
-<!ENTITY opcodesspdist SYSTEM "opcodes/spdist.xml">
-<!ENTITY opcodesspecaddm SYSTEM "opcodes/specaddm.xml">
-<!ENTITY opcodesspecdiff SYSTEM "opcodes/specdiff.xml">
-<!ENTITY opcodesspecdisp SYSTEM "opcodes/specdisp.xml">
-<!ENTITY opcodesspecfilt SYSTEM "opcodes/specfilt.xml">
-<!ENTITY opcodesspechist SYSTEM "opcodes/spechist.xml">
-<!ENTITY opcodesspecptrk SYSTEM "opcodes/specptrk.xml">
-<!ENTITY opcodesspecscal SYSTEM "opcodes/specscal.xml">
-<!ENTITY opcodesspecsum SYSTEM "opcodes/specsum.xml">
-<!ENTITY opcodesspectrum SYSTEM "opcodes/spectrum.xml">
-<!ENTITY opcodessplitrig SYSTEM "opcodes/splitrig.xml">
-<!ENTITY opcodesspsend SYSTEM "opcodes/spsend.xml">
-<!ENTITY opcodessqrt SYSTEM "opcodes/sqrt.xml">
-<!ENTITY opcodessr SYSTEM "opcodes/sr.xml">
-<!ENTITY opcodesstack SYSTEM "opcodes/stack.xml">
-<!ENTITY opcodesstatevar SYSTEM "opcodes/statevar.xml">
-<!ENTITY opcodesstix SYSTEM "opcodes/stix.xml">
-<!ENTITY opcodesstreson SYSTEM "opcodes/streson.xml">
-<!ENTITY opcodesstrset SYSTEM "opcodes/strset.xml">
-<!ENTITY opcodessubinstr SYSTEM "opcodes/subinstr.xml">
-<!ENTITY opcodessubinstrinit SYSTEM "opcodes/subinstrinit.xml">
-<!ENTITY opcodessubtracts SYSTEM "opcodes/subtracts.xml">
-<!ENTITY opcodessum SYSTEM "opcodes/sum.xml">
-<!ENTITY opcodessvfilter SYSTEM "opcodes/svfilter.xml">
-<!ENTITY opcodessyncgrain SYSTEM "opcodes/syncgrain.xml">
-<!ENTITY opcodessyncloop SYSTEM "opcodes/syncloop.xml">
-<!ENTITY opcodesdiskgrain SYSTEM "opcodes/diskgrain.xml">
-<!ENTITY opcodessystem SYSTEM "opcodes/system.xml">
-<!ENTITY opcodestable3 SYSTEM "opcodes/table3.xml">
-<!ENTITY opcodestablecopy SYSTEM "opcodes/tablecopy.xml">
-<!ENTITY opcodestablegpw SYSTEM "opcodes/tablegpw.xml">
-<!ENTITY opcodestableicopy SYSTEM "opcodes/tableicopy.xml">
-<!ENTITY opcodestableigpw SYSTEM "opcodes/tableigpw.xml">
-<!ENTITY opcodestableikt SYSTEM "opcodes/tableikt.xml">
-<!ENTITY opcodestableimix SYSTEM "opcodes/tableimix.xml">
-<!ENTITY opcodestablei SYSTEM "opcodes/tablei.xml">
-<!ENTITY opcodestableiw SYSTEM "opcodes/tableiw.xml">
-<!ENTITY opcodestablekt SYSTEM "opcodes/tablekt.xml">
-<!ENTITY opcodestablemix SYSTEM "opcodes/tablemix.xml">
-<!ENTITY opcodestableng SYSTEM "opcodes/tableng.xml">
-<!ENTITY opcodestablera SYSTEM "opcodes/tablera.xml">
-<!ENTITY opcodestableseg SYSTEM "opcodes/tableseg.xml">
-<!ENTITY opcodestable SYSTEM "opcodes/table.xml">
-<!ENTITY opcodestablewa SYSTEM "opcodes/tablewa.xml">
-<!ENTITY opcodestablewkt SYSTEM "opcodes/tablewkt.xml">
-<!ENTITY opcodestablew SYSTEM "opcodes/tablew.xml">
-<!ENTITY opcodestablexkt SYSTEM "opcodes/tablexkt.xml">
-<!ENTITY opcodestablexseg SYSTEM "opcodes/tablexseg.xml">
-<!ENTITY opcodestabmorph SYSTEM "opcodes/tabmorph.xml">
-<!ENTITY opcodestabmorpha SYSTEM "opcodes/tabmorpha.xml">
-<!ENTITY opcodestabmorphak SYSTEM "opcodes/tabmorphak.xml">
-<!ENTITY opcodestabmorphi SYSTEM "opcodes/tabmorphi.xml">
-<!ENTITY opcodestabplay SYSTEM "opcodes/tabplay.xml">
-<!ENTITY opcodestabrec SYSTEM "opcodes/tabrec.xml">
-<!ENTITY opcodestb SYSTEM "opcodes/tb.xml">
-<!ENTITY opcodestab SYSTEM "opcodes/tab.xml">
-<!ENTITY opcodestambourine SYSTEM "opcodes/tambourine.xml">
-<!ENTITY opcodestanh SYSTEM "opcodes/tanh.xml">
-<!ENTITY opcodestaninv2 SYSTEM "opcodes/taninv2.xml">
-<!ENTITY opcodestaninv SYSTEM "opcodes/taninv.xml">
-<!ENTITY opcodestan SYSTEM "opcodes/tan.xml">
-<!ENTITY opcodestbvcf SYSTEM "opcodes/tbvcf.xml">
-<!ENTITY opcodestempest SYSTEM "opcodes/tempest.xml">
-<!ENTITY opcodestempo SYSTEM "opcodes/tempo.xml">
-<!ENTITY opcodestempoval SYSTEM "opcodes/tempoval.xml">
-<!ENTITY opcodestigoto SYSTEM "opcodes/tigoto.xml">
-<!ENTITY opcodestimeinstk SYSTEM "opcodes/timeinstk.xml">
-<!ENTITY opcodestimeinsts SYSTEM "opcodes/timeinsts.xml">
-<!ENTITY opcodestimek SYSTEM "opcodes/timek.xml">
-<!ENTITY opcodestimes SYSTEM "opcodes/times.xml">
-<!ENTITY opcodestimedseq SYSTEM "opcodes/timedseq.xml">
-<!ENTITY opcodestimout SYSTEM "opcodes/timout.xml">
-<!ENTITY opcodestival SYSTEM "opcodes/tival.xml">
-<!ENTITY opcodestlineto SYSTEM "opcodes/tlineto.xml">
-<!ENTITY opcodestonek SYSTEM "opcodes/tonek.xml">
-<!ENTITY opcodestone SYSTEM "opcodes/tone.xml">
-<!ENTITY opcodestonex SYSTEM "opcodes/tonex.xml">
-<!ENTITY opcodestrandom SYSTEM "opcodes/trandom.xml">
-<!ENTITY opcodestranseg SYSTEM "opcodes/transeg.xml">
-<!ENTITY opcodestrigger SYSTEM "opcodes/trigger.xml">
-<!ENTITY opcodestrigseq SYSTEM "opcodes/trigseq.xml">
-<!ENTITY opcodestrirand SYSTEM "opcodes/trirand.xml">
-<!ENTITY opcodesturnoff SYSTEM "opcodes/turnoff.xml">
-<!ENTITY opcodesturnon SYSTEM "opcodes/turnon.xml">
-<!ENTITY opcodesundef SYSTEM "opcodes/undef.xml">
-<!ENTITY opcodesunirand SYSTEM "opcodes/unirand.xml">
-<!ENTITY opcodesupsamp SYSTEM "opcodes/upsamp.xml">
-<!ENTITY opcodesurd SYSTEM "opcodes/urd.xml">
-
-<!ENTITY opcodesvadd SYSTEM "opcodes/vadd.xml">
-<!ENTITY opcodesvexp SYSTEM "opcodes/vexp.xml">
-<!ENTITY opcodesvmult SYSTEM "opcodes/vmult.xml">
-<!ENTITY opcodesvpow SYSTEM "opcodes/vpow.xml">
-<!ENTITY opcodesvaget SYSTEM "opcodes/vaget.xml">
-<!ENTITY opcodesvalpass SYSTEM "opcodes/valpass.xml">
-<!ENTITY opcodesvaset SYSTEM "opcodes/vaset.xml">
-<!ENTITY opcodesvbap16move SYSTEM "opcodes/vbap16move.xml">
-<!ENTITY opcodesvbap16 SYSTEM "opcodes/vbap16.xml">
-<!ENTITY opcodesvbap4move SYSTEM "opcodes/vbap4move.xml">
-<!ENTITY opcodesvbap4 SYSTEM "opcodes/vbap4.xml">
-<!ENTITY opcodesvbap8move SYSTEM "opcodes/vbap8move.xml">
-<!ENTITY opcodesvbap8 SYSTEM "opcodes/vbap8.xml">
-<!ENTITY opcodesvbaplsinit SYSTEM "opcodes/vbaplsinit.xml">
-<!ENTITY opcodesvbapzmove SYSTEM "opcodes/vbapzmove.xml">
-<!ENTITY opcodesvbapz SYSTEM "opcodes/vbapz.xml">
-<!ENTITY opcodesvco2ft SYSTEM "opcodes/vco2ft.xml">
-<!ENTITY opcodesvco2ift SYSTEM "opcodes/vco2ift.xml">
-<!ENTITY opcodesvco2init SYSTEM "opcodes/vco2init.xml">
-<!ENTITY opcodesvco2 SYSTEM "opcodes/vco2.xml">
-<!ENTITY opcodesvcomb SYSTEM "opcodes/vcomb.xml">
-<!ENTITY opcodesvco SYSTEM "opcodes/vco.xml">
-<!ENTITY opcodesvdelay3 SYSTEM "opcodes/vdelay3.xml">
-<!ENTITY opcodesvdelay SYSTEM "opcodes/vdelay.xml">
-<!ENTITY opcodesvdelayxq SYSTEM "opcodes/vdelayxq.xml">
-<!ENTITY opcodesvdelayx SYSTEM "opcodes/vdelayx.xml">
-<!ENTITY opcodesvdelayxs SYSTEM "opcodes/vdelayxs.xml">
-<!ENTITY opcodesvdelayxwq SYSTEM "opcodes/vdelayxwq.xml">
-<!ENTITY opcodesvdelayxw SYSTEM "opcodes/vdelayxw.xml">
-<!ENTITY opcodesvdelayxws SYSTEM "opcodes/vdelayxws.xml">
-<!ENTITY opcodesveloc SYSTEM "opcodes/veloc.xml">
-<!ENTITY opcodesvibes SYSTEM "opcodes/vibes.xml">
-<!ENTITY opcodesvibrato SYSTEM "opcodes/vibrato.xml">
-<!ENTITY opcodesvibr SYSTEM "opcodes/vibr.xml">
-<!ENTITY opcodesvincr SYSTEM "opcodes/vincr.xml">
-<!ENTITY opcodesvlowres SYSTEM "opcodes/vlowres.xml">
-<!ENTITY opcodesvoice SYSTEM "opcodes/voice.xml">
-<!ENTITY opcodesvpvoc SYSTEM "opcodes/vpvoc.xml">
-<!ENTITY opcodesvphaseseg SYSTEM "opcodes/vphaseseg.xml">
-<!ENTITY opcodeswaveset SYSTEM "opcodes/waveset.xml">
-<!ENTITY opcodesweibull SYSTEM "opcodes/weibull.xml">
-<!ENTITY opcodeswgbowedbar SYSTEM "opcodes/wgbowedbar.xml">
-<!ENTITY opcodeswgbow SYSTEM "opcodes/wgbow.xml">
-<!ENTITY opcodeswgbrass SYSTEM "opcodes/wgbrass.xml">
-<!ENTITY opcodeswgclar SYSTEM "opcodes/wgclar.xml">
-<!ENTITY opcodeswgflute SYSTEM "opcodes/wgflute.xml">
-<!ENTITY opcodeswgpluck2 SYSTEM "opcodes/wgpluck2.xml">
-<!ENTITY opcodeswgpluck SYSTEM "opcodes/wgpluck.xml">
-<!ENTITY opcodeswguide1 SYSTEM "opcodes/wguide1.xml">
-<!ENTITY opcodeswguide2 SYSTEM "opcodes/wguide2.xml">
-<!ENTITY opcodeswrap SYSTEM "opcodes/wrap.xml">
-<!ENTITY opcodeswterrain SYSTEM "opcodes/wterrain.xml">
-<!ENTITY opcodesxadsr SYSTEM "opcodes/xadsr.xml">
-<!ENTITY opcodesxin SYSTEM "opcodes/xin.xml">
-<!ENTITY opcodesxout SYSTEM "opcodes/xout.xml">
-<!ENTITY opcodesxscanmap SYSTEM "opcodes/xscanmap.xml">
-<!ENTITY opcodesxscansmap SYSTEM "opcodes/xscansmap.xml">
-<!ENTITY opcodesxscans SYSTEM "opcodes/xscans.xml">
-<!ENTITY opcodesxscanu SYSTEM "opcodes/xscanu.xml">
-<!ENTITY opcodesxtratim SYSTEM "opcodes/xtratim.xml">
-<!ENTITY opcodesxyin SYSTEM "opcodes/xyin.xml">
-<!ENTITY opcodeszacl SYSTEM "opcodes/zacl.xml">
-<!ENTITY opcodeszakinit SYSTEM "opcodes/zakinit.xml">
-<!ENTITY opcodeszamod SYSTEM "opcodes/zamod.xml">
-<!ENTITY opcodeszarg SYSTEM "opcodes/zarg.xml">
-<!ENTITY opcodeszar SYSTEM "opcodes/zar.xml">
-<!ENTITY opcodeszawm SYSTEM "opcodes/zawm.xml">
-<!ENTITY opcodeszaw SYSTEM "opcodes/zaw.xml">
-<!ENTITY opcodeszfilter2 SYSTEM "opcodes/zfilter2.xml">
-<!ENTITY opcodeszir SYSTEM "opcodes/zir.xml">
-<!ENTITY opcodesziwm SYSTEM "opcodes/ziwm.xml">
-<!ENTITY opcodesziw SYSTEM "opcodes/ziw.xml">
-<!ENTITY opcodeszkcl SYSTEM "opcodes/zkcl.xml">
-<!ENTITY opcodeszkmod SYSTEM "opcodes/zkmod.xml">
-<!ENTITY opcodeszkr SYSTEM "opcodes/zkr.xml">
-<!ENTITY opcodeszkwm SYSTEM "opcodes/zkwm.xml">
-<!ENTITY opcodeszkw SYSTEM "opcodes/zkw.xml">
-
-<!ENTITY opcodesbarmodel SYSTEM "opcodes/barmodel.xml">
-<!ENTITY opcodesprepiano SYSTEM "opcodes/prepiano.xml">
-<!ENTITY opcodescompress SYSTEM "opcodes/compress.xml">
-<!ENTITY opcodesdistort SYSTEM "opcodes/distort.xml">-->
-
-<!ENTITY orch SYSTEM "orch/top.xml">
-<!ENTITY orchdirfiles SYSTEM "orch/dirfiles.xml">
-<!ENTITY orchexpress SYSTEM "orch/express.xml">
-<!ENTITY orchheader SYSTEM "orch/header.xml">
-<!ENTITY orchmacros SYSTEM "orch/macros.xml">
-<!ENTITY orchiblock SYSTEM "orch/iblock.xml">
-<!ENTITY orchkvar SYSTEM "orch/kvar.xml">
-<!ENTITY orchnomen SYSTEM "orch/nomen.xml">
-<!ENTITY orchstatemnt SYSTEM "orch/statemnt.xml">
-<!--<!ENTITY orchvarinit SYSTEM "orch/varinit.xml">-->
-<!ENTITY orchnamedinstruments SYSTEM "orch/namedInstruments.xml">
-<!ENTITY orchUDO SYSTEM "orch/UDO.xml">
-
-<!ENTITY pitch SYSTEM "pitch/top.xml">
-<!ENTITY pitchfuncs SYSTEM "pitch/funcs.xml">
-<!ENTITY pitchtuning SYSTEM "pitch/tuning.xml">
-
-<!ENTITY score SYSTEM "score/top.xml">
-<!ENTITY scoreampgen SYSTEM "score/ampgen.xml">
-<!ENTITY scoreeval SYSTEM "score/eval.xml">
-<!ENTITY scorefilegen SYSTEM "score/filegen.xml">
-<!ENTITY scoremacros SYSTEM "score/macros.xml">
-<!ENTITY scoremixgen SYSTEM "score/mixgen.xml">
-<!ENTITY scoremult SYSTEM "score/mult.xml">
-<!ENTITY scorenextp SYSTEM "score/nextp.xml">
-
-<!ENTITY scorenumgen SYSTEM "score/numgen.xml">
-<!ENTITY scorepreproc SYSTEM "score/preproc.xml">
-<!ENTITY scoreramp SYSTEM "score/ramp.xml">
-<!ENTITY scorestatemnt SYSTEM "score/statemnt.xml">
-<!--<!ENTITY scorerandgen SYSTEM "score/randgen.xml">
-<!ENTITY scoreseggen SYSTEM "score/seggen.xml">
-<!ENTITY scoresinegen SYSTEM "score/sinegen.xml">
-<!ENTITY scorewavegen SYSTEM "score/wavegen.xml">
-<!ENTITY scorewingen SYSTEM "score/wingen.xml">-->
-
-<!--<!ENTITY scoregens SYSTEM "scoregens/top.xml">
-<!ENTITY scoregensa SYSTEM "scoregens/a.xml">
-<!ENTITY scoregensb SYSTEM "scoregens/b.xml">
-<!ENTITY scoregense SYSTEM "scoregens/e.xml">
-<!ENTITY scoregensf SYSTEM "scoregens/f.xml">
-<!ENTITY scoregensgen01 SYSTEM "scoregens/gen01.xml">
-<!ENTITY scoregensgen02 SYSTEM "scoregens/gen02.xml">
-<!ENTITY scoregensgen03 SYSTEM "scoregens/gen03.xml">
-<!ENTITY scoregensgen04 SYSTEM "scoregens/gen04.xml">
-<!ENTITY scoregensgen05 SYSTEM "scoregens/gen05.xml">
-<!ENTITY scoregensgen06 SYSTEM "scoregens/gen06.xml">
-<!ENTITY scoregensgen07 SYSTEM "scoregens/gen07.xml">
-<!ENTITY scoregensgen08 SYSTEM "scoregens/gen08.xml">
-<!ENTITY scoregensgen09 SYSTEM "scoregens/gen09.xml">
-<!ENTITY scoregensgen10 SYSTEM "scoregens/gen10.xml">
-<!ENTITY scoregensgen11 SYSTEM "scoregens/gen11.xml">
-<!ENTITY scoregensgen12 SYSTEM "scoregens/gen12.xml">
-<!ENTITY scoregensgen13 SYSTEM "scoregens/gen13.xml">
-<!ENTITY scoregensgen14 SYSTEM "scoregens/gen14.xml">
-<!ENTITY scoregensgen15 SYSTEM "scoregens/gen15.xml">
-<!ENTITY scoregensgen16 SYSTEM "scoregens/gen16.xml">
-<!ENTITY scoregensgen17 SYSTEM "scoregens/gen17.xml">
-<!ENTITY scoregensgen18 SYSTEM "scoregens/gen18.xml">
-<!ENTITY scoregensgen19 SYSTEM "scoregens/gen19.xml">
-<!ENTITY scoregensgen20 SYSTEM "scoregens/gen20.xml">
-<!ENTITY scoregensgen21 SYSTEM "scoregens/gen21.xml">
-<!ENTITY scoregensgen22 SYSTEM "scoregens/gen22.xml">
-<!ENTITY scoregensgen23 SYSTEM "scoregens/gen23.xml">
-<!ENTITY scoregensgen24 SYSTEM "scoregens/gen24.xml">
-<!ENTITY scoregensgen25 SYSTEM "scoregens/gen25.xml">
-<!ENTITY scoregensgen27 SYSTEM "scoregens/gen27.xml">
-<!ENTITY scoregensgen28 SYSTEM "scoregens/gen28.xml">
-<!ENTITY scoregensgen30 SYSTEM "scoregens/gen30.xml">
-<!ENTITY scoregensgen31 SYSTEM "scoregens/gen31.xml">
-<!ENTITY scoregensgen32 SYSTEM "scoregens/gen32.xml">
-<!ENTITY scoregensgen33 SYSTEM "scoregens/gen33.xml">
-<!ENTITY scoregensgen34 SYSTEM "scoregens/gen34.xml">
-<!ENTITY scoregensgen40 SYSTEM "scoregens/gen40.xml">
-<!ENTITY scoregensgen41 SYSTEM "scoregens/gen41.xml">
-<!ENTITY scoregensgen42 SYSTEM "scoregens/gen42.xml">
-<!ENTITY scoregensgen43 SYSTEM "scoregens/gen43.xml">
-<!ENTITY scoregensgen49 SYSTEM "scoregens/gen49.xml">
-<!ENTITY scoregensgen51 SYSTEM "scoregens/gen51.xml">
-<!ENTITY scoregensgen52 SYSTEM "scoregens/gen52.xml">
-<!ENTITY scoregensi SYSTEM "scoregens/i.xml">
-<!ENTITY scoregensm SYSTEM "scoregens/m.xml">
-<!ENTITY scoregensn SYSTEM "scoregens/n.xml">
-<!ENTITY scoregensq SYSTEM "scoregens/q.xml">
-<!ENTITY scoregensr SYSTEM "scoregens/r.xml">
-<!ENTITY scoregenss SYSTEM "scoregens/s.xml">
-<!ENTITY scoregenst SYSTEM "scoregens/t.xml">
-<!ENTITY scoregensv SYSTEM "scoregens/v.xml">
-<!ENTITY scoregensx SYSTEM "scoregens/x.xml">-->
-
-<!ENTITY siggen SYSTEM "siggen/top.xml">
-<!ENTITY siggenadditive SYSTEM "siggen/additive.xml">
-<!ENTITY siggenbasic SYSTEM "siggen/basic.xml">
-<!ENTITY siggendynamic SYSTEM "siggen/dynamic.xml">
-<!ENTITY siggenfmsynth SYSTEM "siggen/fmsynth.xml">
-<!ENTITY siggengranular SYSTEM "siggen/granular.xml">
-<!ENTITY siggenhvs SYSTEM "siggen/hvs.xml">
-<!ENTITY siggenlineexp SYSTEM "siggen/lineexp.xml">
-<!ENTITY siggenenvelope SYSTEM "siggen/envelope.xml">
-<!ENTITY siggenmodels SYSTEM "siggen/models.xml">
-<!ENTITY siggenphasors SYSTEM "siggen/phasors.xml">
-<!ENTITY siggenrandom SYSTEM "siggen/random.xml">
-<!ENTITY siggensample SYSTEM "siggen/sample.xml">
-<!ENTITY siggenscantop SYSTEM "siggen/scantop.xml">
-<!ENTITY siggentableacc SYSTEM "siggen/tableacc.xml">
-<!ENTITY siggenwaveterr SYSTEM "siggen/waveterr.xml">
-<!ENTITY siggenwavguide SYSTEM "siggen/wavguide.xml">
-
-<!ENTITY sigio SYSTEM "sigio/top.xml">
-<!ENTITY sigiofileio SYSTEM "sigio/fileio.xml">
-<!ENTITY sigioinput SYSTEM "sigio/input.xml">
-<!ENTITY sigiooutput SYSTEM "sigio/output.xml">
-<!ENTITY sigiosoftbus SYSTEM "sigio/softbus.xml">
-<!ENTITY sigiopdisplay SYSTEM "sigio/pdisplay.xml">
-<!ENTITY sigioqueries SYSTEM "sigio/queries.xml">
-
-<!ENTITY sigmod SYSTEM "sigmod/top.xml">
-<!ENTITY sigmodampmod SYSTEM "sigmod/ampmod.xml">
-<!ENTITY sigmodconmorph SYSTEM "sigmod/conmorph.xml">
-<!ENTITY sigmoddelayops SYSTEM "sigmod/delayops.xml">
-<!ENTITY sigmodenvelope SYSTEM "sigmod/envelope.xml">
-<!ENTITY sigmodpanspatl SYSTEM "sigmod/panspatl.xml">
-<!ENTITY sigmodreverbtn SYSTEM "sigmod/reverbtn.xml">
-<!ENTITY sigmodsample SYSTEM "sigmod/sample.xml">
-<!ENTITY sigmodsiglimit SYSTEM "sigmod/siglimit.xml">
-<!ENTITY sigmodspeciale SYSTEM "sigmod/speciale.xml">
-<!ENTITY sigmodspeciali SYSTEM "sigmod/speciali.xml">
-<!ENTITY sigmodstandard SYSTEM "sigmod/standard.xml">
-<!ENTITY sigmodwavguide SYSTEM "sigmod/wavguide.xml">
-<!ENTITY sigmodcompaccum SYSTEM "sigmod/compaccum.xml">
-
-<!ENTITY spectral SYSTEM "spectral/top.xml">
-<!ENTITY spectralstft SYSTEM "spectral/stft.xml">
-<!ENTITY spectrallpcresyn SYSTEM "spectral/lpcresyn.xml">
-<!ENTITY spectralnonstand SYSTEM "spectral/nonstand.xml">
-<!ENTITY spectralrealtime SYSTEM "spectral/realtime.xml">
-<!ENTITY spectralATS SYSTEM "spectral/ATS.xml">
-<!ENTITY spectralloris SYSTEM "spectral/loris.xml">
-
-<!ENTITY table SYSTEM "table/top.xml">
-<!ENTITY tablequeries SYSTEM "table/queries.xml">
-<!ENTITY tablereadwrit SYSTEM "table/readwrit.xml">
-<!ENTITY tableselect SYSTEM "table/select.xml">
-
-<!ENTITY utility SYSTEM "utility/top.xml">
-<!ENTITY utilityanalysis SYSTEM "utility/analysis.xml">
-<!ENTITY utilityconvert SYSTEM "utility/convert.xml">
-<!ENTITY utilitycs SYSTEM "utility/cs.xml">
-<!ENTITY utilitycsb64enc SYSTEM "utility/csb64enc.xml">
-<!ENTITY utilitycvanal SYSTEM "utility/cvanal.xml">
-<!ENTITY utilitydnoise SYSTEM "utility/dnoise.xml">
-<!ENTITY utilityenvext SYSTEM "utility/envext.xml">
-<!ENTITY utilityextractor SYSTEM "utility/extractor.xml">
-<!ENTITY utilityhetro SYSTEM "utility/hetro.xml">
-<!ENTITY utilityhet_import SYSTEM "utility/het_import.xml">
-<!ENTITY utilityhet_export SYSTEM "utility/het_export.xml">
-<!ENTITY utilitylpanal SYSTEM "utility/lpanal.xml">
-<!ENTITY utilityatsa SYSTEM "utility/atsa.xml">
-<!ENTITY utilitymakecsd SYSTEM "utility/makecsd.xml">
-<!ENTITY utilitymixer SYSTEM "utility/mixer.xml">
-<!ENTITY utilityother SYSTEM "utility/other.xml">
-<!ENTITY utilitypvanal SYSTEM "utility/pvanal.xml">
-<!ENTITY utilitypv_export SYSTEM "utility/pv_export.xml">
-<!ENTITY utilitypv_import SYSTEM "utility/pv_import.xml">
-<!ENTITY utilitypvlook SYSTEM "utility/pvlook.xml">
-<!ENTITY utilityqueries SYSTEM "utility/queries.xml">
-<!ENTITY utilityscale SYSTEM "utility/scale.xml">
-<!ENTITY utilitysdif2ad SYSTEM "utility/sdif2ad.xml">
-<!ENTITY utilitysndinfo SYSTEM "utility/sndinfo.xml">
-<!ENTITY utilitysrconv SYSTEM "utility/srconv.xml">
-
-<!ENTITY zak SYSTEM "zak/top.xml">
-
-<!ENTITY strings SYSTEM "strings/top.xml">
-<!ENTITY stringsmanipulate SYSTEM "strings/manipulate.xml">
-<!ENTITY stringsconvert SYSTEM "strings/convert.xml">
-<!ENTITY opcodesgetcfg SYSTEM "opcodes/getcfg.xml">
-<!ENTITY opcodesstrchar SYSTEM "opcodes/strchar.xml">
-<!ENTITY opcodesstrchark SYSTEM "opcodes/strchark.xml">
-<!ENTITY opcodesstrcpy SYSTEM "opcodes/strcpy.xml">
-<!ENTITY opcodesstrcpyk SYSTEM "opcodes/strcpyk.xml">
-<!ENTITY opcodesstrcat SYSTEM "opcodes/strcat.xml">
-<!ENTITY opcodesstrcatk SYSTEM "opcodes/strcatk.xml">
-<!ENTITY opcodesstrcmp SYSTEM "opcodes/strcmp.xml">
-<!ENTITY opcodesstrcmpk SYSTEM "opcodes/strcmpk.xml">
-<!ENTITY opcodesstrget SYSTEM "opcodes/strget.xml">
-<!ENTITY opcodesstrindex SYSTEM "opcodes/strindex.xml">
-<!ENTITY opcodesstrindexk SYSTEM "opcodes/strindexk.xml">
-<!ENTITY opcodesstrrindex SYSTEM "opcodes/strrindex.xml">
-<!ENTITY opcodesstrrindexk SYSTEM "opcodes/strrindexk.xml">
-<!ENTITY opcodesstrlen SYSTEM "opcodes/strlen.xml">
-<!ENTITY opcodesstrlenk SYSTEM "opcodes/strlenk.xml">
-<!ENTITY opcodesstrlower SYSTEM "opcodes/strlower.xml">
-<!ENTITY opcodesstrlowerk SYSTEM "opcodes/strlowerk.xml">
-<!ENTITY opcodessprintf SYSTEM "opcodes/sprintf.xml">
-<!ENTITY opcodessprintfk SYSTEM "opcodes/sprintfk.xml">
-<!ENTITY opcodesprintf SYSTEM "opcodes/printf.xml">
-<!ENTITY opcodesputs SYSTEM "opcodes/puts.xml">
-<!ENTITY opcodesstrsub SYSTEM "opcodes/strsub.xml">
-<!ENTITY opcodesstrsubk SYSTEM "opcodes/strsubk.xml">
-<!ENTITY opcodesstrtod SYSTEM "opcodes/strtod.xml">
-<!ENTITY opcodesstrtodk SYSTEM "opcodes/strtodk.xml">
-<!ENTITY opcodesstrtol SYSTEM "opcodes/strtol.xml">
-<!ENTITY opcodesstrtolk SYSTEM "opcodes/strtolk.xml">
-<!ENTITY opcodesstrupper SYSTEM "opcodes/strupper.xml">
-<!ENTITY opcodesstrupperk SYSTEM "opcodes/strupperk.xml">
-
-<!ENTITY vectorial SYSTEM "vectorial/top.xml">
-<!ENTITY vectorialtables SYSTEM "vectorial/tables.xml">
-<!ENTITY vectorialscalar SYSTEM "vectorial/scalar.xml">
-<!ENTITY vectorialvectorial SYSTEM "vectorial/vectorial.xml">
-<!ENTITY vectorialenvelopeGenerators SYSTEM "vectorial/envelopeGenerators.xml">
-<!ENTITY vectoriallimiting SYSTEM "vectorial/limiting.xml">
-<!ENTITY vectorialdelay SYSTEM "vectorial/delay.xml">
-<!ENTITY vectorialrandom SYSTEM "vectorial/vectorialrandom.xml">
-
-<!ENTITY opcodesvtable1k SYSTEM "opcodes/vtable1k.xml">
-<!ENTITY opcodesvtablei SYSTEM "opcodes/vtablei.xml">
-<!ENTITY opcodesvtablek SYSTEM "opcodes/vtablek.xml">
-<!ENTITY opcodesvtablea SYSTEM "opcodes/vtablea.xml">
-<!ENTITY opcodesvtablewi SYSTEM "opcodes/vtablewi.xml">
-<!ENTITY opcodesvtablewk SYSTEM "opcodes/vtablewk.xml">
-<!ENTITY opcodesvtablewa SYSTEM "opcodes/vtablewa.xml">
-<!ENTITY opcodesvtabi SYSTEM "opcodes/vtabi.xml">
-<!ENTITY opcodesvtabk SYSTEM "opcodes/vtabk.xml">
-<!ENTITY opcodesvtaba SYSTEM "opcodes/vtaba.xml">
-<!ENTITY opcodesvtabwi SYSTEM "opcodes/vtabwi.xml">
-<!ENTITY opcodesvtabwk SYSTEM "opcodes/vtabwk.xml">
-<!ENTITY opcodesvtabwa SYSTEM "opcodes/vtabwa.xml">
-<!ENTITY opcodesvadd SYSTEM "opcodes/vadd.xml">
-<!ENTITY opcodesvaddi SYSTEM "opcodes/vadd_i.xml">
-<!ENTITY opcodesvmult SYSTEM "opcodes/vmult.xml">
-<!ENTITY opcodesvmulti SYSTEM "opcodes/vmult_i.xml">
-<!ENTITY opcodesvpow SYSTEM "opcodes/vpow.xml">
-<!ENTITY opcodesvpowi SYSTEM "opcodes/vpow_i.xml">
-<!ENTITY opcodesvexp SYSTEM "opcodes/vexp.xml">
-<!ENTITY opcodesvexpi SYSTEM "opcodes/vexp_i.xml">
-<!ENTITY opcodesvlinseg SYSTEM "opcodes/vlinseg.xml">
-<!ENTITY opcodesvexpseg SYSTEM "opcodes/vexpseg.xml">
-<!ENTITY opcodesvaddv SYSTEM "opcodes/vaddv.xml">
-<!ENTITY opcodesvsubv SYSTEM "opcodes/vsubv.xml">
-<!ENTITY opcodesvmultv SYSTEM "opcodes/vmultv.xml">
-<!ENTITY opcodesvdivv SYSTEM "opcodes/vdivv.xml">
-<!ENTITY opcodesvpowv SYSTEM "opcodes/vpowv.xml">
-<!ENTITY opcodesvexpv SYSTEM "opcodes/vexpv.xml">
-<!ENTITY opcodesvaddv_i SYSTEM "opcodes/vaddv_i.xml">
-<!ENTITY opcodesvsubv_i SYSTEM "opcodes/vsubv_i.xml">
-<!ENTITY opcodesvmultv_i SYSTEM "opcodes/vmultv_i.xml">
-<!ENTITY opcodesvdivv_i SYSTEM "opcodes/vdivv_i.xml">
-<!ENTITY opcodesvpowv_i SYSTEM "opcodes/vpowv_i.xml">
-<!ENTITY opcodesvexpv_i SYSTEM "opcodes/vexpv_i.xml">
-<!ENTITY opcodesvcopy SYSTEM "opcodes/vcopy.xml">
-<!ENTITY opcodesvcopy_i SYSTEM "opcodes/vcopy_i.xml">
-<!ENTITY opcodesvmap SYSTEM "opcodes/vmap.xml">
-<!ENTITY opcodesvlimit SYSTEM "opcodes/vlimit.xml">
-<!ENTITY opcodesvwrap SYSTEM "opcodes/vwrap.xml">
-<!ENTITY opcodesvmirror SYSTEM "opcodes/vmirror.xml">
-
-<!ENTITY opcodesvcella SYSTEM "opcodes/vcella.xml">
-<!ENTITY opcodesvdelayk SYSTEM "opcodes/vdelayk.xml">
-
-<!ENTITY opcodesvport SYSTEM "opcodes/vport.xml">
-<!ENTITY opcodesvecdelay SYSTEM "opcodes/vecdelay.xml">
-
-<!ENTITY opcodesvrandh SYSTEM "opcodes/vrandh.xml">
-<!ENTITY opcodesvrandi SYSTEM "opcodes/vrandi.xml">
-
-
-<!ENTITY csoundversion "5.10">
-]>
-
-<book id="index" lang="en">
-  <title>The Canonical Csound Reference Manual</title>
-  <subtitle>Version &csoundversion;</subtitle>
-  <bookinfo>
-    <authorgroup>
-      <author>
-        <firstname>Barry</firstname>
-        <surname>Vercoe</surname>
-        <affiliation>
-          <orgname>MIT Media Lab
-          </orgname>
-        </affiliation>
-      </author>
- 
-    </authorgroup>
-
-    <edition>&csoundversion;</edition>
-
-    <copyright>
-      <year>1986</year>
-      <year>1992</year>
-      <holder>Massachusetts Institute of Technology</holder>
-    </copyright>
-  </bookinfo>
-
-<!--   &pface; -->
-
-  <part id="PartOverview">
-    <title>Overview</title>
-    &oviewintroduction;
-    &oviewrecentdev;
-
-    &command;
-    &oviewusing;
-    &oviewconfiguring;
-    &orch;
-<!--     &score; -->
-    &oviewfrontends;
-<!--     &tclcsound; -->
-    &oviewbuilding;
-    &oviewlinks;
-
-  </part>
-
-  <!-- &csound5opcodesSection; -->
-
-  <part id="PartOpcodesOverview">
-    <title>Opcodes Overview</title>
-
-<!--    &siggen;
-    &sigio;
-    &sigmod;
-    &control;
-    &table;
-    &math;
-    &pitch;
-    &midi;
-    &spectral;
-    &strings;
-    &vectorial;
-    &zak;
-    &plugin;
-    &oscnetwork;
-    &mixer;
-    &py;
-    &miscopcodes;-->
-
-  </part>
-
-  <part id="PartReference">
-    <title>Reference</title>
-<!--     &opcodes; -->
-<!--     &scoregens; -->
-    &utility;
-<!--     &cscore; -->
-    &csound5extending;
-  </part>
-
-<!--   &misc; -->
-
-</book>
-
-
diff --git a/manual.xml b/manual.xml
index 11f7312..2a55d67 100644
--- a/manual.xml
+++ b/manual.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
- "c:/utah/opt/docbook-xml-4.5/docbookx.dtd" [
+ "../docbook-xml-4.5/docbookx.dtd" [
 
 <!--!DOCTYPE book SYSTEM "docbook42/docbookx.dtd" [ -->
 
@@ -30,17 +30,22 @@
 <!ENTITY oviewrealtimelinux SYSTEM "overview/realtimelinux.xml">
 <!ENTITY oviewrealtimewindows SYSTEM "overview/realtimewindows.xml">
 <!ENTITY oviewrealtimemac SYSTEM "overview/realtimemac.xml">
+<!ENTITY oviewfunctional SYSTEM "overview/functional.xml">
+
 
 <!-- CSOUND 5 -->
 <!--<!ENTITY csound5licenses SYSTEM "csound5/licenses.xml">-->
+<!--
 <!ENTITY csound5preface SYSTEM "csound5/preface.xml">
 <!ENTITY csound5acknowledgments SYSTEM "csound5/acknowledgments.xml">
 <!ENTITY csound5extending SYSTEM "csound5/extending.xml">
+-->
+
+<!ENTITY lua SYSTEM "csound5/opcodes/lua.xml">
 <!ENTITY py SYSTEM "csound5/opcodes/py.xml">
 <!ENTITY mixer SYSTEM "csound5/opcodes/mixer.xml">
 <!ENTITY signalflowgraph SYSTEM "csound5/opcodes/signalflowgraph.xml">
 <!ENTITY jacko SYSTEM "csound5/opcodes/Jacko.xml">
-<!ENTITY tclcsound SYSTEM "csound5/tclcsound.xml">
 <!-- <!ENTITY csound5opcodesSection SYSTEM "overview/cs5opcodes.xml"> -->
 
 
@@ -82,6 +87,7 @@
 <!ENTITY controltimeread SYSTEM "control/timeread.xml">
 
 <!ENTITY imageopcodes SYSTEM "imageopcodes/top.xml">
+<!ENTITY stkopcodes SYSTEM "STKopcodes/top.xml">
 <!ENTITY miscopcodes SYSTEM "miscopcodes/top.xml">
 
 <!ENTITY cscore SYSTEM "cscore/top.xml">
@@ -90,7 +96,10 @@
 <!ENTITY cscoreevents SYSTEM "cscore/events.xml">
 <!ENTITY cscoremain SYSTEM "cscore/main.xml">
 
-<!ENTITY beats SYSTEM "beats/top.xml">
+<!ENTITY csbeats SYSTEM "csbeats/top.xml">
+<!ENTITY csbeatssyntax SYSTEM "csbeats/syntax.xml">
+<!ENTITY csbeatsexample SYSTEM "csbeats/example.xml">
+
 <!ENTITY math SYSTEM "math/top.xml">
 <!ENTITY mathamp SYSTEM "math/amp.xml">
 <!ENTITY mathartlogic SYSTEM "math/artlogic.xml">
@@ -99,6 +108,7 @@
 <!ENTITY mathrndfunc SYSTEM "math/rndfunc.xml">
 <!ENTITY mathtrig SYSTEM "math/trig.xml">
 <!ENTITY linearalgebra SYSTEM "math/linearalgebra.xml">
+<!ENTITY array SYSTEM "math/array.xml">
 
 <!ENTITY midi SYSTEM "midi/top.xml">
 <!ENTITY midivirtual SYSTEM "midi/virtual.xml">
@@ -148,6 +158,7 @@
 <!ENTITY namepinot "François Pinot">
 <!ENTITY namevictor "Victor Lazzarini">
 <!ENTITY namepeter "Peter Brinkmann">
+<!ENTITY nametito "Tito Latini">
 
 <!ENTITY opcodes SYSTEM "opcodes/top.xml">
 <!ENTITY opcodes0dbfs SYSTEM "opcodes/0dbfs.xml">
@@ -227,8 +238,11 @@
 <!ENTITY opcodesbuzz SYSTEM "opcodes/buzz.xml">
 <!ENTITY opcodescabasa SYSTEM "opcodes/cabasa.xml">
 <!ENTITY opcodescauchy SYSTEM "opcodes/cauchy.xml">
+<!ENTITY opcodescauchyi SYSTEM "opcodes/cauchyi.xml">
+<!ENTITY opcodescell SYSTEM "opcodes/cell.xml">
 <!ENTITY opcodescent SYSTEM "opcodes/cent.xml">
 <!ENTITY opcodesceil SYSTEM "opcodes/ceil.xml">
+<!ENTITY opcodescentroid SYSTEM "opcodes/centroid.xml">
 <!ENTITY opcodescggoto SYSTEM "opcodes/cggoto.xml">
 <!ENTITY opcodeschanctrl SYSTEM "opcodes/chanctrl.xml">
 <!ENTITY opcodeschanged SYSTEM "opcodes/changed.xml">
@@ -258,14 +272,22 @@
 <!ENTITY opcodesclock SYSTEM "opcodes/clock.xml">
 <!ENTITY opcodescngoto SYSTEM "opcodes/cngoto.xml">
 <!ENTITY opcodescomb SYSTEM "opcodes/comb.xml">
+<!ENTITY opcodescombinv SYSTEM "opcodes/combinv.xml">
+<!ENTITY opcodescompileorc SYSTEM "opcodes/compileorc.xml">
+<!ENTITY opcodescompilestr SYSTEM "opcodes/compilestr.xml">
 <!ENTITY opcodescompress SYSTEM "opcodes/compress.xml">
 <!ENTITY opcodesconnect SYSTEM "opcodes/connect.xml">
 <!ENTITY opcodescontrol SYSTEM "opcodes/control.xml">
 <!ENTITY opcodesconvle SYSTEM "opcodes/convle.xml">
 <!ENTITY opcodesconvolve SYSTEM "opcodes/convolve.xml">
+<!ENTITY opcodescopya2ftab SYSTEM "opcodes/copya2ftab.xml">
+<!ENTITY opcodescopyf2array SYSTEM "opcodes/copyf2array.xml">
 <!ENTITY opcodescosh SYSTEM "opcodes/cosh.xml">
 <!ENTITY opcodescosinv SYSTEM "opcodes/cosinv.xml">
 <!ENTITY opcodescos SYSTEM "opcodes/cos.xml">
+<!ENTITY opcodescosseg SYSTEM "opcodes/cosseg.xml">
+<!ENTITY opcodescossegb SYSTEM "opcodes/cossegb.xml">
+<!ENTITY opcodescossegr SYSTEM "opcodes/cossegr.xml">
 <!ENTITY opcodescps2pch SYSTEM "opcodes/cps2pch.xml">
 <!ENTITY opcodescpsmidib SYSTEM "opcodes/cpsmidib.xml">
 <!ENTITY opcodescpsmidi SYSTEM "opcodes/cpsmidi.xml">
@@ -276,6 +298,7 @@
 <!ENTITY opcodescpstuni SYSTEM "opcodes/cpstuni.xml">
 <!ENTITY opcodescpstun SYSTEM "opcodes/cpstun.xml">
 <!ENTITY opcodescpsxpch SYSTEM "opcodes/cpsxpch.xml">
+<!ENTITY opcodescpumeter SYSTEM "opcodes/cpumeter.xml">
 <!ENTITY opcodescpuprc SYSTEM "opcodes/cpuprc.xml">
 <!ENTITY opcodescross2 SYSTEM "opcodes/cross2.xml">
 <!ENTITY opcodescrossfm SYSTEM "opcodes/crossfm.xml">
@@ -332,6 +355,8 @@
 <!ENTITY opcodesdumpk4 SYSTEM "opcodes/dumpk4.xml">
 <!ENTITY opcodesdumpk SYSTEM "opcodes/dumpk.xml">
 <!ENTITY opcodesduserrnd SYSTEM "opcodes/duserrnd.xml">
+<!ENTITY opcodesdust SYSTEM "opcodes/dust.xml">
+<!ENTITY opcodesdust2 SYSTEM "opcodes/dust2.xml">
 <!ENTITY opcodeselseif SYSTEM "opcodes/elseif.xml">
 <!ENTITY opcodeselse SYSTEM "opcodes/else.xml">
 <!ENTITY opcodesendif SYSTEM "opcodes/endif.xml">
@@ -343,15 +368,25 @@
 <!ENTITY opcodesequals SYSTEM "opcodes/equals.xml">
 <!ENTITY opcodeseqfil SYSTEM "opcodes/eqfil.xml">
 <!ENTITY opcodesevent SYSTEM "opcodes/event.xml">
+<!ENTITY opcodesevalstr SYSTEM "opcodes/evalstr.xml">
+
 <!ENTITY opcodesevent_i SYSTEM "opcodes/event_i.xml">
 <!ENTITY opcodesexitnow SYSTEM "opcodes/exitnow.xml">
 <!ENTITY opcodesexpon SYSTEM "opcodes/expon.xml">
 <!ENTITY opcodesexpcurve SYSTEM "opcodes/expcurve.xml">
 <!ENTITY opcodesexprand SYSTEM "opcodes/exprand.xml">
+<!ENTITY opcodesexprandi SYSTEM "opcodes/exprandi.xml">
 <!ENTITY opcodesexpsega SYSTEM "opcodes/expsega.xml">
+<!ENTITY opcodesexpsegb SYSTEM "opcodes/expsegb.xml">
+<!ENTITY opcodesexpsegba SYSTEM "opcodes/expsegba.xml">
 <!ENTITY opcodesexpsegr SYSTEM "opcodes/expsegr.xml">
 <!ENTITY opcodesexpseg SYSTEM "opcodes/expseg.xml">
 <!ENTITY opcodesexp SYSTEM "opcodes/exp.xml">
+
+<!ENTITY opcodesfaustaudio SYSTEM "opcodes/faustaudio.xml">
+<!ENTITY opcodesfaustcompile SYSTEM "opcodes/faustcompile.xml">
+<!ENTITY opcodesfaustgen SYSTEM "opcodes/faustgen.xml">
+<!ENTITY opcodesfaustctl SYSTEM "opcodes/faustctl.xml">
 <!ENTITY opcodesfareylen SYSTEM "opcodes/fareylen.xml">
 <!ENTITY opcodesfareyleni SYSTEM "opcodes/fareyleni.xml">
 <!ENTITY opcodesficlose SYSTEM "opcodes/ficlose.xml">
@@ -361,6 +396,8 @@
 <!ENTITY opcodesfilepeak SYSTEM "opcodes/filepeak.xml">
 <!ENTITY opcodesfilesr SYSTEM "opcodes/filesr.xml">
 <!ENTITY opcodesfilevalid SYSTEM "opcodes/filevalid.xml">
+<!ENTITY opcodesfillarray SYSTEM "opcodes/fillarray.xml">
+<!ENTITY opcodesarray SYSTEM "opcodes/array.xml">
 <!ENTITY opcodesfilter2 SYSTEM "opcodes/filter2.xml">
 <!ENTITY opcodesfini SYSTEM "opcodes/fini.xml">
 <!ENTITY opcodesfink SYSTEM "opcodes/fink.xml">
@@ -473,6 +510,7 @@
 <!ENTITY opcodesfprintks SYSTEM "opcodes/fprintks.xml">
 <!ENTITY opcodesfprints SYSTEM "opcodes/fprints.xml">
 <!ENTITY opcodesfrac SYSTEM "opcodes/frac.xml">
+<!ENTITY opcodesfractalnoise SYSTEM "opcodes/fractalnoise.xml">
 <!ENTITY opcodesfreeverb SYSTEM "opcodes/freeverb.xml">
 <!ENTITY opcodesftchnls SYSTEM "opcodes/ftchnls.xml">
 <!ENTITY opcodesftconv SYSTEM "opcodes/ftconv.xml">
@@ -492,7 +530,12 @@
 <!ENTITY opcodesgain SYSTEM "opcodes/gain.xml">
 <!ENTITY opcodesgainslider SYSTEM "opcodes/gainslider.xml">
 <!ENTITY opcodesgauss SYSTEM "opcodes/gauss.xml">
+<!ENTITY opcodesgaussi SYSTEM "opcodes/gaussi.xml">
+<!ENTITY opcodesgausstrig SYSTEM "opcodes/gausstrig.xml">
 <!ENTITY opcodesgbuzz SYSTEM "opcodes/gbuzz.xml">
+<!ENTITY opcodesgendy SYSTEM "opcodes/gendy.xml">
+<!ENTITY opcodesgendyc SYSTEM "opcodes/gendyc.xml">
+<!ENTITY opcodesgendyx SYSTEM "opcodes/gendyx.xml">
 <!ENTITY opcodesgetcfg SYSTEM "opcodes/getcfg.xml">
 <!ENTITY opcodesgogobel SYSTEM "opcodes/gogobel.xml">
 <!ENTITY opcodesgoto SYSTEM "opcodes/goto.xml">
@@ -527,6 +570,7 @@
 <!ENTITY opcodesilinrand SYSTEM "opcodes/ilinrand.xml">
 <!ENTITY opcodesinleta SYSTEM "opcodes/inleta.xml">
 <!ENTITY opcodesinletk SYSTEM "opcodes/inletk.xml">
+<!ENTITY opcodesinletkid SYSTEM "opcodes/inletkid.xml">
 <!ENTITY opcodesinletf SYSTEM "opcodes/inletf.xml">
 <!ENTITY opcodesimagecreate SYSTEM "opcodes/imagecreate.xml">
 <!ENTITY opcodesimagefree SYSTEM "opcodes/imagefree.xml">
@@ -554,6 +598,7 @@
 <!ENTITY opcodesins SYSTEM "opcodes/ins.xml">
 <!ENTITY opcodesinsremot SYSTEM "opcodes/insremot.xml">
 <!ENTITY opcodesinsglobal SYSTEM "opcodes/insglobal.xml">
+<!ENTITY opcodesinstance SYSTEM "opcodes/instance.xml">
 <!ENTITY opcodesinstimek SYSTEM "opcodes/instimek.xml">
 <!ENTITY opcodesinstimes SYSTEM "opcodes/instimes.xml">
 <!ENTITY opcodesinstr SYSTEM "opcodes/instr.xml">
@@ -606,6 +651,7 @@
 <!ENTITY opcodesjacktransport SYSTEM "opcodes/jacktransport.xml">
 <!ENTITY opcodesjitter2 SYSTEM "opcodes/jitter2.xml">
 <!ENTITY opcodesjitter SYSTEM "opcodes/jitter.xml">
+<!ENTITY opcodesjoystick SYSTEM "opcodes/joystick.xml">
 <!ENTITY opcodesjspline SYSTEM "opcodes/jspline.xml">
 
 <!ENTITY opcodeskbetarand SYSTEM "opcodes/kbetarand.xml">
@@ -619,6 +665,7 @@
 <!ENTITY opcodeskfilter2 SYSTEM "opcodes/kfilter2.xml">
 <!ENTITY opcodeskgauss SYSTEM "opcodes/kgauss.xml">
 <!ENTITY opcodeskgoto SYSTEM "opcodes/kgoto.xml">
+<!ENTITY opcodeskill SYSTEM "opcodes/kill.xml">
 <!ENTITY opcodesklinrand SYSTEM "opcodes/klinrand.xml">
 <!ENTITY opcodeskon SYSTEM "opcodes/kon.xml">
 <!ENTITY opcodeskoutat SYSTEM "opcodes/koutat.xml">
@@ -640,6 +687,7 @@
 <!ENTITY opcodesktrirand SYSTEM "opcodes/ktrirand.xml">
 <!ENTITY opcodeskunirand SYSTEM "opcodes/kunirand.xml">
 <!ENTITY opcodeskweibull SYSTEM "opcodes/kweibull.xml">
+<!ENTITY opcodeslenarray SYSTEM "opcodes/lenarray.xml">
 <!ENTITY opcodeslessequal SYSTEM "opcodes/lessequal.xml">
 <!ENTITY opcodeslessthan SYSTEM "opcodes/lessthan.xml">
 <!ENTITY opcodeslfo SYSTEM "opcodes/lfo.xml">
@@ -652,9 +700,11 @@
 <!ENTITY opcodeslinrand SYSTEM "opcodes/linrand.xml">
 <!ENTITY opcodeslinsegr SYSTEM "opcodes/linsegr.xml">
 <!ENTITY opcodeslinseg SYSTEM "opcodes/linseg.xml">
+<!ENTITY opcodeslinsegb SYSTEM "opcodes/linsegb.xml">
 <!ENTITY opcodeslocsend SYSTEM "opcodes/locsend.xml">
 <!ENTITY opcodeslocsig SYSTEM "opcodes/locsig.xml">
 <!ENTITY opcodeslog10 SYSTEM "opcodes/log10.xml">
+<!ENTITY opcodeslog2 SYSTEM "opcodes/log2.xml">
 <!ENTITY opcodeslogcurve SYSTEM "opcodes/logcurve.xml">
 <!ENTITY opcodeslogbtwo SYSTEM "opcodes/logbtwo.xml">
 <!ENTITY opcodeslog SYSTEM "opcodes/log.xml">
@@ -690,6 +740,11 @@
 <!ENTITY opcodeslpshold SYSTEM "opcodes/lpshold.xml">
 <!ENTITY opcodeslpsholdp SYSTEM "opcodes/lpsholdp.xml">
 <!ENTITY opcodeslpslot SYSTEM "opcodes/lpslot.xml">
+
+<!ENTITY opcodeslua_exec SYSTEM "opcodes/lua_exec.xml">
+<!ENTITY opcodeslua_opdef SYSTEM "opcodes/lua_opdef.xml">
+<!ENTITY opcodeslua_opcall SYSTEM "opcodes/lua_opcall.xml">
+
 <!ENTITY opcodesmaca SYSTEM "opcodes/maca.xml">
 <!ENTITY opcodesmac SYSTEM "opcodes/mac.xml">
 <!ENTITY opcodesmadsr SYSTEM "opcodes/madsr.xml">
@@ -704,6 +759,7 @@
 <!ENTITY opcodesmaxabs SYSTEM "opcodes/maxabs.xml">
 <!ENTITY opcodesmaxabsaccum SYSTEM "opcodes/maxabsaccum.xml">
 <!ENTITY opcodesmaxaccum SYSTEM "opcodes/maxaccum.xml">
+<!ENTITY opcodesmaxarray SYSTEM "opcodes/maxarray.xml">
 
 <!ENTITY opcodesmclock SYSTEM "opcodes/mclock.xml">
 <!ENTITY opcodesmdelay SYSTEM "opcodes/mdelay.xml">
@@ -731,6 +787,7 @@
 <!ENTITY opcodesmidipolyaftertouch SYSTEM "opcodes/midipolyaftertouch.xml">
 <!ENTITY opcodesmidiprogramchange SYSTEM "opcodes/midiprogramchange.xml">
 <!ENTITY opcodesmiditempo SYSTEM "opcodes/miditempo.xml">
+<!ENTITY opcodesmidifilestatus SYSTEM "opcodes/midifilestatus.xml">
 <!ENTITY opcodesmidremot SYSTEM "opcodes/midremot.xml">
 <!ENTITY opcodesmidglobal SYSTEM "opcodes/midglobal.xml">
 <!ENTITY opcodesmin SYSTEM "opcodes/min.xml">
@@ -738,6 +795,7 @@
 <!ENTITY opcodesminabsaccum SYSTEM "opcodes/minabsaccum.xml">
 <!ENTITY opcodesminaccum SYSTEM "opcodes/minaccum.xml">
 <!ENTITY opcodesmincer SYSTEM "opcodes/mincer.xml">
+<!ENTITY opcodesminarray SYSTEM "opcodes/minarray.xml">
 <!ENTITY opcodesmirror SYSTEM "opcodes/mirror.xml">
 
 <!ENTITY opcodesmixersetlevel SYSTEM "opcodes/mixersetlevel.xml">
@@ -757,6 +815,7 @@
 <!ENTITY opcodesmoogvcf2 SYSTEM "opcodes/moogvcf2.xml">
 <!ENTITY opcodesmoscil SYSTEM "opcodes/moscil.xml">
 <!ENTITY opcodesmp3in SYSTEM "opcodes/mp3in.xml">
+<!ENTITY opcodesmp3len SYSTEM "opcodes/mp3len.xml">
 <!ENTITY opcodesmpulse SYSTEM "opcodes/mpulse.xml">
 <!ENTITY opcodesmrtmsg SYSTEM "opcodes/mrtmsg.xml">
 <!ENTITY opcodesmultiplies SYSTEM "opcodes/multiplies.xml">
@@ -767,6 +826,7 @@
 <!ENTITY opcodesnchnlsi SYSTEM "opcodes/nchnls_i.xml">
 <!ENTITY opcodesnestedap SYSTEM "opcodes/nestedap.xml">
 <!ENTITY opcodesnlfilt SYSTEM "opcodes/nlfilt.xml">
+<!ENTITY opcodesnlfilt2 SYSTEM "opcodes/nlfilt2.xml">
 <!ENTITY opcodesnoise SYSTEM "opcodes/noise.xml">
 <!ENTITY opcodesnoteoff SYSTEM "opcodes/noteoff.xml">
 <!ENTITY opcodesnoteondur2 SYSTEM "opcodes/noteondur2.xml">
@@ -833,6 +893,7 @@
 <!ENTITY opcodesoutkpc SYSTEM "opcodes/outkpc.xml">
 <!ENTITY opcodesoutleta SYSTEM "opcodes/outleta.xml">
 <!ENTITY opcodesoutletk SYSTEM "opcodes/outletk.xml">
+<!ENTITY opcodesoutletkid SYSTEM "opcodes/outletkid.xml">
 <!ENTITY opcodesoutletf SYSTEM "opcodes/outletf.xml">
 <!ENTITY opcodesouto SYSTEM "opcodes/outo.xml">
 <!ENTITY opcodesoutq1 SYSTEM "opcodes/outq1.xml">
@@ -880,7 +941,10 @@
 <!ENTITY opcodespitchamdf SYSTEM "opcodes/pitchamdf.xml">
 <!ENTITY opcodespitch SYSTEM "opcodes/pitch.xml">
 <!ENTITY opcodesplanet SYSTEM "opcodes/planet.xml">
+<!ENTITY opcodesplaterev SYSTEM "opcodes/platerev.xml">
+<!ENTITY opcodesplltrack SYSTEM "opcodes/plltrack.xml">
 <!ENTITY opcodespluck SYSTEM "opcodes/pluck.xml">
+<!ENTITY opcodesplusbecomes SYSTEM "opcodes/plusbecomes.xml">
 <!ENTITY opcodespoisson SYSTEM "opcodes/poisson.xml">
 <!ENTITY opcodespolyaft SYSTEM "opcodes/polyaft.xml">
 <!ENTITY opcodespolynomial SYSTEM "opcodes/polynomial.xml">
@@ -902,6 +966,10 @@
 <!ENTITY opcodesprint SYSTEM "opcodes/print.xml">
 <!ENTITY opcodesproduct SYSTEM "opcodes/product.xml">
 <!ENTITY opcodespset SYSTEM "opcodes/pset.xml">
+<!ENTITY opcodesptable SYSTEM "opcodes/ptable.xml">
+<!ENTITY opcodesptablei SYSTEM "opcodes/ptablei.xml">
+<!ENTITY opcodesptablew SYSTEM "opcodes/ptablew.xml">
+<!ENTITY opcodesptable3 SYSTEM "opcodes/ptable3.xml">
 <!ENTITY opcodesptrack SYSTEM "opcodes/ptrack.xml">
 <!ENTITY opcodesp SYSTEM "opcodes/p.xml">
 <!ENTITY opcodespush SYSTEM "opcodes/push.xml">
@@ -922,6 +990,7 @@
 <!ENTITY opcodespvsdiskin SYSTEM "opcodes/pvsdiskin.xml">
 <!ENTITY opcodespvsbuffer SYSTEM "opcodes/pvsbuffer.xml">
 <!ENTITY opcodespvsbufread SYSTEM "opcodes/pvsbufread.xml">
+<!ENTITY opcodespvsbufread2 SYSTEM "opcodes/pvsbufread2.xml">
 <!ENTITY opcodespvsfreeze SYSTEM "opcodes/pvsfreeze.xml">
 <!ENTITY opcodespvsftr SYSTEM "opcodes/pvsftr.xml">
 <!ENTITY opcodespvsftw SYSTEM "opcodes/pvsftw.xml">
@@ -947,12 +1016,13 @@
 <!ENTITY opcodespvsmix SYSTEM "opcodes/pvsmix.xml">
 <!ENTITY opcodespvsmooth SYSTEM "opcodes/pvsmooth.xml">
 <!ENTITY opcodespvsfilter SYSTEM "opcodes/pvsfilter.xml">
+<!ENTITY opcodespvsgain SYSTEM "opcodes/pvsgain.xml">
 <!ENTITY opcodespvsblur SYSTEM "opcodes/pvsblur.xml">
 <!ENTITY opcodespvstencil SYSTEM "opcodes/pvstencil.xml">
 <!ENTITY opcodespvsbandp SYSTEM "opcodes/pvsbandp.xml">
 <!ENTITY opcodespvsbandr SYSTEM "opcodes/pvsbandr.xml">
 <!ENTITY opcodespvstanal SYSTEM "opcodes/pvstanal.xml">
-
+<!ENTITY opcodespvs2tab SYSTEM "opcodes/pvs2tab.xml">
 <!ENTITY opcodespyassign SYSTEM "opcodes/pyassign.xml">
 <!ENTITY opcodespycall SYSTEM "opcodes/pycall.xml">
 <!ENTITY opcodespyeval SYSTEM "opcodes/pyeval.xml">
@@ -960,8 +1030,14 @@
 <!ENTITY opcodespyinit SYSTEM "opcodes/pyinit.xml">
 <!ENTITY opcodespyrun SYSTEM "opcodes/pyrun.xml">
 
+<!ENTITY opcodespwd SYSTEM "opcodes/pwd.xml">
+<!ENTITY opcodesqinf SYSTEM "opcodes/qinf.xml">
+<!ENTITY opcodesqnan SYSTEM "opcodes/qnan.xml">
+
+<!ENTITY opcodeshrtfearly SYSTEM "opcodes/hrtfearly.xml">
 <!ENTITY opcodeshrtfmove SYSTEM "opcodes/hrtfmove.xml">
 <!ENTITY opcodeshrtfmove2 SYSTEM "opcodes/hrtfmove2.xml">
+<!ENTITY opcodeshrtfreverb SYSTEM "opcodes/hrtfreverb.xml">
 <!ENTITY opcodeshrtfstat SYSTEM "opcodes/hrtfstat.xml">
 <!ENTITY opcodesraises SYSTEM "opcodes/raises.xml">
 <!ENTITY opcodesrandh SYSTEM "opcodes/randh.xml">
@@ -972,10 +1048,14 @@
 <!ENTITY opcodesrand SYSTEM "opcodes/rand.xml">
 <!ENTITY opcodesrbjeq SYSTEM "opcodes/rbjeq.xml">
 <!ENTITY opcodesreadclock SYSTEM "opcodes/readclock.xml">
+<!ENTITY opcodesreadf SYSTEM "opcodes/readf.xml">
+<!ENTITY opcodesreadfi SYSTEM "opcodes/readfi.xml">
 <!ENTITY opcodesreadk2 SYSTEM "opcodes/readk2.xml">
 <!ENTITY opcodesreadk3 SYSTEM "opcodes/readk3.xml">
 <!ENTITY opcodesreadk4 SYSTEM "opcodes/readk4.xml">
 <!ENTITY opcodesreadk SYSTEM "opcodes/readk.xml">
+<!ENTITY opcodesreadscore SYSTEM "opcodes/readscore.xml">
+<!ENTITY opcodesreadscratch SYSTEM "opcodes/readscratch.xml">
 <!ENTITY opcodesreinit SYSTEM "opcodes/reinit.xml">
 <!ENTITY opcodesrelease SYSTEM "opcodes/release.xml">
 <!ENTITY opcodesremove SYSTEM "opcodes/remove.xml">
@@ -1007,6 +1087,7 @@
 <!ENTITY opcodessamphold SYSTEM "opcodes/samphold.xml">
 <!ENTITY opcodessandpaper SYSTEM "opcodes/sandpaper.xml">
 <!ENTITY opcodesscale SYSTEM "opcodes/scale.xml">
+<!ENTITY opcodesscalearray SYSTEM "opcodes/scalearray.xml">
 <!ENTITY opcodesscanhammer SYSTEM "opcodes/scanhammer.xml">
 <!ENTITY opcodesscans SYSTEM "opcodes/scans.xml">
 <!ENTITY opcodesscantable SYSTEM "opcodes/scantable.xml">
@@ -1024,6 +1105,13 @@
 <!ENTITY opcodessense SYSTEM "opcodes/sense.xml">
 <!ENTITY opcodesseqtime SYSTEM "opcodes/seqtime.xml">
 <!ENTITY opcodesseqtime2 SYSTEM "opcodes/seqtime2.xml">
+<!ENTITY opcodesserialBegin SYSTEM "opcodes/serialBegin.xml">
+<!ENTITY opcodesserialEnd SYSTEM "opcodes/serialEnd.xml">
+<!ENTITY opcodesserialFlush SYSTEM "opcodes/serialFlush.xml">
+<!ENTITY opcodesserialPrint SYSTEM "opcodes/serialPrint.xml">
+<!ENTITY opcodesserialRead SYSTEM "opcodes/serialRead.xml">
+<!ENTITY opcodesserialWrite_i SYSTEM "opcodes/serialWrite_i.xml">
+<!ENTITY opcodesserialWrite SYSTEM "opcodes/serialWrite.xml">
 <!ENTITY opcodessetctrl SYSTEM "opcodes/setctrl.xml">
 <!ENTITY opcodessetksmps SYSTEM "opcodes/setksmps.xml">
 <!ENTITY opcodessetscorepos SYSTEM "opcodes/setscorepos.xml">
@@ -1042,6 +1130,7 @@
 <!ENTITY opcodessfplist SYSTEM "opcodes/sfplist.xml">
 <!ENTITY opcodessfpreset SYSTEM "opcodes/sfpreset.xml">
 <!ENTITY opcodesshaker SYSTEM "opcodes/shaker.xml">
+<!ENTITY opcodessignum SYSTEM "opcodes/signum.xml">
 <!ENTITY opcodessinh SYSTEM "opcodes/sinh.xml">
 <!ENTITY opcodessininv SYSTEM "opcodes/sininv.xml">
 <!ENTITY opcodessin SYSTEM "opcodes/sin.xml">
@@ -1125,9 +1214,12 @@
 <!ENTITY opcodesSTKwhistle SYSTEM "opcodes/STKWhistle.xml">
 <!ENTITY opcodesSTKwurley SYSTEM "opcodes/STKWurley.xml">
 
+<!ENTITY opcodesstrfromurl SYSTEM "opcodes/strfromurl.xml">
 <!ENTITY opcodesstreson SYSTEM "opcodes/streson.xml">
 <!ENTITY opcodesstrset SYSTEM "opcodes/strset.xml">
 
+<!ENTITY opcodesreturn SYSTEM "opcodes/return.xml">
+
 <!ENTITY opcodesstrchar SYSTEM "opcodes/strchar.xml">
 <!ENTITY opcodesstrchark SYSTEM "opcodes/strchark.xml">
 <!ENTITY opcodesstrcpy SYSTEM "opcodes/strcpy.xml">
@@ -1162,11 +1254,14 @@
 <!ENTITY opcodessubinstrinit SYSTEM "opcodes/subinstrinit.xml">
 <!ENTITY opcodessubtracts SYSTEM "opcodes/subtracts.xml">
 <!ENTITY opcodessum SYSTEM "opcodes/sum.xml">
+<!ENTITY opcodessumarray SYSTEM "opcodes/sumarray.xml">
 <!ENTITY opcodessvfilter SYSTEM "opcodes/svfilter.xml">
 <!ENTITY opcodessyncgrain SYSTEM "opcodes/syncgrain.xml">
 <!ENTITY opcodessyncloop SYSTEM "opcodes/syncloop.xml">
 <!ENTITY opcodesdiskgrain SYSTEM "opcodes/diskgrain.xml">
 <!ENTITY opcodessystem SYSTEM "opcodes/system.xml">
+<!ENTITY opcodesgenarray SYSTEM "opcodes/genarray.xml">
+<!ENTITY opcodesgenarray_i SYSTEM "opcodes/genarray_i.xml">
 <!ENTITY opcodestable3 SYSTEM "opcodes/table3.xml">
 <!ENTITY opcodestablecopy SYSTEM "opcodes/tablecopy.xml">
 <!ENTITY opcodestablefilter SYSTEM "opcodes/tablefilter.xml">
@@ -1190,13 +1285,16 @@
 <!ENTITY opcodestablew SYSTEM "opcodes/tablew.xml">
 <!ENTITY opcodestablexkt SYSTEM "opcodes/tablexkt.xml">
 <!ENTITY opcodestablexseg SYSTEM "opcodes/tablexseg.xml">
+<!ENTITY opcodesmaparray SYSTEM "opcodes/maparray.xml">
 <!ENTITY opcodestabmorph SYSTEM "opcodes/tabmorph.xml">
 <!ENTITY opcodestabmorpha SYSTEM "opcodes/tabmorpha.xml">
 <!ENTITY opcodestabmorphak SYSTEM "opcodes/tabmorphak.xml">
 <!ENTITY opcodestabmorphi SYSTEM "opcodes/tabmorphi.xml">
 <!ENTITY opcodestabplay SYSTEM "opcodes/tabplay.xml">
+<!ENTITY opcodesslicearray SYSTEM "opcodes/slicearray.xml">
 <!ENTITY opcodestabsum SYSTEM "opcodes/tabsum.xml">
 <!ENTITY opcodestabrec SYSTEM "opcodes/tabrec.xml">
+<!ENTITY opcodestab2pvs SYSTEM "opcodes/tab2pvs.xml">
 <!ENTITY opcodestb SYSTEM "opcodes/tb.xml">
 <!ENTITY opcodestab SYSTEM "opcodes/tab.xml">
 <!ENTITY opcodestambourine SYSTEM "opcodes/tambourine.xml">
@@ -1223,6 +1321,7 @@
 <!ENTITY opcodestonex SYSTEM "opcodes/tonex.xml">
 <!ENTITY opcodestrandom SYSTEM "opcodes/trandom.xml">
 <!ENTITY opcodestranseg SYSTEM "opcodes/transeg.xml">
+<!ENTITY opcodestransegb SYSTEM "opcodes/transegb.xml">
 <!ENTITY opcodestransegr SYSTEM "opcodes/transegr.xml">
 <!ENTITY opcodestrigger SYSTEM "opcodes/trigger.xml">
 <!ENTITY opcodestrigseq SYSTEM "opcodes/trigseq.xml">
@@ -1243,6 +1342,7 @@
 <!ENTITY opcodesturnon SYSTEM "opcodes/turnon.xml">
 <!ENTITY opcodesundef SYSTEM "opcodes/undef.xml">
 <!ENTITY opcodesunirand SYSTEM "opcodes/unirand.xml">
+<!ENTITY opcodesuntil SYSTEM "opcodes/until.xml">
 <!ENTITY opcodesupsamp SYSTEM "opcodes/upsamp.xml">
 <!ENTITY opcodesurd SYSTEM "opcodes/urd.xml">
 <!ENTITY opcodesurandom SYSTEM "opcodes/urandom.xml">
@@ -1254,6 +1354,10 @@
 <!ENTITY opcodesvaget SYSTEM "opcodes/vaget.xml">
 <!ENTITY opcodesvalpass SYSTEM "opcodes/valpass.xml">
 <!ENTITY opcodesvaset SYSTEM "opcodes/vaset.xml">
+<!ENTITY opcodesvbapmove SYSTEM "opcodes/vbapmove.xml">
+<!ENTITY opcodesvbap SYSTEM "opcodes/vbap.xml">
+<!ENTITY opcodesvbapg SYSTEM "opcodes/vbapg.xml">
+<!ENTITY opcodesvbapgmove SYSTEM "opcodes/vbapgmove.xml">
 <!ENTITY opcodesvbap16move SYSTEM "opcodes/vbap16move.xml">
 <!ENTITY opcodesvbap16 SYSTEM "opcodes/vbap16.xml">
 <!ENTITY opcodesvbap4move SYSTEM "opcodes/vbap4move.xml">
@@ -1362,6 +1466,7 @@
 <!ENTITY opcodeswguide1 SYSTEM "opcodes/wguide1.xml">
 <!ENTITY opcodeswguide2 SYSTEM "opcodes/wguide2.xml">
 <!ENTITY opcodeswrap SYSTEM "opcodes/wrap.xml">
+<!ENTITY opcodeswritescratch SYSTEM "opcodes/writescratch.xml">
 <!ENTITY opcodeswterrain SYSTEM "opcodes/wterrain.xml">
 <!ENTITY opcodesxadsr SYSTEM "opcodes/xadsr.xml">
 <!ENTITY opcodesxin SYSTEM "opcodes/xin.xml">
@@ -1401,6 +1506,7 @@
 <!--<!ENTITY orchvarinit SYSTEM "orch/varinit.xml">-->
 <!ENTITY orchnamedinstruments SYSTEM "orch/namedInstruments.xml">
 <!ENTITY orchUDO SYSTEM "orch/UDO.xml">
+<!ENTITY orchtab SYSTEM "orch/tvars.xml">
 
 <!ENTITY pitch SYSTEM "pitch/top.xml">
 <!ENTITY pitchfuncs SYSTEM "pitch/funcs.xml">
@@ -1474,6 +1580,7 @@
 <!ENTITY scoregensexp SYSTEM "scoregens/genexp.xml">
 <!ENTITY scoregenssone SYSTEM "scoregens/gensone.xml">
 <!ENTITY scoregensfarey SYSTEM "scoregens/genfarey.xml">
+<!ENTITY scoregenswave SYSTEM "scoregens/genwave.xml">
 <!ENTITY scoregensi SYSTEM "scoregens/i.xml">
 <!ENTITY scoregensm SYSTEM "scoregens/m.xml">
 <!ENTITY scoregensn SYSTEM "scoregens/n.xml">
@@ -1560,6 +1667,7 @@
 <!ENTITY utilitylpanal SYSTEM "utility/lpanal.xml">
 <!ENTITY utilityatsa SYSTEM "utility/atsa.xml">
 <!ENTITY utilitymakecsd SYSTEM "utility/makecsd.xml">
+<!ENTITY utilitymkdb SYSTEM "utility/mkdb.xml">
 <!ENTITY utilitymixer SYSTEM "utility/mixer.xml">
 <!ENTITY utilityother SYSTEM "utility/other.xml">
 <!ENTITY utilitypvanal SYSTEM "utility/pvanal.xml">
@@ -1583,7 +1691,9 @@
 
 <!ENTITY zak SYSTEM "zak/top.xml">
 
-<!ENTITY csoundversion "5.13">
+<!ENTITY deprecated SYSTEM "deprecated/top.xml">
+
+<!ENTITY csoundversion "6.02">
 ]>
 
 <book id="index" lang="en">
@@ -1694,7 +1804,6 @@
     &orch;
     &score;
     &oviewfrontends;
-    &tclcsound;
     &oviewbuilding;
     &oviewlinks;
 
@@ -1722,8 +1831,10 @@
     &mixer;
     &signalflowgraph;
     &jacko;
+    &lua;
     &py;
     &imageopcodes;
+    &stkopcodes;
     &miscopcodes;
 
   </part>
@@ -1732,10 +1843,11 @@
     <title>Reference</title>
     &opcodes;
     &scoregens;
+    &deprecated;
     &utility;
     &cscore;
-    &beats;
-    &csound5extending;
+    &csbeats;
+    <!-- &csound5extending; -->
   </part>
 
   &misc;
diff --git a/manualXO.xml b/manualXO.xml
deleted file mode 100644
index 3e9571a..0000000
--- a/manualXO.xml
+++ /dev/null
@@ -1,1656 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
-
-<!--<!DOCTYPE book SYSTEM "docbook42/docbookx.dtd" [-->
-
-<!-- INTRO ENTITIES GO HERE -->
-
-<!ENTITY pface SYSTEM "preface/topXO.xml">
-<!--<!ENTITY pfaceacknowledgements SYSTEM "preface/acknowledgements.xml">
-<!ENTITY pfacecopy SYSTEM "preface/copy.xml">-->
-<!--<!ENTITY pfacecsoundav SYSTEM "preface/csoundav.xml">-->
-<!ENTITY pfacehistory SYSTEM "preface/historyXO.xml">
-<!--<!ENTITY pfacename SYSTEM "preface/name.xml">-->
-<!ENTITY pfacepreface SYSTEM "preface/prefaceXO.xml"><!--
-<!ENTITY pfacescope SYSTEM "preface/scope.xml">-->
-<!ENTITY pfacegettingstarted SYSTEM "preface/gettingstartedXO.xml">
-<!ENTITY pfacetootorials SYSTEM "preface/tootorialsXO.xml">
-<!ENTITY pfacetoot1 SYSTEM "preface/toot1XO.xml">
-<!ENTITY pfacetoot2 SYSTEM "preface/toot2XO.xml">
-<!ENTITY pfacetoot3 SYSTEM "preface/toot3XO.xml">
-<!ENTITY pfacetoot4 SYSTEM "preface/toot4XO.xml">
-<!ENTITY pfacetoot5 SYSTEM "preface/toot5XO.xml">
-<!ENTITY pfacetoot6 SYSTEM "preface/toot6XO.xml">
-<!ENTITY pfacetoot7 SYSTEM "preface/toot7XO.xml">
-<!ENTITY pfacetoot8 SYSTEM "preface/toot8XO.xml">
-<!ENTITY pfacetoot9 SYSTEM "preface/toot9XO.xml">
-<!ENTITY pfacetoot10 SYSTEM "preface/toot10XO.xml">
-<!-- <!ENTITY pfacewhatsnew SYSTEM "preface/whatsnew.xml"> -->
-
-<!-- OVERVIEW ENTITIES GO HERE -->
-<!ENTITY oviewusersguide SYSTEM "overview/usersguide.xml">
-<!-- <!ENTITY oviewintroduction SYSTEM "overview/introduction.xml"> -->
-<!--<!ENTITY oviewrecentdev SYSTEM "overview/recentdev.xml">-->
-<!-- <!ENTITY oviewconfiguring SYSTEM "overview/configuring.xml"> -->
-<!ENTITY oviewusing SYSTEM "overview/usingXO.xml">
-<!ENTITY oviewdesign SYSTEM "overview/design.xml">
-<!--<!ENTITY oviewfrontends SYSTEM "overview/frontends.xml">
-<!ENTITY oviewbuilding SYSTEM "overview/building.xml">-->
-<!ENTITY oviewlinks SYSTEM "overview/links.xml">
-<!--<!ENTITY oviewrealtimelinux SYSTEM "overview/realtimelinux.xml">
-<!ENTITY oviewrealtimewindows SYSTEM "overview/realtimewindows.xml">
-<!ENTITY oviewrealtimemac SYSTEM "overview/realtimemac.xml">-->
-
-<!-- CSOUND 5-->
-<!--<!ENTITY csound5licenses SYSTEM "csound5/licenses.xml">-->
-<!ENTITY csound5preface SYSTEM "csound5/preface.xml">
-<!ENTITY csound5acknowledgments SYSTEM "csound5/acknowledgments.xml">
-
-<!-- <!ENTITY csound5extending SYSTEM "csound5/extending.xml"> -->
-
-<!-- <!ENTITY csound5opcodesSection SYSTEM "overview/cs5opcodes.xml"> -->
-<!ENTITY py SYSTEM "csound5/opcodes/py.xml">
-<!ENTITY mixer SYSTEM "csound5/opcodes/mixer.xml">
-
-
-<!--<!ENTITY opcodesvstinit SYSTEM "opcodes/vstinit.xml">
-<!ENTITY opcodesvstinfo SYSTEM "opcodes/vstinfo.xml">
-<!ENTITY opcodesvstaudio SYSTEM "opcodes/vstaudio.xml">
-<!ENTITY opcodesvstbankload SYSTEM "opcodes/vstbankload.xml">
-<!ENTITY opcodesvstedit SYSTEM "opcodes/vstedit.xml">
-<!ENTITY opcodesvstmidiout SYSTEM "opcodes/vstmidiout.xml">
-<!ENTITY opcodesvstnote SYSTEM "opcodes/vstnote.xml">
-<!ENTITY opcodesvstparamset SYSTEM "opcodes/vstparamset.xml">
-<!ENTITY opcodesvstprogset SYSTEM "opcodes/vstprogset.xml">-->
-
-<!--<!ENTITY plugin SYSTEM "plugin/top.xml">
-<!ENTITY plugindssi4cs SYSTEM "plugin/dssi4cs.xml">
-<!ENTITY pluginvst4cs SYSTEM "plugin/vst4cs.xml">-->
-
-<!ENTITY oscnetwork SYSTEM "oscnetwork/top.xml">
-<!ENTITY OSC SYSTEM "oscnetwork/OSC.xml">
-<!ENTITY Network SYSTEM "oscnetwork/Network.xml">
-<!ENTITY Remote SYSTEM "oscnetwork/Remote.xml">
-
-<!-- <!ENTITY tclcsound SYSTEM "csound5/tclcsound.xml"> -->
-
-<!ENTITY command SYSTEM "command/topXO.xml">
-<!ENTITY commanddesc SYSTEM "command/descXO.xml">
-<!ENTITY commandflags SYSTEM "command/flags.xml">
-<!ENTITY commandflagscategory SYSTEM "command/flagscategoryXO.xml">
-<!ENTITY commandenvironment SYSTEM "command/environmentXO.xml">
-<!--<!ENTITY commandpreproc SYSTEM "command/preproc.xml">-->
-<!ENTITY commandunifile SYSTEM "command/unifile.xml">
-
-<!ENTITY control SYSTEM "control/topXO.xml">
-<!ENTITY controlclockctl SYSTEM "control/clockctl.xml">
-<!ENTITY controlconditional SYSTEM "control/conditional.xml">
-<!ENTITY controldurctl SYSTEM "control/durctl.xml">
-<!--<!ENTITY controlfltkappearance SYSTEM "control/fltkappearance.xml">
-<!ENTITY controlfltkcontainers SYSTEM "control/fltkcontainers.xml">
-<!ENTITY controlfltkgeneral SYSTEM "control/fltkgeneral.xml">
-<!ENTITY controlfltkintro SYSTEM "control/fltkintro.xml">
-<!ENTITY controlfltkother SYSTEM "control/fltkother.xml">
-<!ENTITY controlfltkvaluators SYSTEM "control/fltkvaluators.xml">-->
-<!ENTITY controlinvocat SYSTEM "control/invocat.xml">
-<!ENTITY controlpgmctl SYSTEM "control/pgmctl.xml">
-<!ENTITY controlrealtime SYSTEM "control/realtime.xml">
-<!ENTITY controlreinitn SYSTEM "control/reinitn.xml">
-<!ENTITY controlsensing SYSTEM "control/sensingXO.xml">
-<!ENTITY controlstacks SYSTEM "control/stacks.xml">
-<!ENTITY controlsubinstr SYSTEM "control/subinstr.xml">
-<!ENTITY controltimeread SYSTEM "control/timeread.xml">
-
-<!ENTITY imageopcodes SYSTEM "imageopcodes/top.xml">
-<!ENTITY miscopcodes SYSTEM "miscopcodes/top.xml">
-
-<!--<!ENTITY cscore SYSTEM "cscore/top.xml">
-<!ENTITY cscoreadvancd SYSTEM "cscore/advancd.xml">
-<!ENTITY cscorecompile SYSTEM "cscore/compile.xml">
-<!ENTITY cscoreevents SYSTEM "cscore/events.xml">
-<!ENTITY cscoremain SYSTEM "cscore/main.xml">-->
-
-<!ENTITY math SYSTEM "math/top.xml">
-<!ENTITY mathamp SYSTEM "math/amp.xml">
-<!ENTITY mathartlogic SYSTEM "math/artlogic.xml">
-<!ENTITY mathmathfunc SYSTEM "math/mathfunc.xml">
-<!ENTITY mathopeqfunc SYSTEM "math/opeqfunc.xml">
-<!ENTITY mathrndfunc SYSTEM "math/rndfunc.xml">
-<!ENTITY mathtrig SYSTEM "math/trig.xml">
-
-<!ENTITY midi SYSTEM "midi/topXO.xml">
-<!-- <!ENTITY midivirtual SYSTEM "midi/virtual.xml"> -->
-<!ENTITY midiinput SYSTEM "midi/input.xml">
-<!ENTITY midioutput SYSTEM "midi/output.xml">
-<!ENTITY midigeneric SYSTEM "midi/generic.xml">
-<!ENTITY midiconvert SYSTEM "midi/convert.xml">
-<!ENTITY midiextender SYSTEM "midi/extender.xml">
-<!ENTITY midionoff SYSTEM "midi/onoff.xml">
-<!ENTITY midiinterop SYSTEM "midi/interop.xml">
-<!ENTITY midirealtime SYSTEM "midi/realtime.xml">
-<!ENTITY midisliderbk SYSTEM "midi/sliderbkXO.xml">
-
-<!ENTITY misc SYSTEM "misc/topXO.xml">
-<!ENTITY miscamp SYSTEM "misc/amp.xml">
-<!-- <!ENTITY misccsound64 SYSTEM "misc/csound64.xml"> -->
-<!ENTITY miscglossary SYSTEM "misc/glossary.xml">
-<!ENTITY miscformants SYSTEM "misc/formants.xml">
-<!ENTITY miscpitch SYSTEM "misc/pitch.xml">
-<!ENTITY miscquickref SYSTEM "misc/quickrefXO.xml">
-<!ENTITY miscsf2 SYSTEM "misc/sf2.xml">
-<!ENTITY miscwindows SYSTEM "misc/windows.xml">
-<!ENTITY miscmodalfreq SYSTEM "misc/modalfreq.xml">
-
-<!ENTITY namebarry "Barry L. Vercoe">
-<!ENTITY namedavid "David M. Boothe">
-<!ENTITY namegabriel "Gabriel Maldonado">
-<!ENTITY namehans "Hans Mikelson">
-<!ENTITY nameistvan "Istvan Varga">
-<!ENTITY namejohn "John ffitch">
-<!ENTITY namekanata "Kanata Motohashi">
-<!ENTITY namekevin "Kevin Conder">
-<!ENTITY nameluis "Luis Jure">
-<!ENTITY namematt "Matt Ingalls">
-<!ENTITY nameoeyvind "Øyvind Brandtsegg">
-<!ENTITY namemichael "Michael Gogins">
-<!ENTITY namemike "Mike Berry">
-<!ENTITY nameparis "Paris Smaragdis">
-<!ENTITY nameperry "Perry Cook">
-<!ENTITY namerasmus "Rasmus Ekman">
-<!ENTITY namerichard "Richard Dobson">
-<!ENTITY namesean "Sean Costello">
-<!ENTITY namesteven "Steven Yi">
-<!ENTITY nameandres "Andrés Cabrera">
-<!ENTITY nameanthony "Anthony Kozar">
-<!ENTITY namepinot "François Pinot">
-<!ENTITY namevictor "Victor Lazzarini">
-
-<!ENTITY opcodes SYSTEM "opcodes/topXO.xml">
-<!ENTITY opcodes0dbfs SYSTEM "opcodes/0dbfs.xml">
-<!--<!ENTITY opcodesabetarand SYSTEM "opcodes/abetarand.xml">
-<!ENTITY opcodesabexprnd SYSTEM "opcodes/abexprnd.xml">-->
-<!ENTITY opcodesabs SYSTEM "opcodes/abs.xml">
-<!-- <!ENTITY opcodesacauchy SYSTEM "opcodes/acauchy.xml"> -->
-<!ENTITY opcodesactive SYSTEM "opcodes/active.xml">
-<!ENTITY opcodesadds SYSTEM "opcodes/adds.xml">
-<!ENTITY opcodesadsr SYSTEM "opcodes/adsr.xml">
-<!ENTITY opcodesadsyn SYSTEM "opcodes/adsyn.xml">
-<!ENTITY opcodesadsynt SYSTEM "opcodes/adsynt.xml">
-<!ENTITY opcodesadsynt2 SYSTEM "opcodes/adsynt2.xml">
-<!-- <!ENTITY opcodesaexprand SYSTEM "opcodes/aexprand.xml"> -->
-<!ENTITY opcodesaftouch SYSTEM "opcodes/aftouch.xml">
-<!--<!ENTITY opcodesagauss SYSTEM "opcodes/agauss.xml">
-<!ENTITY opcodesagogobel SYSTEM "opcodes/agogobel.xml">
-<!ENTITY opcodesalinrand SYSTEM "opcodes/alinrand.xml">-->
-<!ENTITY opcodesalpass SYSTEM "opcodes/alpass.xml">
-<!ENTITY opcodesampdbfs SYSTEM "opcodes/ampdbfs.xml">
-<!ENTITY opcodesampdb SYSTEM "opcodes/ampdb.xml">
-<!ENTITY opcodesampmidi SYSTEM "opcodes/ampmidi.xml">
-<!--<!ENTITY opcodesampmidid SYSTEM "opcodes/ampmidid.xml">
-<!ENTITY opcodesapcauchy SYSTEM "opcodes/apcauchy.xml">
-<!ENTITY opcodesapoisson SYSTEM "opcodes/apoisson.xml">
-<!ENTITY opcodesapow SYSTEM "opcodes/apow.xml">-->
-<!ENTITY opcodesaresonk SYSTEM "opcodes/aresonk.xml">
-<!ENTITY opcodesareson SYSTEM "opcodes/areson.xml">
-<!ENTITY opcodesassign SYSTEM "opcodes/assign.xml">
-<!ENTITY opcodesatonek SYSTEM "opcodes/atonek.xml">
-<!ENTITY opcodesatone SYSTEM "opcodes/atone.xml">
-<!ENTITY opcodesatonex SYSTEM "opcodes/atonex.xml">
-<!--<!ENTITY opcodesatrirand SYSTEM "opcodes/atrirand.xml">
-<!ENTITY opcodesaunirand SYSTEM "opcodes/aunirand.xml">
-<!ENTITY opcodesaweibull SYSTEM "opcodes/aweibull.xml">-->
-
-<!--
-<!ENTITY opcodesATSadd SYSTEM "opcodes/ATSadd.xml">
-<!ENTITY opcodesATSaddnz SYSTEM "opcodes/ATSaddnz.xml">
-<!ENTITY opcodesATSbufread SYSTEM "opcodes/ATSbufread.xml">
-<!ENTITY opcodesATScross SYSTEM "opcodes/ATScross.xml">
-<!ENTITY opcodesATSinfo SYSTEM "opcodes/ATSinfo.xml">
-<!ENTITY opcodesATSinterpread SYSTEM "opcodes/ATSinterpread.xml">
-<!ENTITY opcodesATSread SYSTEM "opcodes/ATSread.xml">
-<!ENTITY opcodesATSreadnz SYSTEM "opcodes/ATSreadnz.xml">
-<!ENTITY opcodesATSpartialtap SYSTEM "opcodes/ATSpartialtap.xml">
-<!ENTITY opcodesATSsinnoi SYSTEM "opcodes/ATSsinnoi.xml">-->
-
-<!-- <!ENTITY opcodesbabo SYSTEM "opcodes/babo.xml"> -->
-<!ENTITY opcodesbalance SYSTEM "opcodes/balance.xml">
-<!ENTITY opcodesbamboo SYSTEM "opcodes/bamboo.xml">
-<!ENTITY opcodesbarmodel SYSTEM "opcodes/barmodel.xml">
-<!ENTITY opcodesbbcutm SYSTEM "opcodes/bbcutm.xml">
-<!ENTITY opcodesbbcuts SYSTEM "opcodes/bbcuts.xml">
-<!ENTITY opcodesbetarand SYSTEM "opcodes/betarand.xml">
-<!ENTITY opcodesbexprnd SYSTEM "opcodes/bexprnd.xml">
-
-<!--<!ENTITY opcodesbformenc SYSTEM "opcodes/bformenc.xml">
-<!ENTITY opcodesbformenc1 SYSTEM "opcodes/bformenc1.xml">
-<!ENTITY opcodesbformdec SYSTEM "opcodes/bformdec.xml">
-<!ENTITY opcodesbformdec1 SYSTEM "opcodes/bformdec1.xml">-->
-
-<!ENTITY opcodesbinit SYSTEM "opcodes/binit.xml">
-<!ENTITY opcodesbiquada SYSTEM "opcodes/biquada.xml">
-<!ENTITY opcodesbiquad SYSTEM "opcodes/biquad.xml">
-<!ENTITY opcodesbirnd SYSTEM "opcodes/birnd.xml">
-<!ENTITY opcodesbqrez SYSTEM "opcodes/bqrez.xml">
-<!ENTITY opcodesbutbp SYSTEM "opcodes/butbp.xml">
-<!ENTITY opcodesbutbr SYSTEM "opcodes/butbr.xml">
-<!ENTITY opcodesbuthp SYSTEM "opcodes/buthp.xml">
-<!ENTITY opcodesbutlp SYSTEM "opcodes/butlp.xml">
-<!ENTITY opcodesbutterbp SYSTEM "opcodes/butterbp.xml">
-<!ENTITY opcodesbutterbr SYSTEM "opcodes/butterbr.xml">
-<!ENTITY opcodesbutterhp SYSTEM "opcodes/butterhp.xml">
-<!ENTITY opcodesbutterlp SYSTEM "opcodes/butterlp.xml">
-<!-- <!ENTITY opcodesbutton SYSTEM "opcodes/button.xml"> -->
-<!ENTITY opcodesbuzz SYSTEM "opcodes/buzz.xml">
-<!ENTITY opcodescabasa SYSTEM "opcodes/cabasa.xml">
-<!ENTITY opcodescauchy SYSTEM "opcodes/cauchy.xml">
-<!ENTITY opcodescent SYSTEM "opcodes/cent.xml">
-<!ENTITY opcodesceil SYSTEM "opcodes/ceil.xml">
-<!ENTITY opcodescggoto SYSTEM "opcodes/cggoto.xml">
-<!ENTITY opcodeschanctrl SYSTEM "opcodes/chanctrl.xml">
-<!ENTITY opcodeschanged SYSTEM "opcodes/changed.xml">
-<!ENTITY opcodeschani SYSTEM "opcodes/chani.xml">
-<!ENTITY opcodeschano SYSTEM "opcodes/chano.xml">
-<!ENTITY opcodeschebyshevpoly SYSTEM "opcodes/chebyshevpoly.xml">
-<!ENTITY opcodeschn SYSTEM "opcodes/chn.xml">
-<!ENTITY opcodeschnexport SYSTEM "opcodes/chnexport.xml">
-<!ENTITY opcodeschnget SYSTEM "opcodes/chnget.xml">
-<!ENTITY opcodeschnparams SYSTEM "opcodes/chnparams.xml">
-<!ENTITY opcodeschnset SYSTEM "opcodes/chnset.xml">
-<!ENTITY opcodeschnmix SYSTEM "opcodes/chnmix.xml">
-<!ENTITY opcodeschnclear SYSTEM "opcodes/chnclear.xml">
-<!-- <!ENTITY opcodescheckbox SYSTEM "opcodes/checkbox.xml"> -->
-<!ENTITY opcodescigoto SYSTEM "opcodes/cigoto.xml">
-<!ENTITY opcodesckgoto SYSTEM "opcodes/ckgoto.xml">
-<!ENTITY opcodesclear SYSTEM "opcodes/clear.xml">
-<!ENTITY opcodesclfilt SYSTEM "opcodes/clfilt.xml">
-<!ENTITY opcodesclip SYSTEM "opcodes/clip.xml">
-<!ENTITY opcodesclockoff SYSTEM "opcodes/clockoff.xml">
-<!ENTITY opcodesclockon SYSTEM "opcodes/clockon.xml">
-<!-- <!ENTITY opcodesclock SYSTEM "opcodes/clock.xml"> -->
-<!ENTITY opcodescngoto SYSTEM "opcodes/cngoto.xml">
-<!ENTITY opcodescomb SYSTEM "opcodes/comb.xml">
-<!ENTITY opcodescompress SYSTEM "opcodes/compress.xml">
-<!-- <!ENTITY opcodescontrol SYSTEM "opcodes/control.xml"> -->
-<!ENTITY opcodesconvle SYSTEM "opcodes/convle.xml">
-<!ENTITY opcodesconvolve SYSTEM "opcodes/convolve.xml">
-<!ENTITY opcodescosh SYSTEM "opcodes/cosh.xml">
-<!ENTITY opcodescosinv SYSTEM "opcodes/cosinv.xml">
-<!ENTITY opcodescos SYSTEM "opcodes/cos.xml">
-<!ENTITY opcodescps2pch SYSTEM "opcodes/cps2pch.xml">
-<!ENTITY opcodescpsmidib SYSTEM "opcodes/cpsmidib.xml">
-<!ENTITY opcodescpsmidi SYSTEM "opcodes/cpsmidi.xml">
-<!ENTITY opcodescpsmidinn SYSTEM "opcodes/cpsmidinn.xml">
-<!ENTITY opcodescpsoct SYSTEM "opcodes/cpsoct.xml">
-<!ENTITY opcodescpspch SYSTEM "opcodes/cpspch.xml">
-<!ENTITY opcodescpstmid SYSTEM "opcodes/cpstmid.xml">
-<!ENTITY opcodescpstuni SYSTEM "opcodes/cpstuni.xml">
-<!ENTITY opcodescpstun SYSTEM "opcodes/cpstun.xml">
-<!ENTITY opcodescpsxpch SYSTEM "opcodes/cpsxpch.xml">
-<!ENTITY opcodescpuprc SYSTEM "opcodes/cpuprc.xml">
-<!ENTITY opcodescross2 SYSTEM "opcodes/cross2.xml">
-<!ENTITY opcodescrunch SYSTEM "opcodes/crunch.xml">
-<!ENTITY opcodesctrl14 SYSTEM "opcodes/ctrl14.xml">
-<!ENTITY opcodesctrl21 SYSTEM "opcodes/ctrl21.xml">
-<!ENTITY opcodesctrl7 SYSTEM "opcodes/ctrl7.xml">
-<!ENTITY opcodesctrlinit SYSTEM "opcodes/ctrlinit.xml">
-<!ENTITY opcodescuserrnd SYSTEM "opcodes/cuserrnd.xml">
-<!ENTITY opcodesdam SYSTEM "opcodes/dam.xml">
-<!ENTITY opcodesdate SYSTEM "opcodes/date.xml">
-<!ENTITY opcodesdates SYSTEM "opcodes/dates.xml">
-<!ENTITY opcodesdbamp SYSTEM "opcodes/dbamp.xml">
-<!ENTITY opcodesdbfsamp SYSTEM "opcodes/dbfsamp.xml">
-<!ENTITY opcodesdb SYSTEM "opcodes/db.xml">
-<!ENTITY opcodesdcblock SYSTEM "opcodes/dcblock.xml">
-<!ENTITY opcodesdcblock2 SYSTEM "opcodes/dcblock2.xml">
-<!ENTITY opcodesdconv SYSTEM "opcodes/dconv.xml">
-<!ENTITY opcodesdefine SYSTEM "opcodes/define.xml">
-<!ENTITY opcodesdelay1 SYSTEM "opcodes/delay1.xml">
-<!ENTITY opcodesdelayk SYSTEM "opcodes/delayk.xml">
-<!ENTITY opcodesdelayr SYSTEM "opcodes/delayr.xml">
-<!ENTITY opcodesdelay SYSTEM "opcodes/delay.xml">
-<!ENTITY opcodesdelayw SYSTEM "opcodes/delayw.xml">
-<!ENTITY opcodesdeltap3 SYSTEM "opcodes/deltap3.xml">
-<!ENTITY opcodesdeltapi SYSTEM "opcodes/deltapi.xml">
-<!ENTITY opcodesdeltapn SYSTEM "opcodes/deltapn.xml">
-<!ENTITY opcodesdeltap SYSTEM "opcodes/deltap.xml">
-<!ENTITY opcodesdeltapx SYSTEM "opcodes/deltapx.xml">
-<!ENTITY opcodesdeltapxw SYSTEM "opcodes/deltapxw.xml">
-<!ENTITY opcodesdenorm SYSTEM "opcodes/denorm.xml">
-<!ENTITY opcodesdiff SYSTEM "opcodes/diff.xml">
-<!ENTITY opcodesdiskin SYSTEM "opcodes/diskin.xml">
-<!ENTITY opcodesdiskin2 SYSTEM "opcodes/diskin2.xml">
-<!ENTITY opcodesdispfft SYSTEM "opcodes/dispfft.xml">
-<!ENTITY opcodesdisplay SYSTEM "opcodes/display.xml">
-<!ENTITY opcodesdistort SYSTEM "opcodes/distort.xml">
-<!ENTITY opcodesdistort1 SYSTEM "opcodes/distort1.xml">
-<!ENTITY opcodesdivides SYSTEM "opcodes/divides.xml">
-<!ENTITY opcodesdivz SYSTEM "opcodes/divz.xml">
-<!ENTITY opcodesdollar SYSTEM "opcodes/dollar.xml">
-<!ENTITY opcodesdownsamp SYSTEM "opcodes/downsamp.xml">
-<!ENTITY opcodesdripwater SYSTEM "opcodes/dripwater.xml">
-
-<!--<!ENTITY opcodesdssilist SYSTEM "opcodes/dssilist.xml">
-<!ENTITY opcodesdssiinit SYSTEM "opcodes/dssiinit.xml">
-<!ENTITY opcodesdssiactivate SYSTEM "opcodes/dssiactivate.xml">
-<!ENTITY opcodesdssiaudio SYSTEM "opcodes/dssiaudio.xml">
-<!ENTITY opcodesdssictls SYSTEM "opcodes/dssictls.xml">-->
-
-<!ENTITY opcodesdumpk2 SYSTEM "opcodes/dumpk2.xml">
-<!ENTITY opcodesdumpk3 SYSTEM "opcodes/dumpk3.xml">
-<!ENTITY opcodesdumpk4 SYSTEM "opcodes/dumpk4.xml">
-<!ENTITY opcodesdumpk SYSTEM "opcodes/dumpk.xml">
-<!ENTITY opcodesduserrnd SYSTEM "opcodes/duserrnd.xml">
-<!ENTITY opcodeselseif SYSTEM "opcodes/elseif.xml">
-<!ENTITY opcodeselse SYSTEM "opcodes/else.xml">
-<!ENTITY opcodesendif SYSTEM "opcodes/endif.xml">
-<!ENTITY opcodesendin SYSTEM "opcodes/endin.xml">
-<!ENTITY opcodesendop SYSTEM "opcodes/endop.xml">
-<!ENTITY opcodesenvlpxr SYSTEM "opcodes/envlpxr.xml">
-<!ENTITY opcodesenvlpx SYSTEM "opcodes/envlpx.xml">
-<!ENTITY opcodesephasor SYSTEM "opcodes/ephasor.xml">
-<!ENTITY opcodesequals SYSTEM "opcodes/equals.xml">
-<!ENTITY opcodeseqfil SYSTEM "opcodes/eqfil.xml">
-<!ENTITY opcodesevent SYSTEM "opcodes/event.xml">
-<!ENTITY opcodesevent_i SYSTEM "opcodes/event_i.xml">
-<!ENTITY opcodesexitnow SYSTEM "opcodes/exitnow.xml">
-<!ENTITY opcodesexpcurve SYSTEM "opcodes/expcurve.xml">
-<!ENTITY opcodesexpon SYSTEM "opcodes/expon.xml">
-<!ENTITY opcodesexprand SYSTEM "opcodes/exprand.xml">
-<!ENTITY opcodesexpsega SYSTEM "opcodes/expsega.xml">
-<!ENTITY opcodesexpsegr SYSTEM "opcodes/expsegr.xml">
-<!ENTITY opcodesexpseg SYSTEM "opcodes/expseg.xml">
-<!ENTITY opcodesexp SYSTEM "opcodes/exp.xml">
-<!ENTITY opcodesficlose SYSTEM "opcodes/ficlose.xml">
-<!ENTITY opcodesfilelen SYSTEM "opcodes/filelen.xml">
-<!ENTITY opcodesfilenchnls SYSTEM "opcodes/filenchnls.xml">
-<!ENTITY opcodesfilepeak SYSTEM "opcodes/filepeak.xml">
-<!ENTITY opcodesfilesr SYSTEM "opcodes/filesr.xml">
-<!ENTITY opcodesfilter2 SYSTEM "opcodes/filter2.xml">
-<!ENTITY opcodesfini SYSTEM "opcodes/fini.xml">
-<!ENTITY opcodesfink SYSTEM "opcodes/fink.xml">
-<!ENTITY opcodesfin SYSTEM "opcodes/fin.xml">
-<!ENTITY opcodesfiopen SYSTEM "opcodes/fiopen.xml">
-<!ENTITY opcodesflanger SYSTEM "opcodes/flanger.xml">
-<!ENTITY opcodesflashtxt SYSTEM "opcodes/flashtxt.xml">
-<!--<!ENTITY opcodesflbox SYSTEM "opcodes/flbox.xml">
-<!ENTITY opcodesflbutbank SYSTEM "opcodes/flbutbank.xml">
-<!ENTITY opcodesflbutton SYSTEM "opcodes/flbutton.xml">
-<!ENTITY opcodesflclosebutton SYSTEM "opcodes/flclosebutton.xml">
-<!ENTITY opcodesflcolor2 SYSTEM "opcodes/flcolor2.xml">
-<!ENTITY opcodesflcolor SYSTEM "opcodes/flcolor.xml">
-<!ENTITY opcodesflcount SYSTEM "opcodes/flcount.xml">
-<!ENTITY opcodesflexecbutton SYSTEM "opcodes/flexecbutton.xml">
-<!ENTITY opcodesflgetsnap SYSTEM "opcodes/flgetsnap.xml">
-<!ENTITY opcodesflgroupend SYSTEM "opcodes/flgroupend.xml">
-<!ENTITY opcodesflgroup_end SYSTEM "opcodes/flgroup_end.xml">
-<!ENTITY opcodesflgroup SYSTEM "opcodes/flgroup.xml">
-<!ENTITY opcodesflhide SYSTEM "opcodes/flhide.xml">
-<!ENTITY opcodesflhvsbox SYSTEM "opcodes/flhvsbox.xml">
-<!ENTITY opcodesflhvsboxsetvalue SYSTEM "opcodes/flhvsboxsetvalue.xml">
-<!ENTITY opcodesfljoy SYSTEM "opcodes/fljoy.xml">
-<!ENTITY opcodesflkeyin SYSTEM "opcodes/flkeyin.xml">
-<!ENTITY opcodesflknob SYSTEM "opcodes/flknob.xml">
-<!ENTITY opcodesfllabel SYSTEM "opcodes/fllabel.xml">
-<!ENTITY opcodesflloadsnap SYSTEM "opcodes/flloadsnap.xml">
-<!ENTITY opcodesflmouse SYSTEM "opcodes/flmouse.xml">-->
-<!ENTITY opcodesflooper SYSTEM "opcodes/flooper.xml">
-<!ENTITY opcodesflooper2 SYSTEM "opcodes/flooper2.xml">
-<!ENTITY opcodesfloor SYSTEM "opcodes/floor.xml">
-<!--<!ENTITY opcodesflpackend SYSTEM "opcodes/flpackend.xml">
-<!ENTITY opcodesflpack_end SYSTEM "opcodes/flpack_end.xml">
-<!ENTITY opcodesflpack SYSTEM "opcodes/flpack.xml">
-<!ENTITY opcodesflpanelend SYSTEM "opcodes/flpanelend.xml">
-<!ENTITY opcodesflpanel_end SYSTEM "opcodes/flpanel_end.xml">
-<!ENTITY opcodesflpanel SYSTEM "opcodes/flpanel.xml">
-<!ENTITY opcodesflprintk2 SYSTEM "opcodes/flprintk2.xml">
-<!ENTITY opcodesflprintk SYSTEM "opcodes/flprintk.xml">
-<!ENTITY opcodesflroller SYSTEM "opcodes/flroller.xml">
-<!ENTITY opcodesflrun SYSTEM "opcodes/flrun.xml">
-<!ENTITY opcodesflsavesnap SYSTEM "opcodes/flsavesnap.xml">
-<!ENTITY opcodesflscrollend SYSTEM "opcodes/flscrollend.xml">
-<!ENTITY opcodesflscroll_end SYSTEM "opcodes/flscroll_end.xml">
-<!ENTITY opcodesflscroll SYSTEM "opcodes/flscroll.xml">
-<!ENTITY opcodesflsetalign SYSTEM "opcodes/flsetalign.xml">
-<!ENTITY opcodesflsetbox SYSTEM "opcodes/flsetbox.xml">
-<!ENTITY opcodesflsetcolor2 SYSTEM "opcodes/flsetcolor2.xml">
-<!ENTITY opcodesflsetcolor SYSTEM "opcodes/flsetcolor.xml">
-<!ENTITY opcodesflsetfont SYSTEM "opcodes/flsetfont.xml">
-<!ENTITY opcodesflsetposition SYSTEM "opcodes/flsetposition.xml">
-<!ENTITY opcodesflsetsize SYSTEM "opcodes/flsetsize.xml">
-<!ENTITY opcodesflsetsnap SYSTEM "opcodes/flsetsnap.xml">
-<!ENTITY opcodesflsetsnapgroup SYSTEM "opcodes/flsetsnapgroup.xml">
-<!ENTITY opcodesflsettextcolor SYSTEM "opcodes/flsettextcolor.xml">
-<!ENTITY opcodesflsettext SYSTEM "opcodes/flsettext.xml">
-<!ENTITY opcodesflsettextsize SYSTEM "opcodes/flsettextsize.xml">
-<!ENTITY opcodesflsettexttype SYSTEM "opcodes/flsettexttype.xml">
-<!ENTITY opcodesflsetvali SYSTEM "opcodes/flsetvali.xml">
-<!ENTITY opcodesflsetval SYSTEM "opcodes/flsetval.xml">
-<!ENTITY opcodesflshow SYSTEM "opcodes/flshow.xml">
-<!ENTITY opcodesflslidbnk SYSTEM "opcodes/flslidbnk.xml">
-<!ENTITY opcodesflslidbnk2 SYSTEM "opcodes/flslidbnk2.xml">
-<!ENTITY opcodesflslidbnkgethandle SYSTEM "opcodes/flslidbnkgethandle.xml">
-<!ENTITY opcodesflslidbnkset SYSTEM "opcodes/flslidbnkset.xml">
-<!ENTITY opcodesflslidbnksetk SYSTEM "opcodes/flslidbnksetk.xml">
-<!ENTITY opcodesflslidbnk2set SYSTEM "opcodes/flslidbnk2set.xml">
-<!ENTITY opcodesflslidbnk2setk SYSTEM "opcodes/flslidbnk2setk.xml">
-<!ENTITY opcodesflslider SYSTEM "opcodes/flslider.xml">
-<!ENTITY opcodesfltabsend SYSTEM "opcodes/fltabsend.xml">
-<!ENTITY opcodesfltabs_end SYSTEM "opcodes/fltabs_end.xml">
-<!ENTITY opcodesfltabs SYSTEM "opcodes/fltabs.xml">
-<!ENTITY opcodesfltext SYSTEM "opcodes/fltext.xml">
-<!ENTITY opcodesflupdate SYSTEM "opcodes/flupdate.xml">
-<!ENTITY opcodesflvalue SYSTEM "opcodes/flvalue.xml">
-<!ENTITY opcodesflvkeybd SYSTEM "opcodes/flvkeybd.xml">
-<!ENTITY opcodesflvslidbnk SYSTEM "opcodes/flvslidbnk.xml">
-<!ENTITY opcodesflvslidbnk2 SYSTEM "opcodes/flvslidbnk2.xml">
-<!ENTITY opcodesflxyin SYSTEM "opcodes/flxyin.xml">-->
-<!ENTITY opcodesfmb3 SYSTEM "opcodes/fmb3.xml">
-<!ENTITY opcodesfmbell SYSTEM "opcodes/fmbell.xml">
-<!ENTITY opcodesfmmetal SYSTEM "opcodes/fmmetal.xml">
-<!ENTITY opcodesfmpercfl SYSTEM "opcodes/fmpercfl.xml">
-<!ENTITY opcodesfmrhode SYSTEM "opcodes/fmrhode.xml">
-<!ENTITY opcodesfmvoice SYSTEM "opcodes/fmvoice.xml">
-<!ENTITY opcodesfmwurlie SYSTEM "opcodes/fmwurlie.xml">
-<!ENTITY opcodesfof2 SYSTEM "opcodes/fof2.xml">
-<!ENTITY opcodesfof SYSTEM "opcodes/fof.xml">
-<!ENTITY opcodesfofilter SYSTEM "opcodes/fofilter.xml">
-<!ENTITY opcodesfog SYSTEM "opcodes/fog.xml">
-<!ENTITY opcodesfold SYSTEM "opcodes/fold.xml">
-<!ENTITY opcodesfollow2 SYSTEM "opcodes/follow2.xml">
-<!ENTITY opcodesfollow SYSTEM "opcodes/follow.xml">
-<!ENTITY opcodesfoscili SYSTEM "opcodes/foscili.xml">
-<!ENTITY opcodesfoscil SYSTEM "opcodes/foscil.xml">
-<!ENTITY opcodesfoutir SYSTEM "opcodes/foutir.xml">
-<!ENTITY opcodesfouti SYSTEM "opcodes/fouti.xml">
-<!ENTITY opcodesfoutk SYSTEM "opcodes/foutk.xml">
-<!ENTITY opcodesfout SYSTEM "opcodes/fout.xml">
-<!ENTITY opcodesfreeverb SYSTEM "opcodes/freeverb.xml">
-<!--<!ENTITY opcodesfluidAllOut SYSTEM "opcodes/fluidAllOut.xml">
-<!ENTITY opcodesfluidCCi SYSTEM "opcodes/fluidCCi.xml">
-<!ENTITY opcodesfluidCCk SYSTEM "opcodes/fluidCCk.xml">
-<!ENTITY opcodesfluidControl SYSTEM "opcodes/fluidControl.xml">
-<!ENTITY opcodesfluidEngine SYSTEM "opcodes/fluidEngine.xml">
-<!ENTITY opcodesfluidLoad SYSTEM "opcodes/fluidLoad.xml">
-<!ENTITY opcodesfluidNote SYSTEM "opcodes/fluidNote.xml">
-<!ENTITY opcodesfluidOut SYSTEM "opcodes/fluidOut.xml">
-<!ENTITY opcodesfluidProgramSelect SYSTEM "opcodes/fluidProgramSelect.xml">
-<!ENTITY opcodesfluidSetInterpMethod SYSTEM "opcodes/fluidSetInterpMethod.xml">-->
-<!ENTITY opcodesfprintks SYSTEM "opcodes/fprintks.xml">
-<!ENTITY opcodesfprints SYSTEM "opcodes/fprints.xml">
-<!ENTITY opcodesfrac SYSTEM "opcodes/frac.xml">
-<!ENTITY opcodesftchnls SYSTEM "opcodes/ftchnls.xml">
-<!ENTITY opcodesftconv SYSTEM "opcodes/ftconv.xml">
-<!ENTITY opcodesftfree SYSTEM "opcodes/ftfree.xml">
-<!ENTITY opcodesftgen SYSTEM "opcodes/ftgen.xml">
-<!ENTITY opcodesftgentmp SYSTEM "opcodes/ftgentmp.xml">
-<!ENTITY opcodesftlen SYSTEM "opcodes/ftlen.xml">
-<!ENTITY opcodesftloadk SYSTEM "opcodes/ftloadk.xml">
-<!ENTITY opcodesftload SYSTEM "opcodes/ftload.xml">
-<!ENTITY opcodesftlptim SYSTEM "opcodes/ftlptim.xml">
-<!ENTITY opcodesftmorf SYSTEM "opcodes/ftmorf.xml">
-<!ENTITY opcodesftsavek SYSTEM "opcodes/ftsavek.xml">
-<!ENTITY opcodesftsave SYSTEM "opcodes/ftsave.xml">
-<!ENTITY opcodesftsr SYSTEM "opcodes/ftsr.xml">
-<!ENTITY opcodesgain SYSTEM "opcodes/gain.xml">
-<!ENTITY opcodesgainslider SYSTEM "opcodes/gainslider.xml">
-<!ENTITY opcodesgauss SYSTEM "opcodes/gauss.xml">
-<!ENTITY opcodesgbuzz SYSTEM "opcodes/gbuzz.xml">
-<!ENTITY opcodesgetcfg SYSTEM "opcodes/getcfg.xml">
-<!ENTITY opcodesgogobel SYSTEM "opcodes/gogobel.xml">
-<!ENTITY opcodesgoto SYSTEM "opcodes/goto.xml">
-<!ENTITY opcodesgrain2 SYSTEM "opcodes/grain2.xml">
-<!ENTITY opcodesgrain3 SYSTEM "opcodes/grain3.xml">
-<!ENTITY opcodesgrain SYSTEM "opcodes/grain.xml">
-<!ENTITY opcodesgranule SYSTEM "opcodes/granule.xml">
-<!ENTITY opcodesgreaterequal SYSTEM "opcodes/greaterequal.xml">
-<!ENTITY opcodesgreaterthan SYSTEM "opcodes/greaterthan.xml">
-<!ENTITY opcodesguiro SYSTEM "opcodes/guiro.xml">
-<!ENTITY opcodesharmon SYSTEM "opcodes/harmon.xml">
-<!ENTITY opcodesharmon2 SYSTEM "opcodes/harmon234.xml">
-<!ENTITY opcodeshilbert SYSTEM "opcodes/hilbert.xml">
-<!ENTITY opcodeshrtfer SYSTEM "opcodes/hrtfer.xml">
-
-<!ENTITY opcodeshrtfmove SYSTEM "opcodes/hrtfmove.xml">
-<!ENTITY opcodeshrtfmove2 SYSTEM "opcodes/hrtfmove2.xml">
-<!ENTITY opcodeshrtfstat SYSTEM "opcodes/hrtfstat.xml">
-
-<!ENTITY opcodeshsboscil SYSTEM "opcodes/hsboscil.xml">
-<!ENTITY opcodeshvs1 SYSTEM "opcodes/hvs1.xml">
-<!ENTITY opcodeshvs2 SYSTEM "opcodes/hvs2.xml">
-<!ENTITY opcodeshvs3 SYSTEM "opcodes/hvs3.xml">
-<!--<!ENTITY opcodesibetarand SYSTEM "opcodes/ibetarand.xml">
-<!ENTITY opcodesibexprnd SYSTEM "opcodes/ibexprnd.xml">
-<!ENTITY opcodesicauchy SYSTEM "opcodes/icauchy.xml">
-<!ENTITY opcodesictrl14 SYSTEM "opcodes/ictrl14.xml">
-<!ENTITY opcodesictrl21 SYSTEM "opcodes/ictrl21.xml">
-<!ENTITY opcodesictrl7 SYSTEM "opcodes/ictrl7.xml">
-<!ENTITY opcodesiexprand SYSTEM "opcodes/iexprand.xml">-->
-<!ENTITY opcodesif SYSTEM "opcodes/if.xml">
-<!ENTITY opcodesifdef SYSTEM "opcodes/ifdef.xml">
-<!ENTITY opcodesifndef SYSTEM "opcodes/ifndef.xml">
-<!-- <!ENTITY opcodesigauss SYSTEM "opcodes/igauss.xml"> -->
-<!ENTITY opcodesigoto SYSTEM "opcodes/igoto.xml">
-<!ENTITY opcodesihold SYSTEM "opcodes/ihold.xml">
-<!-- <!ENTITY opcodesilinrand SYSTEM "opcodes/ilinrand.xml"> -->
-<!ENTITY opcodesimagecreate SYSTEM "opcodes/imagecreate.xml">
-<!ENTITY opcodesimagefree SYSTEM "opcodes/imagefree.xml">
-<!ENTITY opcodesimagegetpixel SYSTEM "opcodes/imagegetpixel.xml">
-<!ENTITY opcodesimageload SYSTEM "opcodes/imageload.xml">
-<!ENTITY opcodesimageopcodes SYSTEM "opcodes/imageopcodes.xml">
-<!ENTITY opcodesimagesave SYSTEM "opcodes/imagesave.xml">
-<!ENTITY opcodesimagesetpixel SYSTEM "opcodes/imagesetpixel.xml">
-<!ENTITY opcodesimagesize SYSTEM "opcodes/imagesize.xml">
-<!--<!ENTITY opcodesimidic14 SYSTEM "opcodes/imidic14.xml">
-<!ENTITY opcodesimidic21 SYSTEM "opcodes/imidic21.xml">
-<!ENTITY opcodesimidic7 SYSTEM "opcodes/imidic7.xml">-->
-<!-- <!ENTITY opcodesin32 SYSTEM "opcodes/in32.xml"> -->
-<!ENTITY opcodesinch SYSTEM "opcodes/inch.xml">
-<!ENTITY opcodesinclude SYSTEM "opcodes/include.xml">
-<!-- <!ENTITY opcodesinh SYSTEM "opcodes/inh.xml"> -->
-<!ENTITY opcodesinitc14 SYSTEM "opcodes/initc14.xml">
-<!ENTITY opcodesinitc21 SYSTEM "opcodes/initc21.xml">
-<!ENTITY opcodesinitc7 SYSTEM "opcodes/initc7.xml">
-<!ENTITY opcodesinit SYSTEM "opcodes/init.xml">
-<!--<!ENTITY opcodesino SYSTEM "opcodes/ino.xml">
-<!ENTITY opcodesinq SYSTEM "opcodes/inq.xml">-->
-<!ENTITY opcodesinrg SYSTEM "opcodes/inrg.xml">
-<!ENTITY opcodesin SYSTEM "opcodes/in.xml">
-<!ENTITY opcodesins SYSTEM "opcodes/ins.xml">
-<!ENTITY opcodesinsremot SYSTEM "opcodes/insremot.xml">
-<!ENTITY opcodesinsglobal SYSTEM "opcodes/insglobal.xml">
-<!--<!ENTITY opcodesinstimek SYSTEM "opcodes/instimek.xml">
-<!ENTITY opcodesinstimes SYSTEM "opcodes/instimes.xml">-->
-<!ENTITY opcodesinstr SYSTEM "opcodes/instr.xml">
-<!ENTITY opcodesinteg SYSTEM "opcodes/integ.xml">
-<!ENTITY opcodesinterp SYSTEM "opcodes/interp.xml">
-<!ENTITY opcodesint SYSTEM "opcodes/int.xml">
-<!ENTITY opcodesinvalue SYSTEM "opcodes/invalue.xml">
-<!-- <!ENTITY opcodesinx SYSTEM "opcodes/inx.xml"> -->
-<!ENTITY opcodesinz SYSTEM "opcodes/inz.xml">
-<!--<!ENTITY opcodesioff SYSTEM "opcodes/ioff.xml">
-<!ENTITY opcodesiondur2 SYSTEM "opcodes/iondur2.xml">
-<!ENTITY opcodesiondur SYSTEM "opcodes/iondur.xml">
-<!ENTITY opcodesion SYSTEM "opcodes/ion.xml">
-<!ENTITY opcodesioutat SYSTEM "opcodes/ioutat.xml">
-<!ENTITY opcodesioutc14 SYSTEM "opcodes/ioutc14.xml">
-<!ENTITY opcodesioutc SYSTEM "opcodes/ioutc.xml">
-<!ENTITY opcodesioutpat SYSTEM "opcodes/ioutpat.xml">
-<!ENTITY opcodesioutpb SYSTEM "opcodes/ioutpb.xml">
-<!ENTITY opcodesioutpc SYSTEM "opcodes/ioutpc.xml">
-<!ENTITY opcodesipcauchy SYSTEM "opcodes/ipcauchy.xml">
-<!ENTITY opcodesipoisson SYSTEM "opcodes/ipoisson.xml">
-<!ENTITY opcodesipow SYSTEM "opcodes/ipow.xml">
-<!ENTITY opcodesis16b14 SYSTEM "opcodes/is16b14.xml">
-<!ENTITY opcodesis32b14 SYSTEM "opcodes/is32b14.xml">
-<!ENTITY opcodesislider16 SYSTEM "opcodes/islider16.xml">
-<!ENTITY opcodesislider32 SYSTEM "opcodes/islider32.xml">
-<!ENTITY opcodesislider64 SYSTEM "opcodes/islider64.xml">
-<!ENTITY opcodesislider8 SYSTEM "opcodes/islider8.xml">
-<!ENTITY opcodesitablecopy SYSTEM "opcodes/itablecopy.xml">
-<!ENTITY opcodesitablegpw SYSTEM "opcodes/itablegpw.xml">
-<!ENTITY opcodesitablemix SYSTEM "opcodes/itablemix.xml">
-<!ENTITY opcodesitablew SYSTEM "opcodes/itablew.xml">
-<!ENTITY opcodesitrirand SYSTEM "opcodes/itrirand.xml">
-<!ENTITY opcodesiunirand SYSTEM "opcodes/iunirand.xml">
-<!ENTITY opcodesiweibull SYSTEM "opcodes/iweibull.xml">-->
-<!ENTITY opcodesjacktransport SYSTEM "opcodes/jacktransport.xml">
-<!ENTITY opcodesjitter2 SYSTEM "opcodes/jitter2.xml">
-<!ENTITY opcodesjitter SYSTEM "opcodes/jitter.xml">
-<!ENTITY opcodesjspline SYSTEM "opcodes/jspline.xml">
-<!--<!ENTITY opcodeskbetarand SYSTEM "opcodes/kbetarand.xml">
-<!ENTITY opcodeskbexprnd SYSTEM "opcodes/kbexprnd.xml">
-<!ENTITY opcodeskcauchy SYSTEM "opcodes/kcauchy.xml">
-<!ENTITY opcodeskdump2 SYSTEM "opcodes/kdump2.xml">
-<!ENTITY opcodeskdump3 SYSTEM "opcodes/kdump3.xml">
-<!ENTITY opcodeskdump4 SYSTEM "opcodes/kdump4.xml">
-<!ENTITY opcodeskdump SYSTEM "opcodes/kdump.xml">
-<!ENTITY opcodeskexprand SYSTEM "opcodes/kexprand.xml">
-<!ENTITY opcodeskfilter2 SYSTEM "opcodes/kfilter2.xml">
-<!ENTITY opcodeskgauss SYSTEM "opcodes/kgauss.xml">-->
-<!ENTITY opcodeskgoto SYSTEM "opcodes/kgoto.xml">
-<!--<!ENTITY opcodesklinrand SYSTEM "opcodes/klinrand.xml">
-<!ENTITY opcodeskon SYSTEM "opcodes/kon.xml">
-<!ENTITY opcodeskoutat SYSTEM "opcodes/koutat.xml">
-<!ENTITY opcodeskoutc14 SYSTEM "opcodes/koutc14.xml">
-<!ENTITY opcodeskoutc SYSTEM "opcodes/koutc.xml">
-<!ENTITY opcodeskoutpat SYSTEM "opcodes/koutpat.xml">
-<!ENTITY opcodeskoutpb SYSTEM "opcodes/koutpb.xml">
-<!ENTITY opcodeskoutpc SYSTEM "opcodes/koutpc.xml">
-<!ENTITY opcodeskpcauchy SYSTEM "opcodes/kpcauchy.xml">
-<!ENTITY opcodeskpoisson SYSTEM "opcodes/kpoisson.xml">
-<!ENTITY opcodeskpow SYSTEM "opcodes/kpow.xml">
-<!ENTITY opcodeskread2 SYSTEM "opcodes/kread2.xml">
-<!ENTITY opcodeskread3 SYSTEM "opcodes/kread3.xml">
-<!ENTITY opcodeskread4 SYSTEM "opcodes/kread4.xml">
-<!ENTITY opcodeskread SYSTEM "opcodes/kread.xml">-->
-<!ENTITY opcodeskr SYSTEM "opcodes/kr.xml">
-<!ENTITY opcodesksmps SYSTEM "opcodes/ksmps.xml">
-<!ENTITY opcodesktableseg SYSTEM "opcodes/ktableseg.xml">
-<!--<!ENTITY opcodesktrirand SYSTEM "opcodes/ktrirand.xml">
-<!ENTITY opcodeskunirand SYSTEM "opcodes/kunirand.xml">
-<!ENTITY opcodeskweibull SYSTEM "opcodes/kweibull.xml">-->
-<!ENTITY opcodeslessequal SYSTEM "opcodes/lessequal.xml">
-<!ENTITY opcodeslessthan SYSTEM "opcodes/lessthan.xml">
-<!ENTITY opcodeslfo SYSTEM "opcodes/lfo.xml">
-<!ENTITY opcodeslimit SYSTEM "opcodes/limit.xml">
-<!ENTITY opcodeslinenr SYSTEM "opcodes/linenr.xml">
-<!ENTITY opcodeslinen SYSTEM "opcodes/linen.xml">
-<!ENTITY opcodesline SYSTEM "opcodes/line.xml">
-<!ENTITY opcodeslineto SYSTEM "opcodes/lineto.xml">
-<!ENTITY opcodeslinrand SYSTEM "opcodes/linrand.xml">
-<!ENTITY opcodeslinsegr SYSTEM "opcodes/linsegr.xml">
-<!ENTITY opcodeslinseg SYSTEM "opcodes/linseg.xml">
-<!ENTITY opcodeslocsend SYSTEM "opcodes/locsend.xml">
-<!ENTITY opcodeslocsig SYSTEM "opcodes/locsig.xml">
-<!ENTITY opcodeslog10 SYSTEM "opcodes/log10.xml">
-<!ENTITY opcodeslogcurve SYSTEM "opcodes/logcurve.xml">
-<!ENTITY opcodeslogbtwo SYSTEM "opcodes/logbtwo.xml">
-<!ENTITY opcodeslog SYSTEM "opcodes/log.xml">
-<!ENTITY opcodesloop_ge SYSTEM "opcodes/loop_ge.xml">
-<!ENTITY opcodesloop_gt SYSTEM "opcodes/loop_gt.xml">
-<!ENTITY opcodesloop_le SYSTEM "opcodes/loop_le.xml">
-<!ENTITY opcodesloop_lt SYSTEM "opcodes/loop_lt.xml">
-<!ENTITY opcodesloopseg SYSTEM "opcodes/loopseg.xml">
-<!ENTITY opcodesloopsegp SYSTEM "opcodes/loopsegp.xml">
-<!ENTITY opcodeslorenz SYSTEM "opcodes/lorenz.xml">
-<!--<!ENTITY opcodeslorisread SYSTEM "opcodes/lorisread.xml">
-<!ENTITY opcodeslorismorph SYSTEM "opcodes/lorismorph.xml">
-<!ENTITY opcodeslorisplay SYSTEM "opcodes/lorisplay.xml">-->
-<!ENTITY opcodesloscil3 SYSTEM "opcodes/loscil3.xml">
-<!ENTITY opcodesloscil SYSTEM "opcodes/loscil.xml">
-<!ENTITY opcodesloscilx SYSTEM "opcodes/loscilx.xml">
-<!ENTITY opcodeslowpass2 SYSTEM "opcodes/lowpass2.xml">
-<!ENTITY opcodeslowres SYSTEM "opcodes/lowres.xml">
-<!ENTITY opcodeslowresx SYSTEM "opcodes/lowresx.xml">
-<!ENTITY opcodeslpf18 SYSTEM "opcodes/lpf18.xml">
-<!ENTITY opcodeslpfreson SYSTEM "opcodes/lpfreson.xml">
-<!ENTITY opcodeslphasor SYSTEM "opcodes/lphasor.xml">
-<!ENTITY opcodeslpinterp SYSTEM "opcodes/lpinterp.xml">
-<!ENTITY opcodeslposcil3 SYSTEM "opcodes/lposcil3.xml">
-<!ENTITY opcodeslposcila SYSTEM "opcodes/lposcila.xml">
-<!ENTITY opcodeslposcil SYSTEM "opcodes/lposcil.xml">
-<!ENTITY opcodeslposcilsa SYSTEM "opcodes/lposcilsa.xml">
-<!ENTITY opcodeslposcilsa2 SYSTEM "opcodes/lposcilsa2.xml">
-<!ENTITY opcodeslpread SYSTEM "opcodes/lpread.xml">
-<!ENTITY opcodeslpreson SYSTEM "opcodes/lpreson.xml">
-<!ENTITY opcodeslpshold SYSTEM "opcodes/lpshold.xml">
-<!ENTITY opcodeslpsholdp SYSTEM "opcodes/lpsholdp.xml">
-<!ENTITY opcodeslpslot SYSTEM "opcodes/lpslot.xml">
-<!ENTITY opcodesmaca SYSTEM "opcodes/maca.xml">
-<!ENTITY opcodesmac SYSTEM "opcodes/mac.xml">
-<!ENTITY opcodesmadsr SYSTEM "opcodes/madsr.xml">
-<!ENTITY opcodesmandel SYSTEM "opcodes/mandel.xml">
-<!ENTITY opcodesmandol SYSTEM "opcodes/mandol.xml">
-<!ENTITY opcodesmarimba SYSTEM "opcodes/marimba.xml">
-<!ENTITY opcodesmassign SYSTEM "opcodes/massign.xml">
-<!ENTITY opcodesmaxalloc SYSTEM "opcodes/maxalloc.xml">
-<!ENTITY opcodesmax_k SYSTEM "opcodes/max_k.xml">
-<!ENTITY opcodesmax SYSTEM "opcodes/max.xml">
-<!ENTITY opcodesmaxabs SYSTEM "opcodes/maxabs.xml">
-<!ENTITY opcodesmaxabsaccum SYSTEM "opcodes/maxabsaccum.xml">
-<!ENTITY opcodesmaxaccum SYSTEM "opcodes/maxaccum.xml">
-<!ENTITY opcodesmclock SYSTEM "opcodes/mclock.xml">
-<!ENTITY opcodesmdelay SYSTEM "opcodes/mdelay.xml">
-<!ENTITY opcodesmetro SYSTEM "opcodes/metro.xml">
-<!ENTITY opcodesmidic14 SYSTEM "opcodes/midic14.xml">
-<!ENTITY opcodesmidic21 SYSTEM "opcodes/midic21.xml">
-<!ENTITY opcodesmidic7 SYSTEM "opcodes/midic7.xml">
-<!ENTITY opcodesmidichannelaftertouch SYSTEM "opcodes/midichannelaftertouch.xml">
-<!ENTITY opcodesmidichn SYSTEM "opcodes/midichn.xml">
-<!ENTITY opcodesmidicontrolchange SYSTEM "opcodes/midicontrolchange.xml">
-<!ENTITY opcodesmidictrl SYSTEM "opcodes/midictrl.xml">
-<!ENTITY opcodesmididefault SYSTEM "opcodes/mididefault.xml">
-<!ENTITY opcodesmidiin SYSTEM "opcodes/midiin.xml">
-<!ENTITY opcodesmidinoteoff SYSTEM "opcodes/midinoteoff.xml">
-<!ENTITY opcodesmidinoteoncps SYSTEM "opcodes/midinoteoncps.xml">
-<!ENTITY opcodesmidinoteonkey SYSTEM "opcodes/midinoteonkey.xml">
-<!ENTITY opcodesmidinoteonoct SYSTEM "opcodes/midinoteonoct.xml">
-<!ENTITY opcodesmidinoteonpch SYSTEM "opcodes/midinoteonpch.xml">
-<!ENTITY opcodesmidion2 SYSTEM "opcodes/midion2.xml">
-<!ENTITY opcodesmidion SYSTEM "opcodes/midion.xml">
-<!ENTITY opcodesmidiout SYSTEM "opcodes/midiout.xml">
-<!ENTITY opcodesmidipitchbend SYSTEM "opcodes/midipitchbend.xml">
-<!ENTITY opcodesmidipolyaftertouch SYSTEM "opcodes/midipolyaftertouch.xml">
-<!ENTITY opcodesmidiprogramchange SYSTEM "opcodes/midiprogramchange.xml">
-<!ENTITY opcodesmiditempo SYSTEM "opcodes/miditempo.xml">
-<!ENTITY opcodesmidremot SYSTEM "opcodes/midremot.xml">
-<!ENTITY opcodesmidglobal SYSTEM "opcodes/midglobal.xml">
-<!ENTITY opcodesmin SYSTEM "opcodes/min.xml">
-<!ENTITY opcodesminabs SYSTEM "opcodes/minabs.xml">
-<!ENTITY opcodesminabsaccum SYSTEM "opcodes/minabsaccum.xml">
-<!ENTITY opcodesminaccum SYSTEM "opcodes/minaccum.xml">
-<!ENTITY opcodesmirror SYSTEM "opcodes/mirror.xml">
-
-<!ENTITY opcodesmixersetlevel SYSTEM "opcodes/mixersetlevel.xml">
-<!ENTITY opcodesmixergetlevel SYSTEM "opcodes/mixergetlevel.xml">
-<!ENTITY opcodesmixersend SYSTEM "opcodes/mixersend.xml">
-<!ENTITY opcodesmixerreceive SYSTEM "opcodes/mixerreceive.xml">
-<!ENTITY opcodesmixerclear SYSTEM "opcodes/mixerclear.xml">
-
-<!ENTITY opcodesmode SYSTEM "opcodes/mode.xml">
-<!ENTITY opcodesmodulus SYSTEM "opcodes/modulus.xml">
-<!ENTITY opcodesmonitor SYSTEM "opcodes/monitor.xml">
-<!ENTITY opcodesmoog SYSTEM "opcodes/moog.xml">
-<!ENTITY opcodesmoogladder SYSTEM "opcodes/moogladder.xml">
-<!ENTITY opcodesmoogvcf SYSTEM "opcodes/moogvcf.xml">
-<!ENTITY opcodesmoogvcf2 SYSTEM "opcodes/moogvcf2.xml">
-<!ENTITY opcodesmoscil SYSTEM "opcodes/moscil.xml">
-<!ENTITY opcodesmpulse SYSTEM "opcodes/mpulse.xml">
-<!ENTITY opcodesmrtmsg SYSTEM "opcodes/mrtmsg.xml">
-<!ENTITY opcodesmultiplies SYSTEM "opcodes/multiplies.xml">
-<!ENTITY opcodesmultitap SYSTEM "opcodes/multitap.xml">
-<!ENTITY opcodesmute SYSTEM "opcodes/mute.xml">
-<!ENTITY opcodesmxadsr SYSTEM "opcodes/mxadsr.xml">
-<!ENTITY opcodesnchnls SYSTEM "opcodes/nchnls.xml">
-<!ENTITY opcodesnestedap SYSTEM "opcodes/nestedap.xml">
-<!ENTITY opcodesnlfilt SYSTEM "opcodes/nlfilt.xml">
-<!ENTITY opcodesnoise SYSTEM "opcodes/noise.xml">
-<!ENTITY opcodesnoteoff SYSTEM "opcodes/noteoff.xml">
-<!ENTITY opcodesnoteondur2 SYSTEM "opcodes/noteondur2.xml">
-<!ENTITY opcodesnoteondur SYSTEM "opcodes/noteondur.xml">
-<!ENTITY opcodesnoteon SYSTEM "opcodes/noteon.xml">
-<!ENTITY opcodesnotequal SYSTEM "opcodes/notequal.xml">
-<!ENTITY opcodesnotnum SYSTEM "opcodes/notnum.xml">
-<!ENTITY opcodesnreverb SYSTEM "opcodes/nreverb.xml">
-<!ENTITY opcodesnrpn SYSTEM "opcodes/nrpn.xml">
-<!ENTITY opcodesnsamp SYSTEM "opcodes/nsamp.xml">
-<!ENTITY opcodesnstrnum SYSTEM "opcodes/nstrnum.xml">
-<!ENTITY opcodesntrpol SYSTEM "opcodes/ntrpol.xml">
-<!ENTITY opcodesoctave SYSTEM "opcodes/octave.xml">
-<!ENTITY opcodesoctcps SYSTEM "opcodes/octcps.xml">
-<!ENTITY opcodesoctmidinn SYSTEM "opcodes/octmidinn.xml">
-<!ENTITY opcodesoctmidib SYSTEM "opcodes/octmidib.xml">
-<!ENTITY opcodesoctmidi SYSTEM "opcodes/octmidi.xml">
-<!ENTITY opcodesoctpch SYSTEM "opcodes/octpch.xml">
-<!ENTITY opcodesopand SYSTEM "opcodes/opand.xml">
-<!ENTITY opcodesopa SYSTEM "opcodes/opa.xml">
-<!ENTITY opcodesopcode SYSTEM "opcodes/opcode.xml">
-<!ENTITY opcodesopi SYSTEM "opcodes/opi.xml">
-<!ENTITY opcodesopk SYSTEM "opcodes/opk.xml">
-<!ENTITY opcodesopor SYSTEM "opcodes/opor.xml">
-<!ENTITY opcodesopbitshl SYSTEM "opcodes/opbitshl.xml">
-<!ENTITY opcodesopbitshr SYSTEM "opcodes/opbitshr.xml">
-<!ENTITY opcodesopbitand SYSTEM "opcodes/opbitand.xml">
-<!ENTITY opcodesopbitor SYSTEM "opcodes/opbitor.xml">
-<!ENTITY opcodesopbitnot SYSTEM "opcodes/opbitnot.xml">
-<!ENTITY opcodesopnonequiv SYSTEM "opcodes/opnonequiv.xml">
-
-<!ENTITY opcodesOSCsend SYSTEM "opcodes/OSCsend.xml">
-<!ENTITY opcodesOSCinit SYSTEM "opcodes/OSCinit.xml">
-<!ENTITY opcodesOSClisten SYSTEM "opcodes/OSClisten.xml">
-
-<!ENTITY opcodesoscbnk SYSTEM "opcodes/oscbnk.xml">
-<!ENTITY opcodesoscil1i SYSTEM "opcodes/oscil1i.xml">
-<!ENTITY opcodesoscil1 SYSTEM "opcodes/oscil1.xml">
-<!ENTITY opcodesoscil3 SYSTEM "opcodes/oscil3.xml">
-<!ENTITY opcodesosciliktp SYSTEM "opcodes/osciliktp.xml">
-<!ENTITY opcodesoscilikt SYSTEM "opcodes/oscilikt.xml">
-<!ENTITY opcodesoscilikts SYSTEM "opcodes/oscilikts.xml">
-<!ENTITY opcodesoscili SYSTEM "opcodes/oscili.xml">
-<!ENTITY opcodesosciln SYSTEM "opcodes/osciln.xml">
-<!ENTITY opcodesoscil SYSTEM "opcodes/oscil.xml">
-<!ENTITY opcodesoscils SYSTEM "opcodes/oscils.xml">
-<!ENTITY opcodesoscilx SYSTEM "opcodes/oscilx.xml">
-<!-- <!ENTITY opcodesout32 SYSTEM "opcodes/out32.xml"> -->
-<!ENTITY opcodesoutch SYSTEM "opcodes/outch.xml">
-<!ENTITY opcodesoutc SYSTEM "opcodes/outc.xml">
-<!-- <!ENTITY opcodesouth SYSTEM "opcodes/outh.xml"> -->
-<!ENTITY opcodesoutiat SYSTEM "opcodes/outiat.xml">
-<!ENTITY opcodesoutic14 SYSTEM "opcodes/outic14.xml">
-<!ENTITY opcodesoutic SYSTEM "opcodes/outic.xml">
-<!ENTITY opcodesoutipat SYSTEM "opcodes/outipat.xml">
-<!ENTITY opcodesoutipb SYSTEM "opcodes/outipb.xml">
-<!ENTITY opcodesoutipc SYSTEM "opcodes/outipc.xml">
-<!ENTITY opcodesoutkat SYSTEM "opcodes/outkat.xml">
-<!ENTITY opcodesoutkc14 SYSTEM "opcodes/outkc14.xml">
-<!ENTITY opcodesoutkc SYSTEM "opcodes/outkc.xml">
-<!ENTITY opcodesoutkpat SYSTEM "opcodes/outkpat.xml">
-<!ENTITY opcodesoutkpb SYSTEM "opcodes/outkpb.xml">
-<!ENTITY opcodesoutkpc SYSTEM "opcodes/outkpc.xml">
-<!-- <!ENTITY opcodesouto SYSTEM "opcodes/outo.xml"> -->
-<!--<!ENTITY opcodesoutq1 SYSTEM "opcodes/outq1.xml">
-<!ENTITY opcodesoutq2 SYSTEM "opcodes/outq2.xml">
-<!ENTITY opcodesoutq3 SYSTEM "opcodes/outq3.xml">
-<!ENTITY opcodesoutq4 SYSTEM "opcodes/outq4.xml">
-<!ENTITY opcodesoutq SYSTEM "opcodes/outq.xml">-->
-<!ENTITY opcodesoutrg SYSTEM "opcodes/outrg.xml">
-<!ENTITY opcodesouts1 SYSTEM "opcodes/outs1.xml">
-<!ENTITY opcodesouts2 SYSTEM "opcodes/outs2.xml">
-<!ENTITY opcodesout SYSTEM "opcodes/out.xml">
-<!ENTITY opcodesouts SYSTEM "opcodes/outs.xml">
-<!ENTITY opcodesoutvalue SYSTEM "opcodes/outvalue.xml">
-<!-- <!ENTITY opcodesoutx SYSTEM "opcodes/outx.xml"> -->
-<!ENTITY opcodesoutz SYSTEM "opcodes/outz.xml">
-<!ENTITY opcodespan SYSTEM "opcodes/pan.xml">
-<!ENTITY opcodespan2 SYSTEM "opcodes/pan2.xml">
-<!ENTITY opcodespareq SYSTEM "opcodes/pareq.xml">
-<!ENTITY opcodespartials SYSTEM "opcodes/partials.xml">
-<!ENTITY opcodespartikkel SYSTEM "opcodes/partikkel.xml">
-<!ENTITY opcodespartikkelsync SYSTEM "opcodes/partikkelsync.xml">
-<!ENTITY opcodespcauchy SYSTEM "opcodes/pcauchy.xml">
-<!ENTITY opcodespchbend SYSTEM "opcodes/pchbend.xml">
-<!ENTITY opcodespchmidib SYSTEM "opcodes/pchmidib.xml">
-<!ENTITY opcodespchmidi SYSTEM "opcodes/pchmidi.xml">
-<!ENTITY opcodespchmidinn SYSTEM "opcodes/pchmidinn.xml">
-<!ENTITY opcodespchoct SYSTEM "opcodes/pchoct.xml">
-<!ENTITY opcodespconvolve SYSTEM "opcodes/pconvolve.xml">
-<!ENTITY opcodespcount SYSTEM "opcodes/pcount.xml">
-<!-- <!ENTITY opcodespeakk SYSTEM "opcodes/peakk.xml"> -->
-<!ENTITY opcodespdclip SYSTEM "opcodes/pdclip.xml">
-<!ENTITY opcodespdhalf SYSTEM "opcodes/pdhalf.xml">
-<!ENTITY opcodespdhalfy SYSTEM "opcodes/pdhalfy.xml">
-<!ENTITY opcodespeak SYSTEM "opcodes/peak.xml">
-<!ENTITY opcodespgmassign SYSTEM "opcodes/pgmassign.xml">
-<!ENTITY opcodesphaser1 SYSTEM "opcodes/phaser1.xml">
-<!ENTITY opcodesphaser2 SYSTEM "opcodes/phaser2.xml">
-<!ENTITY opcodesphasorbnk SYSTEM "opcodes/phasorbnk.xml">
-<!ENTITY opcodesphasor SYSTEM "opcodes/phasor.xml">
-<!ENTITY opcodespindex SYSTEM "opcodes/pindex.xml">
-<!ENTITY opcodespinkish SYSTEM "opcodes/pinkish.xml">
-<!ENTITY opcodespitchamdf SYSTEM "opcodes/pitchamdf.xml">
-<!ENTITY opcodespitch SYSTEM "opcodes/pitch.xml">
-<!ENTITY opcodesplanet SYSTEM "opcodes/planet.xml">
-<!ENTITY opcodespluck SYSTEM "opcodes/pluck.xml">
-<!ENTITY opcodespoisson SYSTEM "opcodes/poisson.xml">
-<!ENTITY opcodespolyaft SYSTEM "opcodes/polyaft.xml">
-<!ENTITY opcodespolynomial SYSTEM "opcodes/polynomial.xml">
-<!ENTITY opcodespop SYSTEM "opcodes/pop.xml">
-<!ENTITY opcodespop_f SYSTEM "opcodes/pop_f.xml">
-<!ENTITY opcodesportk SYSTEM "opcodes/portk.xml">
-<!ENTITY opcodesport SYSTEM "opcodes/port.xml">
-<!ENTITY opcodesposcil3 SYSTEM "opcodes/poscil3.xml">
-<!ENTITY opcodesposcil SYSTEM "opcodes/poscil.xml">
-<!ENTITY opcodespowershape SYSTEM "opcodes/powershape.xml">
-<!ENTITY opcodespowoftwo SYSTEM "opcodes/powoftwo.xml">
-<!ENTITY opcodespow SYSTEM "opcodes/pow.xml">
-<!ENTITY opcodesprealloc SYSTEM "opcodes/prealloc.xml">
-<!ENTITY opcodesprepiano SYSTEM "opcodes/prepiano.xml">
-<!ENTITY opcodesprintk2 SYSTEM "opcodes/printk2.xml">
-<!ENTITY opcodesprintk SYSTEM "opcodes/printk.xml">
-<!ENTITY opcodesprintks SYSTEM "opcodes/printks.xml">
-<!ENTITY opcodesprints SYSTEM "opcodes/prints.xml">
-<!ENTITY opcodesprint SYSTEM "opcodes/print.xml">
-<!ENTITY opcodesproduct SYSTEM "opcodes/product.xml">
-<!ENTITY opcodespset SYSTEM "opcodes/pset.xml">
-<!ENTITY opcodesptrack SYSTEM "opcodes/ptrack.xml">
-<!ENTITY opcodesp SYSTEM "opcodes/p.xml">
-<!ENTITY opcodespush SYSTEM "opcodes/push.xml">
-<!ENTITY opcodespush_f SYSTEM "opcodes/push_f.xml">
-<!ENTITY opcodespvadd SYSTEM "opcodes/pvadd.xml">
-<!ENTITY opcodespvbufread SYSTEM "opcodes/pvbufread.xml">
-<!ENTITY opcodespvcross SYSTEM "opcodes/pvcross.xml">
-<!ENTITY opcodespvinterp SYSTEM "opcodes/pvinterp.xml">
-<!ENTITY opcodespvoc SYSTEM "opcodes/pvoc.xml">
-<!ENTITY opcodespvread SYSTEM "opcodes/pvread.xml">
-<!ENTITY opcodespvsadsyn SYSTEM "opcodes/pvsadsyn.xml">
-<!ENTITY opcodespvsanal SYSTEM "opcodes/pvsanal.xml">
-<!ENTITY opcodespvscross SYSTEM "opcodes/pvscross.xml">
-<!ENTITY opcodespvsmorph SYSTEM "opcodes/pvsmorph.xml">
-<!ENTITY opcodespvscent SYSTEM "opcodes/pvscent.xml">
-<!ENTITY opcodespvsdemix SYSTEM "opcodes/pvsdemix.xml">
-<!ENTITY opcodespvsfread SYSTEM "opcodes/pvsfread.xml">
-<!ENTITY opcodespvsdiskin SYSTEM "opcodes/pvsdiskin.xml">
-<!ENTITY opcodespvsbuffer SYSTEM "opcodes/pvsbuffer.xml">
-<!ENTITY opcodespvsbufread SYSTEM "opcodes/pvsbufread.xml">
-<!ENTITY opcodespvsfreeze SYSTEM "opcodes/pvsfreeze.xml">
-<!ENTITY opcodespvsftr SYSTEM "opcodes/pvsftr.xml">
-<!ENTITY opcodespvsftw SYSTEM "opcodes/pvsftw.xml">
-<!ENTITY opcodespvsinfo SYSTEM "opcodes/pvsinfo.xml">
-<!ENTITY opcodespvsinit SYSTEM "opcodes/pvsinit.xml">
-<!ENTITY opcodespvspitch SYSTEM "opcodes/pvspitch.xml">
-<!ENTITY opcodespvsin SYSTEM "opcodes/pvsin.xml">
-<!ENTITY opcodespvsout SYSTEM "opcodes/pvsout.xml">
-<!ENTITY opcodespvsosc SYSTEM "opcodes/pvsosc.xml">
-<!ENTITY opcodespvsdisp SYSTEM "opcodes/pvsdisp.xml">
-<!ENTITY opcodespvsbin SYSTEM "opcodes/pvsbin.xml">
-<!ENTITY opcodespvsfwrite SYSTEM "opcodes/pvsfwrite.xml">
-<!ENTITY opcodespvsmaska SYSTEM "opcodes/pvsmaska.xml">
-<!ENTITY opcodespvsynth SYSTEM "opcodes/pvsynth.xml">
-
-<!ENTITY opcodespvsarp SYSTEM "opcodes/pvsarp.xml">
-<!ENTITY opcodespvsifd SYSTEM "opcodes/pvsifd.xml">
-<!ENTITY opcodespvsvoc SYSTEM "opcodes/pvsvoc.xml">
-<!ENTITY opcodespvscale SYSTEM "opcodes/pvscale.xml">
-<!ENTITY opcodespvshift SYSTEM "opcodes/pvshift.xml">
-<!ENTITY opcodespvsmix SYSTEM "opcodes/pvsmix.xml">
-<!ENTITY opcodespvsmooth SYSTEM "opcodes/pvsmooth.xml">
-<!ENTITY opcodespvsfilter SYSTEM "opcodes/pvsfilter.xml">
-<!ENTITY opcodespvsblur SYSTEM "opcodes/pvsblur.xml">
-<!ENTITY opcodespvstencil SYSTEM "opcodes/pvstencil.xml">
-<!ENTITY opcodespvsbandp SYSTEM "opcodes/pvsbandp.xml">
-<!ENTITY opcodespvsbandr SYSTEM "opcodes/pvsbandr.xml">
-
-<!ENTITY opcodespyassign SYSTEM "opcodes/pyassign.xml">
-<!ENTITY opcodespycall SYSTEM "opcodes/pycall.xml">
-<!ENTITY opcodespyeval SYSTEM "opcodes/pyeval.xml">
-<!ENTITY opcodespyexec SYSTEM "opcodes/pyexec.xml">
-<!ENTITY opcodespyinit SYSTEM "opcodes/pyinit.xml">
-<!ENTITY opcodespyrun SYSTEM "opcodes/pyrun.xml">
-
-<!ENTITY opcodesraises SYSTEM "opcodes/raises.xml">
-<!ENTITY opcodesrandh SYSTEM "opcodes/randh.xml">
-<!ENTITY opcodesrandi SYSTEM "opcodes/randi.xml">
-<!ENTITY opcodesrandomh SYSTEM "opcodes/randomh.xml">
-<!ENTITY opcodesrandomi SYSTEM "opcodes/randomi.xml">
-<!ENTITY opcodesrandom SYSTEM "opcodes/random.xml">
-<!ENTITY opcodesrand SYSTEM "opcodes/rand.xml">
-<!ENTITY opcodesrbjeq SYSTEM "opcodes/rbjeq.xml">
-<!ENTITY opcodesreverbsc SYSTEM "opcodes/reverbsc.xml">
-<!ENTITY opcodesreadclock SYSTEM "opcodes/readclock.xml">
-<!ENTITY opcodesreadk2 SYSTEM "opcodes/readk2.xml">
-<!ENTITY opcodesreadk3 SYSTEM "opcodes/readk3.xml">
-<!ENTITY opcodesreadk4 SYSTEM "opcodes/readk4.xml">
-<!ENTITY opcodesreadk SYSTEM "opcodes/readk.xml">
-<!ENTITY opcodesreinit SYSTEM "opcodes/reinit.xml">
-<!ENTITY opcodesrelease SYSTEM "opcodes/release.xml">
-<!ENTITY opcodesremove SYSTEM "opcodes/remove.xml">
-<!ENTITY opcodesremoteport SYSTEM "opcodes/remoteport.xml">
-<!ENTITY opcodesrepluck SYSTEM "opcodes/repluck.xml">
-<!ENTITY opcodesresonk SYSTEM "opcodes/resonk.xml">
-<!ENTITY opcodesresonr SYSTEM "opcodes/resonr.xml">
-<!ENTITY opcodesreson SYSTEM "opcodes/reson.xml">
-<!ENTITY opcodesresonx SYSTEM "opcodes/resonx.xml">
-<!ENTITY opcodesresonxk SYSTEM "opcodes/resonxk.xml">
-<!ENTITY opcodesresony SYSTEM "opcodes/resony.xml">
-<!ENTITY opcodesresonz SYSTEM "opcodes/resonz.xml">
-<!ENTITY opcodesresyn SYSTEM "opcodes/resyn.xml">
-<!ENTITY opcodesreverb2 SYSTEM "opcodes/reverb2.xml">
-<!ENTITY opcodesreverb SYSTEM "opcodes/reverb.xml">
-<!ENTITY opcodesrewindscore SYSTEM "opcodes/rewindscore.xml">
-<!ENTITY opcodesrezzy SYSTEM "opcodes/rezzy.xml">
-<!ENTITY opcodesrigoto SYSTEM "opcodes/rigoto.xml">
-<!ENTITY opcodesrireturn SYSTEM "opcodes/rireturn.xml">
-<!ENTITY opcodesrms SYSTEM "opcodes/rms.xml">
-<!ENTITY opcodesround SYSTEM "opcodes/round.xml">
-<!ENTITY opcodesrnd31 SYSTEM "opcodes/rnd31.xml">
-<!ENTITY opcodesrnd SYSTEM "opcodes/rnd.xml">
-<!ENTITY opcodesrspline SYSTEM "opcodes/rspline.xml">
-<!ENTITY opcodesrtclock SYSTEM "opcodes/rtclock.xml">
-<!ENTITY opcodess16b14 SYSTEM "opcodes/s16b14.xml">
-<!ENTITY opcodess32b14 SYSTEM "opcodes/s32b14.xml">
-<!ENTITY opcodessamphold SYSTEM "opcodes/samphold.xml">
-<!ENTITY opcodessandpaper SYSTEM "opcodes/sandpaper.xml">
-<!ENTITY opcodesscale SYSTEM "opcodes/scale.xml">
-<!ENTITY opcodesscanhammer SYSTEM "opcodes/scanhammer.xml">
-<!ENTITY opcodesscans SYSTEM "opcodes/scans.xml">
-<!ENTITY opcodesscantable SYSTEM "opcodes/scantable.xml">
-<!-- <!ENTITY opcodesscanu SYSTEM "opcodes/scanu.xml"> -->
-<!ENTITY opcodesscoreline SYSTEM "opcodes/scoreline.xml">
-<!ENTITY opcodesscoreline_i SYSTEM "opcodes/scoreline_i.xml">
-<!ENTITY opcodesschedkwhen SYSTEM "opcodes/schedkwhen.xml">
-<!ENTITY opcodesschedkwhennamed SYSTEM "opcodes/schedkwhennamed.xml">
-<!ENTITY opcodesschedule SYSTEM "opcodes/schedule.xml">
-<!ENTITY opcodesschedwhen SYSTEM "opcodes/schedwhen.xml">
-<!ENTITY opcodesseed SYSTEM "opcodes/seed.xml">
-<!ENTITY opcodessekere SYSTEM "opcodes/sekere.xml">
-<!ENTITY opcodessemitone SYSTEM "opcodes/semitone.xml">
-<!ENTITY opcodessensekey SYSTEM "opcodes/sensekey.xml">
-<!ENTITY opcodessense SYSTEM "opcodes/sense.xml">
-<!ENTITY opcodesseqtime SYSTEM "opcodes/seqtime.xml">
-<!ENTITY opcodesseqtime2 SYSTEM "opcodes/seqtime2.xml">
-<!-- <!ENTITY opcodessetctrl SYSTEM "opcodes/setctrl.xml"> -->
-<!ENTITY opcodessetksmps SYSTEM "opcodes/setksmps.xml">
-<!ENTITY opcodessetscorepos SYSTEM "opcodes/setscorepos.xml">
-<!ENTITY opcodessfilist SYSTEM "opcodes/sfilist.xml">
-<!ENTITY opcodessfinstr3m SYSTEM "opcodes/sfinstr3m.xml">
-<!ENTITY opcodessfinstr3 SYSTEM "opcodes/sfinstr3.xml">
-<!ENTITY opcodessfinstrm SYSTEM "opcodes/sfinstrm.xml">
-<!ENTITY opcodessfinstr SYSTEM "opcodes/sfinstr.xml">
-<!ENTITY opcodessfload SYSTEM "opcodes/sfload.xml">
-<!ENTITY opcodessfpassign SYSTEM "opcodes/sfpassign.xml">
-<!ENTITY opcodessfplay3m SYSTEM "opcodes/sfplay3m.xml">
-<!ENTITY opcodessfplay3 SYSTEM "opcodes/sfplay3.xml">
-<!ENTITY opcodessfplaym SYSTEM "opcodes/sfplaym.xml">
-<!ENTITY opcodessfplay SYSTEM "opcodes/sfplay.xml">
-<!ENTITY opcodessflooper SYSTEM "opcodes/sflooper.xml">
-<!ENTITY opcodessfplist SYSTEM "opcodes/sfplist.xml">
-<!ENTITY opcodessfpreset SYSTEM "opcodes/sfpreset.xml">
-<!ENTITY opcodesshaker SYSTEM "opcodes/shaker.xml">
-<!ENTITY opcodessinh SYSTEM "opcodes/sinh.xml">
-<!ENTITY opcodessininv SYSTEM "opcodes/sininv.xml">
-<!ENTITY opcodessin SYSTEM "opcodes/sin.xml">
-<!ENTITY opcodessinsyn SYSTEM "opcodes/sinsyn.xml">
-<!ENTITY opcodessndloop SYSTEM "opcodes/sndloop.xml">
-<!ENTITY opcodessyncphasor SYSTEM "opcodes/syncphasor.xml">
-<!ENTITY opcodessleighbells SYSTEM "opcodes/sleighbells.xml">
-<!ENTITY opcodesslider16f SYSTEM "opcodes/slider16f.xml">
-<!ENTITY opcodesslider16 SYSTEM "opcodes/slider16.xml">
-<!ENTITY opcodesslider32f SYSTEM "opcodes/slider32f.xml">
-<!ENTITY opcodesslider32 SYSTEM "opcodes/slider32.xml">
-<!ENTITY opcodesslider64f SYSTEM "opcodes/slider64f.xml">
-<!ENTITY opcodesslider64 SYSTEM "opcodes/slider64.xml">
-<!ENTITY opcodesslider8f SYSTEM "opcodes/slider8f.xml">
-<!ENTITY opcodesslider8 SYSTEM "opcodes/slider8.xml">
-<!ENTITY opcodesslider16tablef SYSTEM "opcodes/slider16tablef.xml">
-<!ENTITY opcodesslider16table SYSTEM "opcodes/slider16table.xml">
-<!ENTITY opcodesslider32tablef SYSTEM "opcodes/slider32tablef.xml">
-<!ENTITY opcodesslider32table SYSTEM "opcodes/slider32table.xml">
-<!ENTITY opcodesslider64tablef SYSTEM "opcodes/slider64tablef.xml">
-<!ENTITY opcodesslider64table SYSTEM "opcodes/slider64table.xml">
-<!ENTITY opcodesslider8tablef SYSTEM "opcodes/slider8tablef.xml">
-<!ENTITY opcodesslider8table SYSTEM "opcodes/slider8table.xml">
-<!ENTITY opcodessliderkawai SYSTEM "opcodes/sliderkawai.xml">
-
-<!ENTITY opcodessocksend SYSTEM "opcodes/socksend.xml">
-<!ENTITY opcodessockrecv SYSTEM "opcodes/sockrecv.xml">
-
-<!ENTITY opcodessndload SYSTEM "opcodes/sndload.xml">
-<!ENTITY opcodessndwarp SYSTEM "opcodes/sndwarp.xml">
-<!ENTITY opcodessndwarpst SYSTEM "opcodes/sndwarpst.xml">
-<!ENTITY opcodessoundin SYSTEM "opcodes/soundin.xml">
-<!ENTITY opcodessoundout SYSTEM "opcodes/soundout.xml">
-<!ENTITY opcodessoundouts SYSTEM "opcodes/soundouts.xml">
-<!ENTITY opcodesspace SYSTEM "opcodes/space.xml">
-<!--<!ENTITY opcodesspat3di SYSTEM "opcodes/spat3di.xml">
-<!ENTITY opcodesspat3d SYSTEM "opcodes/spat3d.xml">
-<!ENTITY opcodesspat3dt SYSTEM "opcodes/spat3dt.xml">-->
-<!ENTITY opcodesspdist SYSTEM "opcodes/spdist.xml">
-<!--<!ENTITY opcodesspecaddm SYSTEM "opcodes/specaddm.xml">
-<!ENTITY opcodesspecdiff SYSTEM "opcodes/specdiff.xml">
-<!ENTITY opcodesspecdisp SYSTEM "opcodes/specdisp.xml">
-<!ENTITY opcodesspecfilt SYSTEM "opcodes/specfilt.xml">
-<!ENTITY opcodesspechist SYSTEM "opcodes/spechist.xml">
-<!ENTITY opcodesspecptrk SYSTEM "opcodes/specptrk.xml">
-<!ENTITY opcodesspecscal SYSTEM "opcodes/specscal.xml">
-<!ENTITY opcodesspecsum SYSTEM "opcodes/specsum.xml">
-<!ENTITY opcodesspectrum SYSTEM "opcodes/spectrum.xml">-->
-<!ENTITY opcodessplitrig SYSTEM "opcodes/splitrig.xml">
-<!ENTITY opcodesspsend SYSTEM "opcodes/spsend.xml">
-<!ENTITY opcodessqrt SYSTEM "opcodes/sqrt.xml">
-<!ENTITY opcodessr SYSTEM "opcodes/sr.xml">
-<!ENTITY opcodesstack SYSTEM "opcodes/stack.xml">
-<!ENTITY opcodesstatevar SYSTEM "opcodes/statevar.xml">
-<!ENTITY opcodesstix SYSTEM "opcodes/stix.xml">
-<!ENTITY opcodesstreson SYSTEM "opcodes/streson.xml">
-<!ENTITY opcodesstrset SYSTEM "opcodes/strset.xml">
-
-<!ENTITY opcodesstrchar SYSTEM "opcodes/strchar.xml">
-<!ENTITY opcodesstrchark SYSTEM "opcodes/strchark.xml">
-<!ENTITY opcodesstrcpy SYSTEM "opcodes/strcpy.xml">
-<!ENTITY opcodesstrcpyk SYSTEM "opcodes/strcpyk.xml">
-<!ENTITY opcodesstrcat SYSTEM "opcodes/strcat.xml">
-<!ENTITY opcodesstrcatk SYSTEM "opcodes/strcatk.xml">
-<!ENTITY opcodesstrcmp SYSTEM "opcodes/strcmp.xml">
-<!ENTITY opcodesstrcmpk SYSTEM "opcodes/strcmpk.xml">
-<!ENTITY opcodesstrget SYSTEM "opcodes/strget.xml">
-<!ENTITY opcodesstrindex SYSTEM "opcodes/strindex.xml">
-<!ENTITY opcodesstrindexk SYSTEM "opcodes/strindexk.xml">
-<!ENTITY opcodesstrrindex SYSTEM "opcodes/strrindex.xml">
-<!ENTITY opcodesstrrindexk SYSTEM "opcodes/strrindexk.xml">
-<!ENTITY opcodesstrlen SYSTEM "opcodes/strlen.xml">
-<!ENTITY opcodesstrlenk SYSTEM "opcodes/strlenk.xml">
-<!ENTITY opcodesstrlower SYSTEM "opcodes/strlower.xml">
-<!ENTITY opcodesstrlowerk SYSTEM "opcodes/strlowerk.xml">
-<!ENTITY opcodessprintf SYSTEM "opcodes/sprintf.xml">
-<!ENTITY opcodessprintfk SYSTEM "opcodes/sprintfk.xml">
-<!ENTITY opcodesprintf SYSTEM "opcodes/printf.xml">
-<!ENTITY opcodesputs SYSTEM "opcodes/puts.xml">
-<!ENTITY opcodesstrsub SYSTEM "opcodes/strsub.xml">
-<!ENTITY opcodesstrsubk SYSTEM "opcodes/strsubk.xml">
-<!ENTITY opcodesstrtod SYSTEM "opcodes/strtod.xml">
-<!ENTITY opcodesstrtodk SYSTEM "opcodes/strtodk.xml">
-<!ENTITY opcodesstrtol SYSTEM "opcodes/strtol.xml">
-<!ENTITY opcodesstrtolk SYSTEM "opcodes/strtolk.xml">
-<!ENTITY opcodesstrupper SYSTEM "opcodes/strupper.xml">
-<!ENTITY opcodesstrupperk SYSTEM "opcodes/strupperk.xml">
-
-<!ENTITY opcodessubinstr SYSTEM "opcodes/subinstr.xml">
-<!ENTITY opcodessubinstrinit SYSTEM "opcodes/subinstrinit.xml">
-<!ENTITY opcodessubtracts SYSTEM "opcodes/subtracts.xml">
-<!ENTITY opcodessum SYSTEM "opcodes/sum.xml">
-<!ENTITY opcodessvfilter SYSTEM "opcodes/svfilter.xml">
-<!ENTITY opcodessyncgrain SYSTEM "opcodes/syncgrain.xml">
-<!ENTITY opcodessyncloop SYSTEM "opcodes/syncloop.xml">
-<!ENTITY opcodesdiskgrain SYSTEM "opcodes/diskgrain.xml">
-<!ENTITY opcodessystem SYSTEM "opcodes/system.xml">
-<!ENTITY opcodestable3 SYSTEM "opcodes/table3.xml">
-<!ENTITY opcodestablecopy SYSTEM "opcodes/tablecopy.xml">
-<!ENTITY opcodestablegpw SYSTEM "opcodes/tablegpw.xml">
-<!ENTITY opcodestableicopy SYSTEM "opcodes/tableicopy.xml">
-<!ENTITY opcodestableigpw SYSTEM "opcodes/tableigpw.xml">
-<!ENTITY opcodestableikt SYSTEM "opcodes/tableikt.xml">
-<!ENTITY opcodestableimix SYSTEM "opcodes/tableimix.xml">
-<!ENTITY opcodestablei SYSTEM "opcodes/tablei.xml">
-<!ENTITY opcodestableiw SYSTEM "opcodes/tableiw.xml">
-<!ENTITY opcodestablekt SYSTEM "opcodes/tablekt.xml">
-<!ENTITY opcodestablemix SYSTEM "opcodes/tablemix.xml">
-<!ENTITY opcodestableng SYSTEM "opcodes/tableng.xml">
-<!ENTITY opcodestablera SYSTEM "opcodes/tablera.xml">
-<!ENTITY opcodestableseg SYSTEM "opcodes/tableseg.xml">
-<!ENTITY opcodestable SYSTEM "opcodes/table.xml">
-<!ENTITY opcodestablewa SYSTEM "opcodes/tablewa.xml">
-<!ENTITY opcodestablewkt SYSTEM "opcodes/tablewkt.xml">
-<!ENTITY opcodestablew SYSTEM "opcodes/tablew.xml">
-<!ENTITY opcodestablexkt SYSTEM "opcodes/tablexkt.xml">
-<!ENTITY opcodestablexseg SYSTEM "opcodes/tablexseg.xml">
-<!ENTITY opcodestabmorph SYSTEM "opcodes/tabmorph.xml">
-<!ENTITY opcodestabmorpha SYSTEM "opcodes/tabmorpha.xml">
-<!ENTITY opcodestabmorphak SYSTEM "opcodes/tabmorphak.xml">
-<!ENTITY opcodestabmorphi SYSTEM "opcodes/tabmorphi.xml">
-<!ENTITY opcodestabplay SYSTEM "opcodes/tabplay.xml">
-<!ENTITY opcodestabrec SYSTEM "opcodes/tabrec.xml">
-<!ENTITY opcodestb SYSTEM "opcodes/tb.xml">
-<!ENTITY opcodestab SYSTEM "opcodes/tab.xml">
-<!ENTITY opcodestambourine SYSTEM "opcodes/tambourine.xml">
-<!ENTITY opcodestanh SYSTEM "opcodes/tanh.xml">
-<!ENTITY opcodestaninv2 SYSTEM "opcodes/taninv2.xml">
-<!ENTITY opcodestaninv SYSTEM "opcodes/taninv.xml">
-<!ENTITY opcodestan SYSTEM "opcodes/tan.xml">
-<!ENTITY opcodestbvcf SYSTEM "opcodes/tbvcf.xml">
-<!ENTITY opcodestempest SYSTEM "opcodes/tempest.xml">
-<!ENTITY opcodestempo SYSTEM "opcodes/tempo.xml">
-<!ENTITY opcodestempoval SYSTEM "opcodes/tempoval.xml">
-<!ENTITY opcodestigoto SYSTEM "opcodes/tigoto.xml">
-<!ENTITY opcodestimeinstk SYSTEM "opcodes/timeinstk.xml">
-<!ENTITY opcodestimeinsts SYSTEM "opcodes/timeinsts.xml">
-<!ENTITY opcodestimek SYSTEM "opcodes/timek.xml">
-<!ENTITY opcodestimes SYSTEM "opcodes/times.xml">
-<!ENTITY opcodestimedseq SYSTEM "opcodes/timedseq.xml">
-<!ENTITY opcodestimout SYSTEM "opcodes/timout.xml">
-<!ENTITY opcodestival SYSTEM "opcodes/tival.xml">
-<!ENTITY opcodestlineto SYSTEM "opcodes/tlineto.xml">
-<!ENTITY opcodestonek SYSTEM "opcodes/tonek.xml">
-<!ENTITY opcodestone SYSTEM "opcodes/tone.xml">
-<!ENTITY opcodestonex SYSTEM "opcodes/tonex.xml">
-<!ENTITY opcodestrandom SYSTEM "opcodes/trandom.xml">
-<!ENTITY opcodestranseg SYSTEM "opcodes/transeg.xml">
-
-<!ENTITY opcodestradsyn SYSTEM "opcodes/tradsyn.xml">
-<!ENTITY opcodestrcross SYSTEM "opcodes/trcross.xml">
-<!ENTITY opcodestrfilter SYSTEM "opcodes/trfilter.xml">
-<!ENTITY opcodestrhighest SYSTEM "opcodes/trhighest.xml">
-<!ENTITY opcodestrlowest SYSTEM "opcodes/trlowest.xml">
-<!ENTITY opcodestrmix SYSTEM "opcodes/trmix.xml">
-<!ENTITY opcodestrsplit SYSTEM "opcodes/trsplit.xml">
-<!ENTITY opcodestrshift SYSTEM "opcodes/trshift.xml">
-<!ENTITY opcodestrscale SYSTEM "opcodes/trscale.xml">
-
-<!ENTITY opcodestrigger SYSTEM "opcodes/trigger.xml">
-<!ENTITY opcodestrigseq SYSTEM "opcodes/trigseq.xml">
-<!ENTITY opcodestrirand SYSTEM "opcodes/trirand.xml">
-<!ENTITY opcodesturnoff SYSTEM "opcodes/turnoff.xml">
-<!ENTITY opcodesturnoff2 SYSTEM "opcodes/turnoff2.xml">
-<!ENTITY opcodesturnon SYSTEM "opcodes/turnon.xml">
-<!ENTITY opcodesundef SYSTEM "opcodes/undef.xml">
-<!ENTITY opcodesunirand SYSTEM "opcodes/unirand.xml">
-<!ENTITY opcodesupsamp SYSTEM "opcodes/upsamp.xml">
-<!ENTITY opcodesurd SYSTEM "opcodes/urd.xml">
-
-<!ENTITY opcodesvadd SYSTEM "opcodes/vadd.xml">
-<!ENTITY opcodesvexp SYSTEM "opcodes/vexp.xml">
-<!ENTITY opcodesvmult SYSTEM "opcodes/vmult.xml">
-<!ENTITY opcodesvpow SYSTEM "opcodes/vpow.xml">
-<!ENTITY opcodesvaget SYSTEM "opcodes/vaget.xml">
-<!ENTITY opcodesvalpass SYSTEM "opcodes/valpass.xml">
-<!ENTITY opcodesvaset SYSTEM "opcodes/vaset.xml">
-<!--<!ENTITY opcodesvbap16move SYSTEM "opcodes/vbap16move.xml">
-<!ENTITY opcodesvbap16 SYSTEM "opcodes/vbap16.xml">
-<!ENTITY opcodesvbap4move SYSTEM "opcodes/vbap4move.xml">
-<!ENTITY opcodesvbap4 SYSTEM "opcodes/vbap4.xml">
-<!ENTITY opcodesvbap8move SYSTEM "opcodes/vbap8move.xml">
-<!ENTITY opcodesvbap8 SYSTEM "opcodes/vbap8.xml">
-<!ENTITY opcodesvbaplsinit SYSTEM "opcodes/vbaplsinit.xml">
-<!ENTITY opcodesvbapzmove SYSTEM "opcodes/vbapzmove.xml">
-<!ENTITY opcodesvbapz SYSTEM "opcodes/vbapz.xml">-->
-<!ENTITY opcodesvco2ft SYSTEM "opcodes/vco2ft.xml">
-<!ENTITY opcodesvco2ift SYSTEM "opcodes/vco2ift.xml">
-<!ENTITY opcodesvco2init SYSTEM "opcodes/vco2init.xml">
-<!ENTITY opcodesvco2 SYSTEM "opcodes/vco2.xml">
-<!ENTITY opcodesvcomb SYSTEM "opcodes/vcomb.xml">
-<!ENTITY opcodesvco SYSTEM "opcodes/vco.xml">
-<!ENTITY opcodesvdelay3 SYSTEM "opcodes/vdelay3.xml">
-<!ENTITY opcodesvdelay SYSTEM "opcodes/vdelay.xml">
-<!ENTITY opcodesvdelayxq SYSTEM "opcodes/vdelayxq.xml">
-<!ENTITY opcodesvdelayx SYSTEM "opcodes/vdelayx.xml">
-<!ENTITY opcodesvdelayxs SYSTEM "opcodes/vdelayxs.xml">
-<!ENTITY opcodesvdelayxwq SYSTEM "opcodes/vdelayxwq.xml">
-<!ENTITY opcodesvdelayxw SYSTEM "opcodes/vdelayxw.xml">
-<!ENTITY opcodesvdelayxws SYSTEM "opcodes/vdelayxws.xml">
-
-<!ENTITY opcodesvtable1k SYSTEM "opcodes/vtable1k.xml">
-<!ENTITY opcodesvtablei SYSTEM "opcodes/vtablei.xml">
-<!ENTITY opcodesvtablek SYSTEM "opcodes/vtablek.xml">
-<!ENTITY opcodesvtablea SYSTEM "opcodes/vtablea.xml">
-<!ENTITY opcodesvtablewi SYSTEM "opcodes/vtablewi.xml">
-<!ENTITY opcodesvtablewk SYSTEM "opcodes/vtablewk.xml">
-<!ENTITY opcodesvtablewa SYSTEM "opcodes/vtablewa.xml">
-<!ENTITY opcodesvtabi SYSTEM "opcodes/vtabi.xml">
-<!ENTITY opcodesvtabk SYSTEM "opcodes/vtabk.xml">
-<!ENTITY opcodesvtaba SYSTEM "opcodes/vtaba.xml">
-<!ENTITY opcodesvtabwi SYSTEM "opcodes/vtabwi.xml">
-<!ENTITY opcodesvtabwk SYSTEM "opcodes/vtabwk.xml">
-<!ENTITY opcodesvtabwa SYSTEM "opcodes/vtabwa.xml">
-<!ENTITY opcodesvadd SYSTEM "opcodes/vadd.xml">
-<!ENTITY opcodesvaddi SYSTEM "opcodes/vadd_i.xml">
-<!ENTITY opcodesvmult SYSTEM "opcodes/vmult.xml">
-<!ENTITY opcodesvmulti SYSTEM "opcodes/vmult_i.xml">
-<!ENTITY opcodesvpow SYSTEM "opcodes/vpow.xml">
-<!ENTITY opcodesvpowi SYSTEM "opcodes/vpow_i.xml">
-<!ENTITY opcodesvexp SYSTEM "opcodes/vexp.xml">
-<!ENTITY opcodesvexpi SYSTEM "opcodes/vexp_i.xml">
-<!ENTITY opcodesvlinseg SYSTEM "opcodes/vlinseg.xml">
-<!ENTITY opcodesvexpseg SYSTEM "opcodes/vexpseg.xml">
-<!ENTITY opcodesvaddv SYSTEM "opcodes/vaddv.xml">
-<!ENTITY opcodesvsubv SYSTEM "opcodes/vsubv.xml">
-<!ENTITY opcodesvmultv SYSTEM "opcodes/vmultv.xml">
-<!ENTITY opcodesvdivv SYSTEM "opcodes/vdivv.xml">
-<!ENTITY opcodesvpowv SYSTEM "opcodes/vpowv.xml">
-<!ENTITY opcodesvexpv SYSTEM "opcodes/vexpv.xml">
-<!ENTITY opcodesvaddv_i SYSTEM "opcodes/vaddv_i.xml">
-<!ENTITY opcodesvsubv_i SYSTEM "opcodes/vsubv_i.xml">
-<!ENTITY opcodesvmultv_i SYSTEM "opcodes/vmultv_i.xml">
-<!ENTITY opcodesvdivv_i SYSTEM "opcodes/vdivv_i.xml">
-<!ENTITY opcodesvpowv_i SYSTEM "opcodes/vpowv_i.xml">
-<!ENTITY opcodesvexpv_i SYSTEM "opcodes/vexpv_i.xml">
-<!ENTITY opcodesvcopy SYSTEM "opcodes/vcopy.xml">
-<!ENTITY opcodesvcopy_i SYSTEM "opcodes/vcopy_i.xml">
-<!ENTITY opcodesvmap SYSTEM "opcodes/vmap.xml">
-<!ENTITY opcodesvlimit SYSTEM "opcodes/vlimit.xml">
-<!ENTITY opcodesvwrap SYSTEM "opcodes/vwrap.xml">
-<!ENTITY opcodesvmirror SYSTEM "opcodes/vmirror.xml">
-
-<!ENTITY opcodesvcella SYSTEM "opcodes/vcella.xml">
-<!ENTITY opcodesvdelayk SYSTEM "opcodes/vdelayk.xml">
-
-<!ENTITY opcodesvport SYSTEM "opcodes/vport.xml">
-<!ENTITY opcodesvecdelay SYSTEM "opcodes/vecdelay.xml">
-
-<!ENTITY opcodesvrandh SYSTEM "opcodes/vrandh.xml">
-<!ENTITY opcodesvrandi SYSTEM "opcodes/vrandi.xml">
-
-<!ENTITY opcodesveloc SYSTEM "opcodes/veloc.xml">
-<!ENTITY opcodesvibes SYSTEM "opcodes/vibes.xml">
-<!ENTITY opcodesvibrato SYSTEM "opcodes/vibrato.xml">
-<!ENTITY opcodesvibr SYSTEM "opcodes/vibr.xml">
-<!ENTITY opcodesvincr SYSTEM "opcodes/vincr.xml">
-<!ENTITY opcodesvlowres SYSTEM "opcodes/vlowres.xml">
-<!ENTITY opcodesvoice SYSTEM "opcodes/voice.xml">
-<!ENTITY opcodesvosim SYSTEM "opcodes/vosim.xml">
-<!ENTITY opcodesvpvoc SYSTEM "opcodes/vpvoc.xml">
-<!ENTITY opcodesvphaseseg SYSTEM "opcodes/vphaseseg.xml">
-<!ENTITY opcodeswaveset SYSTEM "opcodes/waveset.xml">
-<!ENTITY opcodesweibull SYSTEM "opcodes/weibull.xml">
-<!ENTITY opcodeswgbowedbar SYSTEM "opcodes/wgbowedbar.xml">
-<!ENTITY opcodeswgbow SYSTEM "opcodes/wgbow.xml">
-<!ENTITY opcodeswgbrass SYSTEM "opcodes/wgbrass.xml">
-<!ENTITY opcodeswgclar SYSTEM "opcodes/wgclar.xml">
-<!ENTITY opcodeswgflute SYSTEM "opcodes/wgflute.xml">
-<!ENTITY opcodeswgpluck2 SYSTEM "opcodes/wgpluck2.xml">
-<!ENTITY opcodeswgpluck SYSTEM "opcodes/wgpluck.xml">
-<!ENTITY opcodeswguide1 SYSTEM "opcodes/wguide1.xml">
-<!ENTITY opcodeswguide2 SYSTEM "opcodes/wguide2.xml">
-<!ENTITY opcodeswrap SYSTEM "opcodes/wrap.xml">
-<!ENTITY opcodeswterrain SYSTEM "opcodes/wterrain.xml">
-<!ENTITY opcodesxadsr SYSTEM "opcodes/xadsr.xml">
-<!ENTITY opcodesxin SYSTEM "opcodes/xin.xml">
-<!ENTITY opcodesxout SYSTEM "opcodes/xout.xml">
-<!--<!ENTITY opcodesxscanmap SYSTEM "opcodes/xscanmap.xml">
-<!ENTITY opcodesxscansmap SYSTEM "opcodes/xscansmap.xml">
-<!ENTITY opcodesxscans SYSTEM "opcodes/xscans.xml">
-<!ENTITY opcodesxscanu SYSTEM "opcodes/xscanu.xml">-->
-<!ENTITY opcodesxtratim SYSTEM "opcodes/xtratim.xml">
-<!ENTITY opcodesxyin SYSTEM "opcodes/xyin.xml">
-<!ENTITY opcodeszacl SYSTEM "opcodes/zacl.xml">
-<!ENTITY opcodeszakinit SYSTEM "opcodes/zakinit.xml">
-<!ENTITY opcodeszamod SYSTEM "opcodes/zamod.xml">
-<!ENTITY opcodeszarg SYSTEM "opcodes/zarg.xml">
-<!ENTITY opcodeszar SYSTEM "opcodes/zar.xml">
-<!ENTITY opcodeszawm SYSTEM "opcodes/zawm.xml">
-<!ENTITY opcodeszaw SYSTEM "opcodes/zaw.xml">
-<!ENTITY opcodeszfilter2 SYSTEM "opcodes/zfilter2.xml">
-<!ENTITY opcodeszir SYSTEM "opcodes/zir.xml">
-<!ENTITY opcodesziwm SYSTEM "opcodes/ziwm.xml">
-<!ENTITY opcodesziw SYSTEM "opcodes/ziw.xml">
-<!ENTITY opcodeszkcl SYSTEM "opcodes/zkcl.xml">
-<!ENTITY opcodeszkmod SYSTEM "opcodes/zkmod.xml">
-<!ENTITY opcodeszkr SYSTEM "opcodes/zkr.xml">
-<!ENTITY opcodeszkwm SYSTEM "opcodes/zkwm.xml">
-<!ENTITY opcodeszkw SYSTEM "opcodes/zkw.xml">
-
-<!ENTITY orch SYSTEM "orch/top.xml">
-<!ENTITY orchdirfiles SYSTEM "orch/dirfiles.xml">
-<!ENTITY orchexpress SYSTEM "orch/express.xml">
-<!ENTITY orchheader SYSTEM "orch/header.xml">
-<!ENTITY orchmacros SYSTEM "orch/macros.xml">
-<!ENTITY orchiblock SYSTEM "orch/iblock.xml">
-<!ENTITY orchkvar SYSTEM "orch/kvar.xml">
-<!ENTITY orchnomen SYSTEM "orch/nomen.xml">
-<!ENTITY orchstatemnt SYSTEM "orch/statemnt.xml">
-<!--<!ENTITY orchvarinit SYSTEM "orch/varinit.xml">-->
-<!ENTITY orchnamedinstruments SYSTEM "orch/namedInstruments.xml">
-<!ENTITY orchUDO SYSTEM "orch/UDO.xml">
-
-<!ENTITY pitch SYSTEM "pitch/top.xml">
-<!ENTITY pitchfuncs SYSTEM "pitch/funcs.xml">
-<!ENTITY pitchtuning SYSTEM "pitch/tuning.xml">
-
-<!ENTITY score SYSTEM "score/top.xml">
-<!ENTITY scoreampgen SYSTEM "score/ampgen.xml">
-<!ENTITY scoreeval SYSTEM "score/eval.xml">
-<!ENTITY scorefilegen SYSTEM "score/filegen.xml">
-<!ENTITY scoremacros SYSTEM "score/macros.xml">
-<!ENTITY scoremixgen SYSTEM "score/mixgen.xml">
-<!ENTITY scoremult SYSTEM "score/mult.xml">
-<!ENTITY scorenextp SYSTEM "score/nextp.xml">
-<!ENTITY scorestrings SYSTEM "score/strings.xml">
-
-<!ENTITY scorenumgen SYSTEM "score/numgen.xml">
-<!ENTITY scorepreproc SYSTEM "score/preproc.xml">
-<!ENTITY scoreramp SYSTEM "score/ramp.xml">
-<!ENTITY scorestatemnt SYSTEM "score/statemnt.xml">
-<!--<!ENTITY scorerandgen SYSTEM "score/randgen.xml">
-<!ENTITY scoreseggen SYSTEM "score/seggen.xml">
-<!ENTITY scoresinegen SYSTEM "score/sinegen.xml">
-<!ENTITY scorewavegen SYSTEM "score/wavegen.xml">
-<!ENTITY scorewingen SYSTEM "score/wingen.xml">-->
-
-<!ENTITY scoregens SYSTEM "scoregens/top.xml">
-<!ENTITY scoregensa SYSTEM "scoregens/a.xml">
-<!ENTITY scoregensb SYSTEM "scoregens/b.xml">
-<!ENTITY scoregense SYSTEM "scoregens/e.xml">
-<!ENTITY scoregensf SYSTEM "scoregens/f.xml">
-<!ENTITY scoregensgen01 SYSTEM "scoregens/gen01.xml">
-<!ENTITY scoregensgen02 SYSTEM "scoregens/gen02.xml">
-<!ENTITY scoregensgen03 SYSTEM "scoregens/gen03.xml">
-<!ENTITY scoregensgen04 SYSTEM "scoregens/gen04.xml">
-<!ENTITY scoregensgen05 SYSTEM "scoregens/gen05.xml">
-<!ENTITY scoregensgen06 SYSTEM "scoregens/gen06.xml">
-<!ENTITY scoregensgen07 SYSTEM "scoregens/gen07.xml">
-<!ENTITY scoregensgen08 SYSTEM "scoregens/gen08.xml">
-<!ENTITY scoregensgen09 SYSTEM "scoregens/gen09.xml">
-<!ENTITY scoregensgen10 SYSTEM "scoregens/gen10.xml">
-<!ENTITY scoregensgen11 SYSTEM "scoregens/gen11.xml">
-<!ENTITY scoregensgen12 SYSTEM "scoregens/gen12.xml">
-<!ENTITY scoregensgen13 SYSTEM "scoregens/gen13.xml">
-<!ENTITY scoregensgen14 SYSTEM "scoregens/gen14.xml">
-<!ENTITY scoregensgen15 SYSTEM "scoregens/gen15.xml">
-<!ENTITY scoregensgen16 SYSTEM "scoregens/gen16.xml">
-<!ENTITY scoregensgen17 SYSTEM "scoregens/gen17.xml">
-<!ENTITY scoregensgen18 SYSTEM "scoregens/gen18.xml">
-<!ENTITY scoregensgen19 SYSTEM "scoregens/gen19.xml">
-<!ENTITY scoregensgen20 SYSTEM "scoregens/gen20.xml">
-<!ENTITY scoregensgen21 SYSTEM "scoregens/gen21.xml">
-<!ENTITY scoregensgen22 SYSTEM "scoregens/gen22.xml">
-<!ENTITY scoregensgen23 SYSTEM "scoregens/gen23.xml">
-<!ENTITY scoregensgen24 SYSTEM "scoregens/gen24.xml">
-<!ENTITY scoregensgen25 SYSTEM "scoregens/gen25.xml">
-<!ENTITY scoregensgen27 SYSTEM "scoregens/gen27.xml">
-<!ENTITY scoregensgen28 SYSTEM "scoregens/gen28.xml">
-<!ENTITY scoregensgen30 SYSTEM "scoregens/gen30.xml">
-<!ENTITY scoregensgen31 SYSTEM "scoregens/gen31.xml">
-<!ENTITY scoregensgen32 SYSTEM "scoregens/gen32.xml">
-<!ENTITY scoregensgen33 SYSTEM "scoregens/gen33.xml">
-<!ENTITY scoregensgen34 SYSTEM "scoregens/gen34.xml">
-<!ENTITY scoregensgen40 SYSTEM "scoregens/gen40.xml">
-<!ENTITY scoregensgen41 SYSTEM "scoregens/gen41.xml">
-<!ENTITY scoregensgen42 SYSTEM "scoregens/gen42.xml">
-<!ENTITY scoregensgen43 SYSTEM "scoregens/gen43.xml">
-<!ENTITY scoregensgen51 SYSTEM "scoregens/gen51.xml">
-<!ENTITY scoregensgen52 SYSTEM "scoregens/gen52.xml">
-<!ENTITY scoregensi SYSTEM "scoregens/i.xml">
-<!ENTITY scoregensm SYSTEM "scoregens/m.xml">
-<!ENTITY scoregensn SYSTEM "scoregens/n.xml">
-<!ENTITY scoregensq SYSTEM "scoregens/q.xml">
-<!ENTITY scoregensr SYSTEM "scoregens/r.xml">
-<!ENTITY scoregenss SYSTEM "scoregens/s.xml">
-<!ENTITY scoregenst SYSTEM "scoregens/t.xml">
-<!ENTITY scoregensv SYSTEM "scoregens/v.xml">
-<!ENTITY scoregensx SYSTEM "scoregens/x.xml">
-<!ENTITY scoregensleftbrace SYSTEM "scoregens/leftbrace.xml">
-<!ENTITY scoregensrightbrace SYSTEM "scoregens/rightbrace.xml">
-
-<!ENTITY siggen SYSTEM "siggen/top.xml">
-<!ENTITY siggenadditive SYSTEM "siggen/additive.xml">
-<!ENTITY siggenbasic SYSTEM "siggen/basic.xml">
-<!ENTITY siggendynamic SYSTEM "siggen/dynamic.xml">
-<!ENTITY siggenfmsynth SYSTEM "siggen/fmsynth.xml">
-<!ENTITY siggengranular SYSTEM "siggen/granular.xml">
-<!ENTITY siggenhvs SYSTEM "siggen/hvsXO.xml">
-<!ENTITY siggenlineexp SYSTEM "siggen/lineexp.xml">
-<!ENTITY siggenenvelope SYSTEM "siggen/envelope.xml">
-<!ENTITY siggenmodels SYSTEM "siggen/models.xml">
-<!ENTITY siggenphasors SYSTEM "siggen/phasors.xml">
-<!ENTITY siggenrandom SYSTEM "siggen/random.xml">
-<!ENTITY siggensample SYSTEM "siggen/sampleXO.xml">
-<!ENTITY siggenscantop SYSTEM "siggen/scantop.xml">
-<!ENTITY siggentableacc SYSTEM "siggen/tableacc.xml">
-<!ENTITY siggenwaveterr SYSTEM "siggen/waveterr.xml">
-<!ENTITY siggenwavguide SYSTEM "siggen/wavguide.xml">
-
-<!ENTITY sigio SYSTEM "sigio/top.xml">
-<!ENTITY sigiofileio SYSTEM "sigio/fileio.xml">
-<!ENTITY sigioinput SYSTEM "sigio/inputXO.xml">
-<!ENTITY sigiooutput SYSTEM "sigio/outputXO.xml">
-<!ENTITY sigiosoftbus SYSTEM "sigio/softbus.xml">
-<!ENTITY sigiopdisplay SYSTEM "sigio/pdisplay.xml">
-<!ENTITY sigioqueries SYSTEM "sigio/queries.xml">
-
-<!ENTITY sigmod SYSTEM "sigmod/top.xml">
-<!ENTITY sigmodampmod SYSTEM "sigmod/ampmod.xml">
-<!ENTITY sigmodconmorph SYSTEM "sigmod/conmorph.xml">
-<!ENTITY sigmoddelayops SYSTEM "sigmod/delayops.xml">
-<!ENTITY sigmodenvelope SYSTEM "sigmod/envelope.xml">
-<!ENTITY sigmodpanspatl SYSTEM "sigmod/panspatlXO.xml">
-<!ENTITY sigmodreverbtn SYSTEM "sigmod/reverbtn.xml">
-<!ENTITY sigmodsample SYSTEM "sigmod/sample.xml">
-<!ENTITY sigmodsiglimit SYSTEM "sigmod/siglimit.xml">
-<!ENTITY sigmodspeciale SYSTEM "sigmod/speciale.xml">
-<!ENTITY sigmodspeciali SYSTEM "sigmod/speciali.xml">
-<!ENTITY sigmodstandard SYSTEM "sigmod/standard.xml">
-<!ENTITY sigmodwavguide SYSTEM "sigmod/wavguide.xml">
-<!ENTITY sigmodcompaccum SYSTEM "sigmod/compaccum.xml">
-<!ENTITY sigmodwavshape SYSTEM "sigmod/wavshape.xml">
-
-<!ENTITY spectral SYSTEM "spectral/topXO.xml">
-<!ENTITY spectralstft SYSTEM "spectral/stft.xml">
-<!ENTITY spectrallpcresyn SYSTEM "spectral/lpcresyn.xml">
-<!ENTITY spectralnonstand SYSTEM "spectral/nonstand.xml">
-<!ENTITY spectralrealtime SYSTEM "spectral/realtimeXO.xml">
-<!--<!ENTITY spectralATS SYSTEM "spectral/ATS.xml">
-<!ENTITY spectralloris SYSTEM "spectral/loris.xml">-->
-
-<!ENTITY strings SYSTEM "strings/top.xml">
-<!ENTITY stringsmanipulate SYSTEM "strings/manipulate.xml">
-<!ENTITY stringsconvert SYSTEM "strings/convert.xml">
-
-<!ENTITY table SYSTEM "table/top.xml">
-<!ENTITY tablequeries SYSTEM "table/queries.xml">
-<!ENTITY tablereadwrit SYSTEM "table/readwrit.xml">
-<!ENTITY tableselect SYSTEM "table/select.xml">
-
-<!ENTITY utility SYSTEM "utility/topXO.xml">
-<!ENTITY utilityanalysis SYSTEM "utility/analysisXO.xml">
-<!ENTITY utilityconvert SYSTEM "utility/convertXO.xml">
-<!ENTITY utilitycs SYSTEM "utility/cs.xml">
-<!ENTITY utilitycsb64enc SYSTEM "utility/csb64enc.xml">
-<!ENTITY utilitycvanal SYSTEM "utility/cvanal.xml">
-<!ENTITY utilitydnoise SYSTEM "utility/dnoise.xml">
-<!ENTITY utilityenvext SYSTEM "utility/envext.xml">
-<!ENTITY utilityextractor SYSTEM "utility/extractor.xml">
-<!ENTITY utilityhetro SYSTEM "utility/hetro.xml">
-<!ENTITY utilityhet_import SYSTEM "utility/het_import.xml">
-<!ENTITY utilityhet_export SYSTEM "utility/het_export.xml">
-<!ENTITY utilitylpanal SYSTEM "utility/lpanal.xml">
-<!-- <!ENTITY utilityatsa SYSTEM "utility/atsa.xml"> -->
-<!ENTITY utilitymakecsd SYSTEM "utility/makecsd.xml">
-<!ENTITY utilitymixer SYSTEM "utility/mixer.xml">
-<!ENTITY utilityother SYSTEM "utility/other.xml">
-<!ENTITY utilitypvanal SYSTEM "utility/pvanal.xml">
-<!ENTITY utilitypv_export SYSTEM "utility/pv_export.xml">
-<!ENTITY utilitypv_import SYSTEM "utility/pv_import.xml">
-<!ENTITY utilitypvlook SYSTEM "utility/pvlook.xml">
-<!ENTITY utilityqueries SYSTEM "utility/queries.xml">
-<!ENTITY utilityscale SYSTEM "utility/scale.xml">
-<!ENTITY utilitysdif2ad SYSTEM "utility/sdif2ad.xml">
-<!ENTITY utilitysndinfo SYSTEM "utility/sndinfo.xml">
-<!ENTITY utilitysrconv SYSTEM "utility/srconv.xml">
-
-<!ENTITY vectorial SYSTEM "vectorial/top.xml">
-<!ENTITY vectorialtables SYSTEM "vectorial/tables.xml">
-<!ENTITY vectorialscalar SYSTEM "vectorial/scalar.xml">
-<!ENTITY vectorialvectorial SYSTEM "vectorial/vectorial.xml">
-<!ENTITY vectorialenvelopeGenerators SYSTEM "vectorial/envelopeGenerators.xml">
-<!ENTITY vectoriallimiting SYSTEM "vectorial/limiting.xml">
-<!ENTITY vectorialdelay SYSTEM "vectorial/delay.xml">
-<!ENTITY vectorialrandom SYSTEM "vectorial/vectorialrandom.xml">
-
-<!ENTITY zak SYSTEM "zak/top.xml">
-
-<!ENTITY csoundversion "5.11">
-]>
-
-<book id="index" lang="en">
-  <title>The OLPCsound Reference Manual</title>
-  <subtitle>Version &csoundversion;</subtitle>
-  <bookinfo>
-    <authorgroup>
-      <author>
-        <firstname>Barry</firstname>
-        <surname>Vercoe</surname>
-        <affiliation>
-          <orgname>MIT Media Lab
-          </orgname>
-        </affiliation>
-      </author>
-      <author>
-        <firstname>
-          et. al.
-        </firstname>
-      </author>
-
-<!--      <author>
-        <firstname>Other Contributors</firstname>
-        <surname></surname>
-      </author>-->
-
-<!--      <editor>
-        <firstname>John</firstname>
-        <surname>ffitch</surname>
-      </editor>
-
-      <editor>
-        <firstname>Jean</firstname>
-        <surname>Piché</surname>
-      </editor>
-
-      <editor>
-        <firstname>Peter</firstname>
-        <surname>Nix</surname>
-      </editor>
-
-      <editor>
-        <firstname>Richard</firstname>
-        <surname>Boulanger</surname>
-      </editor>
-
-      <editor>
-        <firstname>Rasmus</firstname>
-        <surname>Ekman</surname>
-      </editor>
-
-      <editor>
-        <firstname>David</firstname>
-        <surname>Boothe</surname>
-      </editor>
-
-      <editor>
-        <firstname>Kevin</firstname>
-        <surname>Conder</surname>
-      </editor>
-
-      <editor>
-        <firstname>Steven</firstname>
-        <surname>Yi</surname>
-      </editor>
-
-      <editor>
-        <firstname>Michael</firstname>
-        <surname>Gogins</surname>
-      </editor>
-
-      <editor>
-        <firstname>Andrés</firstname>
-        <surname>Cabrera</surname>
-      </editor>
-
-      <editor>
-        <firstname>François</firstname>
-        <surname>Pinot</surname>
-      </editor>
-
-      <editor>
-        <firstname>Anthony</firstname>
-        <surname>Kozar</surname>
-      </editor>-->
- 
-    </authorgroup>
-
-    <edition>&csoundversion;</edition>
-
-<!--    <copyright>
-      <year>1986</year>
-      <year>1992</year>
-      <holder>Massachusetts Institute of Technology</holder>
-    </copyright>-->
-  </bookinfo>
-
-  &pface;
-
-  <part id="PartOverview">
-    <title>Overview</title>
-<!--     &oviewintroduction; -->
-<!--    &oviewrecentdev;-->
-
-    &oviewusing;
-<!--     &oviewconfiguring; -->
-    &orch;
-    &score;
-<!--    &oviewfrontends;-->
-<!--     &tclcsound; -->
-<!--    &oviewbuilding;-->
-    &command;
-    &oviewlinks;
-
-  </part>
-
-  <!-- &csound5opcodesSection; -->
-
-<!--  <part id="PartOpcodesOverview">
-    <title>Opcodes Overview</title>
-
-    &siggen;
-    &sigio;
-    &sigmod;
-    &control;
-    &table;
-    &math;
-    &pitch;
-    &midi;
-    &spectral;
-    &strings;
-    &vectorial;
-    &zak;
-    &plugin;
-    &oscnetwork;
-    &mixer;
-    &py;
-    &imageopcodes;
-    &miscopcodes;
-
-  </part>-->
-
-  <part id="PartReference">
-    <title>Reference</title>
-    &opcodes;
-    &scoregens;
-    &utility;
-<!--     &cscore; -->
-<!--     &csound5extending; -->
-  </part>
-
-  &misc;
-
-</book>
-
-
diff --git a/math/array.xml b/math/array.xml
new file mode 100644
index 0000000..d53e49c
--- /dev/null
+++ b/math/array.xml
@@ -0,0 +1,338 @@
+<refentry id="arrayOpcodes">
+  <indexterm id="Indexarray">
+    <primary>Array opcodes</primary>
+  </indexterm>
+  <refentryinfo>
+    <title>Mathematical Operations</title>
+  </refentryinfo>
+  <refmeta>
+    <refentrytitle>Array Opcodes</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>Array Opcodes</refname>
+  </refnamediv>
+  
+  <refsect1>
+    <title>Variable Name</title>
+    <para>
+      An array must be created (via <link linkend="init"><citetitle>init</citetitle></link>
+      or <link linkend="fillarray"><citetitle>fillarray</citetitle></link>) as
+      kMyName <emphasis role="strong">plus</emphasis> ending brackets. The
+      brackets determine
+      the dimensions of the array. So,
+      <informalexample>
+        <programlisting>
+kArr[] <emphasis role="opc">init</emphasis> 10</programlisting>
+      </informalexample>
+      creates a one-dimensional array of length 10, whereas
+      <informalexample>
+        <programlisting>
+kArr[][] <emphasis role="opc">init</emphasis> 10, 10</programlisting>
+      </informalexample>
+      creates a two-dimensional array with 10 rows and 10 columns.
+    </para>
+    
+    <para>
+      After the initalization of the array, referring to the array as a whole is
+      done <emphasis role="strong">without</emphasis> any brackets. Brackets are
+      only used if an element is indexed:
+      <informalexample>
+        <programlisting>
+kArr[]   <emphasis role="opc">init</emphasis> 10             <emphasis role="comment">;with brackets because of initialization</emphasis>
+kLen     <emphasis role="op">=</emphasis> lenarray(kArr)    <emphasis role="comment">;without brackets</emphasis>
+kFirstEl <emphasis role="op">=</emphasis> kArr[0]           <emphasis role="comment">;indexing with brackets</emphasis></programlisting>
+      </informalexample>
+    </para>
+
+    <para>
+      The same syntax is used for a simple copy via the '=' operator:
+      <informalexample>
+        <programlisting>
+kArr1[] <emphasis role="opc">fillarray</emphasis> 1, 2, 3, 4, 5
+kArr2[] <emphasis role="op">=</emphasis> kArr1              <emphasis role="comment">;creates kArr2 as copy of kArr1</emphasis></programlisting>
+      </informalexample>
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>k-rate</title>
+    <para>
+      Note that most array operations are currently k-rate only. So like any
+      other k-rate opcode, an operation on arrays will be automatically repeated
+      every k-cycle. For instance, this code will repeat re-writing the array
+      with different random values every k-cycle, as long as the instrument runs:
+      <informalexample>
+        <programlisting>
+kArr[] <emphasis role="opc">init</emphasis> 10
+kIndx  <emphasis role="op">=</emphasis> 0
+<emphasis role="octrl">until</emphasis> kIndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(kArr) <emphasis role="octrl">do</emphasis>
+  kArr[kIndx] <emphasis role="opc">rnd31</emphasis> 10, 0
+  kIndx <emphasis role="op">+=</emphasis> 1
+<emphasis role="octrl">od</emphasis></programlisting>
+      </informalexample>
+    </para>
+    
+    <para>
+      If you want to avoid this, you must organize it in one of the usual ways,
+      for instance by using a trigger:
+      <informalexample>
+        <programlisting>
+kArr[] <emphasis role="opc">init</emphasis> 10
+kTrig <emphasis role="opc">metro</emphasis> 1
+<emphasis role="octrl">if</emphasis> kTrig <emphasis role="op">==</emphasis> 1 <emphasis role="octrl">then</emphasis> <emphasis role="comment">;do the following once a second</emphasis>
+  kIndx  <emphasis role="op">=</emphasis> 0
+  <emphasis role="octrl">until</emphasis> kIndx <emphasis role="op">==</emphasis> <emphasis role="opc">lenarray</emphasis>(kArr) <emphasis role="octrl">do</emphasis>
+    kArr[kIndx] <emphasis role="opc">rnd31</emphasis> 10, 0
+    kIndx <emphasis role="op">+=</emphasis> 1
+  <emphasis role="octrl">od</emphasis>
+<emphasis role="octrl">endif</emphasis></programlisting>
+      </informalexample>
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Creation/Initialization</title>
+    <para>
+      The usual way to create an array is with init:
+      <informalexample>
+        <programlisting>
+kArr[]   <emphasis role="opc">init</emphasis> 10     <emphasis role="comment">;creates one-dimensional array with length 10</emphasis>
+kArr[][] <emphasis role="opc">init</emphasis> 10, 10 <emphasis role="comment">;creates two-dimensional array</emphasis></programlisting>
+      </informalexample>
+    </para>
+    <para>
+      A one-dimensional array can also be created and filled with distinct values
+      by the opcode <emphasis>fillarray</emphasis>. This line creates a vector
+      with length 4 and puts in the numbers [1, 2, 3, 4]:
+    </para>
+      <informalexample>
+        <programlisting>
+kArr[] <emphasis role="opc">fillarray</emphasis> 1, 2, 3, 4</programlisting>
+      </informalexample>
+  </refsect1>
+  
+  <refsect1>
+    <title>Length</title>
+    <para>
+      The function <emphasis>lenarray(kArr)</emphasis> reports the length of an
+      array. See example for function
+      <link linkend="lenarray"><citetitle>lenarray</citetitle></link>.
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Copy Arrays to/from Tables</title>
+    <para>
+      <informalexample>
+        <programlisting>
+<emphasis role="opc">copyf2array</emphasis> kArr, kfn</programlisting>
+      </informalexample>
+      copies data from an ftable to a vector.
+    </para>
+    <para>
+      <informalexample>
+        <programlisting>
+<emphasis role="opc">copya2ftab</emphasis> kArr, kfn</programlisting>
+      </informalexample>
+      copies data from a vector to an function table.
+    </para>
+    <para>
+      See examples for opcodes
+      <link linkend="copyf2array"><citetitle>copyf2array</citetitle></link> and
+      <link linkend="copya2ftab"><citetitle>copya2ftab</citetitle></link>.
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Array Operations: Math</title>
+    <refsect2>
+      <title>+, -, *, / on a Number</title>
+      <para>
+        If the four basic math operators are used between an array and a scalar 
+        (number), the operation is applied to each element. The safest way to do
+        this is to store the result in a new array:
+        <informalexample>
+          <programlisting>
+kArr1[] <emphasis role="opc">fillarray</emphasis> 1, 2, 3
+kArr2[] <emphasis role="op">=</emphasis> kArr1 <emphasis role="op">+</emphasis> 10    <emphasis role="comment">;(kArr2 is now [11, 12, 13])</emphasis></programlisting>
+        </informalexample>
+        Here is an example of array/scalar operations. It uses the file
+        <ulink url="examples/array_scalar_math.csd"><citetitle>array_scalar_math.csd</citetitle></ulink>.
+        <example>
+          <title>Example of array operations</title>
+          <xi:include href="examples-xml/array_scalar_math.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+        </example>
+      </para>
+    </refsect2>
+    <refsect2>
+      <title>+, -, *, / on a Second Array</title>
+      <para>
+        If the four basic math operators are used between two arrays, the
+        operation is applied element by element. The result can be
+        straightforward stored in a new array:
+        <informalexample>
+          <programlisting>
+kArr1[] <emphasis role="opc">fillarray</emphasis> 1, 2, 3
+kArr2[] <emphasis role="opc">fillarray</emphasis> 10, 20, 30
+kArr3[] <emphasis role="op">=</emphasis> kArr1 <emphasis role="op">+</emphasis> kArr2    <emphasis role="comment">;(kArr3 is now [11, 22, 33])</emphasis></programlisting>
+        </informalexample>
+        Here is an example of array operations. It uses the file
+        <ulink url="examples/array_array_math.csd"><citetitle>array_array_math.csd</citetitle></ulink>.
+        <example>
+          <title>Example of array operations</title>
+          <xi:include href="examples-xml/array_array_math.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+        </example>
+      </para>
+    </refsect2>
+  </refsect1>
+  
+  <refsect1>
+    <title>Map a Function to an Array</title>
+    <para>
+      <informalexample>
+        <programlisting>
+kArrRes <emphasis role="opc">maparray</emphasis> kArrSrc, "fun"</programlisting>
+      </informalexample>
+      maps the k-rate 1-arg function in the string to every element of the vector.
+    </para>
+    <para>
+      Possible functions are for instance <emphasis>abs, ceil, exp, floor, frac,
+      int, log, log10, round, sqrt</emphasis>. This is a simple example:
+      <informalexample>
+        <programlisting>
+kArrSrc[] <emphasis role="opc">fillarray</emphasis> 1, 2, 3, 4, 5
+kArrRes[] <emphasis role="opc">init</emphasis>      5
+kArrRes   <emphasis role="opc">maparray</emphasis>  kArrSrc, "sqrt"</programlisting>
+      </informalexample>
+      See example for opcode
+      <link linkend="maparray"><citetitle>maparray</citetitle></link>.
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Array Operations: min, max, sum, scale, slice</title>
+    <refsect2>
+      <title>Minimum and Maximum</title>
+      <para>
+        <informalexample>
+          <programlisting>
+  kMin [,kMinIndx] <emphasis role="opc">minarray</emphasis> kArr</programlisting>
+        </informalexample>
+        returns the smallest value in an array, and optionally its index.
+      </para>
+      <para>
+        <informalexample>
+          <programlisting>
+  kMax [,kMaxIndx] <emphasis role="opc">maxarray</emphasis> kArr</programlisting>
+        </informalexample>
+        returns the largest value in an array, and optionally its index.
+        See examples for opcodes
+        <link linkend="minarray"><citetitle>minarray</citetitle></link> and
+        <link linkend="maxarray"><citetitle>maxarray</citetitle></link>.
+      </para>
+    </refsect2>
+    
+    <refsect2>
+      <title>Sum</title>
+      <para>
+        <informalexample>
+          <programlisting>
+  kSum <emphasis role="opc">sumarray</emphasis> kArr</programlisting>
+        </informalexample>
+        returns the sum of all values in kArr.
+        See example for opcode
+        <link linkend="sumarray"><citetitle>sumarray</citetitle></link>.
+      </para>
+    </refsect2>
+    
+    <refsect2>
+      <title>Scale</title>
+      <para>
+        <informalexample>
+          <programlisting>
+  <emphasis role="opc">scalearray</emphasis> kArr, kMin, kMax</programlisting>
+        </informalexample>
+        scales all values in kArr between kMin and kMax.
+      </para>
+      <para>
+        <informalexample>
+          <programlisting>
+  kArr[] <emphasis role="opc">fillarray</emphasis>  1, 3, 9, 5, 6
+         <emphasis role="opc">scalearray</emphasis> kArr, 1, 3</programlisting>
+        </informalexample>
+        changes <emphasis>kArr</emphasis> to [1, 1.5, 3, 2, 2.25].
+        See example for opcode
+        <link linkend="scalearray"><citetitle>scalearray</citetitle></link>.
+      </para>
+    </refsect2>
+    
+    <refsect2>
+      <title>Slice</title>
+      <para>
+        <informalexample>
+          <programlisting>
+  <emphasis role="opc">slicearray</emphasis> kArr, iStart, iEnd</programlisting>
+        </informalexample>
+        returns a slice of <emphasis>kArr</emphasis> from index
+        <emphasis>iStart</emphasis> to index <emphasis>iEnd</emphasis> (included).
+      </para>
+      <para>
+        The array for receiving the slice must have been created in advance:
+        <informalexample>
+          <programlisting>
+  kArr[]  <emphasis role="opc">fillarray</emphasis>  1, 2, 3, 4, 5, 6, 7, 8, 9
+  kArr1[] <emphasis role="opc">init</emphasis>       5
+  kArr2[] <emphasis role="opc">init</emphasis>       4
+  kArr1   <emphasis role="opc">slicearray</emphasis> kArr, 0, 4        <emphasis role="comment">;[1, 2, 3, 4, 5]</emphasis>
+  kArr2   <emphasis role="opc">slicearray</emphasis> kArr, 5, 8        <emphasis role="comment">;[6, 7, 8, 9]</emphasis></programlisting>
+        </informalexample>
+        See example for opcode
+        <link linkend="slicearray"><citetitle>slicearray</citetitle></link>.
+      </para>
+    </refsect2>
+  </refsect1>
+  
+  <refsect1>
+    <title>Arrays in UDOs</title>
+    <para>
+      The dimension of an input array must be declared in two places:
+      <itemizedlist>
+        <listitem>
+          as k[] or k[][] in the type input list
+        </listitem>
+        <listitem>
+          as kName[], kName[][] etc in the xin list.
+        </listitem>
+      </itemizedlist>
+      For instance :
+      <informalexample>
+        <programlisting>
+<emphasis role="oblock">opcode</emphasis> FirstEl, k, k[]
+<emphasis role="comment">;returns the first element of vector kArr</emphasis>
+kArr[] <emphasis role="opc">xin</emphasis>
+       <emphasis role="opc">xout</emphasis>   kArr[0]
+<emphasis role="oblock">endop</emphasis></programlisting>
+      </informalexample>
+      Here is an example of an array in an UDO. It uses the file
+      <ulink url="examples/array_udo.csd"><citetitle>array_udo.csd</citetitle></ulink>.
+      <example>
+        <title>Example of an array in an UDO</title>
+        <xi:include href="examples-xml/array_udo.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>This manual page has been written by Joachim Heintz.</member>
+        <member>July 2013</member>
+      </simplelist>
+    </para>
+    <para>New in Csound 6.00</para>
+  </refsect1>
+</refentry>
+
+      
diff --git a/math/top.xml b/math/top.xml
index e1ad488..32124f6 100644
--- a/math/top.xml
+++ b/math/top.xml
@@ -10,5 +10,6 @@
   &mathrndfunc;
   &mathtrig;
   &linearalgebra;
+  &array;
 
 </chapter>
diff --git a/midi/top.xml b/midi/top.xml
index 4ebcea8..1ed7bbf 100644
--- a/midi/top.xml
+++ b/midi/top.xml
@@ -28,7 +28,10 @@
   <para>
     Once realtime MIDI input and/or output has been activated, opcodes like <link linkend="MidiInput"><citetitle>MIDI Input</citetitle></link> and <link linkend="MidiOutput"><citetitle>MIDI Output</citetitle></link> will have effect.
   </para>  <para>
-    When MIDI input is enabled (with -M or -F), each incoming <emphasis>noteon</emphasis> message will generate a note event for an instrument which has the same number as the channel of the event (see <link linkend="massign"><citetitle>massign</citetitle></link> and <link linkend="pgmassign"><citetitle>pgmassign</citetitle></link> to change this behavior). This means that MIDI controlled instruments are polyphonic by default, since each note will generate a new instance of the instrument.
+    When MIDI input is enabled (with -M or -F), each incoming <emphasis>noteon</emphasis> message will generate a note event for an instrument which has the same number as the channel of the event  (This means that MIDI controlled instruments are polyphonic by default, since each note will generate a new instance of the instrument.)
+If you have 1 instrument only, Csound works in omni mode, ie. it responds to all channels into that single instrument.
+If you have more than one instrument and instrs 1 - 16 , then by default  instr 1 -> chn 1, instr 2 -> chn 2, unless you alter the mapping (see <link linkend="massign"><citetitle>massign</citetitle></link> and <link linkend="pgmassign"><citetitle>pgmassign</citetitle></link> to change this behavior).
+If you have more than one instrument, but instr N in between 1 - 16 is missing, then chn N will be routed by default to the lowest order instrument.
   </para>
   <para>
     See the <link linkend="MidiInterop"><citetitle>MIDI/Score Interoperability</citetitle></link> opcodes for information on designing instruments which can be used from the score or driven by MIDI.
diff --git a/misc/csound64.xml b/misc/csound64.xml
index a97499c..a535e53 100644
--- a/misc/csound64.xml
+++ b/misc/csound64.xml
@@ -36,8 +36,11 @@
     <orderedlist>
       <listitem><para>hetro, PVOC-EX analysis and pvanal files generated for 32-bit Csound (float) will work with 64-bit Csound (double precision).</para></listitem>
 
-      <listitem><para><link linkend="lpanal"><citetitle>lpanal</citetitle></link> and <link linkend="cvanal"><citetitle>cvanal</citetitle></link> files generated for Csound will not work with Csound64.</para></listitem>
-
+      <listitem><para>All other analysis formats can be generated in a
+      way for cross-use between 32 and 64 bit versions and big-endian
+      and little-endian architectures, if the <emphasis>-X</emphasis>
+      option is used in generation.  The older format in csound5 is
+      still generatable but is not machins independant.</para></listitem>
     </orderedlist>
   </para>
 
diff --git a/misc/examples.xml b/misc/examples.xml
index 719b586..0a6790b 100644
--- a/misc/examples.xml
+++ b/misc/examples.xml
@@ -3,6 +3,9 @@
 <appendix id="MiscExamples">
   <title>List of examples</title><formalpara><title>Orchestra Syntax:Header</title><simpara />
 <para><ulink url="examples/0dbfs.csd"><citetitle>0dbfs.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/nchnls.csd"><citetitle>nchnls.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/nchnls_i.csd"><citetitle>nchnls_i.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/sr.csd"><citetitle>sr.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Orchestra Syntax:Block Statements</title><simpara />
 <para><ulink url="examples/endin.csd"><citetitle>endin.csd</citetitle></ulink></para><simpara />
@@ -33,6 +36,7 @@
 <para><ulink url="examples/oscilikt.csd"><citetitle>oscilikt.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/osciliktp.csd"><citetitle>osciliktp.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/oscilikts.csd"><citetitle>oscilikts.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/osciln.csd"><citetitle>osciln.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/oscils.csd"><citetitle>oscils.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/poscil.csd"><citetitle>poscil.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/poscil3.csd"><citetitle>poscil3.csd</citetitle></ulink></para><simpara />
@@ -46,6 +50,8 @@
 <para><ulink url="examples/mpulse.csd"><citetitle>mpulse.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/vco.csd"><citetitle>vco.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/vco2.csd"><citetitle>vco2.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/vco2ift.csd"><citetitle>vco2ift.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/vco2init.csd"><citetitle>vco2init.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Signal Generators:FM Synthesis</title><simpara />
 <para><ulink url="examples/crossfm.csd"><citetitle>crossfm.csd</citetitle></ulink></para><simpara />
@@ -64,14 +70,18 @@
 <para><ulink url="examples/fof.csd"><citetitle>fof.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/fof2.csd"><citetitle>fof2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/fof2-2.csd"><citetitle>fof2-2.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/fog.csd"><citetitle>fog.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/grain.csd"><citetitle>grain.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/grain2.csd"><citetitle>grain2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/grain3.csd"><citetitle>grain3.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/granule.csd"><citetitle>granule.csd</citetitle></ulink></para><simpara />
-<para><ulink url="examples/PartikkelExample1.csd"><citetitle>PartikkelExample1.csd</citetitle></ulink></para><simpara />
-<para><ulink url="examples/partikkel_softsync.csd"><citetitle>partikkel_softsync.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/partikkel.csd"><citetitle>partikkel.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/partikkel-2.csd"><citetitle>partikkel-2.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/partikkelsync.csd"><citetitle>partikkelsync.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/sndwarp.csd"><citetitle>sndwarp.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/sndwarpst.csd"><citetitle>sndwarpst.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/syncgrain.csd"><citetitle>syncgrain.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/syncloop.csd"><citetitle>syncloop.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/vosim.csd"><citetitle>vosim.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Signal Generators:Hyper Vectorial Synthesis</title><simpara />
@@ -81,14 +91,21 @@
 <para><ulink url="examples/hvs3.csd"><citetitle>hvs3.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Signal Generators:Linear and Exponential Generators</title><simpara />
+<para><ulink url="examples/cosseg.csd"><citetitle>cosseg.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/cossegb.csd"><citetitle>cossegb.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/cossegr.csd"><citetitle>cossegr.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/expcurve.csd"><citetitle>expcurve.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/expon.csd"><citetitle>expon.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/expseg.csd"><citetitle>expseg.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/expsega.csd"><citetitle>expsega.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/expsegb.csd"><citetitle>expsegb.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/expsegba.csd"><citetitle>expsegba.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/expsegr.csd"><citetitle>expsegr.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/gainslider.csd"><citetitle>gainslider.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/jspline.csd"><citetitle>jspline.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/line.csd"><citetitle>line.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/linseg.csd"><citetitle>linseg.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/linsegb.csd"><citetitle>linsegb.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/linsegr.csd"><citetitle>linsegr.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/logcurve.csd"><citetitle>logcurve.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/loopseg.csd"><citetitle>loopseg.csd</citetitle></ulink></para><simpara />
@@ -96,15 +113,22 @@
 <para><ulink url="examples/looptseg.csd"><citetitle>looptseg.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/loopxseg.csd"><citetitle>loopxseg.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/lpshold.csd"><citetitle>lpshold.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/rspline.csd"><citetitle>rspline.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/scale.csd"><citetitle>scale.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/transeg.csd"><citetitle>transeg.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/transegb.csd"><citetitle>transegb.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/transegr.csd"><citetitle>transegr.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Signal Generators:Envelope Generators</title><simpara />
 <para><ulink url="examples/adsr.csd"><citetitle>adsr.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/envlpx.csd"><citetitle>envlpx.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/envlpxr.csd"><citetitle>envlpxr.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/linen.csd"><citetitle>linen.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/linenr.csd"><citetitle>linenr.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/madsr.csd"><citetitle>madsr.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/madsr-2.csd"><citetitle>madsr-2.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/mxadsr.csd"><citetitle>mxadsr.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/xadsr.csd"><citetitle>xadsr.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Signal Generators:Models and Emulations</title><simpara />
 <para><ulink url="examples/bamboo.csd"><citetitle>bamboo.csd</citetitle></ulink></para><simpara />
@@ -113,9 +137,15 @@
 <para><ulink url="examples/chuap.csd"><citetitle>chuap.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/crunch.csd"><citetitle>crunch.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/dripwater.csd"><citetitle>dripwater.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/gendy.csd"><citetitle>gendy.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/gendy-2.csd"><citetitle>gendy-2.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/gendyc.csd"><citetitle>gendyc.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/gendyx.csd"><citetitle>gendyx.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/gendyx-2.csd"><citetitle>gendyx-2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/gogobel.csd"><citetitle>gogobel.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/guiro.csd"><citetitle>guiro.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/lorenz.csd"><citetitle>lorenz.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/mandel.csd"><citetitle>mandel.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/mandol.csd"><citetitle>mandol.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/marimba.csd"><citetitle>marimba.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/moog.csd"><citetitle>moog.csd</citetitle></ulink></para><simpara />
@@ -140,8 +170,18 @@
 <para><ulink url="examples/betarand.csd"><citetitle>betarand.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/bexprnd.csd"><citetitle>bexprnd.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/cauchy.csd"><citetitle>cauchy.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/cauchyi.csd"><citetitle>cauchyi.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/cuserrnd.csd"><citetitle>cuserrnd.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/duserrnd.csd"><citetitle>duserrnd.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/dust.csd"><citetitle>dust.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/dust2.csd"><citetitle>dust2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/exprand.csd"><citetitle>exprand.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/exprandi.csd"><citetitle>exprandi.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/fractalnoise.csd"><citetitle>fractalnoise.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/gauss.csd"><citetitle>gauss.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/gaussi.csd"><citetitle>gaussi.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/gausstrig.csd"><citetitle>gausstrig.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/gausstrig-2.csd"><citetitle>gausstrig-2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/jitter.csd"><citetitle>jitter.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/jitter2.csd"><citetitle>jitter2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/linrand.csd"><citetitle>linrand.csd</citetitle></ulink></para><simpara />
@@ -160,32 +200,99 @@
 <para><ulink url="examples/rnd31_krate.csd"><citetitle>rnd31_krate.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/rnd31_seed7.csd"><citetitle>rnd31_seed7.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/rnd31_time.csd"><citetitle>rnd31_time.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/seed.csd"><citetitle>seed.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/trandom.csd"><citetitle>trandom.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/trirand.csd"><citetitle>trirand.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/unirand.csd"><citetitle>unirand.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/urandom.csd"><citetitle>urandom.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/urandom_krate.csd"><citetitle>urandom_krate.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/urd.csd"><citetitle>urd.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/weibull.csd"><citetitle>weibull.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Signal Generators:Sample Playback</title><simpara />
 <para><ulink url="examples/bbcutm.csd"><citetitle>bbcutm.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/bbcuts.csd"><citetitle>bbcuts.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/flooper.csd"><citetitle>flooper.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/flooper2.csd"><citetitle>flooper2.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/fluidAllOut.csd"><citetitle>fluidAllOut.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/fluidCCi.csd"><citetitle>fluidCCi.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/fluidCCk.csd"><citetitle>fluidCCk.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/fluidcomplex.csd"><citetitle>fluidcomplex.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/fluidEngine.csd"><citetitle>fluidEngine.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/fluidLoad.csd"><citetitle>fluidLoad.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/fluidNote.csd"><citetitle>fluidNote.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/fluidOut.csd"><citetitle>fluidOut.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/fluidProgramSelect.csd"><citetitle>fluidProgramSelect.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/fluidcomplex.csd"><citetitle>fluidcomplex.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/fluidSetInterpMethod.csd"><citetitle>fluidSetInterpMethod.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/loscil.csd"><citetitle>loscil.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/loscil3.csd"><citetitle>loscil3.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/lphasor.csd"><citetitle>lphasor.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/lposcil.csd"><citetitle>lposcil.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/lposcil3.csd"><citetitle>lposcil3.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/lposcila.csd"><citetitle>lposcila.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/lposcilsa.csd"><citetitle>lposcilsa.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/lposcilsa2.csd"><citetitle>lposcilsa2.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/sfilist.csd"><citetitle>sfilist.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/sfinstr.csd"><citetitle>sfinstr.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/sfinstr3.csd"><citetitle>sfinstr3.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/sfinstr3m.csd"><citetitle>sfinstr3m.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/sfload.csd"><citetitle>sfload.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/sflooper.csd"><citetitle>sflooper.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/sfpassign.csd"><citetitle>sfpassign.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/sfplay3.csd"><citetitle>sfplay3.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/sfplay3m.csd"><citetitle>sfplay3m.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/sfplaym.csd"><citetitle>sfplaym.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/sfplist.csd"><citetitle>sfplist.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/sfpreset.csd"><citetitle>sfpreset.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/sndloop.csd"><citetitle>sndloop.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/waveset.csd"><citetitle>waveset.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Signal Generators:Scanned Synthesis</title><simpara />
 <para><ulink url="examples/scans.csd"><citetitle>scans.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/scans-2.csd"><citetitle>scans-2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/scantable.csd"><citetitle>scantable.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/xscanmap.csd"><citetitle>xscanmap.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/xscans.csd"><citetitle>xscans.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/xscanu.csd"><citetitle>xscanu.csd</citetitle></ulink></para><simpara />
+</formalpara>
+<formalpara><title>Signal Generators:STK Opcodes</title><simpara />
+<para><ulink url="examples/STKBandedWG.csd"><citetitle>STKBandedWG.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/STKBeeThree.csd"><citetitle>STKBeeThree.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/STKBlowBotl.csd"><citetitle>STKBlowBotl.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/STKBlowHole.csd"><citetitle>STKBlowHole.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/STKBowed.csd"><citetitle>STKBowed.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/STKBrass.csd"><citetitle>STKBrass.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/STKClarinet.csd"><citetitle>STKClarinet.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/STKDrummer.csd"><citetitle>STKDrummer.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/STKFMVoices.csd"><citetitle>STKFMVoices.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/STKFlute.csd"><citetitle>STKFlute.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/STKHevyMetl.csd"><citetitle>STKHevyMetl.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/STKMandolin.csd"><citetitle>STKMandolin.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/STKModalBar.csd"><citetitle>STKModalBar.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/STKMoog.csd"><citetitle>STKMoog.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/STKPercFlut.csd"><citetitle>STKPercFlut.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/STKPlucked.csd"><citetitle>STKPlucked.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/STKResonate.csd"><citetitle>STKResonate.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/STKRhodey.csd"><citetitle>STKRhodey.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/STKSaxofony.csd"><citetitle>STKSaxofony.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/STKShakers.csd"><citetitle>STKShakers.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/STKSimple.csd"><citetitle>STKSimple.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/STKSitar.csd"><citetitle>STKSitar.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/STKStifKarp.csd"><citetitle>STKStifKarp.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/STKTubeBell.csd"><citetitle>STKTubeBell.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/STKVoicForm.csd"><citetitle>STKVoicForm.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/STKWhistle.csd"><citetitle>STKWhistle.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/STKWurley.csd"><citetitle>STKWurley.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Signal Generators:Table Access</title><simpara />
+<para><ulink url="examples/oscil1i.csd"><citetitle>oscil1i.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/oscil1i.csd"><citetitle>oscil1i.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/ptable.csd"><citetitle>ptable.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/ptablei.csd"><citetitle>ptablei.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/tab.csd"><citetitle>tab.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/table.csd"><citetitle>table.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/tablei.csd"><citetitle>tablei.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Signal Generators:Wave Terrain Synthesis</title><simpara />
 <para><ulink url="examples/wterrain.csd"><citetitle>wterrain.csd</citetitle></ulink></para><simpara />
@@ -205,30 +312,71 @@
 </formalpara>
 <formalpara><title>Signal I/O:File I/O</title><simpara />
 <para><ulink url="examples/dumpk.csd"><citetitle>dumpk.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/dumpk-2.csd"><citetitle>dumpk-2.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/dumpk2.csd"><citetitle>dumpk2.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/dumpk3.csd"><citetitle>dumpk3.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/dumpk4.csd"><citetitle>dumpk4.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/ficlose.csd"><citetitle>ficlose.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/fin.csd"><citetitle>fin.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/fiopen.csd"><citetitle>fiopen.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/fout.csd"><citetitle>fout.csd</citetitle></ulink></para><simpara />
-<para><ulink url="examples/fout_poly.csd"><citetitle>fout_poly.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/fout_ftable.csd"><citetitle>fout_ftable.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/fouti.csd"><citetitle>fouti.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/foutir.csd"><citetitle>foutir.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/fprintks.csd"><citetitle>fprintks.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/fprintks-2.csd"><citetitle>fprintks-2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/scogen.csd"><citetitle>scogen.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/fprints.csd"><citetitle>fprints.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/readf.csd"><citetitle>readf.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/readfi.csd"><citetitle>readfi.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/readk.csd"><citetitle>readk.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/readk-2.csd"><citetitle>readk-2.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/readk2.csd"><citetitle>readk2.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/readk3.csd"><citetitle>readk3.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/readk4.csd"><citetitle>readk4.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Signal I/O:Signal Input</title><simpara />
 <para><ulink url="examples/diskin.csd"><citetitle>diskin.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/diskin2.csd"><citetitle>diskin2.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/in.csd"><citetitle>in.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/inch.csd"><citetitle>inch.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/inq.csd"><citetitle>inq.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/inrg.csd"><citetitle>inrg.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/ins.csd"><citetitle>ins.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/invalue.csd"><citetitle>invalue.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/mp3in.csd"><citetitle>mp3in.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/soundin.csd"><citetitle>soundin.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Signal I/O:Signal Output</title><simpara />
 <para><ulink url="examples/mdelay.csd"><citetitle>mdelay.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/monitor.csd"><citetitle>monitor.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/out.csd"><citetitle>out.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/outc.csd"><citetitle>outc.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/outch.csd"><citetitle>outch.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/outch-2.csd"><citetitle>outch-2.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/outq.csd"><citetitle>outq.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/outq1.csd"><citetitle>outq1.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/outq2.csd"><citetitle>outq2.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/outq3.csd"><citetitle>outq3.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/outq4.csd"><citetitle>outq4.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/outrg.csd"><citetitle>outrg.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/outs.csd"><citetitle>outs.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/outs1.csd"><citetitle>outs1.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/outs2.csd"><citetitle>outs2.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/outvalue.csd"><citetitle>outvalue.csd</citetitle></ulink></para><simpara />
+</formalpara>
+<formalpara><title>Signal I/O:Software Bus</title><simpara />
+<para><ulink url="examples/chnclear.csd"><citetitle>chnclear.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/chnget.csd"><citetitle>chnget.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/chnmix.csd"><citetitle>chnmix.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/chnset.csd"><citetitle>chnset.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Signal I/O:Printing and Display</title><simpara />
 <para><ulink url="examples/dispfft.csd"><citetitle>dispfft.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/display.csd"><citetitle>display.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/flashtxt.csd"><citetitle>flashtxt.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/print.csd"><citetitle>print.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/printf.csd"><citetitle>printf.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/printk.csd"><citetitle>printk.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/printk2.csd"><citetitle>printk2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/printks.csd"><citetitle>printks.csd</citetitle></ulink></para><simpara />
@@ -241,6 +389,7 @@
 <para><ulink url="examples/filepeak.csd"><citetitle>filepeak.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/filesr.csd"><citetitle>filesr.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/filevalid.csd"><citetitle>filevalid.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/mp3len.csd"><citetitle>mp3len.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Signal Modifiers:Amplitude Modifiers</title><simpara />
 <para><ulink url="examples/balance.csd"><citetitle>balance.csd</citetitle></ulink></para><simpara />
@@ -256,6 +405,7 @@
 <para><ulink url="examples/dconv.csd"><citetitle>dconv.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/ftconv.csd"><citetitle>ftconv.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/ftmorf.csd"><citetitle>ftmorf.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/pconvolve.csd"><citetitle>pconvolve.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Signal Modifiers:Delay</title><simpara />
 <para><ulink url="examples/delay.csd"><citetitle>delay.csd</citetitle></ulink></para><simpara />
@@ -269,33 +419,65 @@
 <para><ulink url="examples/deltapn.csd"><citetitle>deltapn.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/deltapx.csd"><citetitle>deltapx.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/deltapxw.csd"><citetitle>deltapxw.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/multitap.csd"><citetitle>multitap.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/newopcodename.csd"><citetitle>newopcodename.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/vdelay.csd"><citetitle>vdelay.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/vdelay3.csd"><citetitle>vdelay3.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/vdelayx.csd"><citetitle>vdelayx.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/vdelayxq.csd"><citetitle>vdelayxq.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/vdelayxs.csd"><citetitle>vdelayxs.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/vdelayxw.csd"><citetitle>vdelayxw.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/vdelayxwq.csd"><citetitle>vdelayxwq.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/vdelayxws.csd"><citetitle>vdelayxws.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Signal Modifiers:Panning and Spatialization</title><simpara />
 <para><ulink url="examples/bformenc.csd"><citetitle>bformenc.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/bformenc1.csd"><citetitle>bformenc1.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/bformenc.csd"><citetitle>bformenc.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/bformenc1.csd"><citetitle>bformenc1.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/hrtfearly.csd"><citetitle>hrtfearly.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/hrtfer.csd"><citetitle>hrtfer.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/hrtfmove.csd"><citetitle>hrtfmove.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/hrtfmove2.csd"><citetitle>hrtfmove2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/hrtfstat.csd"><citetitle>hrtfstat.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/hrtfstat-2.csd"><citetitle>hrtfstat-2.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/locsend_stereo.csd"><citetitle>locsend_stereo.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/locsig_quad.csd"><citetitle>locsig_quad.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/pan.csd"><citetitle>pan.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/pan2.csd"><citetitle>pan2.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/space_quad.csd"><citetitle>space_quad.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/space_stereo.csd"><citetitle>space_stereo.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/spat3d_stereo.csd"><citetitle>spat3d_stereo.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/spat3d_UHJ.csd"><citetitle>spat3d_UHJ.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/spat3d_quad.csd"><citetitle>spat3d_quad.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/spat3dt.csd"><citetitle>spat3dt.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/spdist.csd"><citetitle>spdist.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/spsend.csd"><citetitle>spsend.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/vbap.csd"><citetitle>vbap.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/vbap4.csd"><citetitle>vbap4.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/vbap4move.csd"><citetitle>vbap4move.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/vbap8.csd"><citetitle>vbap8.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/vbap8move.csd"><citetitle>vbap8move.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/vbapg.csd"><citetitle>vbapg.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/vbapgmove.csd"><citetitle>vbapgmove.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/vbaplsinit.csd"><citetitle>vbaplsinit.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/vbapmove.csd"><citetitle>vbapmove.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Signal Modifiers:Reverberation</title><simpara />
 <para><ulink url="examples/alpass.csd"><citetitle>alpass.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/babo.csd"><citetitle>babo.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/babo_expert.csd"><citetitle>babo_expert.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/comb.csd"><citetitle>comb.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/combinv.csd"><citetitle>combinv.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/freeverb.csd"><citetitle>freeverb.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/nestedap.csd"><citetitle>nestedap.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/nreverb.csd"><citetitle>nreverb.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/nreverb_ftable.csd"><citetitle>nreverb_ftable.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/plate.csd"><citetitle>plate.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/reverb.csd"><citetitle>reverb.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/reverbsc.csd"><citetitle>reverbsc.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/valpass.csd"><citetitle>valpass.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/valpass-2.csd"><citetitle>valpass-2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/vcomb.csd"><citetitle>vcomb.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Signal Modifiers:Sample Level Operators</title><simpara />
@@ -305,15 +487,24 @@
 <para><ulink url="examples/fold.csd"><citetitle>fold.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/integ.csd"><citetitle>integ.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/interp.csd"><citetitle>interp.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/ntrpol.csd"><citetitle>ntrpol.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/opa.csd"><citetitle>opa.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/samphold.csd"><citetitle>samphold.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/upsamp.csd"><citetitle>upsamp.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/vaget.csd"><citetitle>vaget.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/vaset.csd"><citetitle>vaset.csd</citetitle></ulink></para><simpara />
 </formalpara>
+<formalpara><title>Signal Modifiers:Signal Limiters</title><simpara />
+<para><ulink url="examples/limit.csd"><citetitle>limit.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/mirror.csd"><citetitle>mirror.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/wrap.csd"><citetitle>wrap.csd</citetitle></ulink></para><simpara />
+</formalpara>
 <formalpara><title>Signal Modifiers:Special Effects</title><simpara />
 <para><ulink url="examples/distort.csd"><citetitle>distort.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/distort1.csd"><citetitle>distort1.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/flanger.csd"><citetitle>flanger.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/harmon.csd"><citetitle>harmon.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/harmon3.csd"><citetitle>harmon3.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/phaser1.csd"><citetitle>phaser1.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/phaser2.csd"><citetitle>phaser2.csd</citetitle></ulink></para><simpara />
 </formalpara>
@@ -329,7 +520,11 @@
 <para><ulink url="examples/clfilt_lowpass.csd"><citetitle>clfilt_lowpass.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/clfilt_highpass.csd"><citetitle>clfilt_highpass.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/doppler.csd"><citetitle>doppler.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/median.csd"><citetitle>median.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/mediank.csd"><citetitle>mediank.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/mode.csd"><citetitle>mode.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/tone.csd"><citetitle>tone.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/tonex.csd"><citetitle>tonex.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Signal Modifiers:Standard Filters:Resonant</title><simpara />
 <para><ulink url="examples/areson.csd"><citetitle>areson.csd</citetitle></ulink></para><simpara />
@@ -338,12 +533,16 @@
 <para><ulink url="examples/lowres.csd"><citetitle>lowres.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/lowresx.csd"><citetitle>lowresx.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/lpf18.csd"><citetitle>lpf18.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/moogladder.csd"><citetitle>moogladder.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/moogvcf.csd"><citetitle>moogvcf.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/moogvcf2.csd"><citetitle>moogvcf2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/reson.csd"><citetitle>reson.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/resonr.csd"><citetitle>resonr.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/resonx.csd"><citetitle>resonx.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/resony.csd"><citetitle>resony.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/resonr.csd"><citetitle>resonr.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/rezzy.csd"><citetitle>rezzy.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/statevar.csd"><citetitle>statevar.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/svfilter.csd"><citetitle>svfilter.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/tbvcf.csd"><citetitle>tbvcf.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/vlowres.csd"><citetitle>vlowres.csd</citetitle></ulink></para><simpara />
@@ -351,14 +550,24 @@
 <formalpara><title>Signal Modifiers:Standard Filters:Control</title><simpara />
 <para><ulink url="examples/aresonk.csd"><citetitle>aresonk.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/atonek.csd"><citetitle>atonek.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/lineto.csd"><citetitle>lineto.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/port.csd"><citetitle>port.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/portk.csd"><citetitle>portk.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/resonk.csd"><citetitle>resonk.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/resonxk.csd"><citetitle>resonxk.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/tlineto.csd"><citetitle>tlineto.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/tonek.csd"><citetitle>tonek.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Signal Modifiers:Specialized Filters</title><simpara />
 <para><ulink url="examples/dcblock.csd"><citetitle>dcblock.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/dcblock2.csd"><citetitle>dcblock2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/eqfil.csd"><citetitle>eqfil.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/filter2.csd"><citetitle>filter2.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/fofilter.csd"><citetitle>fofilter.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/hilbert.csd"><citetitle>hilbert.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/hilbert_barberpole.csd"><citetitle>hilbert_barberpole.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/nlfilt.csd"><citetitle>nlfilt.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/nlfilt2.csd"><citetitle>nlfilt2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pareq.csd"><citetitle>pareq.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/rbjeq.csd"><citetitle>rbjeq.csd</citetitle></ulink></para><simpara />
 </formalpara>
@@ -373,6 +582,17 @@
 <para><ulink url="examples/pdhalfy.csd"><citetitle>pdhalfy.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/powershape.csd"><citetitle>powershape.csd</citetitle></ulink></para><simpara />
 </formalpara>
+<formalpara><title>Signal Modifiers:Comparators and Accumulators</title><simpara />
+<para><ulink url="examples/max.csd"><citetitle>max.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/max_k.csd"><citetitle>max_k.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/maxabs.csd"><citetitle>maxabs.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/maxabsaccum.csd"><citetitle>maxabsaccum.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/maxaccum.csd"><citetitle>maxaccum.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/min.csd"><citetitle>min.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/minabs.csd"><citetitle>minabs.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/minabsaccum.csd"><citetitle>minabsaccum.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/minaccum.csd"><citetitle>minaccum.csd</citetitle></ulink></para><simpara />
+</formalpara>
 <formalpara><title>Instrument Control:Clock Control</title><simpara />
 <para><ulink url="examples/clockoff.csd"><citetitle>clockoff.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/clockon.csd"><citetitle>clockon.csd</citetitle></ulink></para><simpara />
@@ -385,18 +605,28 @@
 <para><ulink url="examples/lessthan.csd"><citetitle>lessthan.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/notequal.csd"><citetitle>notequal.csd</citetitle></ulink></para><simpara />
 </formalpara>
+<formalpara><title>Instrument Control:Compilation</title><simpara />
+<para><ulink url="examples/compileorc.csd"><citetitle>compileorc.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/compilestr.csd"><citetitle>compilestr.csd</citetitle></ulink></para><simpara />
+</formalpara>
 <formalpara><title>Instrument Control:Duration Control</title><simpara />
 <para><ulink url="examples/ihold.csd"><citetitle>ihold.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/kill.csd"><citetitle>kill.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/turnoff.csd"><citetitle>turnoff.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Instrument Control:Invocation</title><simpara />
 <para><ulink url="examples/event.csd"><citetitle>event.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/event_named.csd"><citetitle>event_named.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/event_i.csd"><citetitle>event_i.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/instance.csd"><citetitle>instance.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/mute.csd"><citetitle>mute.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/readscore.csd"><citetitle>readscore.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/schedkwhen.csd"><citetitle>schedkwhen.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/schedkwhennamed.csd"><citetitle>schedkwhennamed.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/schedule.csd"><citetitle>schedule.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/schedwhen.csd"><citetitle>schedwhen.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/scoreline.csd"><citetitle>scoreline.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/scoreline_i.csd"><citetitle>scoreline_i.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Instrument Control:Program Flow Control</title><simpara />
 <para><ulink url="examples/cggoto.csd"><citetitle>cggoto.csd</citetitle></ulink></para><simpara />
@@ -412,49 +642,80 @@
 <para><ulink url="examples/ifthen.csd"><citetitle>ifthen.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/igoto.csd"><citetitle>igoto.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/kgoto.csd"><citetitle>kgoto.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/loop_le.csd"><citetitle>loop_le.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/loop_lt.csd"><citetitle>loop_lt.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/tigoto.csd"><citetitle>tigoto.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/timout.csd"><citetitle>timout.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/until.csd"><citetitle>until.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Instrument Control:Realtime Performance Control</title><simpara />
 <para><ulink url="examples/active.csd"><citetitle>active.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/active_k.csd"><citetitle>active_k.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/active_scale.csd"><citetitle>active_scale.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/cpumeter.csd"><citetitle>cpumeter.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/cpuprc.csd"><citetitle>cpuprc.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/exitnow.csd"><citetitle>exitnow.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/jacktransport.csd"><citetitle>jacktransport.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/maxalloc.csd"><citetitle>maxalloc.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/prealloc.csd"><citetitle>prealloc.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Instrument Control:Initialization and Reinitialization</title><simpara />
 <para><ulink url="examples/assign.csd"><citetitle>assign.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/init.csd"><citetitle>init.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/p.csd"><citetitle>p.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/passign.csd"><citetitle>passign.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/reverb.csd"><citetitle>reverb.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/pset.csd"><citetitle>pset.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/pset-midi.csd"><citetitle>pset-midi.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/reinit.csd"><citetitle>reinit.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/reinit.csd"><citetitle>reinit.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/tival.csd"><citetitle>tival.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Instrument Control:Sensing and Control</title><simpara />
 <para><ulink url="examples/changed.csd"><citetitle>changed.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/checkbox.csd"><citetitle>checkbox.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/follow.csd"><citetitle>follow.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/follow2.csd"><citetitle>follow2.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/getcfg.csd"><citetitle>getcfg.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/joystick.csd"><citetitle>joystick.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/joystick-2.csd"><citetitle>joystick-2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/metro.csd"><citetitle>metro.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/metro-2.csd"><citetitle>metro-2.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/miditempo.csd"><citetitle>miditempo.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/p5g.csd"><citetitle>p5g.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pcount.csd"><citetitle>pcount.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/peak.csd"><citetitle>peak.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pindex.csd"><citetitle>pindex.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/pindex-2.csd"><citetitle>pindex-2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pitch.csd"><citetitle>pitch.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pitchamdf.csd"><citetitle>pitchamdf.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/plltrack.csd"><citetitle>plltrack.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/ptrack.csd"><citetitle>ptrack.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/readscratch.csd"><citetitle>readscratch.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/rewindscore.csd"><citetitle>rewindscore.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/rms.csd"><citetitle>rms.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/sensekey.csd"><citetitle>sensekey.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/FLpanel-sensekey.csd"><citetitle>FLpanel-sensekey.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/FLpanel-sensekey2.csd"><citetitle>FLpanel-sensekey2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/seqtime.csd"><citetitle>seqtime.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/seqtime2.csd"><citetitle>seqtime2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/setctrl.csd"><citetitle>setctrl.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/setscorepos.csd"><citetitle>setscorepos.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/tempest.csd"><citetitle>tempest.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/tempo.csd"><citetitle>tempo.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/tempoval.csd"><citetitle>tempoval.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/timedseq.csd"><citetitle>timedseq.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/trigger.csd"><citetitle>trigger.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/trigseq.csd"><citetitle>trigseq.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/wii.csd"><citetitle>wii.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/readscratch.csd"><citetitle>readscratch.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/xyin.csd"><citetitle>xyin.csd</citetitle></ulink></para><simpara />
 </formalpara>
+<formalpara><title>Instrument Control:Stacks</title><simpara />
+<para><ulink url="examples/pop.csd"><citetitle>pop.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/push.csd"><citetitle>push.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/stack.csd"><citetitle>stack.csd</citetitle></ulink></para><simpara />
+</formalpara>
 <formalpara><title>Instrument Control:Subinstrument Control</title><simpara />
 <para><ulink url="examples/subinstr.csd"><citetitle>subinstr.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/subinstr_named.csd"><citetitle>subinstr_named.csd</citetitle></ulink></para><simpara />
@@ -467,27 +728,57 @@
 <para><ulink url="examples/timeinstk.csd"><citetitle>timeinstk.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/timeinsts.csd"><citetitle>timeinsts.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/timek.csd"><citetitle>timek.csd</citetitle></ulink></para><simpara />
-<para><ulink url="examples/times.csd"><citetitle>times.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/times_complex.csd"><citetitle>times_complex.csd</citetitle></ulink></para><simpara />
+</formalpara>
+<formalpara><title>Jacko Opcodes</title><simpara />
+<para><ulink url="examples/JackoInfo.csd"><citetitle>JackoInfo.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/JackoInit.csd"><citetitle>JackoInit.csd</citetitle></ulink></para><simpara />
+</formalpara>
+<formalpara><title>Lua Opcodes</title><simpara />
+<para><ulink url="examples/luaopcode.csd"><citetitle>luaopcode.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/luamoog.csd"><citetitle>luamoog.csd</citetitle></ulink></para><simpara />
+</formalpara>
+<formalpara><title>Serial I/O</title><simpara />
+<para><ulink url="examples/serialBegin.csd"><citetitle>serialBegin.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/serialRead.csd"><citetitle>serialRead.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/serialWrite.csd"><citetitle>serialWrite.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Table Control</title><simpara />
+<para><ulink url="examples/ftfree.csd"><citetitle>ftfree.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/ftgen.csd"><citetitle>ftgen.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/ftgen-2.csd"><citetitle>ftgen-2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/ftgentmp.csd"><citetitle>ftgentmp.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Table Control:Table Queries</title><simpara />
+<para><ulink url="examples/array.csd"><citetitle>array.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/fillarray.csd"><citetitle>fillarray.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/ftchnls.csd"><citetitle>ftchnls.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/ftcps.csd"><citetitle>ftcps.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/ftlen.csd"><citetitle>ftlen.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/ftlptim.csd"><citetitle>ftlptim.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/ftsr.csd"><citetitle>ftsr.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/genarray.csd"><citetitle>genarray.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/genarray_i.csd"><citetitle>genarray_i.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/lenarray.csd"><citetitle>lenarray.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/maparray.csd"><citetitle>maparray.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/nsamp.csd"><citetitle>nsamp.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/slicearray.csd"><citetitle>slicearray.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/tableng.csd"><citetitle>tableng.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/tabsum.csd"><citetitle>tabsum.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Table Control:Dynamic Selection</title><simpara />
+<para><ulink url="examples/tableikt.csd"><citetitle>tableikt.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/tablekt.csd"><citetitle>tablekt.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/tablexkt.csd"><citetitle>tablexkt.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Table Control:Read/Write Opreations</title><simpara />
 <para><ulink url="examples/ftsave.csd"><citetitle>ftsave.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/tablecopy.csd"><citetitle>tablecopy.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/tablefilter.csd"><citetitle>tablefilter.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/tablefilter.csd"><citetitle>tablefilter.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/tableimix.csd"><citetitle>tableimix.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/tableiw.csd"><citetitle>tableiw.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/tablemix.csd"><citetitle>tablemix.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/tabmorph.csd"><citetitle>tabmorph.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/tabmorpha.csd"><citetitle>tabmorpha.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/tabmorphak.csd"><citetitle>tabmorphak.csd</citetitle></ulink></para><simpara />
@@ -542,30 +833,40 @@
 <para><ulink url="examples/divides.csd"><citetitle>divides.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/modulus.csd"><citetitle>modulus.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/multiplies.csd"><citetitle>multiplies.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/opand.csd"><citetitle>opand.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/bitwise.csd"><citetitle>bitwise.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/bitshift.csd"><citetitle>bitshift.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/logicOR.csd"><citetitle>logicOR.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/raises.csd"><citetitle>raises.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/subtracts.csd"><citetitle>subtracts.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Mathematical Operations:Comparators and Accumulators</title><simpara />
 <para><ulink url="examples/clear.csd"><citetitle>clear.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/vincr.csd"><citetitle>vincr.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/vincr-complex.csd"><citetitle>vincr-complex.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Mathematical Operations:Mathematical Functions</title><simpara />
 <para><ulink url="examples/abs.csd"><citetitle>abs.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/ceil.csd"><citetitle>ceil.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/exp.csd"><citetitle>exp.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/floor.csd"><citetitle>floor.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/frac.csd"><citetitle>frac.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/int.csd"><citetitle>int.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/log.csd"><citetitle>log.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/log10.csd"><citetitle>log10.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/log2.csd"><citetitle>log2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/logbtwo.csd"><citetitle>logbtwo.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/powoftwo.csd"><citetitle>powoftwo.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/qinf.csd"><citetitle>qinf.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/qnan.csd"><citetitle>qnan.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/round.csd"><citetitle>round.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/sqrt.csd"><citetitle>sqrt.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Mathematical Operations:Trigonometric Functions</title><simpara />
 <para><ulink url="examples/cos.csd"><citetitle>cos.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/cosh.csd"><citetitle>cosh.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/cosinv.csd"><citetitle>cosinv.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/signum.csd"><citetitle>signum.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/sin.csd"><citetitle>sin.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/sinh.csd"><citetitle>sinh.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/sininv.csd"><citetitle>sininv.csd</citetitle></ulink></para><simpara />
@@ -586,8 +887,12 @@
 </formalpara>
 <formalpara><title>Mathematical Operations:Opcode Equivalents of Functions</title><simpara />
 <para><ulink url="examples/divz.csd"><citetitle>divz.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/mac.csd"><citetitle>mac.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/maca.csd"><citetitle>maca.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/polynomial.csd"><citetitle>polynomial.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pow.csd"><citetitle>pow.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/product.csd"><citetitle>product.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/sum.csd"><citetitle>sum.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/taninv2.csd"><citetitle>taninv2.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Pitch Converters:Functions</title><simpara />
@@ -618,8 +923,11 @@
 <para><ulink url="examples/aftouch.csd"><citetitle>aftouch.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/chanctrl.csd"><citetitle>chanctrl.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/ctrl7.csd"><citetitle>ctrl7.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/initc7.csd"><citetitle>initc7.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/massign.csd"><citetitle>massign.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/midic7.csd"><citetitle>midic7.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/midictrl.csd"><citetitle>midictrl.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/notnum.csd"><citetitle>notnum.csd</citetitle></ulink></para><simpara />
-<para><ulink url="examples/notnum_complex.csd"><citetitle>notnum_complex.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pchbend.csd"><citetitle>pchbend.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pgmassign.csd"><citetitle>pgmassign.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pgmassign_ignore.csd"><citetitle>pgmassign_ignore.csd</citetitle></ulink></para><simpara />
@@ -628,6 +936,14 @@
 <para><ulink url="examples/veloc.csd"><citetitle>veloc.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Real-time MIDI:Output</title><simpara />
+<para><ulink url="examples/nrpn.csd"><citetitle>nrpn.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/outiat.csd"><citetitle>outiat.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/outic.csd"><citetitle>outic.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/outipb.csd"><citetitle>outipb.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/outipc.csd"><citetitle>outipc.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/outkat.csd"><citetitle>outkat.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/outkc.csd"><citetitle>outkc.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/outkpb.csd"><citetitle>outkpb.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/outkpc.csd"><citetitle>outkpc.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/outkpc_fltk.csd"><citetitle>outkpc_fltk.csd</citetitle></ulink></para><simpara />
 </formalpara>
@@ -644,6 +960,7 @@
 </formalpara>
 <formalpara><title>Real-time MIDI:Generic I/O</title><simpara />
 <para><ulink url="examples/midiin.csd"><citetitle>midiin.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/midiout.csd"><citetitle>midiout.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Real-time MIDI:Event Extenders</title><simpara />
 <para><ulink url="examples/xtratim.csd"><citetitle>xtratim.csd</citetitle></ulink></para><simpara />
@@ -652,6 +969,7 @@
 <formalpara><title>Real-time MIDI:Note Output</title><simpara />
 <para><ulink url="examples/midion_simple.csd"><citetitle>midion_simple.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/midion_scale.csd"><citetitle>midion_scale.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/midion2.csd"><citetitle>midion2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/moscil.csd"><citetitle>moscil.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/noteondur.csd"><citetitle>noteondur.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/noteondur2.csd"><citetitle>noteondur2.csd</citetitle></ulink></para><simpara />
@@ -660,16 +978,51 @@
 <para><ulink url="examples/midichannelaftertouch.csd"><citetitle>midichannelaftertouch.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/midichn.csd"><citetitle>midichn.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/midichn_advanced.csd"><citetitle>midichn_advanced.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/midicontrolchange.csd"><citetitle>midicontrolchange.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/mididefault.csd"><citetitle>mididefault.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/midinoteoff.csd"><citetitle>midinoteoff.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/midinoteoncps.csd"><citetitle>midinoteoncps.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/midinoteonkey.csd"><citetitle>midinoteonkey.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/midinoteonoct.csd"><citetitle>midinoteonoct.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/midinoteonpch.csd"><citetitle>midinoteonpch.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/midipitchbend.csd"><citetitle>midipitchbend.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/midipolyaftertouch.csd"><citetitle>midipolyaftertouch.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/midiprogramchange.csd"><citetitle>midiprogramchange.csd</citetitle></ulink></para><simpara />
+</formalpara>
+<formalpara><title>Real-time MIDI:System Realtime</title><simpara />
+<para><ulink url="examples/mclock.csd"><citetitle>mclock.csd</citetitle></ulink></para><simpara />
+</formalpara>
+<formalpara><title>Signal Flow Graph Opcodes</title><simpara />
+<para><ulink url="examples/alwayson.csd"><citetitle>alwayson.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/connect.csd"><citetitle>connect.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/ftgenonce.csd"><citetitle>ftgenonce.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/inleta.csd"><citetitle>inleta.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/inletk.csd"><citetitle>inletk.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/outleta.csd"><citetitle>outleta.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/outletk.csd"><citetitle>outletk.csd</citetitle></ulink></para><simpara />
+</formalpara>
+<formalpara><title>Spectral Processing:STFT</title><simpara />
+<para><ulink url="examples/pvadd.csd"><citetitle>pvadd.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/pvbufread.csd"><citetitle>pvbufread.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/pvcross.csd"><citetitle>pvcross.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/pvinterp.csd"><citetitle>pvinterp.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/pvoc.csd"><citetitle>pvoc.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/pvread.csd"><citetitle>pvread.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/tableseg.csd"><citetitle>tableseg.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/tablexseg.csd"><citetitle>tablexseg.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/vpvoc.csd"><citetitle>vpvoc.csd</citetitle></ulink></para><simpara />
+</formalpara>
+<formalpara><title>Spectral Processing:LPC</title><simpara />
+<para><ulink url="examples/lpfreson.csd"><citetitle>lpfreson.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/lpread.csd"><citetitle>lpread.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/lpreson.csd"><citetitle>lpreson.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/lpreson-2.csd"><citetitle>lpreson-2.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Spectral Processing:Streaming</title><simpara />
 <para><ulink url="examples/binit.csd"><citetitle>binit.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/partials.csd"><citetitle>partials.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pvsadsyn.csd"><citetitle>pvsadsyn.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/pvsanal.csd"><citetitle>pvsanal.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pvsarp.csd"><citetitle>pvsarp.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pvsarp2.csd"><citetitle>pvsarp2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pvsbandp.csd"><citetitle>pvsbandp.csd</citetitle></ulink></para><simpara />
@@ -677,42 +1030,93 @@
 <para><ulink url="examples/pvsbin.csd"><citetitle>pvsbin.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pvsblur.csd"><citetitle>pvsblur.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pvsbufread.csd"><citetitle>pvsbufread.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/pvsbufread2.csd"><citetitle>pvsbufread2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pvscale.csd"><citetitle>pvscale.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pvscent.csd"><citetitle>pvscent.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pvscross.csd"><citetitle>pvscross.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/pvsdiskin.csd"><citetitle>pvsdiskin.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pvsdisp.csd"><citetitle>pvsdisp.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pvsfilter.csd"><citetitle>pvsfilter.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/pvsfread.csd"><citetitle>pvsfread.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pvsfreeze.csd"><citetitle>pvsfreeze.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/pvsftr.csd"><citetitle>pvsftr.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/pvsftw.csd"><citetitle>pvsftw.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pvsfwrite.csd"><citetitle>pvsfwrite.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/pvsgain.csd"><citetitle>pvsgain.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pvshift.csd"><citetitle>pvshift.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/pvsifd.csd"><citetitle>pvsifd.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/pvsinfo.csd"><citetitle>pvsinfo.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/pvslock.csd"><citetitle>pvslock.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pvsmaska.csd"><citetitle>pvsmaska.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/pvsmix.csd"><citetitle>pvsmix.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/pvsmooth.csd"><citetitle>pvsmooth.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pvsmorph.csd"><citetitle>pvsmorph.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pvsmorph2.csd"><citetitle>pvsmorph2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pvsosc.csd"><citetitle>pvsosc.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pvspitch.csd"><citetitle>pvspitch.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/pvstanal.csd"><citetitle>pvstanal.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/pvsvoc.csd"><citetitle>pvsvoc.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pvswarp.csd"><citetitle>pvswarp.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/pvsynth.csd"><citetitle>pvsynth.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/resyn.csd"><citetitle>resyn.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/sinsyn.csd"><citetitle>sinsyn.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/tradsyn.csd"><citetitle>tradsyn.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/trcross.csd"><citetitle>trcross.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/trfilter.csd"><citetitle>trfilter.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/trhighest.csd"><citetitle>trhighest.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/trlowest.csd"><citetitle>trlowest.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/trmix.csd"><citetitle>trmix.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/trscale.csd"><citetitle>trscale.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/trshift.csd"><citetitle>trshift.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/trsplit.csd"><citetitle>trsplit.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Spectral Processing:ATS</title><simpara />
 <para><ulink url="examples/ATSadd.csd"><citetitle>ATSadd.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/ATSadd-2.csd"><citetitle>ATSadd-2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/ATSaddnz.csd"><citetitle>ATSaddnz.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/ATSaddnz-2.csd"><citetitle>ATSaddnz-2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/ATSbufread.csd"><citetitle>ATSbufread.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/ATScross.csd"><citetitle>ATScross.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/ATSinfo.csd"><citetitle>ATSinfo.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/ATSinfo-2.csd"><citetitle>ATSinfo-2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/ATSinterpread.csd"><citetitle>ATSinterpread.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/ATSpartialtap.csd"><citetitle>ATSpartialtap.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/ATSread.csd"><citetitle>ATSread.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/ATSread-2.csd"><citetitle>ATSread-2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/ATSreadnz.csd"><citetitle>ATSreadnz.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/ATSsinnoi.csd"><citetitle>ATSsinnoi.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/ATSsinnoi-2.csd"><citetitle>ATSsinnoi-2.csd</citetitle></ulink></para><simpara />
+</formalpara>
+<formalpara><title>Spectral Processing:Loris</title><simpara />
+<para><ulink url="examples/lorismorph.csd"><citetitle>lorismorph.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/lorisplay.csd"><citetitle>lorisplay.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/lorisread.csd"><citetitle>lorisread.csd</citetitle></ulink></para><simpara />
+</formalpara>
+<formalpara><title>Spectral Processing:Other</title><simpara />
+<para><ulink url="examples/centroid.csd"><citetitle>centroid.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/mincer.csd"><citetitle>mincer.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/temposcal.csd"><citetitle>temposcal.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Strings:Definition</title><simpara />
+<para><ulink url="examples/strfromurl.csd"><citetitle>strfromurl.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/strget.csd"><citetitle>strget.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/strset.csd"><citetitle>strset.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Strings:Manipulation</title><simpara />
+<para><ulink url="examples/puts.csd"><citetitle>puts.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/sprintf.csd"><citetitle>sprintf.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/sprintfk.csd"><citetitle>sprintfk.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/strcat.csd"><citetitle>strcat.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/strcatk.csd"><citetitle>strcatk.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/strcmp.csd"><citetitle>strcmp.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/strcpyk.csd"><citetitle>strcpyk.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/strindexk.csd"><citetitle>strindexk.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/strrindex.csd"><citetitle>strrindex.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/strsub.csd"><citetitle>strsub.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Strings:Conversion</title><simpara />
+<para><ulink url="examples/strchar.csd"><citetitle>strchar.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/strlower.csd"><citetitle>strlower.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/strtod.csd"><citetitle>strtod.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/strtodk.csd"><citetitle>strtodk.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/strtol.csd"><citetitle>strtol.csd</citetitle></ulink></para><simpara />
@@ -734,7 +1138,9 @@
 <para><ulink url="examples/vmult.csd"><citetitle>vmult.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/vmult_i.csd"><citetitle>vmult_i.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/vpow.csd"><citetitle>vpow.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/vpow-2.csd"><citetitle>vpow-2.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/vpow_i.csd"><citetitle>vpow_i.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/vpow_i-2.csd"><citetitle>vpow_i-2.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Vectorial:Vectorial operations</title><simpara />
 <para><ulink url="examples/vaddv.csd"><citetitle>vaddv.csd</citetitle></ulink></para><simpara />
@@ -755,6 +1161,7 @@
 <para><ulink url="examples/vrandi.csd"><citetitle>vrandi.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Vectorial:Cellular Automata</title><simpara />
+<para><ulink url="examples/cell.csd"><citetitle>cell.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/vcella.csd"><citetitle>vcella.csd</citetitle></ulink></para><simpara />
 </formalpara>
 <formalpara><title>Zak Patch System</title><simpara />
@@ -798,6 +1205,13 @@
 <para><ulink url="examples/insremotM.csd"><citetitle>insremotM.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/midremot.csd"><citetitle>midremot.csd</citetitle></ulink></para><simpara />
 </formalpara>
+<formalpara><title>Mixer Opcodes</title><simpara />
+<para><ulink url="examples/Mixer.csd"><citetitle>Mixer.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/Mixer.csd"><citetitle>Mixer.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/Mixer.csd"><citetitle>Mixer.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/Mixer.csd"><citetitle>Mixer.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/Mixer.csd"><citetitle>Mixer.csd</citetitle></ulink></para><simpara />
+</formalpara>
 <formalpara><title>Image Processing Opcodes</title><simpara />
 <para><ulink url="examples/imageopcodes.csd"><citetitle>imageopcodes.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/imageopcodes.csd"><citetitle>imageopcodes.csd</citetitle></ulink></para><simpara />
@@ -807,8 +1221,18 @@
 <para><ulink url="examples/imageopcodes.csd"><citetitle>imageopcodes.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/imageopcodes.csd"><citetitle>imageopcodes.csd</citetitle></ulink></para><simpara />
 </formalpara>
+<formalpara><title>Array Opcodes</title><simpara />
+<para><ulink url="examples/copya2ftab.csd"><citetitle>copya2ftab.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/copyf2array.csd"><citetitle>copyf2array.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/maxarray.csd"><citetitle>maxarray.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/minarray.csd"><citetitle>minarray.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/scalearray.csd"><citetitle>scalearray.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/sumarray.csd"><citetitle>sumarray.csd</citetitle></ulink></para><simpara />
+</formalpara>
 <formalpara><title>Miscellaneous</title><simpara />
+<para><ulink url="examples/fareyleni.csd"><citetitle>fareyleni.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/modmatrix.csd"><citetitle>modmatrix.csd</citetitle></ulink></para><simpara />
+<para><ulink url="examples/pwd.csd"><citetitle>pwd.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/system.csd"><citetitle>system.csd</citetitle></ulink></para><simpara />
 <para><ulink url="examples/farey7shuffled.csd"><citetitle>farey7shuffled.csd</citetitle></ulink></para><simpara />
 </formalpara>
diff --git a/misc/quickref.xml b/misc/quickref.xml
index b117ae6..9eb8b6c 100644
--- a/misc/quickref.xml
+++ b/misc/quickref.xml
@@ -7,10 +7,11 @@
 <title>Orchestra Syntax:Header</title>
 <para>
 <para/>
+<synopsis><link linkend="Zerodbfs">0dbfs</link> = iarg</synopsis><synopsis><link linkend="Zerodbfs">0dbfs</link> </synopsis><para/>
 <synopsis><link linkend="kr">kr</link> = iarg</synopsis><para/>
 <synopsis><link linkend="ksmps">ksmps</link> = iarg</synopsis><para/>
 <synopsis><link linkend="nchnls">nchnls</link> = iarg</synopsis><para/>
-<synopsis><link linkend="nchnls_i">nchns_i</link> = iarg</synopsis><para/>
+<synopsis><link linkend="nchnls_i">nchnls_i</link> = iarg</synopsis><para/>
 <synopsis><link linkend="sr">sr</link> = iarg</synopsis><para/>
 </para></formalpara>
 <para></para><para></para><formalpara>
@@ -44,7 +45,9 @@
 <title>Signal Generators:Additive Synthesis/Resynthesis</title>
 <para>
 <para/>
+<synopsis>ares <link linkend="adsyn">adsyn</link> kamod, kfmod, ksmod, ifilcod</synopsis><para/>
 <synopsis>ares <link linkend="adsynt">adsynt</link> kamp, kcps, iwfn, ifreqfn, iampfn, icnt [, iphs]</synopsis><para/>
+<synopsis>ar <link linkend="adsynt2">adsynt2</link> kamp, kcps, iwfn, ifreqfn, iampfn, icnt [, iphs]</synopsis><para/>
 <synopsis>ares <link linkend="hsboscil">hsboscil</link> kamp, ktone, kbrite, ibasfreq, iwfn, ioctfn \
                [, ioctcnt] [, iphs]</synopsis><para/>
 </para></formalpara>
@@ -57,25 +60,24 @@
       kl2minf, kl2maxf, ilfomode, keqminf, keqmaxf, keqminl, keqmaxl, \
       keqminq, keqmaxq, ieqmode, kfn [, il1fn] [, il2fn] [, ieqffn]   \
       [, ieqlfn] [, ieqqfn] [, itabl] [, ioutfn]</synopsis><para/>
-<synopsis>ares <link linkend="oscil">oscil</link> xamp, xcps, ifn [, iphs]</synopsis><synopsis>kres <link linkend="oscil">oscil</link> kamp, kcps, ifn [, iphs]</synopsis><para/>
-<synopsis>ares <link linkend="oscil3">oscil3</link> xamp, xcps, ifn [, iphs]</synopsis><synopsis>kres <link linkend="oscil3">oscil3</link> kamp, kcps, ifn [, iphs]</synopsis><para/>
+<synopsis>ares <link linkend="oscil">oscil</link> xamp, xcps [, ifn, iphs]</synopsis><synopsis>kres <link linkend="oscil">oscil</link> kamp, kcps [, ifn, iphs]</synopsis><para/>
+<synopsis>ares <link linkend="oscil3">oscil3</link> xamp, xcps [, ifn, iphs]</synopsis><synopsis>kres <link linkend="oscil3">oscil3</link> kamp, kcps [, ifn, iphs]</synopsis><para/>
 <synopsis>ares <link linkend="oscili">oscili</link> xamp, xcps, ifn [, iphs]</synopsis><synopsis>kres <link linkend="oscili">oscili</link> kamp, kcps, ifn [, iphs]</synopsis><para/>
 <synopsis>ares <link linkend="oscilikt">oscilikt</link> xamp, xcps, kfn [, iphs] [, istor]</synopsis><synopsis>kres <link linkend="oscilikt">oscilikt</link> kamp, kcps, kfn [, iphs] [, istor]</synopsis><para/>
 <synopsis>ares <link linkend="osciliktp">osciliktp</link> kcps, kfn, kphs [, istor]</synopsis><para/>
 <synopsis>ares <link linkend="oscilikts">oscilikts</link> xamp, xcps, kfn, async, kphs [, istor]</synopsis><para/>
 <synopsis>ares <link linkend="osciln">osciln</link> kamp, ifrq, ifn, itimes</synopsis><para/>
 <synopsis>ares <link linkend="oscils">oscils</link> iamp, icps, iphs [, iflg]</synopsis><para/>
-<synopsis>ares <link linkend="poscil">poscil</link> aamp, acps, ifn [, iphs]</synopsis><synopsis>ares <link linkend="poscil">poscil</link> aamp, kcps, ifn [, iphs]</synopsis><synopsis>ares <link linkend="poscil">poscil</link> kamp, acps, ifn [, iphs]</synopsis><synopsis>ares <link linkend="poscil">poscil</link> kamp, kcps, ifn [, iphs]</synopsis><synopsis>ires <link linkend="poscil">poscil</link> kamp, kcps, ifn [, iphs]</synopsis><synopsis>kres <link linkend="poscil">poscil</link> kamp, kcps, ifn [, iphs]</synopsis><para/>
-<synopsis>ares <link linkend="poscil3">poscil3</link> kamp, kcps, ifn [, iphs]</synopsis><synopsis>kres <link linkend="poscil3">poscil3</link> kamp, kcps, ifn [, iphs]</synopsis><para/>
+<synopsis>ares <link linkend="poscil">poscil</link> aamp, acps [, ifn, iphs]</synopsis><synopsis>ares <link linkend="poscil">poscil</link> aamp, kcps [, ifn, iphs]</synopsis><synopsis>ares <link linkend="poscil">poscil</link> kamp, acps [, ifn, iphs]</synopsis><synopsis>ares <link linkend="poscil">poscil</link> kamp, kcps [, ifn, iphs]</synopsis><synopsis>ires <link linkend="poscil">poscil</link> kamp, kcps [, ifn, iphs]</synopsis><synopsis>kres <link linkend="poscil">poscil</link> kamp, kcps [, ifn, iphs]</synopsis><para/>
+<synopsis>ares <link linkend="poscil3">poscil3</link> aamp, acps [, ifn, iphs]</synopsis><synopsis>ares <link linkend="poscil3">poscil3</link> aamp, kcps [, ifn, iphs]</synopsis><synopsis>ares <link linkend="poscil3">poscil3</link> kamp, acps [, ifn, iphs]</synopsis><synopsis>ares <link linkend="poscil3">poscil3</link> kamp, kcps [, ifn, iphs]</synopsis><synopsis>ires <link linkend="poscil3">poscil3</link> kamp, kcps [, ifn, iphs]</synopsis><synopsis>kres <link linkend="poscil3">poscil3</link> kamp, kcps [, ifn, iphs]</synopsis><para/>
 <synopsis>kout <link linkend="vibr">vibr</link> kAverageAmp, kAverageFreq, ifn</synopsis><para/>
-<synopsis>kout <link linkend="vibrato">vibrato</link> kAverageAmp, kAverageFreq, kRandAmountAmp, \
-      kRandAmountFreq, kAmpMinRate, kAmpMaxRate, kcpsMinRate, \
-      kcpsMaxRate, ifn [, iphs]</synopsis><para/>
+<synopsis>kout <link linkend="vibrato">vibrato</link> kAverageAmp, kAverageFreq, kRandAmountAmp, kRandAmountFreq, kAmpMinRate, kAmpMaxRate, kcpsMinRate, kcpsMaxRate, ifn [, iphs</synopsis><para/>
 </para></formalpara>
 <para></para><para></para><formalpara>
 <title>Signal Generators:Dynamic Spectrum Oscillators</title>
 <para>
 <para/>
+<synopsis>ares <link linkend="buzz">buzz</link> xamp, xcps, knh, ifn [, iphs]</synopsis><para/>
 <synopsis>ares <link linkend="gbuzz">gbuzz</link> xamp, xcps, knh, klh, kmul, ifn [, iphs]</synopsis><para/>
 <synopsis>ares <link linkend="mpulse">mpulse</link> kamp, kintvl [, ioffset]</synopsis><para/>
 <synopsis>ares <link linkend="vco">vco</link> xamp, xcps, iwave, kpw [, ifn] [, imaxd] [, ileak] [, inyx] \
@@ -90,18 +92,18 @@
 <para>
 <para/>
 <synopsis>a1, a2 <link linkend="crossfm">crossfm</link> xfrq1, xfrq2, xndx1, xndx2, kcps, ifn1, ifn2 [, iphs1] [, iphs2]</synopsis><synopsis>a1, a2 <link linkend="crossfm">crossfmi</link> xfrq1, xfrq2, xndx1, xndx2, kcps, ifn1, ifn2 [, iphs1] [, iphs2]</synopsis><synopsis>a1, a2 <link linkend="crossfm">crosspm</link> xfrq1, xfrq2, xndx1, xndx2, kcps, ifn1, ifn2 [, iphs1] [, iphs2]</synopsis><synopsis>a1, a2 <link linkend="crossfm">crosspmi</link> xfrq1, xfrq2, xndx1, xndx2, kcps, ifn1, ifn2 [, iphs1] [, iphs2]</synopsis><synopsis>a1, a2 <link linkend="crossfm">crossfmpm</link> xfrq1, xfrq2, xndx1, xndx2, kcps, ifn1, ifn2 [, iphs1] [, iphs2]</synopsis><synopsis>a1, a2 <link linkend="crossfm">crossfmpmi</link> xfrq1, xfrq2, xndx1, xndx2, kcps, ifn1, ifn2 [, iphs1] [, iphs2]</synopsis><para/>
-<synopsis>ares <link linkend="fmb3">fmb3</link> kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, \
-      ifn4, ivfn</synopsis><para/>
-<synopsis>ares <link linkend="fmbell">fmbell</link> kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, \
-      ifn4, ivfn</synopsis><para/>
+<synopsis>ares <link linkend="fmb3">fmb3</link> kamp, kfreq, kc1, kc2, kvdepth, kvrate[, ifn1, ifn2, ifn3, \
+      ifn4, ivfn]</synopsis><para/>
+<synopsis>ares <link linkend="fmbell">fmbell</link> kamp, kfreq, kc1, kc2, kvdepth, kvrate[, ifn1, ifn2, ifn3, \
+      ifn4, ivfn, isus]</synopsis><para/>
 <synopsis>ares <link linkend="fmmetal">fmmetal</link> kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, \
       ifn4, ivfn</synopsis><para/>
-<synopsis>ares <link linkend="fmpercfl">fmpercfl</link> kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, \
-      ifn3, ifn4, ivfn</synopsis><para/>
+<synopsis>ares <link linkend="fmpercfl">fmpercfl</link> kamp, kfreq, kc1, kc2, kvdepth, kvrate[, ifn1, ifn2, \
+      ifn3, ifn4, ivfn]</synopsis><para/>
 <synopsis>ares <link linkend="fmrhode">fmrhode</link> kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, \
       ifn3, ifn4, ivfn</synopsis><para/>
-<synopsis>ares <link linkend="fmvoice">fmvoice</link> kamp, kfreq, kvowel, ktilt, kvibamt, kvibrate, ifn1, \
-      ifn2, ifn3, ifn4, ivibfn</synopsis><para/>
+<synopsis>ares <link linkend="fmvoice">fmvoice</link> kamp, kfreq, kvowel, ktilt, kvibamt, kvibrate[, ifn1, \
+      ifn2, ifn3, ifn4, ivibfn]</synopsis><para/>
 <synopsis>ares <link linkend="fmwurlie">fmwurlie</link> kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, \
       ifn4, ivfn</synopsis><para/>
 <synopsis>ares <link linkend="foscil">foscil</link> xamp, kcps, xcar, xmod, kndx, ifn [, iphs]</synopsis><para/>
@@ -153,51 +155,59 @@
 <para>
 <para/>
 <synopsis><link linkend="hvs1">hvs1</link> kx, inumParms, inumPointsX, iOutTab, iPositionsTab, iSnapTab [, iConfigTab]</synopsis><para/>
-<synopsis><link linkend="hvs2">hvs2</link> kx, ky, inumParms, inumPointsX, iOutTab, iPositionsTab, iSnapTab [, iConfigTab]</synopsis><para/>
-<synopsis><link linkend="hvs3">hvs3</link> kx, ky, kz, inumParms, inumPointsX, iOutTab, iPositionsTab, iSnapTab [, iConfigTab]</synopsis><para/>
+<synopsis><link linkend="hvs2">hvs2</link> kx, ky, inumParms, inumPointsX, inumPointsY, iOutTab, iPositionsTab, iSnapTab [, iConfigTab]</synopsis><para/>
+<synopsis><link linkend="hvs3">hvs3</link> kx, ky, kz, inumParms, inumPointsX, inumPointsY, inumPointsZ, iOutTab, iPositionsTab, iSnapTab [, iConfigTab]</synopsis><para/>
 </para></formalpara>
 <para></para><para></para><formalpara>
 <title>Signal Generators:Linear and Exponential Generators</title>
 <para>
 <para/>
+<synopsis>ares <link linkend="cosseg">cosseg</link> ia, idur1, ib [, idur2] [, ic] [...]</synopsis><synopsis>kres <link linkend="cosseg">cosseg</link> ia, idur1, ib [, idur2] [, ic] [...]</synopsis><para/>
+<synopsis>ares <link linkend="cossegb">cossegb</link> ia, itim1, ib [, itim2] [, ic] [...]</synopsis><synopsis>kres <link linkend="cossegb">cossegb</link> ia, itim1, ib [, itim2] [, ic] [...]</synopsis><para/>
+<synopsis>ares <link linkend="cossegr">cossegr</link> ia, idur1, ib [, idur2] [, ic] [...], irel, iz</synopsis><synopsis>kres <link linkend="cossegr">cossegr</link> ia, idur1, ib [, idur2] [, ic] [...], irel, iz</synopsis><para/>
 <synopsis>kout <link linkend="expcurve">expcurve</link> kindex, ksteepness</synopsis><para/>
 <synopsis>ares <link linkend="expon">expon</link> ia, idur, ib</synopsis><synopsis>kres <link linkend="expon">expon</link> ia, idur, ib</synopsis><para/>
 <synopsis>ares <link linkend="expseg">expseg</link> ia, idur1, ib [, idur2] [, ic] [...]</synopsis><synopsis>kres <link linkend="expseg">expseg</link> ia, idur1, ib [, idur2] [, ic] [...]</synopsis><para/>
 <synopsis>ares <link linkend="expsega">expsega</link> ia, idur1, ib [, idur2] [, ic] [...]</synopsis><para/>
+<synopsis>ares <link linkend="expsegb">expsegb</link> ia, itim1, ib [, itim2] [, ic] [...]</synopsis><synopsis>kres <link linkend="expsegb">expsegb</link> ia, itim1, ib [, itim2] [, ic] [...]</synopsis><para/>
+<synopsis>ares <link linkend="expsegba">expsegba</link> ia, itim1, ib [, itim2] [, ic] [...]</synopsis><para/>
 <synopsis>ares <link linkend="expsegr">expsegr</link> ia, idur1, ib [, idur2] [, ic] [...], irel, iz</synopsis><synopsis>kres <link linkend="expsegr">expsegr</link> ia, idur1, ib [, idur2] [, ic] [...], irel, iz</synopsis><para/>
 <synopsis>kout <link linkend="gainslider">gainslider</link> kindex</synopsis><para/>
 <synopsis>ares <link linkend="jspline">jspline</link> xamp, kcpsMin, kcpsMax</synopsis><synopsis>kres <link linkend="jspline">jspline</link> kamp, kcpsMin, kcpsMax</synopsis><para/>
 <synopsis>ares <link linkend="line">line</link> ia, idur, ib</synopsis><synopsis>kres <link linkend="line">line</link> ia, idur, ib</synopsis><para/>
 <synopsis>ares <link linkend="linseg">linseg</link> ia, idur1, ib [, idur2] [, ic] [...]</synopsis><synopsis>kres <link linkend="linseg">linseg</link> ia, idur1, ib [, idur2] [, ic] [...]</synopsis><para/>
+<synopsis>ares <link linkend="linsegb">linsegb</link> ia, itim1, ib [, itim2] [, ic] [...]</synopsis><synopsis>kres <link linkend="linsegb">linsegb</link> ia, itim1, ib [, itim2] [, ic] [...]</synopsis><para/>
 <synopsis>ares <link linkend="linsegr">linsegr</link> ia, idur1, ib [, idur2] [, ic] [...], irel, iz</synopsis><synopsis>kres <link linkend="linsegr">linsegr</link> ia, idur1, ib [, idur2] [, ic] [...], irel, iz</synopsis><para/>
 <synopsis>kout <link linkend="logcurve">logcurve</link> kindex, ksteepness</synopsis><para/>
-<synopsis>ksig <link linkend="loopseg">loopseg</link> kfreq, ktrig, ktime0, kvalue0 [, ktime1] [, kvalue1] \
-      [, ktime2] [, kvalue2] [...]</synopsis><para/>
+<synopsis>ksig <link linkend="loopseg">loopseg</link> kfreq, ktrig, iphase, kvalue0, ktime0 [, kvalue1] [, ktime1] \
+[, kvalue2] [, ktime2][...]</synopsis><para/>
 <synopsis>ksig <link linkend="loopsegp">loopsegp</link>  kphase, kvalue0, kdur0, kvalue1 \
       [, kdur1, ... , kdurN-1, kvalueN]</synopsis><para/>
-<synopsis>ksig <link linkend="looptseg">looptseg</link> kfreq, ktrig, ktime0, kvalue0, ktype, [, ktime1] [,ktype1] [, kvalue1] \
-      [, ktime2] [,ktype2] [, kvalue2] [...]</synopsis><para/>
-<synopsis>ksig <link linkend="loopxseg">loopxseg</link> kfreq, ktrig, ktime0, kvalue0 [, ktime1] [, kvalue1] \
-      [, ktime2] [, kvalue2] [...]</synopsis><para/>
-<synopsis>ksig <link linkend="lpshold">lpshold</link> kfreq, ktrig, ktime0, kvalue0  [, ktime1] [, kvalue1] \
-      [, ktime2] [, kvalue2] [...]</synopsis><para/>
-<synopsis>ksig <link linkend="lpsholdp">lpsholdp</link>  kphase, ktrig, ktime0, kvalue0  [, ktime1] [, kvalue1] \
+<synopsis>ksig <link linkend="looptseg">looptseg</link> kfreq, ktrig, iphase, kvalue0, ktype0, ktime0, [, kvalue1] [,ktype1] [, ktime1] \
+      [, kvalue2] [,ktype2] [, ktime2] [...] [, kvalueN] [,ktypeN] [, ktimeN]</synopsis><para/>
+<synopsis>ksig <link linkend="loopxseg">loopxseg</link> kfreq, ktrig, iphase, ktime0, kvalue0 [, ktime1] [, kvalue1] \
       [, ktime2] [, kvalue2] [...]</synopsis><para/>
+<synopsis>ksig <link linkend="lpshold">lpshold</link> kfreq, ktrig, iphase, ktime0, kvalue0  [, kvalue1] [, ktime1] [, kvalue2] [, ktime2] [...]</synopsis><para/>
+<synopsis>ksig <link linkend="lpsholdp">lpsholdp</link>  kphase, kvalue0, ktime0  [, kvalue1] [, ktime1] \
+      [, kvalue2] [, ktime2] [...]</synopsis><para/>
 <synopsis>ares <link linkend="rspline">rspline</link> xrangeMin, xrangeMax, kcpsMin, kcpsMax</synopsis><synopsis>kres <link linkend="rspline">rspline</link> krangeMin, krangeMax, kcpsMin, kcpsMax</synopsis><para/>
 <synopsis>kscl <link linkend="scale">scale</link> kinput, kmax, kmin</synopsis><para/>
 <synopsis>ares <link linkend="transeg">transeg</link> ia, idur, itype, ib [, idur2] [, itype] [, ic] ...</synopsis><synopsis>kres <link linkend="transeg">transeg</link> ia, idur, itype, ib [, idur2] [, itype] [, ic] ...</synopsis><para/>
+<synopsis>ares <link linkend="transegb">transegb</link> ia, itim, itype, ib [, itim2] [, itype] [, ic] ...</synopsis><synopsis>kres <link linkend="transegb">transegb</link> ia, itim, itype, ib [, itim2] [, itype] [, ic] ...</synopsis><para/>
 <synopsis>ares <link linkend="transegr">transegr</link> ia, idur, itype, ib [, idur2] [, itype] [, ic] ...</synopsis><synopsis>kres <link linkend="transegr">transegr</link> ia, idur, itype, ib [, idur2] [, itype] [, ic] ...</synopsis><para/>
 </para></formalpara>
 <para></para><para></para><formalpara>
 <title>Signal Generators:Envelope Generators</title>
 <para>
 <para/>
+<synopsis>ares <link linkend="adsr">adsr</link> iatt, idec, islev, irel [, idel]</synopsis><synopsis>kres <link linkend="adsr">adsr</link> iatt, idec, islev, irel [, idel]</synopsis><para/>
 <synopsis>ares <link linkend="envlpx">envlpx</link> xamp, irise, idur, idec, ifn, iatss, iatdec [, ixmod]</synopsis><synopsis>kres <link linkend="envlpx">envlpx</link> kamp, irise, idur, idec, ifn, iatss, iatdec [, ixmod]</synopsis><para/>
 <synopsis>ares <link linkend="envlpxr">envlpxr</link> xamp, irise, idec, ifn, iatss, iatdec [, ixmod] [,irind]</synopsis><synopsis>kres <link linkend="envlpxr">envlpxr</link> kamp, irise, idec, ifn, iatss, iatdec [, ixmod] [,irind]</synopsis><para/>
 <synopsis>ares <link linkend="linen">linen</link> xamp, irise, idur, idec</synopsis><synopsis>kres <link linkend="linen">linen</link> kamp, irise, idur, idec</synopsis><para/>
 <synopsis>ares <link linkend="linenr">linenr</link> xamp, irise, idec, iatdec</synopsis><synopsis>kres <link linkend="linenr">linenr</link> kamp, irise, idec, iatdec</synopsis><para/>
 <synopsis>ares <link linkend="madsr">madsr</link> iatt, idec, islev, irel [, idel] [, ireltim]</synopsis><synopsis>kres <link linkend="madsr">madsr</link> iatt, idec, islev, irel [, idel] [, ireltim]</synopsis><para/>
 <synopsis>ares <link linkend="mxadsr">mxadsr</link> iatt, idec, islev, irel [, idel] [, ireltim]</synopsis><synopsis>kres <link linkend="mxadsr">mxadsr</link> iatt, idec, islev, irel [, idel] [, ireltim]</synopsis><para/>
+<synopsis>ares <link linkend="xadsr">xadsr</link> iatt, idec, islev, irel [, idel]</synopsis><synopsis>kres <link linkend="xadsr">xadsr</link> iatt, idec, islev, irel [, idel]</synopsis><para/>
 </para></formalpara>
 <para></para><para></para><formalpara>
 <title>Signal Generators:Models and Emulations</title>
@@ -211,6 +221,15 @@
 <synopsis>ares <link linkend="crunch">crunch</link> iamp, idettack [, inum] [, idamp] [, imaxshake]</synopsis><para/>
 <synopsis>ares <link linkend="dripwater">dripwater</link> kamp, idettack [, inum] [, idamp] [, imaxshake] [, ifreq] \
       [, ifreq1] [, ifreq2]</synopsis><para/>
+<synopsis>ares <link linkend="gendy">gendy</link> kamp, kampdist, kdurdist, kadpar, kddpar, kminfreq, kmaxfreq, \
+           kampscl, kdurscl [, initcps] [, knum]</synopsis><synopsis>kres <link linkend="gendy">gendy</link> kamp, kampdist, kdurdist, kadpar, kddpar, kminfreq, kmaxfreq, \
+           kampscl, kdurscl [, initcps] [, knum]</synopsis><para/>
+<synopsis>ares <link linkend="gendyc">gendyc</link> kamp, kampdist, kdurdist, kadpar, kddpar, kminfreq, kmaxfreq, \
+            kampscl, kdurscl [, initcps] [, knum]</synopsis><synopsis>kres <link linkend="gendyc">gendyc</link> kamp, kampdist, kdurdist, kadpar, kddpar, kminfreq, kmaxfreq, \
+            kampscl, kdurscl [, initcps] [, knum]</synopsis><para/>
+<synopsis>ares <link linkend="gendyx">gendyx</link> kamp, kampdist, kdurdist, kadpar, kddpar, kminfreq, kmaxfreq, \
+            kampscl, kdurscl, kcurveup, kcurvedown [, initcps] [, knum]</synopsis><synopsis>kres <link linkend="gendyx">gendyx</link> kamp, kampdist, kdurdist, kadpar, kddpar, kminfreq, kmaxfreq, \
+            kampscl, kdurscl, kcurveup, kcurvedown [, initcps] [, knum]</synopsis><para/>
 <synopsis>ares <link linkend="gogobel">gogobel</link> kamp, kfreq, ihrd, ipos, imp, kvibf, kvamp, ivfn</synopsis><para/>
 <synopsis>ares <link linkend="guiro">guiro</link> kamp, idettack [, inum] [, idamp] [, imaxshake] [, ifreq] [, ifreq1]</synopsis><para/>
 <synopsis>ax, ay, az <link linkend="lorenz">lorenz</link> ksv, krv, kbv, kh, ix, iy, iz, iskip [, iskipinit]</synopsis><para/>
@@ -251,10 +270,18 @@
 <para/>
 <synopsis>ares <link linkend="betarand">betarand</link> krange, kalpha, kbeta</synopsis><synopsis>ires <link linkend="betarand">betarand</link> krange, kalpha, kbeta</synopsis><synopsis>kres <link linkend="betarand">betarand</link> krange, kalpha, kbeta</synopsis><para/>
 <synopsis>ares <link linkend="bexprnd">bexprnd</link> krange</synopsis><synopsis>ires <link linkend="bexprnd">bexprnd</link> krange</synopsis><synopsis>kres <link linkend="bexprnd">bexprnd</link> krange</synopsis><para/>
+<synopsis>ares <link linkend="cauchy">cauchy</link> kalpha</synopsis><synopsis>ires <link linkend="cauchy">cauchy</link> kalpha</synopsis><synopsis>kres <link linkend="cauchy">cauchy</link> kalpha</synopsis><para/>
+<synopsis>ares <link linkend="cauchyi">cauchyi</link> klambda, xamp, xcps</synopsis><synopsis>ires <link linkend="cauchyi">cauchyi</link> klambda, xamp, xcps</synopsis><synopsis>kres <link linkend="cauchyi">cauchyi</link> klambda, xamp, xcps</synopsis><para/>
 <synopsis>aout <link linkend="cuserrnd">cuserrnd</link> kmin, kmax, ktableNum</synopsis><synopsis>iout <link linkend="cuserrnd">cuserrnd</link> imin, imax, itableNum</synopsis><synopsis>kout <link linkend="cuserrnd">cuserrnd</link> kmin, kmax, ktableNum</synopsis><para/>
 <synopsis>aout <link linkend="duserrnd">duserrnd</link> ktableNum</synopsis><synopsis>iout <link linkend="duserrnd">duserrnd</link> itableNum</synopsis><synopsis>kout <link linkend="duserrnd">duserrnd</link> ktableNum</synopsis><para/>
+<synopsis>ares <link linkend="dust">dust</link> kamp, kdensity</synopsis><synopsis>kres <link linkend="dust">dust</link> kamp, kdensity</synopsis><para/>
+<synopsis>ares <link linkend="dust2">dust2</link> kamp, kdensity</synopsis><synopsis>kres <link linkend="dust2">dust2</link> kamp, kdensity</synopsis><para/>
 <synopsis>ares <link linkend="exprand">exprand</link> klambda</synopsis><synopsis>ires <link linkend="exprand">exprand</link> klambda</synopsis><synopsis>kres <link linkend="exprand">exprand</link> klambda</synopsis><para/>
+<synopsis>ares <link linkend="exprandi">exprandi</link> klambda, xamp, xcps</synopsis><synopsis>ires <link linkend="exprandi">exprandi</link> klambda, xamp, xcps</synopsis><synopsis>kres <link linkend="exprandi">exprandi</link> klambda, xamp, xcps</synopsis><para/>
+<synopsis>ares <link linkend="fractalnoise">fractalnoise</link> kamp, kbeta</synopsis><para/>
 <synopsis>ares <link linkend="gauss">gauss</link> krange</synopsis><synopsis>ires <link linkend="gauss">gauss</link> krange</synopsis><synopsis>kres <link linkend="gauss">gauss</link> krange</synopsis><para/>
+<synopsis>ares <link linkend="gaussi">gaussi</link> krange, xamp, xcps</synopsis><synopsis>ires <link linkend="gaussi">gaussi</link> krange, xamp, xcps</synopsis><synopsis>kres <link linkend="gaussi">gaussi</link> krange, xamp, xcps</synopsis><para/>
+<synopsis>ares <link linkend="gausstrig">gausstrig</link> kamp, kcps, kdev [, imode]</synopsis><synopsis>kres <link linkend="gausstrig">gausstrig</link> kamp, kcps, kdev [, imode]</synopsis><para/>
 <synopsis>kout <link linkend="jitter">jitter</link> kamp, kcpsMin, kcpsMax</synopsis><para/>
 <synopsis>kout <link linkend="jitter2">jitter2</link> ktotamp, kamp1, kcps1, kamp2, kcps2, kamp3, kcps3</synopsis><para/>
 <synopsis>ares <link linkend="linrand">linrand</link> krange</synopsis><synopsis>ires <link linkend="linrand">linrand</link> krange</synopsis><synopsis>kres <link linkend="linrand">linrand</link> krange</synopsis><para/>
@@ -266,8 +293,8 @@
 <synopsis>ares <link linkend="randh">randh</link> xamp, xcps [, iseed] [, isize] [, ioffset]</synopsis><synopsis>kres <link linkend="randh">randh</link> kamp, kcps [, iseed] [, isize] [, ioffset]</synopsis><para/>
 <synopsis>ares <link linkend="randi">randi</link> xamp, xcps [, iseed] [, isize] [, ioffset]</synopsis><synopsis>kres <link linkend="randi">randi</link> kamp, kcps [, iseed] [, isize] [, ioffset]</synopsis><para/>
 <synopsis>ares <link linkend="random">random</link> kmin, kmax</synopsis><synopsis>ires <link linkend="random">random</link> imin, imax</synopsis><synopsis>kres <link linkend="random">random</link> kmin, kmax</synopsis><para/>
-<synopsis>ares <link linkend="randomh">randomh</link> kmin, kmax, acps</synopsis><synopsis>kres <link linkend="randomh">randomh</link> kmin, kmax, kcps</synopsis><para/>
-<synopsis>ares <link linkend="randomi">randomi</link> kmin, kmax, acps</synopsis><synopsis>kres <link linkend="randomi">randomi</link> kmin, kmax, kcps</synopsis><para/>
+<synopsis>ares <link linkend="randomh">randomh</link> kmin, kmax, xcps [,imode] [,ifirstval]</synopsis><synopsis>kres <link linkend="randomh">randomh</link> kmin, kmax, kcps [,imode] [,ifirstval]</synopsis><para/>
+<synopsis>ares <link linkend="randomi">randomi</link> kmin, kmax, xcps [,imode] [,ifirstval]</synopsis><synopsis>kres <link linkend="randomi">randomi</link> kmin, kmax, kcps [,imode] [,ifirstval]</synopsis><para/>
 <synopsis>ax <link linkend="rnd31">rnd31</link> kscl, krpow [, iseed]</synopsis><synopsis>ix <link linkend="rnd31">rnd31</link> iscl, irpow [, iseed]</synopsis><synopsis>kx <link linkend="rnd31">rnd31</link> kscl, krpow [, iseed]</synopsis><para/>
 <synopsis><link linkend="seed">seed</link> ival</synopsis><para/>
 <synopsis>kout <link linkend="trandom">trandom</link> ktrig, kmin, kmax</synopsis><para/>
@@ -283,6 +310,8 @@
 <para/>
 <synopsis>a1 <link linkend="bbcutm">bbcutm</link> asource, ibps, isubdiv, ibarlength, iphrasebars, inumrepeats \
       [, istutterspeed] [, istutterchance] [, ienvchoice ]</synopsis><para/>
+<synopsis>a1,a2 <link linkend="bbcuts">bbcuts</link> asource1, asource2, ibps, isubdiv, ibarlength, iphrasebars, \
+      inumrepeats [, istutterspeed] [, istutterchance] [, ienvchoice]</synopsis><para/>
 <synopsis>asig <link linkend="flooper">flooper</link> kamp, kpitch, istart, idur, ifad, ifn</synopsis><para/>
 <synopsis>asig <link linkend="flooper2">flooper2</link> kamp, kpitch, kloopstart, kloopend, kcrossfade, ifn \
       [, istart, imode, ifenv, iskip]</synopsis><para/>
@@ -319,7 +348,7 @@
 <synopsis>ares <link linkend="sfinstrm">sfinstrm</link> ivel, inotenum, xamp, xfreq, instrnum, ifilhandle \
       [, iflag] [, ioffset]</synopsis><para/>
 <synopsis>ir <link linkend="sfload">sfload</link> "filename"</synopsis><para/>
-<synopsis>ar1, ar2 <link linkend="sflooper">sflooper</link> ivel, inotenum, kamp, kpitch, ipreindex, kloopstart, kloopend, kcrossfade, ifn \
+<synopsis>ar1, ar2 <link linkend="sflooper">sflooper</link> ivel, inotenum, kamp, kpitch, ipreindex, kloopstart, kloopend, kcrossfade \
       [, istart, imode, ifenv, iskip] </synopsis><para/>
 <synopsis><link linkend="sfpassign">sfpassign</link> istartindex, ifilhandle[, imsgs]</synopsis><para/>
 <synopsis>ar1, ar2 <link linkend="sfplay">sfplay</link> ivel, inotenum, xamp, xfreq, ipreindex [, iflag] [, ioffset] [, ienv]</synopsis><para/>
@@ -347,11 +376,46 @@
       kstif, kcentr, kdamp, ileft, iright, kpos, kstrngth, ain, idisp, id</synopsis><para/>
 </para></formalpara>
 <para></para><para></para><formalpara>
+<title>Signal Generators:STK Opcodes</title>
+<para>
+<para/>
+<synopsis>asignal <link linkend="STKBandedWG">STKBandedWG</link> ifrequency, iamplitude, [kpress, kv1[, kmot, kv2[, klfo, kv3[, klfodepth, kv4[, kvel, kv5[, kstrk, kv6[, kinstr, kv7]]]]]]]</synopsis><para/>
+<synopsis>asignal <link linkend="STKBeeThree">STKBeeThree</link> ifrequency, iamplitude, [kop4, kv1[, kop3, kv2[, klfo, kv3[, klfodepth, kv4[, kadsr, kv5]]]]]</synopsis><para/>
+<synopsis>asignal <link linkend="STKBlowBotl">STKBlowBotl</link> ifrequency, iamplitude, [knoise, kv1[, klfo, kv2[, klfodepth, kv3[, kvol, kv4]]]]</synopsis><para/>
+<synopsis>asignal <link linkend="STKBlowHole">STKBlowHole</link> ifrequency, iamplitude, [kreed, kv1[, knoise, kv2[, khole, kv3[, kreg, kv4[, kbreath, kv5]]]]]</synopsis><para/>
+<synopsis>asignal <link linkend="STKBowed">STKBowed</link> ifrequency, iamplitude, [kpress, kv1[, kpos, kv2[, klfo, kv3[, klfodepth, kv4[, kvol, kv5]]]]]</synopsis><para/>
+<synopsis>asignal <link linkend="STKBrass">STKBrass</link> ifrequency, iamplitude, [klip, kv1[, kslide, kv2[, klfo, kv3[, klfodepth, kv4[, kvol, kv5]]]]]</synopsis><para/>
+<synopsis>asignal <link linkend="STKClarinet">STKClarinet</link> ifrequency, iamplitude, [kstiff, kv1[, knoise, kv2[, klfo, kv3[, klfodepth, kv4[, kbreath, kv5]]]]]</synopsis><para/>
+<synopsis>asignal <link linkend="STKDrummer">STKDrummer</link> ifrequency, iamplitude</synopsis><para/>
+<synopsis>asignal <link linkend="STKFMVoices">STKFMVoices</link> ifrequency, iamplitude, [kvowel, kv1[, kspec, kv2[, klfo, kv3[, klfodepth, kv4[, kadsr, kv5]]]]]</synopsis><para/>
+<synopsis>asignal <link linkend="STKFlute">STKFlute</link> ifrequency, iamplitude, [kjet, kv1[, knoise, kv2[, klfo, kv3[, klfodepth, kv4[, kbreath, kv5]]]]]</synopsis><para/>
+<synopsis>asignal <link linkend="STKHevyMetl">STKHevyMetl</link> ifrequency, iamplitude, [kmod, kv1[, kcross, kv2[, klfo, kv3[, klfodepth, kv4[, kadsr, kv5]]]]]</synopsis><para/>
+<synopsis>asignal <link linkend="STKMandolin">STKMandolin</link> ifrequency, iamplitude, [kbody, kv1[, kpos, kv2[, ksus, kv3[, kdetune, kv4[, kmic, kv5]]]]]</synopsis><para/>
+<synopsis>asignal <link linkend="STKModalBar">STKModalBar</link> ifrequency, iamplitude, [khard, kv1[, kpos, kv2[, klfo, kv3[, klfodepth, kv4[, kmix, kv5[, kvol, kv6[, kinstr, kv7]]]]]]]</synopsis><para/>
+<synopsis>asignal <link linkend="STKMoog">STKMoog</link> ifrequency, iamplitude, [kq, kv1[, krate, kv2[, klfo, kv3[, klfodepth, kv4[, kvol, kv5]]]]]</synopsis><para/>
+<synopsis>asignal <link linkend="STKPercFlut">STKPercFlut</link> ifrequency, iamplitude, [kmod, kv1[, kcross, kv2[, klfo, kv3[, klfodepth, kv4[, kadsr, kv5]]]]]</synopsis><para/>
+<synopsis>asignal <link linkend="STKPlucked">STKPlucked</link> ifrequency, iamplitude</synopsis><para/>
+<synopsis>asignal <link linkend="STKResonate">STKResonate</link> ifrequency, iamplitude, [kfreq, kv1[, kpole, kv2[, knotch, kv3[, kzero, kv4[, kenv, kv5]]]]]</synopsis><para/>
+<synopsis>asignal <link linkend="STKRhodey">STKRhodey</link> ifrequency, iamplitude, [kmod, kv1[, kcross, kv2[, klfo, kv3[, klfodepth, kv4[, kadsr, kv5]]]]]</synopsis><para/>
+<synopsis>asignal <link linkend="STKSaxofony">STKSaxofony</link> ifrequency, iamplitude, [kstiff, kv1[, kapert, kv2[, kblow, kv3[, knoise, kv4[, klfo, kv5[, klfodepth, kv6[, kbreath, kv7]]]]]]]</synopsis><para/>
+<synopsis>asignal <link linkend="STKShakers">STKShakers</link> ifrequency, iamplitude, [kenerg, kv1[, kdecay, kv2[, kshake, kv3[, knum, kv4[, kres, kv5[, kinstr, kv6]]]]]]</synopsis><para/>
+<synopsis>asignal <link linkend="STKSimple">STKSimple</link> ifrequency, iamplitude, [kpos, kv1[, kcross, kv2[, kenv, kv3[, kgain, kv4]]]]</synopsis><para/>
+<synopsis>asignal <link linkend="STKSitar">STKSitar</link> ifrequency, iamplitude</synopsis><para/>
+<synopsis>asignal <link linkend="STKStifKarp">STKStifKarp</link> ifrequency, iamplitude, [kpos, kv1[, ksus, kv2[, kstretch, kv3]]]</synopsis><para/>
+<synopsis>asignal <link linkend="STKTubeBell">STKTubeBell</link> ifrequency, iamplitude, [kmod, kv1[, kcross, kv2[, klfo, kv3[, klfodepth, kv4[, kadsr, kv5]]]]]</synopsis><para/>
+<synopsis>asignal <link linkend="STKVoicForm">STKVoicForm</link> ifrequency, iamplitude, [kmix, kv1[, ksel, kv2[, klfo, kv3[, klfodepth, kv4[, kloud, kv5]]]]]</synopsis><para/>
+<synopsis>asignal <link linkend="STKWhistle">STKWhistle</link> ifrequency, iamplitude, [kmod, kv1[, knoise, kv2[, kfipfreq, kv3[, kfipgain, kv4[, kvol, kv5]]]]]</synopsis><para/>
+<synopsis>asignal <link linkend="STKWurley">STKWurley</link> ifrequency, iamplitude, [kmod, kv1[, kcross, kv2[, klfo, kv3[, klfodepth, kv4[, kadsr, kv5]]]]]</synopsis><para/>
+</para></formalpara>
+<para></para><para></para><formalpara>
 <title>Signal Generators:Table Access</title>
 <para>
 <para/>
-<synopsis>kres <link linkend="oscil1">oscil1</link> idel, kamp, idur, ifn</synopsis><para/>
-<synopsis>kres <link linkend="oscil1i">oscil1i</link> idel, kamp, idur, ifn</synopsis><para/>
+<synopsis>kres <link linkend="oscil1">oscil1</link> idel, kamp, idur [, ifn]</synopsis><para/>
+<synopsis>kres <link linkend="oscil1i">oscil1i</link> idel, kamp, idur [, ifn]</synopsis><para/>
+<synopsis>ares <link linkend="ptable">ptable</link> andx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>ires <link linkend="ptable">ptable</link> indx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>kres <link linkend="ptable">ptable</link> kndx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><para/>
+<synopsis>ares <link linkend="ptable3">ptable3</link> andx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>ires <link linkend="ptable3">ptable3</link> indx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>kres <link linkend="ptable3">ptable3</link> kndx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><para/>
+<synopsis>ares <link linkend="ptablei">ptablei</link> andx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>ires <link linkend="ptablei">ptablei</link> indx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>kres <link linkend="ptablei">ptablei</link> kndx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><para/>
 <synopsis>ir <link linkend="tab">tab_i</link> indx, ifn[, ixmode]</synopsis><synopsis>kr <link linkend="tab">tab</link> kndx, ifn[, ixmode]</synopsis><synopsis>ar <link linkend="tab">tab</link> xndx, ifn[, ixmode]</synopsis><synopsis><link linkend="tab">tabw_i</link> isig, indx, ifn [,ixmode]</synopsis><synopsis><link linkend="tab">tabw</link> ksig, kndx, ifn [,ixmode]</synopsis><synopsis><link linkend="tab">tabw</link> asig, andx, ifn [,ixmode]</synopsis><para/>
 <synopsis>ares <link linkend="table">table</link> andx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>ires <link linkend="table">table</link> indx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>kres <link linkend="table">table</link> kndx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><para/>
 <synopsis>ares <link linkend="table3">table3</link> andx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>ires <link linkend="table3">table3</link> indx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>kres <link linkend="table3">table3</link> kndx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><para/>
@@ -391,16 +455,18 @@
 <synopsis><link linkend="dumpk3">dumpk3</link> ksig1, ksig2, ksig3, ifilname, iformat, iprd</synopsis><para/>
 <synopsis><link linkend="dumpk4">dumpk4</link> ksig1, ksig2, ksig3, ksig4, ifilname, iformat, iprd</synopsis><para/>
 <synopsis><link linkend="ficlose">ficlose</link> ihandle</synopsis><synopsis><link linkend="ficlose">ficlose</link> Sfilename</synopsis><para/>
-<synopsis><link linkend="fin">fin</link> ifilename, iskipframes, iformat, ain1 [, ain2] [, ain3] [,...]</synopsis><para/>
+<synopsis><link linkend="fin">fin</link> ifilename, iskipframes, iformat, ain1 [, ain2] [, ain3] [,...]</synopsis><synopsis><link linkend="fin">fin</link> ifilename, iskipframes, iformat, arr[]</synopsis><para/>
 <synopsis><link linkend="fini">fini</link> ifilename, iskipframes, iformat, in1 [, in2] [, in3] [, ...]</synopsis><para/>
 <synopsis><link linkend="fink">fink</link> ifilename, iskipframes, iformat, kin1 [, kin2] [, kin3] [,...]</synopsis><para/>
 <synopsis>ihandle <link linkend="fiopen">fiopen</link> ifilename, imode</synopsis><para/>
-<synopsis><link linkend="fout">fout</link> ifilename, iformat, aout1 [, aout2, aout3,...,aoutN]</synopsis><para/>
+<synopsis><link linkend="fout">fout</link> ifilename, iformat, aout1 [, aout2, aout3,...,aoutN]</synopsis><synopsis><link linkend="fout">fout</link> ifilename, iformat, array[]</synopsis><para/>
 <synopsis><link linkend="fouti">fouti</link> ihandle, iformat, iflag, iout1 [, iout2, iout3,....,ioutN]</synopsis><para/>
 <synopsis><link linkend="foutir">foutir</link> ihandle, iformat, iflag, iout1 [, iout2, iout3,....,ioutN]</synopsis><para/>
 <synopsis><link linkend="foutk">foutk</link> ifilename, iformat, kout1 [, kout2, kout3,....,koutN]</synopsis><para/>
 <synopsis><link linkend="fprintks">fprintks</link> "filename", "string", [, kval1] [, kval2] [...]</synopsis><para/>
 <synopsis><link linkend="fprints">fprints</link> "filename", "string" [, ival1] [, ival2] [...]</synopsis><para/>
+<synopsis>Sres, kline <link linkend="readf">readf</link> ifilname</synopsis><para/>
+<synopsis>Sres, iline <link linkend="readfi">readfi</link> ifilname</synopsis><para/>
 <synopsis>kres <link linkend="readk">readk</link> ifilname, iformat, iprd</synopsis><para/>
 <synopsis>kr1, kr2 <link linkend="readk2">readk2</link> ifilname, iformat, iprd</synopsis><para/>
 <synopsis>kr1, kr2, kr3 <link linkend="readk3">readk3</link> ifilname, iformat, iprd</synopsis><para/>
@@ -410,11 +476,13 @@
 <title>Signal I/O:Signal Input</title>
 <para>
 <para/>
-<synopsis>ar1 [, ar2 [, ar3 [, ... ar24]]] <link linkend="diskin">diskin</link> ifilcod, kpitch [, iskiptim] \
-      [, iwraparound] [, iformat] [, iskipinit]</synopsis><para/>
-<synopsis>a1[, a2[, ... a24]] <link linkend="diskin2">diskin2</link> ifilcod, kpitch[, iskiptim \
+<synopsis>ar1 [, ar2 [, ar3 [, ... arN]]] <link linkend="diskin">diskin</link> ifilcod, kpitch [, iskiptim] \
+      [, iwraparound] [, iformat] [, iskipinit]</synopsis><synopsis>ar1[] <link linkend="diskin">diskin2</link> ifilcod, kpitch[, iskiptim \
+      [, iwrap[, iformat [, iwsize[, ibufsize[, iskipinit]]]]]]</synopsis><para/>
+<synopsis>a1[, a2[, ... aN]] <link linkend="diskin2">diskin2</link> ifilcod, kpitch[, iskiptim \
+      [, iwrap[, iformat [, iwsize[, ibufsize[, iskipinit]]]]]]</synopsis><synopsis>ar1[] <link linkend="diskin2">diskin2</link> ifilcod, kpitch[, iskiptim \
       [, iwrap[, iformat [, iwsize[, ibufsize[, iskipinit]]]]]]</synopsis><para/>
-<synopsis>ar1 <link linkend="in">in</link> </synopsis><para/>
+<synopsis>ar1 <link linkend="in">in</link> </synopsis><synopsis>aarray <link linkend="in">in</link> </synopsis><para/>
 <synopsis>ar1, ar2, ar3, ar4, ar5, ar6, ar7, ar8, ar9, ar10, ar11, ar12, ar13, ar14, \
       ar15, ar16, ar17, ar18, ar19, ar20, ar21, ar22, ar23, ar24, ar25, ar26, \
       ar27, ar28, ar29, ar30, ar31, ar32 <link linkend="in32">in32</link> </synopsis><para/>
@@ -428,7 +496,7 @@
 <synopsis>ar1, ar2, ar3, ar4, ar5, ar6, ar7, ar8, ar9, ar10, ar11, ar12, \
       ar13, ar14, ar15, ar16 <link linkend="inx">inx</link> </synopsis><para/>
 <synopsis><link linkend="inz">inz</link> ksig1</synopsis><para/>
-<synopsis>ar1, ar2 <link linkend="mp3in">mp3in</link> ifilcod, iskptim, iformat, iskipinit, ibufsize</synopsis><para/>
+<synopsis>ar1, ar2 <link linkend="mp3in">mp3in</link> ifilcod[, iskptim, iformat, iskipinit, ibufsize]</synopsis><para/>
 <synopsis>ar1[, ar2[, ar3[, ... a24]]] <link linkend="soundin">soundin</link> ifilcod [, iskptim] [, iformat] \
       [, iskipinit] [, ibufsize]</synopsis><para/>
 </para></formalpara>
@@ -438,7 +506,7 @@
 <para/>
 <synopsis><link linkend="mdelay">mdelay</link> kstatus, kchan, kd1, kd2, kdelay</synopsis><para/>
 <synopsis>aout1 [,aout2 ... aoutX] <link linkend="monitor">monitor</link> </synopsis><para/>
-<synopsis><link linkend="out">out</link> asig</synopsis><para/>
+<synopsis><link linkend="out">out</link> asig1[, asig2,....]</synopsis><synopsis><link linkend="out">out</link> aarray</synopsis><para/>
 <synopsis><link linkend="out32">out32</link> asig1, asig2, asig3, asig4, asig5, asig6, asig7, asig8, asig10, \
       asig11, asig12, asig13, asig14, asig15, asig16, asig17, asig18, \
       asig19, asig20, asig21, asig22, asig23, asig24, asig25, asig26, \
@@ -469,7 +537,7 @@
 <para/>
 <synopsis>kval <link linkend="chani">chani</link> kchan</synopsis><synopsis>aval <link linkend="chani">chani</link> kchan</synopsis><para/>
 <synopsis><link linkend="chano">chano</link> kval, kchan</synopsis><synopsis><link linkend="chano">chano</link> aval, kchan</synopsis><para/>
-<synopsis> <link linkend="chn">chn_k</link> Sname, imode[, itype, idflt, imin, imax]</synopsis><synopsis> <link linkend="chn">chn_a</link> Sname, imode</synopsis><synopsis> <link linkend="chn">chn_S</link> Sname, imode</synopsis><para/>
+<synopsis> <link linkend="chn">chn_k</link> Sname, imode[, itype, idflt, imin, ima, ix, iy, iwidth, iheight, Sattributes]</synopsis><synopsis> <link linkend="chn">chn_a</link> Sname, imode</synopsis><synopsis> <link linkend="chn">chn_S</link> Sname, imode</synopsis><para/>
 <synopsis><link linkend="chnclear">chnclear</link> Sname</synopsis><para/>
 <synopsis>gival <link linkend="chnexport">chnexport</link> Sname, imode[, itype, idflt, imin, imax]</synopsis><synopsis>gkval <link linkend="chnexport">chnexport</link> Sname, imode[, itype, idflt, imin, imax]</synopsis><synopsis>gaval <link linkend="chnexport">chnexport</link> Sname, imode</synopsis><synopsis>gSval <link linkend="chnexport">chnexport</link> Sname, imode</synopsis><para/>
 <synopsis>ival <link linkend="chnget">chnget</link> Sname</synopsis><synopsis>kval <link linkend="chnget">chnget</link> Sname</synopsis><synopsis>aval <link linkend="chnget">chnget</link> Sname</synopsis><synopsis>Sval <link linkend="chnget">chnget</link> Sname</synopsis><para/>
@@ -506,6 +574,7 @@
 <synopsis>ir <link linkend="filepeak">filepeak</link> ifilcod [, ichnl]</synopsis><para/>
 <synopsis>ir <link linkend="filesr">filesr</link> ifilcod [, iallowraw]</synopsis><para/>
 <synopsis>ir <link linkend="filevalid">filevalid</link> ifilcod</synopsis><para/>
+<synopsis>ir <link linkend="mp3len">mp3len</link> ifilcod</synopsis><para/>
 </para></formalpara>
 <para></para><para></para><formalpara>
 <title>Signal Modifiers:Amplitude Modifiers</title>
@@ -544,7 +613,8 @@
 <synopsis>ares <link linkend="deltapn">deltapn</link> xnumsamps</synopsis><para/>
 <synopsis>aout <link linkend="deltapx">deltapx</link> adel, iwsize</synopsis><para/>
 <synopsis><link linkend="deltapxw">deltapxw</link> ain, adel, iwsize</synopsis><para/>
-<synopsis>ares <link linkend="multitap">multitap</link> asig [, itime1] [, igain1] [, itime2] [, igain2] [...]</synopsis><para/>
+<synopsis>ares <link linkend="multitap">multitap</link> asig [, itime1, igain1] [, itime2, igain2] [...]</synopsis><para/>
+<synopsis>outarg1, outarg2 <link linkend="newopcodename">newopcodename</link> inarg1, inarg2</synopsis><para/>
 <synopsis>ares <link linkend="vdelay">vdelay</link> asig, adel, imaxdel [, iskip]</synopsis><para/>
 <synopsis>ares <link linkend="vdelay3">vdelay3</link> asig, adel, imaxdel [, iskip]</synopsis><para/>
 <synopsis>aout <link linkend="vdelayx">vdelayx</link> ain, adl, imd, iws [, ist]</synopsis><para/>
@@ -568,15 +638,21 @@
       [, abk, al, am, an, ao, ap, aq]]</synopsis><synopsis>ao1, ao2, ao3, ao4 <link linkend="bformdec1">bformdec1</link> isetup, aw, ax, ay, az [, ar, as, at, \
       au, av [, abk, al, am, an, ao, ap, aq]]</synopsis><synopsis>ao1, ao2, ao3, ao4, ao5 <link linkend="bformdec1">bformdec1</link> isetup, aw, ax, ay, az [, ar, as, \
       at, au, av [, abk, al, am, an, ao, ap, aq]]</synopsis><synopsis>ao1, ao2, ao3, ao4, ao5, ao6, ao7, ao8 <link linkend="bformdec1">bformdec1</link> isetup, aw, ax, ay, az \
-      [, ar, as, at, au, av [, abk, al, am, an, ao, ap, aq]]]</synopsis><para/>
+      [, ar, as, at, au, av [, abk, al, am, an, ao, ap,
+    aq]]]</synopsis><synopsis>aout[] <link linkend="bformdec1">bformdec1</link> isetup, abform[]</synopsis><para/>
 <synopsis>aw, ax, ay, az <link linkend="bformenc">bformenc</link> asig, kalpha, kbeta, kord0, kord1</synopsis><synopsis>aw, ax, ay, az, ar, as, at, au, av <link linkend="bformenc">bformenc</link> asig, kalpha, kbeta, \
       kord0, kord1 , kord2</synopsis><synopsis>aw, ax, ay, az, ar, as, at, au, av, ak, al, am, an, ao, ap, aq <link linkend="bformenc">bformenc</link> \
       asig, kalpha, kbeta, kord0, kord1, kord2, kord3</synopsis><para/>
 <synopsis>aw, ax, ay, az <link linkend="bformenc1">bformenc1</link> asig, kalpha, kbeta</synopsis><synopsis>aw, ax, ay, az, ar, as, at, au, av <link linkend="bformenc1">bformenc1</link> asig, kalpha, kbeta</synopsis><synopsis>aw, ax, ay, az, ar, as, at, au, av, ak, al, am, an, ao, ap, aq <link linkend="bformenc1">bformenc1</link> \
-      asig, kalpha, kbeta</synopsis><para/>
+      asig, kalpha, kbeta</synopsis><synopsis>aarray[] <link linkend="bformenc1">bformenc1</link> asig, kalpha, kbeta</synopsis><para/>
+<synopsis>aleft, aright, irt60low, irt60high, imfp <link linkend="hrtfearly">hrtfearly</link> asrc, ksrcx, ksrcy, ksrcz, klstnrx, klstnry, klstnrz, \
+      ifilel, ifiler, idefroom [,ifade, isr, iorder, ithreed, kheadrot, iroomx, iroomy, iroomz, iwallhigh, \
+      iwalllow, iwallgain1, iwallgain2, iwallgain3, ifloorhigh, ifloorlow, ifloorgain1, ifloorgain2, \
+      ifloorgain3, iceilinghigh, iceilinglow, iceilinggain1, iceilinggain2, iceilinggain3]</synopsis><para/>
 <synopsis>aleft, aright <link linkend="hrtfer">hrtfer</link> asig, kaz, kelev, <quote>HRTFcompact</quote></synopsis><para/>
 <synopsis>aleft, aright <link linkend="hrtfmove">hrtfmove</link> asrc, kAz, kElev, ifilel, ifiler [, imode, ifade, isr]</synopsis><para/>
 <synopsis>aleft, aright <link linkend="hrtfmove2">hrtfmove2</link> asrc, kAz, kElev, ifilel, ifiler [,ioverlap, iradius, isr]</synopsis><para/>
+<synopsis>aleft, aright, idel <link linkend="hrtfreverb">hrtfreverb</link> asrc, ilowrt60, ihighrt60, ifilel, ifiler [,isr, imfp, iorder]</synopsis><para/>
 <synopsis>
       aleft, aright <link linkend="hrtfstat">hrtfstat</link> asrc, iAz, iElev, ifilel, ifiler [,iradius, isr]
     </synopsis><para/>
@@ -590,6 +666,9 @@
 <synopsis><link linkend="spat3dt">spat3dt</link> ioutft, iX, iY, iZ, idist, ift, imode, irlen [, iftnocl]</synopsis><para/>
 <synopsis>k1 <link linkend="spdist">spdist</link> ifn, ktime, kx, ky</synopsis><para/>
 <synopsis>a1, a2, a3, a4 <link linkend="spsend">spsend</link> </synopsis><para/>
+<synopsis>ar1[, ar2...] <link linkend="vbap">vbap</link> asig, kazim [,
+    kelev] [, kspread] [, ilayout]</synopsis><synopsis>array[] <link linkend="vbap">vbap</link> asig, kazim [,
+    kelev] [, kspread] [, ilayout]</synopsis><para/>
 <synopsis>ar1, ..., ar16 <link linkend="vbap16">vbap16</link> asig, kazim [, kelev] [, kspread]</synopsis><para/>
 <synopsis>ar1, ..., ar16 <link linkend="vbap16move">vbap16move</link> asig, idur, ispread, ifldnum, ifld1 \
       [, ifld2] [...]</synopsis><para/>
@@ -599,7 +678,14 @@
 <synopsis>ar1, ..., ar8 <link linkend="vbap8">vbap8</link> asig, kazim [, kelev] [, kspread]</synopsis><para/>
 <synopsis>ar1, ..., ar8 <link linkend="vbap8move">vbap8move</link> asig, idur, ispread, ifldnum, ifld1 \
       [, ifld2] [...]</synopsis><para/>
+<synopsis>k1[, k2...] <link linkend="vbapg">vbapg</link> kazim [,kelev] [, kspread] [, ilayout]</synopsis><synopsis>karray[] <link linkend="vbapg">vbapg</link> kazim [,kelev] [, kspread] [, ilayout]</synopsis><para/>
+<synopsis>kr1[, kr2...] <link linkend="vbapgmove">vbapgmove</link> idur, ispread, ifldnum, ifld1 \
+      [, ifld2] [...]</synopsis><synopsis>karray[] <link linkend="vbapgmove">vbapgmove</link> idur, ispread, ifldnum, ifld1 \
+      [, ifld2] [...]</synopsis><para/>
 <synopsis><link linkend="vbaplsinit">vbaplsinit</link> idim, ilsnum [, idir1] [, idir2] [...] [, idir32]</synopsis><para/>
+<synopsis>ar1[, ar2...] <link linkend="vbapmove">vbapmove</link> asig, idur, ispread, ifldnum, ifld1 \
+      [, ifld2] [...]</synopsis><synopsis>aarray[] <link linkend="vbapmove">vbapmove</link> asig, idur, ispread, ifldnum, ifld1 \
+      [, ifld2] [...]</synopsis><para/>
 <synopsis><link linkend="vbapz">vbapz</link> inumchnls, istartndx, asig, kazim [, kelev] [, kspread]</synopsis><para/>
 <synopsis><link linkend="vbapzmove">vbapzmove</link> inumchnls, istartndx, asig, idur, ispread, ifldnum, ifld1, \
       ifld2, [...]</synopsis><para/>
@@ -608,13 +694,16 @@
 <title>Signal Modifiers:Reverberation</title>
 <para>
 <para/>
+<synopsis>ares <link linkend="alpass">alpass</link> asig, xrvt, ilpt [, iskip] [, insmps]</synopsis><para/>
 <synopsis>a1, a2 <link linkend="babo">babo</link> asig, ksrcx, ksrcy, ksrcz, irx, iry, irz [, idiff] [, ifno]</synopsis><para/>
 <synopsis>ares <link linkend="comb">comb</link> asig, krvt, ilpt [, iskip] [, insmps]</synopsis><para/>
+<synopsis>ares <link linkend="combinv">combinv</link> asig, krvt, ilpt [, iskip] [, insmps]</synopsis><para/>
 <synopsis>aoutL, aoutR <link linkend="freeverb">freeverb</link> ainL, ainR, kRoomSize, kHFDamp[, iSRate[, iSkip]] </synopsis><para/>
 <synopsis>ares <link linkend="nestedap">nestedap</link> asig, imode, imaxdel, idel1, igain1 [, idel2] [, igain2] \
       [, idel3] [, igain3] [, istor]</synopsis><para/>
 <synopsis>ares <link linkend="nreverb">nreverb</link> asig, ktime, khdif [, iskip] [,inumCombs] [, ifnCombs] \
       [, inumAlpas] [, ifnAlpas]</synopsis><para/>
+<synopsis>a1[, a2, ...] <link linkend="platerev">platerev</link> itabexcite. itabouts, kbndry, iaspect, istiff, idecay, iloss, aexcite1[, aexcite2, ...]</synopsis><para/>
 <synopsis>ares <link linkend="reverb">reverb</link> asig, krvt [, iskip]</synopsis><para/>
 <synopsis>ares <link linkend="reverb2">reverb2</link> asig, ktime, khdif [, iskip] [,inumCombs] \
       [, ifnCombs] [, inumAlpas] [, ifnAlpas]</synopsis><para/>
@@ -633,8 +722,9 @@
 <synopsis>ares <link linkend="integ">integ</link> asig [, iskip]</synopsis><synopsis>kres <link linkend="integ">integ</link> ksig [, iskip]</synopsis><para/>
 <synopsis>ares <link linkend="interp">interp</link> ksig [, iskip] [, imode]</synopsis><para/>
 <synopsis>ares <link linkend="ntrpol">ntrpol</link> asig1, asig2, kpoint [, imin] [, imax]</synopsis><synopsis>ires <link linkend="ntrpol">ntrpol</link> isig1, isig2, ipoint [, imin] [, imax]</synopsis><synopsis>kres <link linkend="ntrpol">ntrpol</link> ksig1, ksig2, kpoint [, imin] [, imax]</synopsis><para/>
-<synopsis><link linkend="opi">i</link>(x) (control-rate args only)</synopsis><para/>
-<synopsis><link linkend="opk">k</link>(x) (i-rate args only)</synopsis><para/>
+<synopsis><link linkend="opa">a</link>(x) (control-rate args only)</synopsis><para/>
+<synopsis><link linkend="opi">i</link>(x) (control-rate or init-rate arg)</synopsis><para/>
+<synopsis><link linkend="opk">k</link>(x) (i-rate args only)</synopsis><synopsis><link linkend="opk">k</link>(x) (a-rate args only)</synopsis><para/>
 <synopsis>ares <link linkend="samphold">samphold</link> asig, agate [, ival] [, ivstor]</synopsis><synopsis>kres <link linkend="samphold">samphold</link> ksig, kgate [, ival] [, ivstor]</synopsis><para/>
 <synopsis>ares <link linkend="upsamp">upsamp</link> ksig</synopsis><para/>
 <synopsis>kval <link linkend="vaget">vaget</link> kndx, avar</synopsis><para/>
@@ -668,42 +758,45 @@
 <para>
 <para/>
 <synopsis>ares <link linkend="atone">atone</link> asig, khp [, iskip]</synopsis><para/>
+<synopsis>ares <link linkend="atonex">atonex</link> asig, khp [, inumlayer] [, iskip]</synopsis><synopsis>ares <link linkend="atonex">atonex</link> asig, ahp [, inumlayer] [, iskip]</synopsis><para/>
 <synopsis>ares <link linkend="biquad">biquad</link> asig, kb0, kb1, kb2, ka0, ka1, ka2 [, iskip]</synopsis><para/>
 <synopsis>ares <link linkend="biquada">biquada</link> asig, ab0, ab1, ab2, aa0, aa1, aa2 [, iskip]</synopsis><para/>
 <synopsis>ares <link linkend="butbp">butbp</link> asig, kfreq, kband [, iskip]</synopsis><para/>
 <synopsis>ares <link linkend="butbr">butbr</link> asig, kfreq, kband [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="buthp">buthp</link> asig, kfreq [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="butlp">butlp</link> asig, kfreq [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="butterbp">butterbp</link> asig, kfreq, kband [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="butterbr">butterbr</link> asig, kfreq, kband [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="butterhp">butterhp</link> asig, kfreq [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="butterlp">butterlp</link> asig, kfreq [, iskip]</synopsis><para/>
+<synopsis>ares <link linkend="buthp">buthp</link> asig, kfreq [, iskip]</synopsis><synopsis>ares <link linkend="buthp">buthp</link> asig, afreq [, iskip]</synopsis><para/>
+<synopsis>ares <link linkend="butlp">butlp</link> asig, kfreq [, iskip]</synopsis><synopsis>ares <link linkend="butlp">butlp</link> asig, afreq [, iskip]</synopsis><para/>
+<synopsis>ares <link linkend="butterbp">butterbp</link> asig, xfreq, xband [, iskip]</synopsis><para/>
+<synopsis>ares <link linkend="butterbr">butterbr</link> asig, xfreq, xband [, iskip]</synopsis><para/>
+<synopsis>ares <link linkend="butterhp">butterhp</link> asig, kfreq [, iskip]</synopsis><synopsis>ares <link linkend="butterhp">butterhp</link> asig, afreq [, iskip]</synopsis><para/>
+<synopsis>ares <link linkend="butterlp">butterlp</link> asig, kfreq [, iskip]</synopsis><synopsis>ares <link linkend="butterlp">butterlp</link> asig, afreq [, iskip]</synopsis><para/>
 <synopsis>ares <link linkend="clfilt">clfilt</link> asig, kfreq, itype, inpol [, ikind] [, ipbr] [, isba] [, iskip]</synopsis><para/>
 <synopsis>ashifted <link linkend="doppler">doppler</link> asource, ksourceposition, kmicposition [, isoundspeed, ifiltercutoff]</synopsis><para/>
-<synopsis>aout <link linkend="mode">mode</link> ain, kfreq, kQ [, iskip]</synopsis><para/>
+<synopsis>ares <link linkend="median">median</link> asig, ksize, imaxsize [, iskip]</synopsis><para/>
+<synopsis>kres <link linkend="mediank">mediank</link> kin, ksize, imaxsize [, iskip]</synopsis><para/>
+<synopsis>aout <link linkend="mode">mode</link> ain, xfreq, xQ [, iskip]</synopsis><para/>
 <synopsis>ares <link linkend="tone">tone</link> asig, khp [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="tonex">tonex</link>  asig, khp [, inumlayer] [, iskip]</synopsis><para/>
+<synopsis>ares <link linkend="tonex">tonex</link>  asig, khp [, inumlayer] [, iskip]</synopsis><synopsis>ares <link linkend="tonex">tonex</link>  asig, ahp [, inumlayer] [, iskip]</synopsis><para/>
 </para></formalpara>
 <para></para><para></para><formalpara>
 <title>Signal Modifiers:Standard Filters:Resonant</title>
 <para>
 <para/>
-<synopsis>ares <link linkend="areson">areson</link> asig, kcf, kbw [, iscl] [, iskip]</synopsis><para/>
+<synopsis>ares <link linkend="areson">areson</link> asig, kcf, kbw [, iscl] [, iskip]</synopsis><synopsis>ares <link linkend="areson">areson</link> asig, acf, kbw [, iscl] [, iskip]</synopsis><synopsis>ares <link linkend="areson">areson</link> asig, kcf, abw [, iscl] [, iskip]</synopsis><synopsis>ares <link linkend="areson">areson</link> asig, acf, abw [, iscl] [, iskip]</synopsis><para/>
 <synopsis>ares <link linkend="bqrez">bqrez</link> asig, xfco, xres [, imode] [, iskip]</synopsis><para/>
 <synopsis>ares <link linkend="lowpass2">lowpass2</link> asig, kcf, kq [, iskip]</synopsis><para/>
 <synopsis>ares <link linkend="lowres">lowres</link> asig, kcutoff, kresonance [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="lowresx">lowresx</link> asig, kcutoff, kresonance [, inumlayer] [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="lpf18">lpf18</link> asig, kfco, kres, kdist</synopsis><para/>
-<synopsis>asig <link linkend="moogladder">moogladder</link> ain, kcf, kres[, istor]</synopsis><para/>
+<synopsis>ares <link linkend="lowresx">lowresx</link> asig, xcutoff, xresonance [, inumlayer] [, iskip]</synopsis><para/>
+<synopsis>ares <link linkend="lpf18">lpf18</link> asig, xfco, xres, xdist [, iskip]</synopsis><para/>
+<synopsis>asig <link linkend="moogladder">moogladder</link> ain, kcf, kres[, istor]</synopsis><synopsis>asig <link linkend="moogladder">moogladder</link> ain, acf, kres[, istor]</synopsis><synopsis>asig <link linkend="moogladder">moogladder</link> ain, kcf, ares[, istor]</synopsis><synopsis>asig <link linkend="moogladder">moogladder</link> ain, acf, ares[, istor]</synopsis><para/>
 <synopsis>ares <link linkend="moogvcf">moogvcf</link> asig, xfco, xres [,iscale, iskip]</synopsis><para/>
 <synopsis>ares <link linkend="moogvcf2">moogvcf2</link> asig, xfco, xres [,iscale, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="reson">reson</link> asig, kcf, kbw [, iscl] [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="resonr">resonr</link> asig, kcf, kbw [, iscl] [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="resonx">resonx</link> asig, kcf, kbw [, inumlayer] [, iscl] [, iskip]</synopsis><para/>
+<synopsis>ares <link linkend="reson">reson</link> asig, xcf, xbw [, iscl] [, iskip]</synopsis><para/>
+<synopsis>ares <link linkend="resonr">resonr</link> asig, xcf, xbw [, iscl] [, iskip]</synopsis><para/>
+<synopsis>ares <link linkend="resonx">resonx</link> asig, xcf, xbw [, inumlayer] [, iscl] [, iskip]</synopsis><para/>
 <synopsis>ares <link linkend="resony">resony</link> asig, kbf, kbw, inum, ksep [, isepmode] [, iscl] [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="resonz">resonz</link> asig, kcf, kbw [, iscl] [, iskip]</synopsis><para/>
+<synopsis>ares <link linkend="resonz">resonz</link> asig, xcf, xbw [, iscl] [, iskip]</synopsis><para/>
 <synopsis>ares <link linkend="rezzy">rezzy</link> asig, xfco, xres [, imode, iskip]</synopsis><para/>
-<synopsis>ahp,alp,abp,abr <link linkend="statevar">statevar</link> ain, kcf, kq [, iosamps, istor]</synopsis><para/>
+<synopsis>ahp,alp,abp,abr <link linkend="statevar">statevar</link> ain, xcf, xq [, iosamps, istor]</synopsis><para/>
 <synopsis>alow, ahigh, aband <link linkend="svfilter">svfilter</link>  asig, kcf, kq [, iscl]</synopsis><para/>
 <synopsis>ares <link linkend="tbvcf">tbvcf</link> asig, xfco, xres, kdist, kasym [, iskip]</synopsis><para/>
 <synopsis>ares <link linkend="vlowres">vlowres</link> asig, kfco, kres, iord, ksep</synopsis><para/>
@@ -730,9 +823,10 @@
 <synopsis>ares <link linkend="dcblock2">dcblock2</link> ain [, iorder] [, iskip]</synopsis><para/>
 <synopsis>asig <link linkend="eqfil">eqfil</link> ain, kcf, kbw, kgain[, istor]</synopsis><para/>
 <synopsis>ares <link linkend="filter2">filter2</link> asig, iM, iN, ib0, ib1, ..., ibM, ia1, ia2, ..., iaN</synopsis><synopsis>kres <link linkend="filter2">filter2</link> ksig, iM, iN, ib0, ib1, ..., ibM, ia1, ia2, ..., iaN</synopsis><para/>
-<synopsis>asig <link linkend="fofilter">fofilter</link> ain, kcf, kris, kdec[, istor]</synopsis><para/>
+<synopsis>asig <link linkend="fofilter">fofilter</link> ain, xcf, xris, xdec[, istor]</synopsis><para/>
 <synopsis>ar1, ar2 <link linkend="hilbert">hilbert</link> asig</synopsis><para/>
 <synopsis>ares <link linkend="nlfilt">nlfilt</link> ain, ka, kb, kd, kC, kL</synopsis><para/>
+<synopsis>ares <link linkend="nlfilt2">nlfilt2</link> ain, ka, kb, kd, kC, kL</synopsis><para/>
 <synopsis>ares <link linkend="pareq">pareq</link> asig, kc, kv, kq [, imode] [, iskip]</synopsis><para/>
 <synopsis>ar <link linkend="rbjeq">rbjeq</link> asig, kfco, klvl, kQ, kS[, imode]</synopsis><para/>
 <synopsis>ares <link linkend="zfilter2">zfilter2</link> asig, kdamp, kfreq, iM, iN, ib0, ib1, ..., ibM, \
@@ -760,13 +854,13 @@
 <title>Signal Modifiers:Comparators and Accumulators</title>
 <para>
 <para/>
-<synopsis>amax <link linkend="max">max</link> ain1 [, ain2] [, ain3] [, ain4] [...]</synopsis><synopsis>kmax <link linkend="max">max</link> kin1 [, kin2] [, kin3] [, kin4] [...]</synopsis><para/>
+<synopsis>amax <link linkend="max">max</link> ain1, ain2 [, ain3] [, ain4] [...]</synopsis><synopsis>kmax <link linkend="max">max</link> kin1, kin2 [, kin3] [, kin4] [...]</synopsis><para/>
 <synopsis>knumkout <link linkend="max_k">max_k</link> asig, ktrig, itype</synopsis><para/>
-<synopsis>amax <link linkend="maxabs">maxabs</link> ain1 [, ain2] [, ain3] [, ain4] [...]</synopsis><synopsis>kmax <link linkend="maxabs">maxabs</link> kin1 [, kin2] [, kin3] [, kin4] [...]</synopsis><para/>
+<synopsis>amax <link linkend="maxabs">maxabs</link> ain1, ain2 [, ain3] [, ain4] [...]</synopsis><synopsis>kmax <link linkend="maxabs">maxabs</link> kin1, kin2 [, kin3] [, kin4] [...]</synopsis><para/>
 <synopsis><link linkend="maxabsaccum">maxabsaccum</link> aAccumulator, aInput</synopsis><para/>
 <synopsis><link linkend="maxaccum">maxaccum</link> aAccumulator, aInput</synopsis><para/>
-<synopsis>amin <link linkend="min">min</link> ain1 [, ain2] [, ain3] [, ain4] [...]</synopsis><synopsis>kmin <link linkend="min">min</link> kin1 [, kin2] [, kin3] [, kin4] [...]</synopsis><para/>
-<synopsis>amin <link linkend="minabs">minabs</link> ain1 [, ain2] [, ain3] [, ain4] [...]</synopsis><synopsis>kmin <link linkend="minabs">minabs</link> kin1 [, kin2] [, kin3] [, kin4] [...]</synopsis><para/>
+<synopsis>amin <link linkend="min">min</link> ain1, ain2 [, ain3] [, ain4] [...]</synopsis><synopsis>kmin <link linkend="min">min</link> kin1, kin2 [, kin3] [, kin4] [...]</synopsis><para/>
+<synopsis>amin <link linkend="minabs">minabs</link> ain1, ain2 [, ain3] [, ain4] [...]</synopsis><synopsis>kmin <link linkend="minabs">minabs</link> kin1, kin2 [, kin3] [, kin4] [...]</synopsis><para/>
 <synopsis><link linkend="minabsaccum">minabsaccum</link> aAccumulator, aInput</synopsis><para/>
 <synopsis><link linkend="minaccum">minaccum</link> aAccumulator, aInput</synopsis><para/>
 </para></formalpara>
@@ -789,10 +883,20 @@
 <synopsis>(a <link linkend="notequal">!=</link> b <link linkend="notequal">?</link> v1 <link linkend="notequal">:</link> v2)</synopsis><para/>
 </para></formalpara>
 <para></para><para></para><formalpara>
+<title>Instrument Control:Compilation</title>
+<para>
+<para/>
+<synopsis>ires <link linkend="compileorc">compileorc</link> Sfilename</synopsis><para/>
+<synopsis>ires <link linkend="compilestr">compilestr</link> Sorch</synopsis><para/>
+<synopsis>ires <link linkend="evalstr">evalstr</link> Scode </synopsis><synopsis>kres <link linkend="evalstr">evalstr</link> Scode, ktrig </synopsis><para/>
+<synopsis><link linkend="return">return</link> ival </synopsis><para/>
+</para></formalpara>
+<para></para><para></para><formalpara>
 <title>Instrument Control:Duration Control</title>
 <para>
 <para/>
 <synopsis><link linkend="ihold">ihold</link> </synopsis><para/>
+<synopsis><link linkend="kill">kill</link> kinstance</synopsis><para/>
 <synopsis><link linkend="turnoff">turnoff</link> </synopsis><para/>
 <synopsis><link linkend="turnoff2">turnoff2</link> kinsno, kmode, krelease
     </synopsis><para/>
@@ -804,7 +908,9 @@
 <para/>
 <synopsis><link linkend="event">event</link> "scorechar", kinsnum, kdelay, kdur, [, kp4] [, kp5] [, ...]</synopsis><synopsis><link linkend="event">event</link> "scorechar", "insname", kdelay, kdur, [, kp4] [, kp5] [, ...]</synopsis><para/>
 <synopsis><link linkend="event_i">event_i</link> "scorechar", iinsnum, idelay, idur, [, ip4] [, ip5] [, ...]</synopsis><synopsis><link linkend="event_i">event_i</link> "scorechar", "insname", idelay, idur, [, ip4] [, ip5] [, ...]</synopsis><para/>
+<synopsis>iHandle <link linkend="instance">instance</link> insnum, iwhen, idur [, ip4] [, ip5] [...]</synopsis><synopsis>iHandle <link linkend="instance">instance</link> "insname", iwhen, idur [, ip4] [, ip5] [...]</synopsis><para/>
 <synopsis><link linkend="mute">mute</link> insnum [, iswitch]</synopsis><synopsis><link linkend="mute">mute</link> "insname" [, iswitch]</synopsis><para/>
+<synopsis><link linkend="readscore">readscore</link> Sin </synopsis><para/>
 <synopsis><link linkend="remove">remove</link> insnum</synopsis><para/>
 <synopsis><link linkend="schedkwhen">schedkwhen</link> ktrigger, kmintim, kmaxnum, kinsnum, kwhen, kdur \
       [, ip4] [, ip5] [...]</synopsis><synopsis><link linkend="schedkwhen">schedkwhen</link> ktrigger, kmintim, kmaxnum, "insname", kwhen, kdur \
@@ -837,12 +943,15 @@
 <synopsis><link linkend="loop_lt">loop_lt</link>  indx, incr, imax, label</synopsis><synopsis><link linkend="loop_lt">loop_lt</link>  kndx, kncr, kmax, label</synopsis><para/>
 <synopsis><link linkend="tigoto">tigoto</link> label</synopsis><para/>
 <synopsis><link linkend="timout">timout</link> istrt, idur, label</synopsis><para/>
+<synopsis><link linkend="until">until</link>  condition <link linkend="until">do</link>
+    ... <link linkend="until">od</link> </synopsis><para/>
 </para></formalpara>
 <para></para><para></para><formalpara>
 <title>Instrument Control:Realtime Performance Control</title>
 <para>
 <para/>
 <synopsis>ir <link linkend="active">active</link> insnum [,iopt]</synopsis><synopsis>ir <link linkend="active">active</link> Sinsname [,iopt]</synopsis><synopsis>kres <link linkend="active">active</link> kinsnum [,iopt]</synopsis><para/>
+<synopsis>ktot[,kcpu1, kcpu2,...]<link linkend="cpumeter">cpumeter</link> ifreq</synopsis><para/>
 <synopsis><link linkend="cpuprc">cpuprc</link> insnum, ipercent</synopsis><synopsis><link linkend="cpuprc">cpuprc</link> Sinsname, ipercent</synopsis><para/>
 <synopsis><link linkend="exitnow">exitnow</link> </synopsis><para/>
 <synopsis><link linkend="jacktransport">jacktransport</link> icommand [, ilocation]</synopsis><para/>
@@ -853,12 +962,13 @@
 <title>Instrument Control:Initialization and Reinitialization</title>
 <para>
 <para/>
-<synopsis>ares <link linkend="assign">=</link> xarg</synopsis><synopsis>ires <link linkend="assign">=</link> iarg</synopsis><synopsis>kres <link linkend="assign">=</link> karg</synopsis><synopsis>ires, ... <link linkend="assign">=</link> iarg, ...</synopsis><synopsis>kres, ... <link linkend="assign">=</link> karg, ...</synopsis><para/>
-<synopsis>ares <link linkend="init">init</link> iarg</synopsis><synopsis>ires <link linkend="init">init</link> iarg</synopsis><synopsis>kres <link linkend="init">init</link> iarg</synopsis><synopsis>ares, ...  <link linkend="init">init</link> iarg, ...</synopsis><synopsis>ires, ... <link linkend="init">init</link> iarg, ...</synopsis><synopsis>kres, ...<link linkend="init">init</link> iarg, ...</synopsis><para/>
+<synopsis>ares <link linkend="assign">=</link> xarg</synopsis><synopsis>ires <link linkend="assign">=</link> iarg</synopsis><synopsis>kres <link linkend="assign">=</link> karg</synopsis><synopsis>ires, ... <link linkend="assign">=</link> iarg, ...</synopsis><synopsis>kres, ... <link linkend="assign">=</link> karg, ...</synopsis><synopsis>table [ kval] <link linkend="assign">=</link> karg</synopsis><para/>
+<synopsis>ares <link linkend="init">init</link> iarg</synopsis><synopsis>ires <link linkend="init">init</link> iarg</synopsis><synopsis>kres <link linkend="init">init</link> iarg</synopsis><synopsis>ares, ...  <link linkend="init">init</link> iarg, ...</synopsis><synopsis>ires, ... <link linkend="init">init</link> iarg, ...</synopsis><synopsis>kres, ... <link linkend="init">init</link> iarg, ...</synopsis><synopsis>tab <link linkend="init">init</link> isize[, ival]</synopsis><para/>
 <synopsis>insno <link linkend="nstrnum">nstrnum</link> "name"</synopsis><para/>
 <synopsis><link linkend="p">p</link>(x) </synopsis><para/>
 <synopsis> ivar1, ... <link linkend="passign">passign</link> [istart]</synopsis><para/>
-<synopsis><link linkend="pset">pset</link> ip1 [, ip2] [...]</synopsis><para/>
+<synopsis>ares <link linkend="plusbecomes">+=</link> xarg</synopsis><synopsis>ires <link linkend="plusbecomes">+=</link> iarg</synopsis><synopsis>kres <link linkend="plusbecomes">+=</link> karg</synopsis><synopsis>table [ kval] <link linkend="plusbecomes">+=</link> karg</synopsis><para/>
+<synopsis><link linkend="pset">pset</link> icon1 [, icon2] [...]</synopsis><para/>
 <synopsis><link linkend="reinit">reinit</link> label</synopsis><para/>
 <synopsis><link linkend="rigoto">rigoto</link> label</synopsis><para/>
 <synopsis><link linkend="rireturn">rireturn</link> </synopsis><para/>
@@ -875,7 +985,9 @@
 <synopsis>ares <link linkend="follow">follow</link> asig, idt</synopsis><para/>
 <synopsis>ares <link linkend="follow2">follow2</link> asig, katt, krel</synopsis><para/>
 <synopsis>Svalue <link linkend="getcfg">getcfg</link> iopt</synopsis><para/>
+<synopsis>kres <link linkend="joystick">joystick</link> kdevice ktab</synopsis><para/>
 <synopsis>ktrig  <link linkend="metro">metro</link>  kfreq [, initphase]</synopsis><para/>
+<synopsis>ksig  <link linkend="midifilestatus">midifilestatus</link> </synopsis><para/>
 <synopsis>ksig  <link linkend="miditempo">miditempo</link> </synopsis><para/>
 <synopsis><link linkend="p5gconnect">p5gconnect</link> </synopsis><para/>
 <synopsis>kres <link linkend="p5gdata">p5gdata</link> kcontrol</synopsis><para/>
@@ -886,14 +998,16 @@
       [, istrt] [, iocts] [, iq] [, inptls] [, irolloff] [, iskip]</synopsis><para/>
 <synopsis>kcps, krms <link linkend="pitchamdf">pitchamdf</link> asig, imincps, imaxcps [, icps] [, imedi] \
       [, idowns] [, iexcps] [, irmsmedi]</synopsis><para/>
+<synopsis>acps, alock <link linkend="plltrack">plltrack</link> asig, kd [, kloopf, kloopq, klf, khf, kthresh]</synopsis><para/>
 <synopsis>kcps, kamp <link linkend="ptrack">ptrack</link> asig, ihopsize[,ipeaks]</synopsis><para/>
+<synopsis>ival <link linkend="readscratch">readscratch</link>[index]</synopsis><para/>
 <synopsis> <link linkend="rewindscore">rewindscore</link> </synopsis><para/>
 <synopsis>kres <link linkend="rms">rms</link> asig [, ihp] [, iskip]</synopsis><para/>
 <synopsis>kres[, kkeydown] <link linkend="sensekey">sensekey</link> </synopsis><para/>
 <synopsis>ktrig_out <link linkend="seqtime">seqtime</link> ktime_unit, kstart, kloop, kinitndx, kfn_times</synopsis><para/>
 <synopsis>ktrig_out <link linkend="seqtime2">seqtime2</link> ktrig_in, ktime_unit, kstart, kloop, kinitndx, kfn_times</synopsis><para/>
 <synopsis><link linkend="setctrl">setctrl</link> inum, ival, itype</synopsis><para/>
-<synopsis> <link linkend="setscorepos">setscorepos  ipos</link> </synopsis><para/>
+<synopsis> <link linkend="setscorepos">setscorepos ipos</link> </synopsis><para/>
 <synopsis><link linkend="splitrig">splitrig</link> ktrig, kndx, imaxtics, ifn, kout1 [,kout2,...,koutN]</synopsis><para/>
 <synopsis>ktemp <link linkend="tempest">tempest</link> kin, iprd, imindur, imemdur, ihp, ithresh, ihtim, ixfdbak, \
       istartempo, ifn [, idisprd] [, itweek]</synopsis><para/>
@@ -902,10 +1016,11 @@
 <synopsis>ktrig  <link linkend="timedseq">timedseq</link>  ktimpnt, ifn, kp1 [,kp2, kp3, ...,kpN]</synopsis><para/>
 <synopsis>kout <link linkend="trigger">trigger</link> ksig, kthreshold, kmode</synopsis><para/>
 <synopsis><link linkend="trigseq">trigseq</link> ktrig_in, kstart, kloop, kinitndx, kfn_values, kout1 [, kout2] [...]</synopsis><para/>
-<synopsis>kres <link linkend="wiiconnect">wiiconnect</link> [itimeout, imaxnum]</synopsis><para/>
+<synopsis>ires <link linkend="wiiconnect">wiiconnect</link> [itimeout, imaxnum]</synopsis><para/>
 <synopsis>kres <link linkend="wiidata">wiidata</link> kcontrol[, knum]</synopsis><para/>
 <synopsis> <link linkend="wiirange">wiirange</link> icontrol, iminimum, imaximum[, inum]</synopsis><para/>
 <synopsis>kres <link linkend="wiisend">wiisend</link> kcontrol, kvalue[, knum]</synopsis><para/>
+<synopsis><link linkend="writescratch">writescratch</link>ival[, index]</synopsis><para/>
 <synopsis>kx, ky <link linkend="xyin">xyin</link> iprd, ixmin, ixmax, iymin, iymax [, ixinit] [, iyinit]</synopsis><para/>
 </para></formalpara>
 <para></para><para></para><formalpara>
@@ -939,6 +1054,44 @@
 <synopsis>ires <link linkend="times">times</link> </synopsis><synopsis>kres <link linkend="times">times</link> </synopsis><para/>
 </para></formalpara>
 <para></para><para></para><formalpara>
+<title>Jacko Opcodes</title>
+<para>
+<para/>
+<synopsis>asignal <link linkend="JackoAudioIn">JackoAudioIn </link>ScsoundPortName</synopsis><para/>
+<synopsis><link linkend="JackoAudioInConnect">JackoAudioInConnect </link>SexternalPortName, ScsoundPortName</synopsis><para/>
+<synopsis><link linkend="JackoAudioOut">JackoAudioOut </link> ScsoundPortName, asignal</synopsis><para/>
+<synopsis><link linkend="JackoAudioOutConnect">JackoAudioOutConnect </link>ScsoundPortName, SexternalPortName</synopsis><para/>
+<synopsis><link linkend="JackoFreewheel">JackoFreewheel </link>[ienabled]</synopsis><para/>
+<synopsis><link linkend="JackoInfo">JackoInfo </link> </synopsis><para/>
+<synopsis><link linkend="JackoInit">JackoInit </link>SclientName, ServerName</synopsis><para/>
+<synopsis><link linkend="JackoMidiInConnect">JackoMidiInConnect </link>SexternalPortName, ScsoundPortName</synopsis><para/>
+<synopsis><link linkend="JackoMidiOut">JackoMidiOut </link> ScsoundPortName, kstatus, kchannel, kdata1[, kdata2]</synopsis><para/>
+<synopsis><link linkend="JackoMidiOutConnect">JackoMidiOutConnect </link>ScsoundPortName, SexternalPortName</synopsis><para/>
+<synopsis><link linkend="JackoNoteOut">JackoNoteOut </link> ScsoundPortName, kstatus, kchannel, kdata1[, kdata2]</synopsis><para/>
+<synopsis><link linkend="JackoOn">JackoOn </link>[iactive] </synopsis><para/>
+<synopsis><link linkend="JackoTransport">JackoTransport </link> kcommand, [kposition]</synopsis><para/>
+</para></formalpara>
+<para></para><para></para><formalpara>
+<title>Lua Opcodes</title>
+<para>
+<para/>
+<synopsis><link linkend="lua_exec">lua_exec</link> Sluacode</synopsis><para/>
+<synopsis><link linkend="lua_opcall">lua_iopcall</link> Sname, ...</synopsis><synopsis><link linkend="lua_opcall">lua_ikopcall</link> Sname, ...</synopsis><synopsis><link linkend="lua_opcall">lua_iaopcall</link> Sname, ...</synopsis><synopsis><link linkend="lua_opcall">lua_iopcall_off</link> Sname, ...</synopsis><synopsis><link linkend="lua_opcall">lua_ikopcall_off</link> Sname, ...</synopsis><synopsis><link linkend="lua_opcall">lua_iaopcall_off</link> Sname, ...</synopsis><para/>
+<synopsis><link linkend="lua_opdef">lua_opdef</link> Sname, Sluacode</synopsis><para/>
+</para></formalpara>
+<para></para><para></para><formalpara>
+<title>Serial I/O</title>
+<para>
+<para/>
+<synopsis>iPort <link linkend="serialBegin">serialBegin</link> SPortName [, ibaudRate]</synopsis><para/>
+<synopsis> <link linkend="serialEnd">serialEnd</link> iPort</synopsis><para/>
+<synopsis> <link linkend="serialFlush">serialFlush</link> iPort</synopsis><para/>
+<synopsis> <link linkend="serialPrint">serialPrint</link> iPort</synopsis><para/>
+<synopsis>kByte <link linkend="serialRead">serialRead</link> iPort</synopsis><para/>
+<synopsis> <link linkend="serialWrite">serialWrite</link> iPort, iByte</synopsis><synopsis> <link linkend="serialWrite">serialWrite</link> iPort, kByte</synopsis><synopsis> <link linkend="serialWrite">serialWrite</link> iPort, SBytes</synopsis><para/>
+<synopsis> <link linkend="serialWrite_i">serialWrite_i</link> iPort, iByte</synopsis><synopsis> <link linkend="serialWrite_i">serialWrite_i</link> iPort, SBytes</synopsis><para/>
+</para></formalpara>
+<para></para><para></para><formalpara>
 <title>Table Control</title>
 <para>
 <para/>
@@ -952,12 +1105,19 @@
 <title>Table Control:Table Queries</title>
 <para>
 <para/>
+<synopsis>karray[] <link linkend="array">array</link> ival1, ival2,.....ivaln</synopsis><para/>
+<synopsis>karray[] <link linkend="fillarray">fillarray</link> ival1, ival2,.....ivaln</synopsis><para/>
 <synopsis><link linkend="ftchnls">ftchnls</link>(x) (init-rate args only)</synopsis><para/>
 <synopsis><link linkend="ftcps">ftcps</link>(x) (init-rate args only)</synopsis><para/>
 <synopsis><link linkend="ftlen">ftlen</link>(x) (init-rate args only)</synopsis><para/>
 <synopsis><link linkend="ftlptim">ftlptim</link>(x) (init-rate args only)</synopsis><para/>
 <synopsis><link linkend="ftsr">ftsr</link>(x) (init-rate args only)</synopsis><para/>
+<synopsis>karray <link linkend="genarray">genarray</link> kstart, kens[, inc]</synopsis><synopsis>iarray <link linkend="genarray">genarray</link> istart, iens[, inc]</synopsis><para/>
+<synopsis>karray <link linkend="genarray_i">genarray_i</link> istart, iend [,inc]</synopsis><para/>
+<synopsis>ir <link linkend="lenarray">lenarray</link> karray</synopsis><synopsis>kr <link linkend="lenarray">lenarray</link> karray</synopsis><para/>
+<synopsis>karray <link linkend="maparray">maparray</link> kinarray, String</synopsis><synopsis>karray <link linkend="maparray">maparray_i</link> kinarray, String</synopsis><para/>
 <synopsis><link linkend="nsamp">nsamp</link>(x) (init-rate args only)</synopsis><para/>
+<synopsis>karray <link linkend="slicearray">slicearray</link> kinarray, istart, iend</synopsis><para/>
 <synopsis>ires <link linkend="tableng">tableng</link> ifn</synopsis><synopsis>kres <link linkend="tableng">tableng</link> kfn</synopsis><para/>
 <synopsis>kr <link linkend="tabsum">tabsum</link> ifn[[, kmin] [, kmax]]</synopsis><para/>
 <synopsis><link linkend="tb">tb0_init</link> ifn</synopsis><synopsis><link linkend="tb">tb1_init</link> ifn</synopsis><synopsis><link linkend="tb">tb2_init</link> ifn</synopsis><synopsis><link linkend="tb">tb3_init</link> ifn</synopsis><synopsis><link linkend="tb">tb4_init</link> ifn</synopsis><synopsis><link linkend="tb">tb5_init</link> ifn</synopsis><synopsis><link linkend="tb">tb6_init</link> ifn</synopsis><synopsis><link linkend="tb">tb7_init</link> ifn</synopsis><synopsis><link linkend="tb">tb8_init</link> ifn</synopsis><synopsis><link linkend="tb">tb9_init</link> ifn</synopsis><synopsis><link linkend="tb">tb10_init</link> ifn</synopsis><synopsis><link linkend="tb">tb11_init</link> ifn</synopsis><synopsis><link linkend="tb">tb12_init</link> ifn</synopsis><synopsis><link linkend="tb">tb13_init</link> ifn</synopsis><synopsis><link linkend="tb">tb14_init</link> ifn</synopsis><synopsis><link linkend="tb">tb15_init</link> ifn</synopsis><synopsis>iout = <link linkend="tb">tb0</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb0</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb1</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb1</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb2</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb2</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb3</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb3</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb4</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb4</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb5</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb5</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb6</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb6</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb7</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb7</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb8</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb8</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb9</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb9</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb10</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb10</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb11</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb11</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb12</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb12</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb13</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb13</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb14</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb14</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb15</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb15</link>(kIndex)</synopsis><para/>
@@ -978,7 +1138,10 @@
 <synopsis><link linkend="ftloadk">ftloadk</link> "filename", ktrig, iflag, ifn1 [, ifn2] [...]</synopsis><para/>
 <synopsis><link linkend="ftsave">ftsave</link> "filename", iflag, ifn1 [, ifn2] [...]</synopsis><para/>
 <synopsis><link linkend="ftsavek">ftsavek</link> "filename", ktrig, iflag, ifn1 [, ifn2] [...]</synopsis><para/>
+<synopsis><link linkend="ptablew">ptablew</link> asig, andx, ifn [, ixmode] [, ixoff] [, iwgmode]</synopsis><synopsis><link linkend="ptablew">ptablew</link> isig, indx, ifn [, ixmode] [, ixoff] [, iwgmode]</synopsis><synopsis><link linkend="ptablew">ptablew</link> ksig, kndx, ifn [, ixmode] [, ixoff] [, iwgmode]</synopsis><para/>
 <synopsis><link linkend="tablecopy">tablecopy</link> kdft, ksft</synopsis><para/>
+<synopsis>knumpassed <link linkend="tablefilter">tablefilter</link> kouttable, kintatble, kmode, kparam</synopsis><para/>
+<synopsis>inumpassed <link linkend="tablefilteri">tablefilteri</link> iouttable, iintatble, imode, iparam</synopsis><para/>
 <synopsis><link linkend="tablegpw">tablegpw</link> kfn</synopsis><para/>
 <synopsis><link linkend="tableicopy">tableicopy</link> idft, isft</synopsis><para/>
 <synopsis><link linkend="tableigpw">tableigpw</link> ifn</synopsis><para/>
@@ -1101,6 +1264,8 @@
 <title>Mathematical Operations:Arithmetic and Logic Operations</title>
 <para>
 <para/>
+<synopsis>a <link linkend="adds">+</link> b  (no rate restriction)</synopsis>
+<para/>
 <synopsis>a <link linkend="divides">/</link> b  (no rate restriction)</synopsis>
 <para/>
 <synopsis>a <link linkend="modulus">%</link> b  (no rate restriction)</synopsis>
@@ -1134,14 +1299,18 @@
 <para>
 <para/>
 <synopsis><link linkend="abs">abs</link>(x) (no rate restriction)</synopsis><para/>
+<synopsis><link linkend="ceil">ceil</link>(x) (init-, control-, or audio-rate arg allowed)</synopsis><para/>
 <synopsis><link linkend="exp">exp</link>(x) (no rate restriction)</synopsis><para/>
 <synopsis><link linkend="floor">floor</link>(x) (init-, control-, or audio-rate arg allowed)</synopsis><para/>
 <synopsis><link linkend="frac">frac</link>(x) (init-rate or control-rate args; also works at audio rate in Csound5)</synopsis><para/>
 <synopsis><link linkend="int">int</link>(x)  (init-rate or control-rate; also works at audio rate in Csound5)</synopsis><para/>
 <synopsis><link linkend="log">log</link>(x) (no rate restriction)</synopsis><para/>
 <synopsis><link linkend="log10">log10</link>(x) (no rate restriction)</synopsis><para/>
+<synopsis><link linkend="log2">log2</link>(x) (no rate restriction)</synopsis><para/>
 <synopsis><link linkend="logbtwo">logbtwo</link>(x)  (init-rate or control-rate args only)</synopsis><para/>
 <synopsis><link linkend="powoftwo">powoftwo</link>(x)  (init-rate or control-rate args only)</synopsis><para/>
+<synopsis><link linkend="qinf">qinf</link>(x) (no rate restriction)</synopsis><para/>
+<synopsis><link linkend="qnan">qnan</link>(x) (no rate restriction)</synopsis><para/>
 <synopsis><link linkend="round">round</link>(x) (init-, control-, or audio-rate arg allowed)</synopsis><para/>
 <synopsis><link linkend="sqrt">sqrt</link>(x) (no rate restriction)</synopsis><para/>
 </para></formalpara>
@@ -1152,6 +1321,7 @@
 <synopsis><link linkend="cos">cos</link>(x) (no rate restriction)</synopsis><para/>
 <synopsis><link linkend="cosh">cosh</link>(x) (no rate restriction)</synopsis><para/>
 <synopsis><link linkend="cosinv">cosinv</link>(x) (no rate restriction)</synopsis><para/>
+<synopsis><link linkend="signum">signum</link>(x) (no rate restriction)</synopsis><para/>
 <synopsis><link linkend="sin">sin</link>(x) (no rate restriction)</synopsis><para/>
 <synopsis><link linkend="sinh">sinh</link>(x) (no rate restriction)</synopsis><para/>
 <synopsis><link linkend="sininv">sininv</link>(x) (no rate restriction)</synopsis><para/>
@@ -1163,6 +1333,8 @@
 <title>Mathematical Operations:Amplitude Functions</title>
 <para>
 <para/>
+<synopsis><link linkend="ampdb">ampdb</link>(x)  (no rate restriction)</synopsis><para/>
+<synopsis><link linkend="ampdbfs">ampdbfs</link>(x)  (no rate restriction)</synopsis><para/>
 <synopsis><link linkend="db">db</link>(x)</synopsis><para/>
 <synopsis><link linkend="dbamp">dbamp</link>(x)  (init-rate or control-rate args only)</synopsis><para/>
 <synopsis><link linkend="dbfsamp">dbfsamp</link>(x)  (init-rate or control-rate args only)</synopsis><para/>
@@ -1171,20 +1343,21 @@
 <title>Mathematical Operations:Random Functions</title>
 <para>
 <para/>
+<synopsis><link linkend="birnd">birnd</link>(x) (init- or control-rate only)</synopsis><para/>
 <synopsis><link linkend="rnd">rnd</link>(x) (init- or control-rate only)</synopsis><para/>
 </para></formalpara>
 <para></para><para></para><formalpara>
 <title>Mathematical Operations:Opcode Equivalents of Functions</title>
 <para>
 <para/>
-<synopsis>ares <link linkend="divz">divz</link> xa, xb, ksubst</synopsis><synopsis>ires <link linkend="divz">divz</link> ia, ib, isubst</synopsis><synopsis>kres <link linkend="divz">divz</link> ka, kb, ksubst</synopsis><para/>
-<synopsis>ares <link linkend="mac">mac</link> asig1, ksig1 [, asig2] [, ksig2] [, asig3] [, ksig3] [...]</synopsis><para/>
+<synopsis>ares <link linkend="divz">divz</link> xa, xb, ksubst</synopsis><synopsis>ires <link linkend="divz">divz</link> ia, ib, isubst</synopsis><synopsis>kres <link linkend="divz">divz</link> ka, kb, ksubst</synopsis><synopsis>...<link linkend="divz">divz</link>(ka, kb, ksubst)... (no rate restriction)</synopsis><para/>
+<synopsis>ares <link linkend="mac">mac</link> ksig1, asig1 [, ksig2] [, asig2] [, ksig3] [, asig3] [...]</synopsis><para/>
 <synopsis>ares <link linkend="maca">maca</link> asig1 , asig2 [, asig3] [, asig4] [, asig5] [...]</synopsis><para/>
 <synopsis>aout <link linkend="polynomial">polynomial</link> ain, k0 [, k1 [, k2 [...]]]</synopsis><para/>
 <synopsis>ares <link linkend="pow">pow</link> aarg, kpow [, inorm]</synopsis><synopsis>ires <link linkend="pow">pow</link> iarg, ipow [, inorm]</synopsis><synopsis>kres <link linkend="pow">pow</link> karg, kpow [, inorm]</synopsis><para/>
 <synopsis>ares <link linkend="product">product</link> asig1, asig2 [, asig3] [...]</synopsis><para/>
 <synopsis>ares <link linkend="sum">sum</link> asig1 [, asig2] [, asig3] [...]</synopsis><para/>
-<synopsis>ares <link linkend="taninv2">taninv2</link> ay, ax</synopsis><synopsis>ires <link linkend="taninv2">taninv2</link> iy, ix</synopsis><synopsis>kres <link linkend="taninv2">taninv2</link> ky, kx</synopsis><para/>
+<synopsis>ares <link linkend="taninv2">taninv2</link> ay, ax</synopsis><synopsis>ires <link linkend="taninv2">taninv2</link> iy, ix</synopsis><synopsis>kres <link linkend="taninv2">taninv2</link> ky, kx</synopsis><synopsis>...<link linkend="taninv2">taninv2</link>(ky, kx)... (no rate restriction)</synopsis><para/>
 </para></formalpara>
 <para></para><para></para><formalpara>
 <title>Pitch Converters:Functions</title>
@@ -1258,6 +1431,7 @@
 <title>Real-time MIDI:Converters</title>
 <para>
 <para/>
+<synopsis>iamp <link linkend="ampmidi">ampmidi</link> iscal [, ifn]</synopsis><para/>
 <synopsis>iamplitude <link linkend="ampmidid">ampmidid</link> ivelocity, idecibels</synopsis><synopsis>kamplitude <link linkend="ampmidid">ampmidid</link> kvelocity, idecibels</synopsis><para/>
 <synopsis>icps <link linkend="cpsmidi">cpsmidi</link> </synopsis><para/>
 <synopsis>icps <link linkend="cpsmidib">cpsmidib</link> [irange]</synopsis><synopsis>kcps <link linkend="cpsmidib">cpsmidib</link> [irange]</synopsis><para/>
@@ -1367,6 +1541,22 @@
       imin2, imax2, init2, ifn2, ..., imin16, imax16, init16, ifn16</synopsis><para/>
 </para></formalpara>
 <para></para><para></para><formalpara>
+<title>Signal Flow Graph Opcodes</title>
+<para>
+<para/>
+<synopsis> <link linkend="alwayson">alwayson</link> Tinstrument [p4, ..., pn]</synopsis><para/>
+<synopsis><link linkend="connect">connect </link>Tsource1, Soutlet1, Tsink1, Sinlet1</synopsis><para/>
+<synopsis>ifno <link linkend="ftgenonce">ftgenonce</link> ip1, ip2dummy, isize, igen, iarga, iargb, ...</synopsis><para/>
+<synopsis>asignal <link linkend="inleta">inleta </link>Sname</synopsis><para/>
+<synopsis>fsignal <link linkend="inletf">inletf </link>Sname</synopsis><para/>
+<synopsis>ksignal <link linkend="inletk">inletk </link>Sname</synopsis><para/>
+<synopsis>ksignal <link linkend="inletkid">inletkid </link>Sname, SinstanceID</synopsis><para/>
+<synopsis><link linkend="outleta">outleta </link>Sname, asignal</synopsis><para/>
+<synopsis><link linkend="outletf">outletf </link>Sname, fsignal</synopsis><para/>
+<synopsis><link linkend="outletk">outletk </link>Sname, ksignal</synopsis><para/>
+<synopsis><link linkend="outletkid">outletkid </link>Sname, SinstanceID, ksignal</synopsis><para/>
+</para></formalpara>
+<para></para><para></para><formalpara>
 <title>Spectral Processing:STFT</title>
 <para>
 <para/>
@@ -1414,23 +1604,26 @@
 <title>Spectral Processing:Streaming</title>
 <para>
 <para/>
+<synopsis>fsig <link linkend="binit">binit</link> fin, isize</synopsis><para/>
 <synopsis>ftrks <link linkend="partials">partials</link> ffr, fphs, kthresh, kminpts, kmaxgap, imaxtracks</synopsis><para/>
+<synopsis>kframe <link linkend="pvs2tab">pvs2tab</link> tvar, fsig</synopsis><para/>
 <synopsis>ares <link linkend="pvsadsyn">pvsadsyn</link> fsrc, inoscs, kfmod [, ibinoffset] [, ibinincr] [, iinit]</synopsis><para/>
 <synopsis>fsig <link linkend="pvsanal">pvsanal</link> ain, ifftsize, ioverlap, iwinsize, iwintype [, iformat] [, iinit]</synopsis><para/>
 <synopsis>fsig <link linkend="pvsarp">pvsarp</link> fsigin, kbin, kdepth, kgain</synopsis><para/>
-<synopsis>fsig <link linkend="pvsbandp">pvsbandp</link> fsigin, xlowcut,
-      xlowfull, xhighfull, xhighcut[, ktype]</synopsis><para/>
-<synopsis>fsig <link linkend="pvsbandr">pvsbandr</link> fsigin, xlowcut,
-    xlowfull, xhighfull, xhighcut[, ktype]</synopsis><para/>
+<synopsis>fsig <link linkend="pvsbandp">pvsbandp</link> fsigin, xlowcut, xlowfull, \
+      xhighfull, xhighcut[, ktype]</synopsis><para/>
+<synopsis>fsig <link linkend="pvsbandr">pvsbandr</link> fsigin, xlowcut, xlowfull, \
+      xhighfull, xhighcut[, ktype]</synopsis><para/>
 <synopsis>kamp, kfr <link linkend="pvsbin">pvsbin</link> fsig, kbin</synopsis><para/>
 <synopsis>fsig <link linkend="pvsblur">pvsblur</link> fsigin, kblurtime, imaxdel</synopsis><para/>
 <synopsis>ihandle, ktime  <link linkend="pvsbuffer">pvsbuffer</link> fsig, ilen </synopsis><para/>
-<synopsis>fsig <link linkend="pvsbufread">pvsbufread</link>  ktime, khandle[, ilo, ihi] </synopsis><para/>
+<synopsis>fsig <link linkend="pvsbufread">pvsbufread</link>  ktime, khandle[, ilo, ihi, iclear] </synopsis><para/>
+<synopsis>fsig <link linkend="pvsbufread2">pvsbufread2</link>  ktime, khandle, ift1, ift2 </synopsis><para/>
 <synopsis>fsig <link linkend="pvscale">pvscale</link> fsigin, kscal[, kkeepform, kgain, kcoefs]</synopsis><para/>
 <synopsis>kcent <link linkend="pvscent">pvscent</link> fsig</synopsis><para/>
 <synopsis>fsig <link linkend="pvscross">pvscross</link> fsrc, fdest, kamp1, kamp2</synopsis><para/>
 <synopsis>fsig <link linkend="pvsdemix">pvsdemix</link> fleft, fright, kpos, kwidth, ipoints</synopsis><para/>
-<synopsis>fsig <link linkend="pvsdiskin">pvsdiskin</link>SFname,ktscal,kgain[,ioffset, ichan]</synopsis><para/>
+<synopsis>fsig <link linkend="pvsdiskin">pvsdiskin</link> SFname,ktscal,kgain[,ioffset, ichan]</synopsis><para/>
 <synopsis><link linkend="pvsdisp">pvsdisp</link> fsig[, ibins, iwtflg] </synopsis><para/>
 <synopsis>fsig <link linkend="pvsfilter">pvsfilter</link> fsigin, fsigfil, kdepth[, igain]</synopsis><para/>
 <synopsis>fsig <link linkend="pvsfread">pvsfread</link> ktimpt, ifn [, ichan]</synopsis><para/>
@@ -1438,11 +1631,12 @@
 <synopsis><link linkend="pvsftr">pvsftr</link> fsrc, ifna [, ifnf]</synopsis><para/>
 <synopsis>kflag <link linkend="pvsftw">pvsftw</link> fsrc, ifna [, ifnf]</synopsis><para/>
 <synopsis><link linkend="pvsfwrite">pvsfwrite</link> fsig, ifile</synopsis><para/>
+<synopsis>fsig <link linkend="pvsgain">pvsgain</link> fsigin, kgain </synopsis><para/>
 <synopsis>fsig <link linkend="pvshift">pvshift</link> fsigin, kshift, klowest[, kkeepform, igain, kcoefs]</synopsis><para/>
 <synopsis>ffr,fphs <link linkend="pvsifd">pvsifd</link> ain, ifftsize, ihopsize, iwintype[,iscal]</synopsis><para/>
-<synopsis>fsig <link linkend="pvsin">pvsin</link> kchan[,isize,iolap,iwinsize,iwintype,iformat]</synopsis><para/>
+<synopsis>fsig <link linkend="pvsin">pvsin</link> kchan[, isize, iolap, iwinsize, iwintype, iformat]</synopsis><para/>
 <synopsis>ioverlap, inumbins, iwinsize, iformat <link linkend="pvsinfo">pvsinfo</link> fsrc</synopsis><para/>
-<synopsis>fsig <link linkend="pvsinit">pvsinit</link> isize[,iolap,iwinsize,iwintype, iformat]</synopsis><para/>
+<synopsis>fsig <link linkend="pvsinit">pvsinit</link> isize[, iolap, iwinsize, iwintype, iformat]</synopsis><para/>
 <synopsis>fsig <link linkend="pvslock">pvslock</link> fsigin, klock</synopsis><para/>
 <synopsis>fsig <link linkend="pvsmaska">pvsmaska</link> fsrc, ifn, kdepth</synopsis><para/>
 <synopsis>fsig <link linkend="pvsmix">pvsmix</link> fsigin1, fsigin2</synopsis><para/>
@@ -1451,23 +1645,45 @@
 <synopsis>fsig <link linkend="pvsosc">pvsosc</link> kamp, kfreq, ktype, isize [,ioverlap] [, iwinsize] [, iwintype] [, iformat]</synopsis><para/>
 <synopsis><link linkend="pvsout">pvsout</link> fsig, kchan</synopsis><para/>
 <synopsis>kfr, kamp <link linkend="pvspitch">pvspitch</link> fsig, kthresh</synopsis><para/>
+<synopsis>fsig <link linkend="pvstanal">pvstanal</link> ktimescal, kamp, kpitch, ktab, [kdetect, kwrap, ioffset,ifftsize, ihop, idbthresh]
+      </synopsis><para/>
 <synopsis>fsig <link linkend="pvstencil">pvstencil</link> fsigin, kgain, klevel, iftable</synopsis><para/>
 <synopsis>fsig <link linkend="pvsvoc">pvsvoc</link> famp, fexc, kdepth, kgain [,kcoefs]</synopsis><para/>
 <synopsis>fsig <link linkend="pvswarp">pvswarp</link> fsigin, kscal, kshift[, klowest, kmeth, kgain, kcoefs]</synopsis><para/>
 <synopsis>ares <link linkend="pvsynth">pvsynth</link> fsrc, [iinit]</synopsis><para/>
 <synopsis>asig <link linkend="resyn">resyn</link> fin, kscal, kpitch, kmaxtracks, ifn</synopsis><para/>
-<synopsis>asig <link linkend="sinsyn">sinsyn</link> fin, kscal,  kmaxtracks, ifn</synopsis><para/>
+<synopsis>asig <link linkend="sinsyn">sinsyn</link> fin, kscal, kmaxtracks, ifn</synopsis><para/>
+<synopsis>fsig <link linkend="tab2pvs">tab2pvs</link> tvar[,ihopsize, iwinsize, iwintype]</synopsis><para/>
 <synopsis>asig <link linkend="tradsyn">tradsyn</link> fin, kscal, kpitch, kmaxtracks, ifn</synopsis><para/>
-<synopsis>fsig <link linkend="trcross">trcross</link> fin1, fin2, ksearch,kdepth[,kmode] </synopsis><para/>
+<synopsis>fsig <link linkend="trcross">trcross</link> fin1, fin2, ksearch, kdepth [, kmode] </synopsis><para/>
 <synopsis>fsig <link linkend="trfilter">trfilter</link> fin, kamnt, ifn</synopsis><para/>
-<synopsis>fsig, kfr,kamp <link linkend="trhighest">trhighest</link> fin1, kscal</synopsis><para/>
-<synopsis>fsig, kfr,kamp <link linkend="trlowest">trlowest</link> fin1, kscal</synopsis><para/>
+<synopsis>fsig, kfr, kamp <link linkend="trhighest">trhighest</link> fin1, kscal</synopsis><para/>
+<synopsis>fsig, kfr, kamp <link linkend="trlowest">trlowest</link> fin1, kscal</synopsis><para/>
 <synopsis>fsig <link linkend="trmix">trmix</link> fin1, fin2 </synopsis><para/>
 <synopsis>fsig <link linkend="trscale">trscale</link> fin, kpitch[, kgain]</synopsis><para/>
 <synopsis>fsig <link linkend="trshift">trshift</link> fin, kpshift[, kgain]</synopsis><para/>
 <synopsis>fsiglow, fsighi <link linkend="trsplit">trsplit</link> fin, ksplit[, kgainlow, kgainhigh]</synopsis><para/>
 </para></formalpara>
 <para></para><para></para><formalpara>
+<title>Spectral Processing:ATS</title>
+<para>
+<para/>
+<synopsis>ar <link linkend="ATSadd">ATSadd</link> ktimepnt, kfmod, iatsfile, ifn, ipartials[, ipartialoffset, \
+        ipartialincr, igatefn]</synopsis><para/>
+<synopsis>ar <link linkend="ATSaddnz">ATSaddnz</link> ktimepnt, iatsfile, ibands[, ibandoffset, ibandincr]</synopsis><para/>
+<synopsis><link linkend="ATSbufread">ATSbufread</link> ktimepnt, kfmod, iatsfile, ipartials[, ipartialoffset, \
+          ipartialincr]</synopsis><para/>
+<synopsis>ar <link linkend="ATScross">ATScross</link> ktimepnt, kfmod, iatsfile, ifn, kmylev, kbuflev, ipartials \
+          [, ipartialoffset, ipartialincr]</synopsis><para/>
+<synopsis>idata <link linkend="ATSinfo">ATSinfo</link> iatsfile, ilocation</synopsis><para/>
+<synopsis>kamp <link linkend="ATSinterpread">ATSinterpread</link> kfreq</synopsis><para/>
+<synopsis>kfrq, kamp <link linkend="ATSpartialtap">ATSpartialtap</link> ipartialnum</synopsis><para/>
+<synopsis>kfreq, kamp <link linkend="ATSread">ATSread</link> ktimepnt, iatsfile, ipartial</synopsis><para/>
+<synopsis>kenergy <link linkend="ATSreadnz">ATSreadnz</link> ktimepnt, iatsfile, iband</synopsis><para/>
+<synopsis>ar <link linkend="ATSsinnoi">ATSsinnoi</link> ktimepnt, ksinlev, knzlev, kfmod, iatsfile, ipartials \
+          [, ipartialoffset, ipartialincr]</synopsis><para/>
+</para></formalpara>
+<para></para><para></para><formalpara>
 <title>Spectral Processing:Loris</title>
 <para>
 <para/>
@@ -1476,9 +1692,20 @@
 <synopsis><link linkend="lorisread">lorisread</link> ktimpnt, ifilcod, istoreidx, kfreqenv, kampenv, kbwenv[, ifadetime]</synopsis><para/>
 </para></formalpara>
 <para></para><para></para><formalpara>
+<title>Spectral Processing:Other</title>
+<para>
+<para/>
+<synopsis>kcent <link linkend="centroid">centroid</link> asig, ktrig, ifftsize</synopsis><para/>
+<synopsis>asig <link linkend="mincer">mincer</link> atimpt, kamp, kpitch, ktab, klock[,ifftsize,idecim]
+      </synopsis><para/>
+<synopsis>asig <link linkend="temposcal">temposcal</link> ktimescal, kamp, kpitch, ktab, klock [,ifftsize, idecim, ithresh]
+      </synopsis><para/>
+</para></formalpara>
+<para></para><para></para><formalpara>
 <title>Strings:Definition</title>
 <para>
 <para/>
+<synopsis>Sdst <link linkend="strfromurl">strfromurl</link> StringURL</synopsis><para/>
 <synopsis>Sdst <link linkend="strget">strget</link> indx</synopsis><para/>
 <synopsis><link linkend="strset">strset</link> iarg, istring</synopsis><para/>
 </para></formalpara>
@@ -1556,8 +1783,8 @@
 <para/>
 <synopsis><link linkend="vaddv">vaddv</link>  ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [,kverbose]</synopsis><para/>
 <synopsis><link linkend="vaddv_i">vaddv_i</link>  ifn1, ifn2, ielements [, idstoffset] [, isrcoffset]</synopsis><para/>
-<synopsis><link linkend="vcopy">vcopy</link>  ifn, ifn2, kelements [, kdstoffset] [, ksrcoffset] [, kverbose]</synopsis><para/>
-<synopsis><link linkend="vcopy_i">vcopy_i</link>  ifn, ifn2, ielements [,idstoffset, isrcoffset]</synopsis><para/>
+<synopsis><link linkend="vcopy">vcopy</link>  ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [, kverbose]</synopsis><para/>
+<synopsis><link linkend="vcopy_i">vcopy_i</link>  ifn1, ifn2, ielements [,idstoffset, isrcoffset]</synopsis><para/>
 <synopsis><link linkend="vdivv">vdivv</link>  ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [,kverbose]</synopsis><para/>
 <synopsis><link linkend="vdivv_i">vdivv_i</link>  ifn1, ifn2, ielements [, idstoffset] [, isrcoffset]</synopsis><para/>
 <synopsis><link linkend="vexpv">vexpv</link>  ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [,kverbose]</synopsis><para/>
@@ -1574,8 +1801,8 @@
 <title>Vectorial:Envelopes</title>
 <para>
 <para/>
-<synopsis><link linkend="vexpseg">vexpseg</link>   ifnout, ielements, ifn1, idur1, ifn2 [, idur2, ifn3 [...]]</synopsis><para/>
-<synopsis><link linkend="vlinseg">vlinseg</link>   ifnout, ielements, ifn1, idur1, ifn2 [, idur2, ifn3 [...]]</synopsis><para/>
+<synopsis><link linkend="vexpseg">vexpseg</link>  ifnout, ielements, ifn1, idur1, ifn2 [, idur2, ifn3 [...]]</synopsis><para/>
+<synopsis><link linkend="vlinseg">vlinseg</link>  ifnout, ielements, ifn1, idur1, ifn2 [, idur2, ifn3 [...]]</synopsis><para/>
 </para></formalpara>
 <para></para><para></para><formalpara>
 <title>Vectorial:Limiting and Wrapping</title>
@@ -1589,25 +1816,25 @@
 <title>Vectorial:Delay Paths</title>
 <para>
 <para/>
-<synopsis>kout <link linkend="vdelayk">vdelayk</link>  iksig, kdel, imaxdel [, iskip, imode]</synopsis><para/>
+<synopsis>kout <link linkend="vdelayk">vdelayk</link>  ksig, kdel, imaxdel [, iskip, imode]</synopsis><para/>
 <synopsis><link linkend="vecdelay">vecdelay</link>  ifn, ifnIn, ifnDel, ielements, imaxdel [, iskip]
 </synopsis><para/>
-<synopsis><link linkend="vport">vport</link> ifn, khtime, ielements [, ifnInit]
-</synopsis><para/>
+<synopsis><link linkend="vport">vport</link> ifn, khtime, ielements [, ifnInit]</synopsis><para/>
 </para></formalpara>
 <para></para><para></para><formalpara>
 <title>Vectorial:Random</title>
 <para>
 <para/>
-<synopsis><link linkend="vrandh">vrandh</link>  ifn,  krange, kcps, ielements [, idstoffset] [, iseed]
+<synopsis><link linkend="vrandh">vrandh</link>  ifn,  krange, kcps, ielements [, idstoffset] [, iseed] \
       [, isize] [, ioffset]</synopsis><para/>
-<synopsis><link linkend="vrandi">vrandi</link>  ifn,  krange, kcps, ielements [, idstoffset] [, iseed]
+<synopsis><link linkend="vrandi">vrandi</link>  ifn,  krange, kcps, ielements [, idstoffset] [, iseed] \
       [, isize] [, ioffset]</synopsis><para/>
 </para></formalpara>
 <para></para><para></para><formalpara>
 <title>Vectorial:Cellular Automata</title>
 <para>
 <para/>
+<synopsis><link linkend="cell">cell</link> ktrig, kreinit, ioutFunc, initStateFunc, iRuleFunc, ielements</synopsis><para/>
 <synopsis><link linkend="vcella">vcella</link> ktrig, kreinit, ioutFunc, initStateFunc, \
       iRuleFunc, ielements, irulelen [, iradius]</synopsis><para/>
 </para></formalpara>
@@ -1636,7 +1863,7 @@
 <para>
 <para/>
 <synopsis><link linkend="dssiactivate">dssiactivate</link> ihandle, ktoggle </synopsis><para/>
-<synopsis>aout1 [, aout2, aout3, aout4] <link linkend="dssiaudio">dssiaudio</link> ihandle, ain1 [,ain2, ain3, ain4] </synopsis><para/>
+<synopsis>[aout1, aout2, ..., aout9] <link linkend="dssiaudio">dssiaudio</link> ihandle, [ain1, ain2, ..., ain9]</synopsis><para/>
 <synopsis><link linkend="dssictls">dssictls</link> ihandle, iport, kvalue, ktrigger </synopsis><para/>
 <synopsis>ihandle <link linkend="dssiinit">dssiinit</link> ilibraryname, iplugindex [, iverbose] </synopsis><para/>
 <synopsis><link linkend="dssilist">dssilist</link> </synopsis><para/>
@@ -1665,6 +1892,15 @@
 <synopsis><link linkend="OSCsend">OSCsend</link> kwhen, ihost, iport, idestination, itype [, kdata1, kdata2, ...]</synopsis><para/>
 </para></formalpara>
 <para></para><para></para><formalpara>
+<title>Faust Opcodes</title>
+<para>
+<para/>
+<synopsis><link linkend="faustaudio">ihandle,a1[,a2,...] faustaudio</link> ifac[,ain1,...] </synopsis><para/>
+<synopsis><link linkend="faustcompile">ihandle faustcompile</link> Scode, Sargs </synopsis><para/>
+<synopsis><link linkend="faustctl">faustctl</link> idsp,Scontrol,kval </synopsis><para/>
+<synopsis><link linkend="faustgen">ihandle,a1[,a2,...] faustgen</link> SCode[,ain1,...] </synopsis><para/>
+</para></formalpara>
+<para></para><para></para><formalpara>
 <title>Network</title>
 <para>
 <para/>
@@ -1713,10 +1949,21 @@
 <synopsis>ared, agreen, ablue <link linkend="imagegetpixel">imagegetpixel</link> iimagenum, ax, ay</synopsis><synopsis>kred, kgreen, kblue <link linkend="imagegetpixel">imagegetpixel</link> iimagenum, kx, ky</synopsis><para/>
 <synopsis>iimagenum <link linkend="imageload">imageload</link> filename</synopsis><para/>
 <synopsis><link linkend="imagesave">imagesave</link> iimagenum, filename</synopsis><para/>
-<synopsis><link linkend="imagesetpixel">imagegetpixel</link> iimagenum, ax, ay, ared, agreen, ablue</synopsis><synopsis><link linkend="imagesetpixel">imagegetpixel</link> iimagenum, kx, ky, kred, kgreen, kblue</synopsis><para/>
+<synopsis><link linkend="imagesetpixel">imagesetpixel</link> iimagenum, ax, ay, ared, agreen, ablue</synopsis><synopsis><link linkend="imagesetpixel">imagesetpixel</link> iimagenum, kx, ky, kred, kgreen, kblue</synopsis><para/>
 <synopsis>iwidth, iheight <link linkend="imagesize">imagesize</link> iimagenum</synopsis><para/>
 </para></formalpara>
 <para></para><para></para><formalpara>
+<title>Array Opcodes</title>
+<para>
+<para/>
+<synopsis><link linkend="copya2ftab">copya2ftab</link> tab, kftbl</synopsis><para/>
+<synopsis><link linkend="copyf2array">copyf2array</link> tab, kftbl</synopsis><para/>
+<synopsis>kmax <link linkend="maxarray">maxarray</link> karray</synopsis><para/>
+<synopsis>kmin <link linkend="minarray">minarray</link> karray</synopsis><para/>
+<synopsis><link linkend="scalearray">scalearray</link> tarray, kmin, kmax[, kleft, kright]</synopsis><para/>
+<synopsis>ksum <link linkend="sumarray">sumarray</link> karray</synopsis><para/>
+</para></formalpara>
+<para></para><para></para><formalpara>
 <title>Miscellaneous</title>
 <para>
 <para/>
@@ -1815,27 +2062,10 @@
 inum_parm, kupdate</synopsis><para/>
 
 
+<synopsis>Sres <link linkend="pwd">pwd</link> </synopsis><para/>
 
 <synopsis>ires <link linkend="system">system_i</link> itrig, Scmd, [inowait]</synopsis><synopsis>kres <link linkend="system">system</link> ktrig, Scmd, [knowait]</synopsis><para/>
 <synopsis><link linkend="tableshuffle">tableshuffle</link> ktablenum</synopsis><synopsis><link linkend="tableshuffle">tableshufflei</link> itablenum</synopsis><para/>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 </para></formalpara>
 <para></para><para></para><formalpara>
 <title>Utilities</title>
@@ -1854,6 +2084,7 @@ inum_parm, kupdate</synopsis><para/>
 <synopsis><link linkend="lpanal">csound -U lpanal</link> [flags] infilename outfilename</synopsis><synopsis><link linkend="lpanal">lpanal</link> [flags] infilename outfilename</synopsis><para/>
 <synopsis><link linkend="makecsd">makecsd</link> [OPTIONS ... ] infile1 [ infile2 [ ... ]]</synopsis><para/>
 <synopsis><link linkend="mixer">mixer</link> [OPTIONS ... ] infile [[OPTIONS... ] infile] ...</synopsis><para/>
+<synopsis><link linkend="mkdb">mkdb</link> [-m] [base_directory]</synopsis><para/>
 <synopsis><link linkend="pv_export">pv_export</link> pv_file cstext_file</synopsis><synopsis>csound -U <link linkend="pv_export">pv_export</link> pv_file cstext_file</synopsis><para/>
 <synopsis><link linkend="pv_import">pv_import</link> cstext_file pv_file</synopsis><synopsis>csound -U <link linkend="pv_import">pv_import</link> cstext_file pv_file</synopsis><para/>
 <synopsis><link linkend="pvanal">csound -U pvanal</link> [flags] infilename outfilename</synopsis><synopsis><link linkend="pvanal">pvanal</link> [flags] infilename outfilename</synopsis><para/>
diff --git a/misc/quickrefXO.xml b/misc/quickrefXO.xml
deleted file mode 100644
index 158b8fc..0000000
--- a/misc/quickrefXO.xml
+++ /dev/null
@@ -1,1773 +0,0 @@
-
-<!-- Don't modify this file. It is generated automatically by quickref.py-->
-<part id="MiscQuickref">
-  <title>Opcode Quick Reference</title>
-<para></para><formalpara>
-<title>Orchestra Syntax:Block Statements</title>
-<para>
-<para/>
-<synopsis><link linkend="endin">endin</link> </synopsis><para/>
-<synopsis><link linkend="endop">endop</link> </synopsis><para/>
-<synopsis><link linkend="instr">instr</link> i, j, ...</synopsis><para/>
-<synopsis><link linkend="opcode">opcode</link> name, outtypes, intypes</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Orchestra Syntax:Macros</title>
-<para>
-<para/>
-<synopsis><link linkend="define">#define</link> NAME # replacement text #</synopsis><para/>
-<synopsis><link linkend="define">#define</link> NAME(a' b' c') # replacement text #</synopsis>
-<para/>
-<synopsis><link linkend="dollar">$NAME</link> </synopsis>
-<para/>
-<synopsis><link linkend="ifdef">#ifdef</link> NAME</synopsis><synopsis>  ....</synopsis><synopsis><link linkend="ifdef">#else</link> </synopsis><synopsis>  ....</synopsis><synopsis><link linkend="ifdef">#end</link> </synopsis>
-<para/>
-<synopsis><link linkend="ifndef">#ifndef</link> NAME</synopsis><synopsis>  ....</synopsis><synopsis><link linkend="ifndef">#else</link> </synopsis><synopsis>  ....</synopsis><synopsis><link linkend="ifndef">#end</link> </synopsis>
-<para/>
-<synopsis><link linkend="include">#include</link> "filename"</synopsis>
-<para/>
-<synopsis><link linkend="undef">#undef</link> NAME</synopsis>
-<para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Generators:Additive Synthesis/Resynthesis</title>
-<para>
-<para/>
-<synopsis>ares <link linkend="adsyn">adsyn</link> kamod, kfmod, ksmod, ifilcod</synopsis><para/>
-<synopsis>ares <link linkend="adsynt">adsynt</link> kamp, kcps, iwfn, ifreqfn, iampfn, icnt [, iphs]</synopsis><para/>
-<synopsis>ar <link linkend="adsynt2">adsynt2</link> kamp, kcps, iwfn, ifreqfn, iampfn, icnt [, iphs]</synopsis><para/>
-<synopsis>ares <link linkend="hsboscil">hsboscil</link> kamp, ktone, kbrite, ibasfreq, iwfn, ioctfn \
-               [, ioctcnt] [, iphs]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Generators:Basic Oscillators</title>
-<para>
-<para/>
-<synopsis>kres <link linkend="lfo">lfo</link> kamp, kcps [, itype]</synopsis><synopsis>ares <link linkend="lfo">lfo</link> kamp, kcps [, itype]</synopsis><para/>
-<synopsis>ares <link linkend="oscbnk">oscbnk</link>  kcps, kamd, kfmd, kpmd, iovrlap, iseed, kl1minf, kl1maxf, \
-      kl2minf, kl2maxf, ilfomode, keqminf, keqmaxf, keqminl, keqmaxl, \
-      keqminq, keqmaxq, ieqmode, kfn [, il1fn] [, il2fn] [, ieqffn]   \
-      [, ieqlfn] [, ieqqfn] [, itabl] [, ioutfn]</synopsis><para/>
-<synopsis>ares <link linkend="oscil">oscil</link> xamp, xcps, ifn [, iphs]</synopsis><synopsis>kres <link linkend="oscil">oscil</link> kamp, kcps, ifn [, iphs]</synopsis><para/>
-<synopsis>ares <link linkend="oscil3">oscil3</link> xamp, xcps, ifn [, iphs]</synopsis><synopsis>kres <link linkend="oscil3">oscil3</link> kamp, kcps, ifn [, iphs]</synopsis><para/>
-<synopsis>ares <link linkend="oscili">oscili</link> xamp, xcps, ifn [, iphs]</synopsis><synopsis>kres <link linkend="oscili">oscili</link> kamp, kcps, ifn [, iphs]</synopsis><para/>
-<synopsis>ares <link linkend="oscilikt">oscilikt</link> xamp, xcps, kfn [, iphs] [, istor]</synopsis><synopsis>kres <link linkend="oscilikt">oscilikt</link> kamp, kcps, kfn [, iphs] [, istor]</synopsis><para/>
-<synopsis>ares <link linkend="osciliktp">osciliktp</link> kcps, kfn, kphs [, istor]</synopsis><para/>
-<synopsis>ares <link linkend="oscilikts">oscilikts</link> xamp, xcps, kfn, async, kphs [, istor]</synopsis><para/>
-<synopsis>ares <link linkend="osciln">osciln</link> kamp, ifrq, ifn, itimes</synopsis><para/>
-<synopsis>ares <link linkend="oscils">oscils</link> iamp, icps, iphs [, iflg]</synopsis><para/>
-<synopsis>ares <link linkend="poscil">poscil</link> aamp, acps, ifn [, iphs]</synopsis><synopsis>ares <link linkend="poscil">poscil</link> aamp, kcps, ifn [, iphs]</synopsis><synopsis>ares <link linkend="poscil">poscil</link> kamp, acps, ifn [, iphs]</synopsis><synopsis>ares <link linkend="poscil">poscil</link> kamp, kcps, ifn [, iphs]</synopsis><synopsis>ires <link linkend="poscil">poscil</link> kamp, kcps, ifn [, iphs]</synopsis><synopsis>kres <link linkend="poscil">poscil</link> kamp, kcps, ifn [, iphs]</synopsis><para/>
-<synopsis>ares <link linkend="poscil3">poscil3</link> kamp, kcps, ifn [, iphs]</synopsis><synopsis>kres <link linkend="poscil3">poscil3</link> kamp, kcps, ifn [, iphs]</synopsis><para/>
-<synopsis>kout <link linkend="vibr">vibr</link> kAverageAmp, kAverageFreq, ifn</synopsis><para/>
-<synopsis>kout <link linkend="vibrato">vibrato</link> kAverageAmp, kAverageFreq, kRandAmountAmp, \
-      kRandAmountFreq, kAmpMinRate, kAmpMaxRate, kcpsMinRate, \
-      kcpsMaxRate, ifn [, iphs]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Generators:Dynamic Spectrum Oscillators</title>
-<para>
-<para/>
-<synopsis>ares <link linkend="buzz">buzz</link> xamp, xcps, knh, ifn [, iphs]</synopsis><para/>
-<synopsis>ares <link linkend="gbuzz">gbuzz</link> xamp, xcps, knh, klh, kmul, ifn [, iphs]</synopsis><para/>
-<synopsis>ares <link linkend="mpulse">mpulse</link> kamp, kintvl [, ioffset]</synopsis><para/>
-<synopsis>ares <link linkend="vco">vco</link> xamp, xcps, iwave, kpw [, ifn] [, imaxd] [, ileak] [, inyx] \
-      [, iphs] [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="vco2">vco2</link> kamp, kcps [, imode] [, kpw] [, kphs] [, inyx]</synopsis><para/>
-<synopsis>kfn <link linkend="vco2ft">vco2ft</link> kcps, iwave [, inyx]</synopsis><para/>
-<synopsis>ifn <link linkend="vco2ift">vco2ift</link> icps, iwave [, inyx]</synopsis><para/>
-<synopsis>ifn <link linkend="vco2init">vco2init</link> iwave [, ibasfn] [, ipmul] [, iminsiz] [, imaxsiz] [, isrcft]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Generators:FM Synthesis</title>
-<para>
-<para/>
-<synopsis>ares <link linkend="fmb3">fmb3</link> kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, \
-      ifn4, ivfn</synopsis><para/>
-<synopsis>ares <link linkend="fmbell">fmbell</link> kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, \
-      ifn4, ivfn</synopsis><para/>
-<synopsis>ares <link linkend="fmmetal">fmmetal</link> kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, \
-      ifn4, ivfn</synopsis><para/>
-<synopsis>ares <link linkend="fmpercfl">fmpercfl</link> kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, \
-      ifn3, ifn4, ivfn</synopsis><para/>
-<synopsis>ares <link linkend="fmrhode">fmrhode</link> kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, \
-      ifn3, ifn4, ivfn</synopsis><para/>
-<synopsis>ares <link linkend="fmvoice">fmvoice</link> kamp, kfreq, kvowel, ktilt, kvibamt, kvibrate, ifn1, \
-      ifn2, ifn3, ifn4, ivibfn</synopsis><para/>
-<synopsis>ares <link linkend="fmwurlie">fmwurlie</link> kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, \
-      ifn4, ivfn</synopsis><para/>
-<synopsis>ares <link linkend="foscil">foscil</link> xamp, kcps, xcar, xmod, kndx, ifn [, iphs]</synopsis><para/>
-<synopsis>ares <link linkend="foscili">foscili</link> xamp, kcps, xcar, xmod, kndx, ifn [, iphs]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Generators:Granular Synthesis</title>
-<para>
-<para/>
-<synopsis>asig <link linkend="diskgrain">diskgrain</link> Sfname, kamp, kfreq, kpitch, kgrsize, kprate, \
-      ifun, iolaps[, ioffset, imaxgrsize]</synopsis><para/>
-<synopsis>ares <link linkend="fof">fof</link> xamp, xfund, xform, koct, kband, kris, kdur, kdec, iolaps, \
-      ifna, ifnb, itotdur [, iphs] [, ifmode] [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="fof2">fof2</link> xamp, xfund, xform, koct, kband, kris, kdur, kdec, iolaps, \
-      ifna, ifnb, itotdur, kphs, kgliss [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="fog">fog</link> xamp, xdens, xtrans, aspd, koct, kband, kris, kdur, kdec, \
-      iolaps, ifna, ifnb, itotdur [, iphs] [, itmode] [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="grain">grain</link> xamp, xpitch, xdens, kampoff, kpitchoff, kgdur, igfn, \
-      iwfn, imgdur [, igrnd]</synopsis><para/>
-<synopsis>ares <link linkend="grain2">grain2</link> kcps, kfmd, kgdur, iovrlp, kfn, iwfn [, irpow] \
-      [, iseed] [, imode]</synopsis><para/>
-<synopsis>ares <link linkend="grain3">grain3</link> kcps, kphs, kfmd, kpmd, kgdur, kdens, imaxovr, kfn, iwfn, \
-      kfrpow, kprpow [, iseed] [, imode]</synopsis><para/>
-<synopsis>ares <link linkend="granule">granule</link> xamp, ivoice, iratio, imode, ithd, ifn, ipshift, igskip, \
-      igskip_os, ilength, kgap, igap_os, kgsize, igsize_os, iatt, idec \
-      [, iseed] [, ipitch1] [, ipitch2] [, ipitch3] [, ipitch4] [, ifnenv]</synopsis><para/>
-<synopsis>a1 [, a2, a3, a4, a5, a6, a7, a8] <link linkend="partikkel">partikkel</link> agrainfreq, \
-              kdistribution, idisttab, async, kenv2amt, ienv2tab, ienv_attack, \
-              ienv_decay, ksustain_amount, ka_d_ratio, kduration, kamp, igainmasks, \
-              kwavfreq, ksweepshape, iwavfreqstarttab, iwavfreqendtab, awavfm, \
-              ifmamptab, kfmenv, icosine, ktraincps, knumpartials, kchroma, \
-              ichannelmasks, krandommask, kwaveform1, kwaveform2, kwaveform3, \
-              kwaveform4, iwaveamptab, asamplepos1, asamplepos2, asamplepos3, \
-              asamplepos4, kwavekey1, kwavekey2, kwavekey3, kwavekey4, imax_grains \
-              [, iopcode_id]</synopsis><para/>
-<synopsis>async [,aphase] <link linkend="partikkelsync">partikkelsync</link> iopcode_id</synopsis><para/>
-<synopsis>ares [, ac] <link linkend="sndwarp">sndwarp</link> xamp, xtimewarp, xresample, ifn1, ibeg, iwsize, \
-      irandw, ioverlap, ifn2, itimemode</synopsis><para/>
-<synopsis>ar1, ar2 [,ac1] [, ac2] <link linkend="sndwarpst">sndwarpst</link> xamp, xtimewarp, xresample, ifn1, \
-      ibeg, iwsize, irandw, ioverlap, ifn2, itimemode</synopsis><para/>
-<synopsis>asig <link linkend="syncgrain">syncgrain</link> kamp, kfreq, kpitch, kgrsize, kprate, ifun1, \
-      ifun2, iolaps</synopsis><para/>
-<synopsis>asig <link linkend="syncloop">syncloop</link> kamp, kfreq, kpitch, kgrsize, kprate, klstart, \
-      klend, ifun1, ifun2, iolaps[,istart, iskip]</synopsis><para/>
-<synopsis>ar <link linkend="vosim">vosim</link> kamp, kFund, kForm, kDecay, kPulseCount, kPulseFactor, ifn [, iskip]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Generators:Hyper Vectorial Synthesis</title>
-<para>
-<para/>
-<synopsis><link linkend="hvs1">hvs1</link> kx, inumParms, inumPointsX, iOutTab, iPositionsTab, iSnapTab [, iConfigTab]</synopsis><para/>
-<synopsis><link linkend="hvs2">hvs2</link> kx, ky, inumParms, inumPointsX, iOutTab, iPositionsTab, iSnapTab [, iConfigTab]</synopsis><para/>
-<synopsis><link linkend="hvs3">hvs3</link> kx, ky, kz, inumParms, inumPointsX, iOutTab, iPositionsTab, iSnapTab [, iConfigTab]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Generators:Linear and Exponential Generators</title>
-<para>
-<para/>
-<synopsis>kout <link linkend="expcurve">expcurve</link> kindex, ksteepness</synopsis><para/>
-<synopsis>ares <link linkend="expon">expon</link> ia, idur, ib</synopsis><synopsis>kres <link linkend="expon">expon</link> ia, idur, ib</synopsis><para/>
-<synopsis>ares <link linkend="expseg">expseg</link> ia, idur1, ib [, idur2] [, ic] [...]</synopsis><synopsis>kres <link linkend="expseg">expseg</link> ia, idur1, ib [, idur2] [, ic] [...]</synopsis><para/>
-<synopsis>ares <link linkend="expsega">expsega</link> ia, idur1, ib [, idur2] [, ic] [...]</synopsis><para/>
-<synopsis>ares <link linkend="expsegr">expsegr</link> ia, idur1, ib [, idur2] [, ic] [...], irel, iz</synopsis><synopsis>kres <link linkend="expsegr">expsegr</link> ia, idur1, ib [, idur2] [, ic] [...], irel, iz</synopsis><para/>
-<synopsis>kout <link linkend="gainslider">gainslider</link> kindex</synopsis><para/>
-<synopsis>ares <link linkend="jspline">jspline</link> xamp, kcpsMin, kcpsMax</synopsis><synopsis>kres <link linkend="jspline">jspline</link> kamp, kcpsMin, kcpsMax</synopsis><para/>
-<synopsis>ares <link linkend="line">line</link> ia, idur, ib</synopsis><synopsis>kres <link linkend="line">line</link> ia, idur, ib</synopsis><para/>
-<synopsis>ares <link linkend="linseg">linseg</link> ia, idur1, ib [, idur2] [, ic] [...]</synopsis><synopsis>kres <link linkend="linseg">linseg</link> ia, idur1, ib [, idur2] [, ic] [...]</synopsis><para/>
-<synopsis>ares <link linkend="linsegr">linsegr</link> ia, idur1, ib [, idur2] [, ic] [...], irel, iz</synopsis><synopsis>kres <link linkend="linsegr">linsegr</link> ia, idur1, ib [, idur2] [, ic] [...], irel, iz</synopsis><para/>
-<synopsis>kout <link linkend="logcurve">logcurve</link> kindex, ksteepness</synopsis><para/>
-<synopsis>ksig <link linkend="loopseg">loopseg</link> kfreq, ktrig, ktime0, kvalue0 [, ktime1] [, kvalue1] \
-      [, ktime2] [, kvalue2] [...]</synopsis><para/>
-<synopsis>ksig <link linkend="loopsegp">loopsegp</link>  kphase, kvalue0, kdur0, kvalue1 \
-      [, kdur1, ... , kdurN-1, kvalueN]</synopsis><para/>
-<synopsis>ksig <link linkend="lpshold">lpshold</link> kfreq, ktrig, ktime0, kvalue0  [, ktime1] [, kvalue1] \
-      [, ktime2] [, kvalue2] [...]</synopsis><para/>
-<synopsis>ksig <link linkend="lpsholdp">lpsholdp</link>  kphase, ktrig, ktime0, kvalue0  [, ktime1] [, kvalue1] \
-      [, ktime2] [, kvalue2] [...]</synopsis><para/>
-<synopsis>ares <link linkend="rspline">rspline</link> xrangeMin, xrangeMax, kcpsMin, kcpsMax</synopsis><synopsis>kres <link linkend="rspline">rspline</link> krangeMin, krangeMax, kcpsMin, kcpsMax</synopsis><para/>
-<synopsis>kscl <link linkend="scale">scale</link> kinput, kmax, kmin</synopsis><para/>
-<synopsis>ares <link linkend="transeg">transeg</link> ia, idur, itype, ib [, idur2] [, itype] [, ic] ...</synopsis><synopsis>kres <link linkend="transeg">transeg</link> ia, idur, itype, ib [, idur2] [, itype] [, ic] ...</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Generators:Envelope Generators</title>
-<para>
-<para/>
-<synopsis>ares <link linkend="adsr">adsr</link> iatt, idec, islev, irel [, idel]</synopsis><synopsis>kres <link linkend="adsr">adsr</link> iatt, idec, islev, irel [, idel]</synopsis><para/>
-<synopsis>ares <link linkend="envlpx">envlpx</link> xamp, irise, idur, idec, ifn, iatss, iatdec [, ixmod]</synopsis><synopsis>kres <link linkend="envlpx">envlpx</link> kamp, irise, idur, idec, ifn, iatss, iatdec [, ixmod]</synopsis><para/>
-<synopsis>ares <link linkend="envlpxr">envlpxr</link> xamp, irise, idec, ifn, iatss, iatdec [, ixmod] [,irind]</synopsis><synopsis>kres <link linkend="envlpxr">envlpxr</link> kamp, irise, idec, ifn, iatss, iatdec [, ixmod] [,irind]</synopsis><para/>
-<synopsis>ares <link linkend="linen">linen</link> xamp, irise, idur, idec</synopsis><synopsis>kres <link linkend="linen">linen</link> kamp, irise, idur, idec</synopsis><para/>
-<synopsis>ares <link linkend="linenr">linenr</link> xamp, irise, idec, iatdec</synopsis><synopsis>kres <link linkend="linenr">linenr</link> kamp, irise, idec, iatdec</synopsis><para/>
-<synopsis>ares <link linkend="madsr">madsr</link> iatt, idec, islev, irel [, idel] [, ireltim]</synopsis><synopsis>kres <link linkend="madsr">madsr</link> iatt, idec, islev, irel [, idel] [, ireltim]</synopsis><para/>
-<synopsis>ares <link linkend="mxadsr">mxadsr</link> iatt, idec, islev, irel [, idel] [, ireltim]</synopsis><synopsis>kres <link linkend="mxadsr">mxadsr</link> iatt, idec, islev, irel [, idel] [, ireltim]</synopsis><para/>
-<synopsis>ares <link linkend="xadsr">xadsr</link> iatt, idec, islev, irel [, idel]</synopsis><synopsis>kres <link linkend="xadsr">xadsr</link> iatt, idec, islev, irel [, idel]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Generators:Models and Emulations</title>
-<para>
-<para/>
-<synopsis>ares <link linkend="bamboo">bamboo</link> kamp, idettack [, inum] [, idamp] [, imaxshake] [, ifreq] \
-      [, ifreq1] [, ifreq2]</synopsis><para/>
-<synopsis>ares <link linkend="barmodel">barmodel</link> kbcL, kbcR, iK, ib, kscan, iT30, ipos, ivel, iwid</synopsis><para/>
-<synopsis>ares <link linkend="cabasa">cabasa</link> iamp, idettack [, inum] [, idamp] [, imaxshake]</synopsis><para/>
-<synopsis>ares <link linkend="crunch">crunch</link> iamp, idettack [, inum] [, idamp] [, imaxshake]</synopsis><para/>
-<synopsis>ares <link linkend="dripwater">dripwater</link> kamp, idettack [, inum] [, idamp] [, imaxshake] [, ifreq] \
-      [, ifreq1] [, ifreq2]</synopsis><para/>
-<synopsis>ares <link linkend="gogobel">gogobel</link> kamp, kfreq, ihrd, ipos, imp, kvibf, kvamp, ivfn</synopsis><para/>
-<synopsis>ares <link linkend="guiro">guiro</link> kamp, idettack [, inum] [, idamp] [, imaxshake] [, ifreq] [, ifreq1]</synopsis><para/>
-<synopsis>ax, ay, az <link linkend="lorenz">lorenz</link> ksv, krv, kbv, kh, ix, iy, iz, iskip [, iskipinit]</synopsis><para/>
-<synopsis>kiter, koutrig <link linkend="mandel">mandel</link>  ktrig, kx, ky, kmaxIter</synopsis><para/>
-<synopsis>ares <link linkend="mandol">mandol</link> kamp, kfreq, kpluck, kdetune, kgain, ksize, ifn [, iminfreq]</synopsis><para/>
-<synopsis>ares <link linkend="marimba">marimba</link> kamp, kfreq, ihrd, ipos, imp, kvibf, kvamp, ivibfn, idec \
-      [, idoubles] [, itriples]</synopsis><para/>
-<synopsis>ares <link linkend="moog">moog</link> kamp, kfreq, kfiltq, kfiltrate, kvibf, kvamp, iafn, iwfn, ivfn</synopsis><para/>
-<synopsis>ax, ay, az <link linkend="planet">planet</link> kmass1, kmass2, ksep, ix, iy, iz, ivx, ivy, ivz, idelta \
-      [, ifriction] [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="prepiano">prepiano</link> ifreq, iNS, iD, iK, \
-    iT30,iB, kbcl, kbcr, imass, ifreq, iinit, ipos, ivel, isfreq, \
-    isspread[, irattles, irubbers]</synopsis><synopsis>al,ar <link linkend="prepiano">prepiano</link> ifreq, iNS, iD, iK, \
-    iT30,iB, kbcl, kbcr, imass, ifreq, iinit, ipos, ivel, isfreq, \
-    isspread[, irattles, irubbers]</synopsis><para/>
-<synopsis>ares <link linkend="sandpaper">sandpaper</link> iamp, idettack [, inum] [, idamp] [, imaxshake]</synopsis><para/>
-<synopsis>ares <link linkend="sekere">sekere</link> iamp, idettack [, inum] [, idamp] [, imaxshake]</synopsis><para/>
-<synopsis>ares <link linkend="shaker">shaker</link> kamp, kfreq, kbeans, kdamp, ktimes [, idecay]</synopsis><para/>
-<synopsis>ares <link linkend="sleighbells">sleighbells</link> kamp, idettack [, inum] [, idamp] [, imaxshake] [, ifreq] \
-      [, ifreq1] [, ifreq2]</synopsis><para/>
-<synopsis>ares <link linkend="stix">stix</link> iamp, idettack [, inum] [, idamp] [, imaxshake]</synopsis><para/>
-<synopsis>ares <link linkend="tambourine">tambourine</link> kamp, idettack [, inum] [, idamp] [, imaxshake] [, ifreq] \
-      [, ifreq1] [, ifreq2]</synopsis><para/>
-<synopsis>ares <link linkend="vibes">vibes</link> kamp, kfreq, ihrd, ipos, imp, kvibf, kvamp, ivibfn, idec</synopsis><para/>
-<synopsis>ares <link linkend="voice">voice</link> kamp, kfreq, kphoneme, kform, kvibf, kvamp, ifn, ivfn</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Generators:Phasors</title>
-<para>
-<para/>
-<synopsis>ares <link linkend="phasor">phasor</link> xcps [, iphs]</synopsis><synopsis>kres <link linkend="phasor">phasor</link> kcps [, iphs]</synopsis><para/>
-<synopsis>ares <link linkend="phasorbnk">phasorbnk</link> xcps, kndx, icnt [, iphs]</synopsis><synopsis>kres <link linkend="phasorbnk">phasorbnk</link> kcps, kndx, icnt [, iphs]</synopsis><para/>
-<synopsis>aphase, asyncout <link linkend="syncphasor">syncphasor</link> xcps, asyncin, [, iphs]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Generators:Random (Noise) Generators</title>
-<para>
-<para/>
-<synopsis>ares <link linkend="betarand">betarand</link> krange, kalpha, kbeta</synopsis><synopsis>ires <link linkend="betarand">betarand</link> krange, kalpha, kbeta</synopsis><synopsis>kres <link linkend="betarand">betarand</link> krange, kalpha, kbeta</synopsis><para/>
-<synopsis>ares <link linkend="bexprnd">bexprnd</link> krange</synopsis><synopsis>ires <link linkend="bexprnd">bexprnd</link> krange</synopsis><synopsis>kres <link linkend="bexprnd">bexprnd</link> krange</synopsis><para/>
-<synopsis>ares <link linkend="cauchy">cauchy</link> kalpha</synopsis><synopsis>ires <link linkend="cauchy">cauchy</link> kalpha</synopsis><synopsis>kres <link linkend="cauchy">cauchy</link> kalpha</synopsis><para/>
-<synopsis>aout <link linkend="cuserrnd">cuserrnd</link> kmin, kmax, ktableNum</synopsis><synopsis>iout <link linkend="cuserrnd">cuserrnd</link> imin, imax, itableNum</synopsis><synopsis>kout <link linkend="cuserrnd">cuserrnd</link> kmin, kmax, ktableNum</synopsis><para/>
-<synopsis>aout <link linkend="duserrnd">duserrnd</link> ktableNum</synopsis><synopsis>iout <link linkend="duserrnd">duserrnd</link> itableNum</synopsis><synopsis>kout <link linkend="duserrnd">duserrnd</link> ktableNum</synopsis><para/>
-<synopsis>ares <link linkend="exprand">exprand</link> klambda</synopsis><synopsis>ires <link linkend="exprand">exprand</link> klambda</synopsis><synopsis>kres <link linkend="exprand">exprand</link> klambda</synopsis><para/>
-<synopsis>ares <link linkend="gauss">gauss</link> krange</synopsis><synopsis>ires <link linkend="gauss">gauss</link> krange</synopsis><synopsis>kres <link linkend="gauss">gauss</link> krange</synopsis><para/>
-<synopsis>kout <link linkend="jitter">jitter</link> kamp, kcpsMin, kcpsMax</synopsis><para/>
-<synopsis>kout <link linkend="jitter2">jitter2</link> ktotamp, kamp1, kcps1, kamp2, kcps2, kamp3, kcps3</synopsis><para/>
-<synopsis>ares <link linkend="linrand">linrand</link> krange</synopsis><synopsis>ires <link linkend="linrand">linrand</link> krange</synopsis><synopsis>kres <link linkend="linrand">linrand</link> krange</synopsis><para/>
-<synopsis>ares <link linkend="noise">noise</link> xamp, kbeta</synopsis><para/>
-<synopsis>ares <link linkend="pcauchy">pcauchy</link> kalpha</synopsis><synopsis>ires <link linkend="pcauchy">pcauchy</link> kalpha</synopsis><synopsis>kres <link linkend="pcauchy">pcauchy</link> kalpha</synopsis><para/>
-<synopsis>ares <link linkend="pinkish">pinkish</link> xin [, imethod] [, inumbands] [, iseed] [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="poisson">poisson</link> klambda</synopsis><synopsis>ires <link linkend="poisson">poisson</link> klambda</synopsis><synopsis>kres <link linkend="poisson">poisson</link> klambda</synopsis><para/>
-<synopsis>ares <link linkend="rand">rand</link> xamp [, iseed] [, isel] [, ioffset]</synopsis><synopsis>kres <link linkend="rand">rand</link> xamp [, iseed] [, isel] [, ioffset]</synopsis><para/>
-<synopsis>ares <link linkend="randh">randh</link> xamp, xcps [, iseed] [, isize] [, ioffset]</synopsis><synopsis>kres <link linkend="randh">randh</link> kamp, kcps [, iseed] [, isize] [, ioffset]</synopsis><para/>
-<synopsis>ares <link linkend="randi">randi</link> xamp, xcps [, iseed] [, isize] [, ioffset]</synopsis><synopsis>kres <link linkend="randi">randi</link> kamp, kcps [, iseed] [, isize] [, ioffset]</synopsis><para/>
-<synopsis>ares <link linkend="random">random</link> kmin, kmax</synopsis><synopsis>ires <link linkend="random">random</link> imin, imax</synopsis><synopsis>kres <link linkend="random">random</link> kmin, kmax</synopsis><para/>
-<synopsis>ares <link linkend="randomh">randomh</link> kmin, kmax, acps</synopsis><synopsis>kres <link linkend="randomh">randomh</link> kmin, kmax, kcps</synopsis><para/>
-<synopsis>ares <link linkend="randomi">randomi</link> kmin, kmax, acps</synopsis><synopsis>kres <link linkend="randomi">randomi</link> kmin, kmax, kcps</synopsis><para/>
-<synopsis>ax <link linkend="rnd31">rnd31</link> kscl, krpow [, iseed]</synopsis><synopsis>ix <link linkend="rnd31">rnd31</link> iscl, irpow [, iseed]</synopsis><synopsis>kx <link linkend="rnd31">rnd31</link> kscl, krpow [, iseed]</synopsis><para/>
-<synopsis><link linkend="seed">seed</link> ival</synopsis><para/>
-<synopsis>kout <link linkend="trandom">trandom</link> ktrig, min, max</synopsis><para/>
-<synopsis>ares <link linkend="trirand">trirand</link> krange</synopsis><synopsis>ires <link linkend="trirand">trirand</link> krange</synopsis><synopsis>kres <link linkend="trirand">trirand</link> krange</synopsis><para/>
-<synopsis>ares <link linkend="unirand">unirand</link> krange</synopsis><synopsis>ires <link linkend="unirand">unirand</link> krange</synopsis><synopsis>kres <link linkend="unirand">unirand</link> krange</synopsis><para/>
-<synopsis>aout = <link linkend="urd">urd</link>(ktableNum)</synopsis><synopsis>iout = <link linkend="urd">urd</link>(itableNum)</synopsis><synopsis>kout = <link linkend="urd">urd</link>(ktableNum)</synopsis><para/>
-<synopsis>ares <link linkend="weibull">weibull</link> ksigma, ktau</synopsis><synopsis>ires <link linkend="weibull">weibull</link> ksigma, ktau</synopsis><synopsis>kres <link linkend="weibull">weibull</link> ksigma, ktau</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Generators:Sample Playback</title>
-<para>
-<para/>
-<synopsis>a1 <link linkend="bbcutm">bbcutm</link> asource, ibps, isubdiv, ibarlength, iphrasebars, inumrepeats \
-      [, istutterspeed] [, istutterchance] [, ienvchoice ]</synopsis><para/>
-<synopsis>a1,a2 <link linkend="bbcuts">bbcuts</link> asource1, asource2, ibps, isubdiv, ibarlength, iphrasebars, \
-      inumrepeats [, istutterspeed] [, istutterchance] [, ienvchoice]</synopsis><para/>
-<synopsis>asig <link linkend="flooper">flooper</link> kamp, kpitch, istart, idur, ifad, ifn</synopsis><para/>
-<synopsis>asig <link linkend="flooper2">flooper2</link> kamp, kpitch, kloopstart, kloopend, kcrossfade, ifn \
-      [, istart, imode, ifenv, iskip]</synopsis><para/>
-<synopsis>ar1 [,ar2] <link linkend="loscil">loscil</link> xamp, kcps, ifn [, ibas] [, imod1] [, ibeg1] [, iend1] \
-      [, imod2] [, ibeg2] [, iend2]</synopsis><para/>
-<synopsis>ar1 [,ar2] <link linkend="loscil3">loscil3</link> xamp, kcps, ifn [, ibas] [, imod1] [, ibeg1] [, iend1] \
-      [, imod2] [, ibeg2] [, iend2]</synopsis><para/>
-<synopsis>ar1 [, ar2, ar3, ar4, ar5, ar6, ar7, ar8, ar9, ar10, ar11, ar12, ar13, ar14, \
-      ar15, ar16] <link linkend="loscilx">loscilx</link> xamp, kcps, ifn \
-      [, iwsize, ibas, istrt, imod1, ibeg1, iend1]</synopsis><para/>
-<synopsis>ares <link linkend="lphasor">lphasor</link> xtrns [, ilps] [, ilpe] [, imode] [, istrt] [, istor]</synopsis><para/>
-<synopsis>ares <link linkend="lposcil">lposcil</link> kamp, kfreqratio, kloop, kend, ifn [, iphs]</synopsis><para/>
-<synopsis>ares <link linkend="lposcil3">lposcil3</link> kamp, kfreqratio, kloop, kend, ifn [, iphs]</synopsis><para/>
-<synopsis>ar <link linkend="lposcila">lposcila</link> aamp, kfreqratio, kloop, kend, ift [,iphs] </synopsis><para/>
-<synopsis>ar1, ar2 <link linkend="lposcilsa">lposcilsa</link> aamp, kfreqratio, kloop, kend, ift [,iphs] </synopsis><para/>
-<synopsis>ar1, ar2 <link linkend="lposcilsa2">lposcilsa2</link> aamp, kfreqratio, kloop, kend, ift [,iphs] </synopsis><para/>
-<synopsis><link linkend="sfilist">sfilist</link> ifilhandle</synopsis><para/>
-<synopsis>ar1, ar2 <link linkend="sfinstr">sfinstr</link> ivel, inotenum, xamp, xfreq, instrnum, ifilhandle \
-      [, iflag] [, ioffset]</synopsis><para/>
-<synopsis>ar1, ar2 <link linkend="sfinstr3">sfinstr3</link> ivel, inotenum, xamp, xfreq, instrnum, ifilhandle \
-      [, iflag] [, ioffset]</synopsis><para/>
-<synopsis>ares <link linkend="sfinstr3m">sfinstr3m</link> ivel, inotenum, xamp, xfreq, instrnum, ifilhandle \
-      [, iflag] [, ioffset]</synopsis><para/>
-<synopsis>ares <link linkend="sfinstrm">sfinstrm</link> ivel, inotenum, xamp, xfreq, instrnum, ifilhandle \
-      [, iflag] [, ioffset]</synopsis><para/>
-<synopsis>ir <link linkend="sfload">sfload</link> "filename"</synopsis><para/>
-<synopsis>ar1, ar2 <link linkend="sflooper">sflooper</link> ivel, inotenum, kamp, kpitch, ipreindex, kloopstart, kloopend, kcrossfade, ifn \
-      [, istart, imode, ifenv, iskip] </synopsis><para/>
-<synopsis><link linkend="sfpassign">sfpassign</link> istartindex, ifilhandle[, imsgs]</synopsis><para/>
-<synopsis>ar1, ar2 <link linkend="sfplay">sfplay</link> ivel, inotenum, xamp, xfreq, ipreindex [, iflag] [, ioffset]</synopsis><para/>
-<synopsis>ar1, ar2 <link linkend="sfplay3">sfplay3</link> ivel, inotenum, xamp, xfreq, ipreindex [, iflag] [, ioffset]</synopsis><para/>
-<synopsis>ares <link linkend="sfplay3m">sfplay3m</link> ivel, inotenum, xamp, xfreq, ipreindex [, iflag] [, ioffset]</synopsis><para/>
-<synopsis>ares <link linkend="sfplaym">sfplaym</link> ivel, inotenum, xamp, xfreq, ipreindex [, iflag] [, ioffset]</synopsis><para/>
-<synopsis><link linkend="sfplist">sfplist</link> ifilhandle</synopsis><para/>
-<synopsis>ir <link linkend="sfpreset">sfpreset</link> iprog, ibank, ifilhandle, ipreindex</synopsis><para/>
-<synopsis>asig, krec <link linkend="sndloop">sndloop</link> ain, kpitch, ktrig, idur, ifad</synopsis><para/>
-<synopsis>ares <link linkend="waveset">waveset</link> ain, krep [, ilen]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Generators:Scanned Synthesis</title>
-<para>
-<para/>
-<synopsis><link linkend="scanhammer">scanhammer</link> isrc, idst, ipos, imult</synopsis><para/>
-<synopsis>ares <link linkend="scans">scans</link> kamp, kfreq, ifn, id [, iorder]</synopsis><para/>
-<synopsis>aout <link linkend="scantable">scantable</link> kamp, kpch, ipos, imass, istiff, idamp, ivel</synopsis><para/>
-<synopsis><link linkend="scanu">scanu</link> init, irate, ifnvel, ifnmass, ifnstif, ifncentr, ifndamp, kmass, \
-      kstif, kcentr, kdamp, ileft, iright, kpos, kstrngth, ain, idisp, id</synopsis><para/>
-<synopsis>kpos, kvel <link linkend="xscanmap">xscanmap</link> iscan, kamp, kvamp [, iwhich]</synopsis><para/>
-<synopsis>ares <link linkend="xscans">xscans</link> kamp, kfreq, ifntraj, id [, iorder]</synopsis><para/>
-<synopsis><link linkend="xscansmap">xscansmap</link> kpos, kvel, iscan, kamp, kvamp [, iwhich]</synopsis><para/>
-<synopsis><link linkend="xscanu">xscanu</link> init, irate, ifnvel, ifnmass, ifnstif, ifncentr, ifndamp, kmass, \
-      kstif, kcentr, kdamp, ileft, iright, kpos, kstrngth, ain, idisp, id</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Generators:Table Access</title>
-<para>
-<para/>
-<synopsis>kres <link linkend="oscil1">oscil1</link> idel, kamp, idur, ifn</synopsis><para/>
-<synopsis>kres <link linkend="oscil1i">oscil1i</link> idel, kamp, idur, ifn</synopsis><para/>
-<synopsis>ir <link linkend="tab">tab_i</link> indx, ifn[, ixmode]</synopsis><synopsis>kr <link linkend="tab">tab</link> kndx, ifn[, ixmode]</synopsis><synopsis>ar <link linkend="tab">tab</link> xndx, ifn[, ixmode]</synopsis><synopsis><link linkend="tab">tabw_i</link> isig, indx, ifn [,ixmode]</synopsis><synopsis><link linkend="tab">tabw</link> ksig, kndx, ifn [,ixmode]</synopsis><synopsis><link linkend="tab">tabw</link> asig, andx, ifn [,ixmode]</synopsis><para/>
-<synopsis>ares <link linkend="table">table</link> andx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>ires <link linkend="table">table</link> indx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>kres <link linkend="table">table</link> kndx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><para/>
-<synopsis>ares <link linkend="table3">table3</link> andx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>ires <link linkend="table3">table3</link> indx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>kres <link linkend="table3">table3</link> kndx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><para/>
-<synopsis>ares <link linkend="tablei">tablei</link> andx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>ires <link linkend="tablei">tablei</link> indx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>kres <link linkend="tablei">tablei</link> kndx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Generators:Wave Terrain Synthesis</title>
-<para>
-<para/>
-<synopsis>aout <link linkend="wterrain">wterrain</link> kamp, kpch, k_xcenter, k_ycenter, k_xradius, k_yradius, \
-      itabx, itaby</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Generators:Waveguide Physical Modeling</title>
-<para>
-<para/>
-<synopsis>ares <link linkend="pluck">pluck</link> kamp, kcps, icps, ifn, imeth [, iparm1] [, iparm2]</synopsis><para/>
-<synopsis>ares <link linkend="repluck">repluck</link> iplk, kamp, icps, kpick, krefl, axcite</synopsis><para/>
-<synopsis>ares <link linkend="streson">streson</link> asig, kfr, ifdbgain</synopsis><para/>
-<synopsis>ares <link linkend="wgbow">wgbow</link> kamp, kfreq, kpres, krat, kvibf, kvamp, ifn [, iminfreq]</synopsis><para/>
-<synopsis>ares <link linkend="wgbowedbar">wgbowedbar</link> kamp, kfreq, kpos, kbowpres, kgain [, iconst] [, itvel] \
-      [, ibowpos] [, ilow]</synopsis><para/>
-<synopsis>ares <link linkend="wgbrass">wgbrass</link> kamp, kfreq, ktens, iatt, kvibf, kvamp, ifn [, iminfreq]</synopsis><para/>
-<synopsis>ares <link linkend="wgclar">wgclar</link> kamp, kfreq, kstiff, iatt, idetk, kngain, kvibf, kvamp, ifn \
-      [, iminfreq]</synopsis><para/>
-<synopsis>ares <link linkend="wgflute">wgflute</link> kamp, kfreq, kjet, iatt, idetk, kngain, kvibf, kvamp, ifn \
-      [, iminfreq] [, ijetrf] [, iendrf]</synopsis><para/>
-<synopsis>ares <link linkend="wgpluck">wgpluck</link> icps, iamp, kpick, iplk, idamp, ifilt, axcite</synopsis><para/>
-<synopsis>ares <link linkend="wgpluck2">wgpluck2</link> iplk, kamp, icps, kpick, krefl</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal I/O:File I/O</title>
-<para>
-<para/>
-<synopsis><link linkend="dumpk">dumpk</link>  ksig, ifilname, iformat, iprd</synopsis><para/>
-<synopsis><link linkend="dumpk2">dumpk2</link> ksig1, ksig2, ifilname, iformat, iprd</synopsis><para/>
-<synopsis><link linkend="dumpk3">dumpk3</link> ksig1, ksig2, ksig3, ifilname, iformat, iprd</synopsis><para/>
-<synopsis><link linkend="dumpk4">dumpk4</link> ksig1, ksig2, ksig3, ksig4, ifilname, iformat, iprd</synopsis><para/>
-<synopsis><link linkend="ficlose">ficlose</link> ihandle</synopsis><synopsis><link linkend="ficlose">ficlose</link> Sfilename</synopsis><para/>
-<synopsis><link linkend="fin">fin</link> ifilename, iskipframes, iformat, ain1 [, ain2] [, ain3] [,...]</synopsis><para/>
-<synopsis><link linkend="fini">fini</link> ifilename, iskipframes, iformat, in1 [, in2] [, in3] [, ...]</synopsis><para/>
-<synopsis><link linkend="fink">fink</link> ifilename, iskipframes, iformat, kin1 [, kin2] [, kin3] [,...]</synopsis><para/>
-<synopsis>ihandle <link linkend="fiopen">fiopen</link> ifilename, imode</synopsis><para/>
-<synopsis><link linkend="fout">fout</link> ifilename, iformat, aout1 [, aout2, aout3,...,aoutN]</synopsis><para/>
-<synopsis><link linkend="fouti">fouti</link> ihandle, iformat, iflag, iout1 [, iout2, iout3,....,ioutN]</synopsis><para/>
-<synopsis><link linkend="foutir">foutir</link> ihandle, iformat, iflag, iout1 [, iout2, iout3,....,ioutN]</synopsis><para/>
-<synopsis><link linkend="foutk">foutk</link> ifilename, iformat, kout1 [, kout2, kout3,....,koutN]</synopsis><para/>
-<synopsis><link linkend="fprintks">fprintks</link> "filename", "string", [, kval1] [, kval2] [...]</synopsis><para/>
-<synopsis><link linkend="fprints">fprints</link> "filename", "string" [, ival1] [, ival2] [...]</synopsis><para/>
-<synopsis>kres <link linkend="readk">readk</link> ifilname, iformat, iprd</synopsis><para/>
-<synopsis>kr1, kr2 <link linkend="readk2">readk2</link> ifilname, iformat, iprd</synopsis><para/>
-<synopsis>kr1, kr2, kr3 <link linkend="readk3">readk3</link> ifilname, iformat, iprd</synopsis><para/>
-<synopsis>kr1, kr2, kr3, kr4 <link linkend="readk4">readk4</link> ifilname, iformat, iprd</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal I/O:Signal Input</title>
-<para>
-<para/>
-<synopsis>ar1 [, ar2 [, ar3 [, ... ar24]]] <link linkend="diskin">diskin</link> ifilcod, kpitch [, iskiptim] \
-      [, iwraparound] [, iformat] [, iskipinit]</synopsis><para/>
-<synopsis>a1[, a2[, ... a24]] <link linkend="diskin2">diskin2</link> ifilcod, kpitch[, iskiptim \
-      [, iwrap[, iformat [, iwsize[, ibufsize[, iskipinit]]]]]]</synopsis><para/>
-<synopsis>ar1 <link linkend="in">in</link> </synopsis><para/>
-<synopsis>ar1 <link linkend="inch">inch</link> ksig1</synopsis><para/>
-<synopsis>ar1, ar2 <link linkend="ins">ins</link> </synopsis><para/>
-<synopsis>kvalue <link linkend="invalue">invalue</link> "channel name"</synopsis><synopsis>Sname <link linkend="invalue">invalue</link> "channel name"</synopsis><para/>
-<synopsis><link linkend="inz">inz</link> ksig1</synopsis><para/>
-<synopsis>ar1[, ar2[, ar3[, ... a24]]] <link linkend="soundin">soundin</link> ifilcod [, iskptim] [, iformat] \
-      [, iskipinit] [, ibufsize]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal I/O:Signal Output</title>
-<para>
-<para/>
-<synopsis><link linkend="mdelay">mdelay</link> kstatus, kchan, kd1, kd2, kdelay</synopsis><para/>
-<synopsis>aout1 [,aout2 ... aoutX] <link linkend="monitor">monitor</link> </synopsis><para/>
-<synopsis><link linkend="out">out</link> asig</synopsis><para/>
-<synopsis><link linkend="outc">outc</link> asig1 [, asig2] [...]</synopsis><para/>
-<synopsis><link linkend="outch">outch</link> ksig1, asig1 [, ksig2] [, asig2] [...]</synopsis><para/>
-<synopsis><link linkend="outs">outs</link> asig1, asig2</synopsis><para/>
-<synopsis><link linkend="outs1">outs1</link> asig</synopsis><para/>
-<synopsis><link linkend="outs2">outs2</link> asig</synopsis><para/>
-<synopsis><link linkend="outvalue">outvalue</link> "channel name", kvalue</synopsis><synopsis><link linkend="outvalue">outvalue</link> "channel name", "string"</synopsis><para/>
-<synopsis><link linkend="outz">outz</link> ksig1</synopsis><para/>
-<synopsis><link linkend="soundout">soundout</link>  asig1, ifilcod [, iformat]</synopsis><para/>
-<synopsis><link linkend="soundouts">soundouts</link>  asigl, asigr, ifilcod [, iformat]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal I/O:Software Bus</title>
-<para>
-<para/>
-<synopsis>kval <link linkend="chani">chani</link> kchan</synopsis><synopsis>aval <link linkend="chani">chani</link> kchan</synopsis><para/>
-<synopsis><link linkend="chano">chano</link> kval, kchan</synopsis><synopsis><link linkend="chano">chano</link> aval, kchan</synopsis><para/>
-<synopsis> <link linkend="chn">chn_k</link> Sname, imode[, itype, idflt, imin, imax]</synopsis><synopsis> <link linkend="chn">chn_a</link> Sname, imode</synopsis><synopsis> <link linkend="chn">chn_S</link> Sname, imode</synopsis><para/>
-<synopsis><link linkend="chnclear">chnclear</link> Sname</synopsis><para/>
-<synopsis>gival <link linkend="chnexport">chnexport</link> Sname, imode[, itype, idflt, imin, imax]</synopsis><synopsis>gkval <link linkend="chnexport">chnexport</link> Sname, imode[, itype, idflt, imin, imax]</synopsis><synopsis>gaval <link linkend="chnexport">chnexport</link> Sname, imode</synopsis><synopsis>gSval <link linkend="chnexport">chnexport</link> Sname, imode</synopsis><para/>
-<synopsis>ival <link linkend="chnget">chnget</link> Sname</synopsis><synopsis>kval <link linkend="chnget">chnget</link> Sname</synopsis><synopsis>aval <link linkend="chnget">chnget</link> Sname</synopsis><synopsis>Sval <link linkend="chnget">chnget</link> Sname</synopsis><para/>
-<synopsis><link linkend="chnmix">chnmix</link> aval, Sname</synopsis><para/>
-<synopsis>itype, imode, ictltype, idflt, imin, imax <link linkend="chnparams">chnparams</link> </synopsis><para/>
-<synopsis><link linkend="chnset">chnset</link> ival, Sname</synopsis><synopsis><link linkend="chnset">chnset</link> kval, Sname</synopsis><synopsis><link linkend="chnset">chnset</link> aval, Sname</synopsis><synopsis><link linkend="chnset">chnset</link> Sval, Sname</synopsis><para/>
-<synopsis><link linkend="setksmps">setksmps</link> iksmps</synopsis><para/>
-<synopsis>xinarg1 [, xinarg2] ... [xinargN] <link linkend="xin">xin</link> </synopsis><para/>
-<synopsis><link linkend="xout">xout</link> xoutarg1 [, xoutarg2] ... [, xoutargN]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal I/O:Printing and Display</title>
-<para>
-<para/>
-<synopsis><link linkend="dispfft">dispfft</link> xsig, iprd, iwsiz [, iwtyp] [, idbout] [, iwtflg]</synopsis><para/>
-<synopsis><link linkend="display">display</link> xsig, iprd [, inprds] [, iwtflg]</synopsis><para/>
-<synopsis><link linkend="print">print</link> iarg [, iarg1] [, iarg2] [...]</synopsis><para/>
-<synopsis><link linkend="printf">printf_i</link> Sfmt, itrig, [xarg1[, xarg2[, ... ]]]</synopsis><synopsis><link linkend="printf">printf</link> Sfmt, ktrig, [xarg1[, xarg2[, ... ]]]</synopsis><para/>
-<synopsis><link linkend="printk">printk</link> itime, kval [, ispace]</synopsis><para/>
-<synopsis><link linkend="printk2">printk2</link> kvar [, inumspaces]</synopsis><para/>
-<synopsis><link linkend="printks">printks</link> "string", itime [, kval1] [, kval2] [...]</synopsis><para/>
-<synopsis><link linkend="prints">prints</link> "string" [, kval1] [, kval2] [...]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal I/O:Soundfile Queries</title>
-<para>
-<para/>
-<synopsis>ir <link linkend="filelen">filelen</link> ifilcod, [iallowraw]</synopsis><para/>
-<synopsis>ir <link linkend="filenchnls">filenchnls</link> ifilcod [, iallowraw]</synopsis><para/>
-<synopsis>ir <link linkend="filepeak">filepeak</link> ifilcod [, ichnl]</synopsis><para/>
-<synopsis>ir <link linkend="filesr">filesr</link> ifilcod [, iallowraw]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Modifiers:Amplitude Modifiers</title>
-<para>
-<para/>
-<synopsis>ares <link linkend="balance">balance</link> asig, acomp [, ihp] [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="clip">clip</link> asig, imeth, ilimit [, iarg]</synopsis><para/>
-<synopsis>ar <link linkend="compress">compress</link> aasig, acsig, kthresh, kloknee, khiknee, kratio, katt, krel, ilook</synopsis><para/>
-<synopsis>ares <link linkend="dam">dam</link> asig, kthreshold, icomp1, icomp2, irtime, iftime</synopsis><para/>
-<synopsis>ares <link linkend="gain">gain</link> asig, krms [, ihp] [, iskip]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Modifiers:Convolution and Morphing</title>
-<para>
-<para/>
-<synopsis>ar1 [, ar2] [, ar3] [, ar4] <link linkend="convolve">convolve</link> ain, ifilcod [, ichannel]</synopsis><para/>
-<synopsis>ares <link linkend="cross2">cross2</link> ain1, ain2, isize, ioverlap, iwin, kbias</synopsis><para/>
-<synopsis>ares <link linkend="dconv">dconv</link> asig, isize, ifn</synopsis><para/>
-<synopsis>a1[, a2[, a3[, ... a8]]] <link linkend="ftconv">ftconv</link> ain, ift, iplen[, iskipsamples \
-      [, iirlen[, iskipinit]]]</synopsis><para/>
-<synopsis><link linkend="ftmorf">ftmorf</link> kftndx, iftfn, iresfn</synopsis><para/>
-<synopsis>ar1 [, ar2] [, ar3] [, ar4] <link linkend="pconvolve">pconvolve</link> ain, ifilcod [, ipartitionsize, ichannel]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Modifiers:Delay</title>
-<para>
-<para/>
-<synopsis>ares <link linkend="delay">delay</link> asig, idlt [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="delay1">delay1</link> asig [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="delayr">delayr</link> idlt [, iskip]</synopsis><para/>
-<synopsis><link linkend="delayw">delayw</link> asig</synopsis><para/>
-<synopsis>ares <link linkend="deltap">deltap</link> kdlt</synopsis><para/>
-<synopsis>ares <link linkend="deltap3">deltap3</link> xdlt</synopsis><para/>
-<synopsis>ares <link linkend="deltapi">deltapi</link> xdlt</synopsis><para/>
-<synopsis>ares <link linkend="deltapn">deltapn</link> xnumsamps</synopsis><para/>
-<synopsis>aout <link linkend="deltapx">deltapx</link> adel, iwsize</synopsis><para/>
-<synopsis><link linkend="deltapxw">deltapxw</link> ain, adel, iwsize</synopsis><para/>
-<synopsis>ares <link linkend="multitap">multitap</link> asig [, itime1] [, igain1] [, itime2] [, igain2] [...]</synopsis><para/>
-<synopsis>ares <link linkend="vdelay">vdelay</link> asig, adel, imaxdel [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="vdelay3">vdelay3</link> asig, adel, imaxdel [, iskip]</synopsis><para/>
-<synopsis>aout <link linkend="vdelayx">vdelayx</link> ain, adl, imd, iws [, ist]</synopsis><para/>
-<synopsis>aout1, aout2, aout3, aout4 <link linkend="vdelayxq">vdelayxq</link> ain1, ain2, ain3, ain4, adl, imd, iws [, ist]</synopsis><para/>
-<synopsis>aout1, aout2 <link linkend="vdelayxs">vdelayxs</link> ain1, ain2, adl, imd, iws [, ist]</synopsis><para/>
-<synopsis>aout <link linkend="vdelayxw">vdelayxw</link> ain, adl, imd, iws [, ist]</synopsis><para/>
-<synopsis>aout1, aout2, aout3, aout4 <link linkend="vdelayxwq">vdelayxwq</link> ain1, ain2, ain3, ain4, adl, \
-      imd, iws [, ist]</synopsis><para/>
-<synopsis>aout1, aout2 <link linkend="vdelayxws">vdelayxws</link> ain1, ain2, adl, imd, iws [, ist]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Modifiers:Panning and Spatialization</title>
-<para>
-<para/>
-<synopsis>aleft, aright <link linkend="hrtfmove">hrtfmove</link> asrc, kAz, kElev, ifilel, ifiler [, imode, ifade, isr]</synopsis><para/>
-<synopsis>aleft, aright <link linkend="hrtfmove2">hrtfmove2</link> asrc, kAz, kElev, ifilel, ifiler [,ioverlap, iradius, isr]</synopsis><para/>
-<synopsis>
-      aleft, aright <link linkend="hrtfstat">hrtfstat</link> asrc, iAz, iElev, ifilel, ifiler [,iradius, isr]
-    </synopsis><para/>
-<synopsis>a1, a2 <link linkend="locsend">locsend</link> </synopsis><synopsis>a1, a2,  a3, a4 <link linkend="locsend">locsend</link> </synopsis><para/>
-<synopsis>a1, a2 <link linkend="locsig">locsig</link> asig, kdegree, kdistance, kreverbsend</synopsis><synopsis>a1, a2,  a3, a4 <link linkend="locsig">locsig</link> asig, kdegree, kdistance, kreverbsend</synopsis><para/>
-<synopsis>a1, a2, a3, a4 <link linkend="pan">pan</link> asig, kx, ky, ifn [, imode] [, ioffset]</synopsis><para/>
-<synopsis>a1, a2 <link linkend="pan2">pan2</link> asig, xp [, imode]</synopsis><para/>
-<synopsis>a1, a2, a3, a4  <link linkend="space">space</link> asig, ifn, ktime, kreverbsend, kx, ky</synopsis><para/>
-<synopsis>k1 <link linkend="spdist">spdist</link> ifn, ktime, kx, ky</synopsis><para/>
-<synopsis>a1, a2, a3, a4 <link linkend="spsend">spsend</link> </synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Modifiers:Reverberation</title>
-<para>
-<para/>
-<synopsis>ares <link linkend="alpass">alpass</link> asig, krvt, ilpt [, iskip] [, insmps]</synopsis><para/>
-<synopsis>ares <link linkend="comb">comb</link> asig, krvt, ilpt [, iskip] [, insmps]</synopsis><para/>
-<synopsis>aoutL, aoutR <link linkend="freeverb">freeverb</link> ainL, ainR, kRoomSize, kHFDamp[, iSRate[, iSkip]] </synopsis><para/>
-<synopsis>ares <link linkend="nestedap">nestedap</link> asig, imode, imaxdel, idel1, igain1 [, idel2] [, igain2] \
-      [, idel3] [, igain3] [, istor]</synopsis><para/>
-<synopsis>ares <link linkend="nreverb">nreverb</link> asig, ktime, khdif [, iskip] [,inumCombs] [, ifnCombs] \
-      [, inumAlpas] [, ifnAlpas]</synopsis><para/>
-<synopsis>ares <link linkend="reverb">reverb</link> asig, krvt [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="reverb2">reverb2</link> asig, ktime, khdif [, iskip] [,inumCombs] \
-      [, ifnCombs] [, inumAlpas] [, ifnAlpas]</synopsis><para/>
-<synopsis>aoutL, aoutR <link linkend="reverbsc">reverbsc</link> ainL, ainR, kfblvl, kfco[, israte[, ipitchm[, iskip]]] </synopsis><para/>
-<synopsis>ares <link linkend="valpass">valpass</link> asig, krvt, xlpt, imaxlpt [, iskip] [, insmps]</synopsis><para/>
-<synopsis>ares <link linkend="vcomb">vcomb</link> asig, krvt, xlpt, imaxlpt [, iskip] [, insmps]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Modifiers:Sample Level Operators</title>
-<para>
-<para/>
-<synopsis><link linkend="denorm">denorm</link> a1[, a2[, a3[, ... ]]]</synopsis><para/>
-<synopsis>ares <link linkend="diff">diff</link> asig [, iskip]</synopsis><synopsis>kres <link linkend="diff">diff</link> ksig [, iskip]</synopsis><para/>
-<synopsis>kres <link linkend="downsamp">downsamp</link> asig [, iwlen]</synopsis><para/>
-<synopsis>ares <link linkend="fold">fold</link> asig, kincr</synopsis><para/>
-<synopsis>ares <link linkend="integ">integ</link> asig [, iskip]</synopsis><synopsis>kres <link linkend="integ">integ</link> ksig [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="interp">interp</link> ksig [, iskip] [, imode]</synopsis><para/>
-<synopsis>ares <link linkend="ntrpol">ntrpol</link> asig1, asig2, kpoint [, imin] [, imax]</synopsis><synopsis>ires <link linkend="ntrpol">ntrpol</link> isig1, isig2, ipoint [, imin] [, imax]</synopsis><synopsis>kres <link linkend="ntrpol">ntrpol</link> ksig1, ksig2, kpoint [, imin] [, imax]</synopsis><para/>
-<synopsis><link linkend="opa">a</link>(x) (control-rate args only)</synopsis><para/>
-<synopsis><link linkend="opi">i</link>(x) (control-rate args only)</synopsis><para/>
-<synopsis><link linkend="opk">k</link>(x) (i-rate args only)</synopsis><para/>
-<synopsis>ares <link linkend="samphold">samphold</link> asig, agate [, ival] [, ivstor]</synopsis><synopsis>kres <link linkend="samphold">samphold</link> ksig, kgate [, ival] [, ivstor]</synopsis><para/>
-<synopsis>ares <link linkend="upsamp">upsamp</link> ksig</synopsis><para/>
-<synopsis>kval <link linkend="vaget">vaget</link> kndx, avar</synopsis><para/>
-<synopsis><link linkend="vaset">vaset</link> kval, kndx, avar</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Modifiers:Signal Limiters</title>
-<para>
-<para/>
-<synopsis>ares <link linkend="limit">limit</link> asig, klow, khigh</synopsis><synopsis>ires <link linkend="limit">limit</link> isig, ilow, ihigh</synopsis><synopsis>kres <link linkend="limit">limit</link> ksig, klow, khigh</synopsis><para/>
-<synopsis>ares <link linkend="mirror">mirror</link> asig, klow, khigh</synopsis><synopsis>ires <link linkend="mirror">mirror</link> isig, ilow, ihigh</synopsis><synopsis>kres <link linkend="mirror">mirror</link> ksig, klow, khigh</synopsis><para/>
-<synopsis>ares <link linkend="wrap">wrap</link> asig, klow, khigh</synopsis><synopsis>ires <link linkend="wrap">wrap</link> isig, ilow, ihigh</synopsis><synopsis>kres <link linkend="wrap">wrap</link> ksig, klow, khigh</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Modifiers:Special Effects</title>
-<para>
-<para/>
-<synopsis>ar <link linkend="distort">distort</link> asig, kdist, ifn[, ihp, istor]</synopsis><para/>
-<synopsis>ares <link linkend="distort1">distort1</link> asig, kpregain, kpostgain, kshape1, kshape2[, imode]</synopsis><para/>
-<synopsis>ares <link linkend="flanger">flanger</link> asig, adel, kfeedback [, imaxd]</synopsis><para/>
-<synopsis>ares <link linkend="harmon">harmon</link> asig, kestfrq, kmaxvar, kgenfreq1, kgenfreq2, imode, \
-      iminfrq, iprd</synopsis><para/>
-<synopsis>ares <link linkend="harmon2">harmon2</link> asig, koct, kfrq1, kfrq2, icpsmode, ilowest[, ipolarity]</synopsis><synopsis>ares <link linkend="harmon2">harmon3</link> asig, koct, kfrq1, \
-    kfrq2, kfrq3, icpsmode, ilowest[, ipolarity]</synopsis><synopsis>ares <link linkend="harmon2">harmon4</link> asig, koct, kfrq1, \
-    kfrq2, kfrq3, kfrq4, icpsmode, ilowest[, ipolarity]</synopsis><para/>
-<synopsis>ares <link linkend="phaser1">phaser1</link> asig, kfreq, kord, kfeedback [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="phaser2">phaser2</link> asig, kfreq, kq, kord, kmode, ksep, kfeedback</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Modifiers:Standard Filters</title>
-<para>
-<para/>
-<synopsis>ares <link linkend="atone">atone</link> asig, khp [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="atonex">atonex</link> asig, khp [, inumlayer] [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="biquad">biquad</link> asig, kb0, kb1, kb2, ka0, ka1, ka2 [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="biquada">biquada</link> asig, ab0, ab1, ab2, aa0, aa1, aa2 [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="butbp">butbp</link> asig, kfreq, kband [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="butbr">butbr</link> asig, kfreq, kband [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="buthp">buthp</link> asig, kfreq [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="butlp">butlp</link> asig, kfreq [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="butterbp">butterbp</link> asig, kfreq, kband [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="butterbr">butterbr</link> asig, kfreq, kband [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="butterhp">butterhp</link> asig, kfreq [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="butterlp">butterlp</link> asig, kfreq [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="clfilt">clfilt</link> asig, kfreq, itype, inpol [, ikind] [, ipbr] [, isba] [, iskip]</synopsis><para/>
-<synopsis>aout <link linkend="mode">mode</link> ain, kfreq, kQ [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="tone">tone</link> asig, khp [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="tonex">tonex</link>  asig, khp [, inumlayer] [, iskip]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Modifiers:Standard Filters:Resonant</title>
-<para>
-<para/>
-<synopsis>ares <link linkend="areson">areson</link> asig, kcf, kbw [, iscl] [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="bqrez">bqrez</link> asig, xfco, xres [, imode] [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="lowpass2">lowpass2</link> asig, kcf, kq [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="lowres">lowres</link> asig, kcutoff, kresonance [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="lowresx">lowresx</link> asig, kcutoff, kresonance [, inumlayer] [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="lpf18">lpf18</link> asig, kfco, kres, kdist</synopsis><para/>
-<synopsis>asig <link linkend="moogladder">moogladder</link> ain, kcf, kres[, istor]</synopsis><para/>
-<synopsis>ares <link linkend="moogvcf">moogvcf</link> asig, xfco, xres [,iscale, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="moogvcf2">moogvcf2</link> asig, xfco, xres [,iscale, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="reson">reson</link> asig, kcf, kbw [, iscl] [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="resonr">resonr</link> asig, kcf, kbw [, iscl] [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="resonx">resonx</link> asig, kcf, kbw [, inumlayer] [, iscl] [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="resony">resony</link> asig, kbf, kbw, inum, ksep [, isepmode] [, iscl] [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="resonz">resonz</link> asig, kcf, kbw [, iscl] [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="rezzy">rezzy</link> asig, xfco, xres [, imode, iskip]</synopsis><para/>
-<synopsis>ahp,alp,abp,abr <link linkend="statevar">statevar</link> ain, kcf, kq [, iosamps, istor]</synopsis><para/>
-<synopsis>alow, ahigh, aband <link linkend="svfilter">svfilter</link>  asig, kcf, kq [, iscl]</synopsis><para/>
-<synopsis>ares <link linkend="tbvcf">tbvcf</link> asig, xfco, xres, kdist, kasym [, iskip]</synopsis><para/>
-<synopsis>ares <link linkend="vlowres">vlowres</link> asig, kfco, kres, iord, ksep</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Modifiers:Standard Filters:Control</title>
-<para>
-<para/>
-<synopsis>kres <link linkend="aresonk">aresonk</link> ksig, kcf, kbw [, iscl] [, iskip]</synopsis><para/>
-<synopsis>kres <link linkend="atonek">atonek</link> ksig, khp [, iskip]</synopsis><para/>
-<synopsis>kres <link linkend="lineto">lineto</link> ksig, ktime</synopsis><para/>
-<synopsis>kres <link linkend="port">port</link> ksig, ihtim [, isig]</synopsis><para/>
-<synopsis>kres <link linkend="portk">portk</link> ksig, khtim [, isig]</synopsis><para/>
-<synopsis>kres <link linkend="resonk">resonk</link> ksig, kcf, kbw [, iscl] [, iskip]</synopsis><para/>
-<synopsis>kres <link linkend="resonxk">resonxk</link> ksig, kcf, kbw[, inumlayer, iscl, istor]</synopsis><para/>
-<synopsis>kres <link linkend="tlineto">tlineto</link> ksig, ktime, ktrig</synopsis><para/>
-<synopsis>kres <link linkend="tonek">tonek</link> ksig, khp [, iskip]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Modifiers:Specialized Filters</title>
-<para>
-<para/>
-<synopsis>ares <link linkend="dcblock">dcblock</link> ain [, igain]</synopsis><para/>
-<synopsis>asig <link linkend="eqfil">eqfil</link> ain, kcf, kbw, kgain[, istor]</synopsis><para/>
-<synopsis>ares <link linkend="filter2">filter2</link> asig, iM, iN, ib0, ib1, ..., ibM, ia1, ia2, ..., iaN</synopsis><synopsis>kres <link linkend="filter2">filter2</link> ksig, iM, iN, ib0, ib1, ..., ibM, ia1, ia2, ..., iaN</synopsis><para/>
-<synopsis>asig <link linkend="fofilter">fofilter</link> ain, kcf, kris, kdec[, istor]</synopsis><para/>
-<synopsis>ar1, ar2 <link linkend="hilbert">hilbert</link> asig</synopsis><para/>
-<synopsis>ares <link linkend="nlfilt">nlfilt</link> ain, ka, kb, kd, kC, kL</synopsis><para/>
-<synopsis>ares <link linkend="pareq">pareq</link> asig, kc, kv, kq [, imode] [, iskip]</synopsis><para/>
-<synopsis>ar <link linkend="rbjeq">rbjeq</link> asig, kfco, klvl, kQ, kS[, imode]</synopsis><para/>
-<synopsis>ares <link linkend="zfilter2">zfilter2</link> asig, kdamp, kfreq, iM, iN, ib0, ib1, ..., ibM, \
-      ia1,ia2, ..., iaN</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Modifiers:Waveguides</title>
-<para>
-<para/>
-<synopsis>ares <link linkend="wguide1">wguide1</link> asig, xfreq, kcutoff, kfeedback</synopsis><para/>
-<synopsis>ares <link linkend="wguide2">wguide2</link> asig, xfreq1, xfreq2, kcutoff1, kcutoff2, \
-      kfeedback1, kfeedback2</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Modifiers:Waveshaping</title>
-<para>
-<para/>
-<synopsis>aout <link linkend="chebyshevpoly">chebyshevpoly</link> ain, k0 [, k1 [, k2 [...]]]</synopsis><para/>
-<synopsis>aout <link linkend="pdclip">pdclip</link> ain, kWidth, kCenter [, ibipolar [, ifullscale]]</synopsis><para/>
-<synopsis>aout <link linkend="pdhalf">pdhalf</link> ain, kShapeAmount [, ibipolar [, ifullscale]]</synopsis><para/>
-<synopsis>aout <link linkend="pdhalfy">pdhalfy</link> ain, kShapeAmount [, ibipolar [, ifullscale]]</synopsis><para/>
-<synopsis>aout <link linkend="powershape">powershape</link> ain, kShapeAmount [, ifullscale]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Signal Modifiers:Comparators and Accumulators</title>
-<para>
-<para/>
-<synopsis>amax <link linkend="max">max</link> ain1 [, ain2] [, ain3] [, ain4] [...]</synopsis><synopsis>kmax <link linkend="max">max</link> kin1 [, kin2] [, kin3] [, kin4] [...]</synopsis><para/>
-<synopsis>knumkout <link linkend="max_k">max_k</link> asig, ktrig, itype</synopsis><para/>
-<synopsis>amax <link linkend="maxabs">maxabs</link> ain1 [, ain2] [, ain3] [, ain4] [...]</synopsis><synopsis>kmax <link linkend="maxabs">maxabs</link> kin1 [, kin2] [, kin3] [, kin4] [...]</synopsis><para/>
-<synopsis><link linkend="maxabsaccum">maxabsaccum</link> aAccumulator, aInput</synopsis><para/>
-<synopsis><link linkend="maxaccum">maxaccum</link> aAccumulator, aInput</synopsis><para/>
-<synopsis>amin <link linkend="min">min</link> ain1 [, ain2] [, ain3] [, ain4] [...]</synopsis><synopsis>kmin <link linkend="min">min</link> kin1 [, kin2] [, kin3] [, kin4] [...]</synopsis><para/>
-<synopsis>amin <link linkend="minabs">minabs</link> ain1 [, ain2] [, ain3] [, ain4] [...]</synopsis><synopsis>kmin <link linkend="minabs">minabs</link> kin1 [, kin2] [, kin3] [, kin4] [...]</synopsis><para/>
-<synopsis><link linkend="minabsaccum">minabsaccum</link> aAccumulator, aInput</synopsis><para/>
-<synopsis><link linkend="minaccum">minaccum</link> aAccumulator, aInput</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Instrument Control:Clock Control</title>
-<para>
-<para/>
-<synopsis><link linkend="clockoff">clockoff</link> inum</synopsis><para/>
-<synopsis><link linkend="clockon">clockon</link> inum</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Instrument Control:Duration Control</title>
-<para>
-<para/>
-<synopsis><link linkend="ihold">ihold</link> </synopsis><para/>
-<synopsis><link linkend="turnoff">turnoff</link> </synopsis><para/>
-<synopsis><link linkend="turnoff2">turnoff2</link> kinsno, kmode, krelease
-    </synopsis><para/>
-<synopsis><link linkend="turnon">turnon</link> insnum [, itime]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Instrument Control:Invocation</title>
-<para>
-<para/>
-<synopsis><link linkend="event">event</link> "scorechar", kinsnum, kdelay, kdur, [, kp4] [, kp5] [, ...]</synopsis><synopsis><link linkend="event">event</link> "scorechar", "insname", kdelay, kdur, [, kp4] [, kp5] [, ...]</synopsis><para/>
-<synopsis><link linkend="event_i">event_i</link> "scorechar", iinsnum, idelay, idur, [, ip4] [, ip5] [, ...]</synopsis><synopsis><link linkend="event_i">event</link> "scorechar", "insname", idelay, idur, [, ip4] [, ip5] [, ...]</synopsis><para/>
-<synopsis><link linkend="mute">mute</link> insnum [, iswitch]</synopsis><synopsis><link linkend="mute">mute</link> "insname" [, iswitch]</synopsis><para/>
-<synopsis><link linkend="remove">remove</link> insnum</synopsis><para/>
-<synopsis><link linkend="schedkwhen">schedkwhen</link> ktrigger, kmintim, kmaxnum, kinsnum, kwhen, kdur \
-      [, ip4] [, ip5] [...]</synopsis><synopsis><link linkend="schedkwhen">schedkwhen</link> ktrigger, kmintim, kmaxnum, "insname", kwhen, kdur \
-      [, ip4] [, ip5] [...]</synopsis><para/>
-<synopsis><link linkend="schedkwhennamed">schedkwhennamed</link> ktrigger, kmintim, kmaxnum, "name", kwhen, kdur \
-      [, ip4] [, ip5] [...]</synopsis><para/>
-<synopsis><link linkend="schedule">schedule</link> insnum, iwhen, idur [, ip4] [, ip5] [...]</synopsis><synopsis><link linkend="schedule">schedule</link> "insname", iwhen, idur [, ip4] [, ip5] [...]</synopsis><para/>
-<synopsis><link linkend="schedwhen">schedwhen</link> ktrigger, kinsnum, kwhen, kdur [, ip4] [, ip5] [...]</synopsis><synopsis><link linkend="schedwhen">schedwhen</link> ktrigger, "insname", kwhen, kdur [, ip4] [, ip5] [...]</synopsis><para/>
-<synopsis><link linkend="scoreline">scoreline</link> Sin, ktring</synopsis><para/>
-<synopsis><link linkend="scoreline_i">scoreline_i</link> Sin</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Instrument Control:Program Flow Control</title>
-<para>
-<para/>
-<synopsis><link linkend="cggoto">cggoto</link> condition, label</synopsis><para/>
-<synopsis><link linkend="cigoto">cigoto</link> condition, label</synopsis><para/>
-<synopsis><link linkend="ckgoto">ckgoto</link> condition, label</synopsis><para/>
-<synopsis><link linkend="cngoto">cngoto</link> condition, label</synopsis><para/>
-<synopsis><link linkend="goto">goto</link> label</synopsis><para/>
-<synopsis><link linkend="igoto">igoto</link> label</synopsis><para/>
-<synopsis><link linkend="kgoto">kgoto</link> label</synopsis><para/>
-<synopsis><link linkend="tigoto">tigoto</link> label</synopsis><para/>
-<synopsis><link linkend="timout">timout</link> istrt, idur, label</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Instrument Control:Realtime Performance Control</title>
-<para>
-<para/>
-<synopsis>ir <link linkend="active">active</link> insnum</synopsis><synopsis>kres <link linkend="active">active</link> kinsnum</synopsis><para/>
-<synopsis><link linkend="cpuprc">cpuprc</link> insnum, ipercent</synopsis><para/>
-<synopsis>      <link linkend="exitnow">exitnow</link> </synopsis><para/>
-<synopsis><link linkend="maxalloc">maxalloc</link> insnum, icount</synopsis><para/>
-<synopsis><link linkend="prealloc">prealloc</link> insnum, icount</synopsis><synopsis><link linkend="prealloc">prealloc</link> "insname", icount</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Instrument Control:Initialization and Reinitialization</title>
-<para>
-<para/>
-<synopsis>ares <link linkend="init">init</link> iarg</synopsis><synopsis>ires <link linkend="init">init</link> iarg</synopsis><synopsis>kres <link linkend="init">init</link> iarg</synopsis><para/>
-<synopsis>insno <link linkend="nstrnum">nstrnum</link> "name"</synopsis><para/>
-<synopsis><link linkend="p">p</link>(x) </synopsis><para/>
-<synopsis><link linkend="pset">pset</link> icon1 [, icon2] [...]</synopsis><para/>
-<synopsis><link linkend="reinit">reinit</link> label</synopsis><para/>
-<synopsis><link linkend="rigoto">rigoto</link> label</synopsis><para/>
-<synopsis><link linkend="rireturn">rireturn</link> </synopsis><para/>
-<synopsis>ir <link linkend="tival">tival</link> </synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Instrument Control:Sensing and Control</title>
-<para>
-<para/>
-<synopsis>ktrig <link linkend="changed">changed</link> kvar1 [, kvar2,..., kvarN]</synopsis><para/>
-<synopsis>ares <link linkend="follow">follow</link> asig, idt</synopsis><para/>
-<synopsis>ares <link linkend="follow2">follow2</link> asig, katt, krel</synopsis><para/>
-<synopsis>Svalue <link linkend="getcfg">getcfg</link> iopt</synopsis><para/>
-<synopsis>ktrig  <link linkend="metro">metro</link>  kfreq [, initphase]</synopsis><para/>
-<synopsis>ksig  <link linkend="miditempo">miditempo</link> </synopsis><para/>
-<synopsis>icount <link linkend="pcount">pcount</link> </synopsis><para/>
-<synopsis>kres <link linkend="peak">peak</link> asig</synopsis><synopsis>kres <link linkend="peak">peak</link> ksig</synopsis><para/>
-<synopsis>ivalue <link linkend="pindex">pindex</link> ipfieldIndex</synopsis><para/>
-<synopsis>koct, kamp <link linkend="pitch">pitch</link> asig, iupdte, ilo, ihi, idbthresh [, ifrqs] [, iconf] \
-      [, istrt] [, iocts] [, iq] [, inptls] [, irolloff] [, iskip]</synopsis><para/>
-<synopsis>kcps, krms <link linkend="pitchamdf">pitchamdf</link> asig, imincps, imaxcps [, icps] [, imedi] \
-      [, idowns] [, iexcps] [, irmsmedi]</synopsis><para/>
-<synopsis>kcps, kamp <link linkend="ptrack">ptrack</link> asig, ihopsize[,ipeaks]</synopsis><para/>
-<synopsis>kres <link linkend="rms">rms</link> asig [, ihp] [, iskip]</synopsis><para/>
-<synopsis>kres[, kkeydown] <link linkend="sensekey">sensekey</link> </synopsis><para/>
-<synopsis>ktrig_out <link linkend="seqtime">seqtime</link> ktime_unit, kstart, kloop, kinitndx, kfn_times</synopsis><para/>
-<synopsis>ktrig_out <link linkend="seqtime2">seqtime2</link> ktrig_in, ktime_unit, kstart, kloop, kinitndx, kfn_times</synopsis><para/>
-<synopsis><link linkend="splitrig">splitrig</link> ktrig, kndx, imaxtics, ifn, kout1 [,kout2,...,koutN]</synopsis><para/>
-<synopsis>ktemp <link linkend="tempest">tempest</link> kin, iprd, imindur, imemdur, ihp, ithresh, ihtim, ixfdbak, \
-      istartempo, ifn [, idisprd] [, itweek]</synopsis><para/>
-<synopsis><link linkend="tempo">tempo</link> ktempo, istartempo</synopsis><para/>
-<synopsis>kres <link linkend="tempoval">tempoval</link> </synopsis><para/>
-<synopsis>ktrig  <link linkend="timedseq">timedseq</link>  ktimpnt, ifn, kp1 [,kp2, kp3, ...,kpN]</synopsis><para/>
-<synopsis>kout <link linkend="trigger">trigger</link> ksig, kthreshold, kmode</synopsis><para/>
-<synopsis><link linkend="trigseq">trigseq</link> ktrig_in, kstart, kloop, kinitndx, kfn_values, kout1 [, kout2] [...]</synopsis><para/>
-<synopsis>kx, ky <link linkend="xyin">xyin</link> iprd, ixmin, ixmax, iymin, iymax [, ixinit] [, iyinit]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Instrument Control:Stacks</title>
-<para>
-<para/>
-<synopsis>xval1, [xval2, ... , xval31] <link linkend="pop">pop</link> </synopsis><synopsis>ival1, [ival2, ... , ival31] <link linkend="pop">pop</link> </synopsis><para/>
-<synopsis>fsig <link linkend="pop_f">pop_f</link> </synopsis><para/>
-<synopsis><link linkend="push">push</link>  xval1, [xval2, ... , xval31]</synopsis><synopsis><link linkend="push">push</link>  ival1, [ival2, ... , ival31]</synopsis><para/>
-<synopsis><link linkend="push_f">push_f</link>  fsig</synopsis><para/>
-<synopsis><link linkend="stack">stack</link>  iStackSize</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Instrument Control:Subinstrument Control</title>
-<para>
-<para/>
-<synopsis>a1, [...] [, a8] <link linkend="subinstr">subinstr</link> instrnum [, p4] [, p5] [...]</synopsis><synopsis>a1, [...] [, a8] <link linkend="subinstr">subinstr</link> "insname" [, p4] [, p5] [...]</synopsis><para/>
-<synopsis><link linkend="subinstrinit">subinstrinit</link> instrnum [, p4] [, p5] [...]</synopsis><synopsis><link linkend="subinstrinit">subinstrinit</link> "insname" [, p4] [, p5] [...]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Instrument Control:Time Reading</title>
-<para>
-<para/>
-<synopsis>ir <link linkend="date">date</link> </synopsis><para/>
-<synopsis>Sir <link linkend="dates">dates</link> [ itime]</synopsis><para/>
-<synopsis>ir <link linkend="readclock">readclock</link> inum</synopsis><para/>
-<synopsis>ires <link linkend="rtclock">rtclock</link> </synopsis><synopsis>kres <link linkend="rtclock">rtclock</link> </synopsis><para/>
-<synopsis>kres <link linkend="timeinstk">timeinstk</link> </synopsis><synopsis>kres <link linkend="timeinstk">timeinsts</link> </synopsis><para/>
-<synopsis>kres <link linkend="timeinsts">timeinsts</link> </synopsis><para/>
-<synopsis>ires <link linkend="timek">timek</link> </synopsis><synopsis>kres <link linkend="timek">timek</link> </synopsis><para/>
-<synopsis>ires <link linkend="times">times</link> </synopsis><synopsis>kres <link linkend="times">times</link> </synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Table Control</title>
-<para>
-<para/>
-<synopsis><link linkend="ftfree">ftfree</link> ifno, iwhen</synopsis><para/>
-<synopsis>gir <link linkend="ftgen">ftgen</link> ifn, itime, isize, igen, iarga [, iargb ] [...]</synopsis><para/>
-<synopsis>ifno <link linkend="ftgentmp">ftgentmp</link> ip1, ip2dummy, isize, igen, iarga, iargb, ...</synopsis><para/>
-<synopsis><link linkend="sndload">sndload</link> Sfname[, ifmt[, ichns[, isr[, ibas[, iamp[, istrt   \
-      [, ilpmod[, ilps[, ilpe]]]]]]]]]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Table Control:Table Queries</title>
-<para>
-<para/>
-<synopsis><link linkend="ftchnls">ftchnls</link>(x) (init-rate args only)</synopsis><para/>
-<synopsis><link linkend="ftlen">ftlen</link>(x) (init-rate args only)</synopsis><para/>
-<synopsis><link linkend="ftlptim">ftlptim</link>(x) (init-rate args only)</synopsis><para/>
-<synopsis><link linkend="ftsr">ftsr</link>(x) (init-rate args only)</synopsis><para/>
-<synopsis><link linkend="nsamp">nsamp</link>(x) (init-rate args only)</synopsis><para/>
-<synopsis>ires <link linkend="tableng">tableng</link> ifn</synopsis><synopsis>kres <link linkend="tableng">tableng</link> kfn</synopsis><para/>
-<synopsis><link linkend="tb">tb0_init</link> ifn</synopsis><synopsis><link linkend="tb">tb1_init</link> ifn</synopsis><synopsis><link linkend="tb">tb2_init</link> ifn</synopsis><synopsis><link linkend="tb">tb3_init</link> ifn</synopsis><synopsis><link linkend="tb">tb4_init</link> ifn</synopsis><synopsis><link linkend="tb">tb5_init</link> ifn</synopsis><synopsis><link linkend="tb">tb6_init</link> ifn</synopsis><synopsis><link linkend="tb">tb7_init</link> ifn</synopsis><synopsis><link linkend="tb">tb8_init</link> ifn</synopsis><synopsis><link linkend="tb">tb9_init</link> ifn</synopsis><synopsis><link linkend="tb">tb10_init</link> ifn</synopsis><synopsis><link linkend="tb">tb11_init</link> ifn</synopsis><synopsis><link linkend="tb">tb12_init</link> ifn</synopsis><synopsis><link linkend="tb">tb13_init</link> ifn</synopsis><synopsis><link linkend="tb">tb14_init</link> ifn</synopsis><synopsis><link linkend="tb">tb15_init</link> ifn</synopsis><synopsis>iout = <link linkend="tb">tb0</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb0</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb1</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb1</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb2</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb2</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb3</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb3</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb4</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb4</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb5</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb5</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb6</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb6</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb7</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb7</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb8</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb8</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb9</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb9</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb10</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb10</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb11</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb11</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb12</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb12</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb13</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb13</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb14</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb14</link>(kIndex)</synopsis><synopsis>iout = <link linkend="tb">tb15</link>(iIndex)</synopsis><synopsis>kout = <link linkend="tb">tb15</link>(kIndex)</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Table Control:Dynamic Selection</title>
-<para>
-<para/>
-<synopsis>ares <link linkend="tableikt">tableikt</link> xndx, kfn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>kres <link linkend="tableikt">tableikt</link> kndx, kfn [, ixmode] [, ixoff] [, iwrap]</synopsis><para/>
-<synopsis>ares <link linkend="tablekt">tablekt</link> xndx, kfn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>kres <link linkend="tablekt">tablekt</link> kndx, kfn [, ixmode] [, ixoff] [, iwrap]</synopsis><para/>
-<synopsis>ares <link linkend="tablexkt">tablexkt</link> xndx, kfn, kwarp, iwsize [, ixmode] [, ixoff] [, iwrap]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Table Control:Read/Write Opreations</title>
-<para>
-<para/>
-<synopsis><link linkend="ftload">ftload</link> "filename", iflag, ifn1 [, ifn2] [...]</synopsis><para/>
-<synopsis><link linkend="ftloadk">ftloadk</link> "filename", ktrig, iflag, ifn1 [, ifn2] [...]</synopsis><para/>
-<synopsis><link linkend="ftsave">ftsave</link> "filename", iflag, ifn1 [, ifn2] [...]</synopsis><para/>
-<synopsis><link linkend="ftsavek">ftsavek</link> "filename", ktrig, iflag, ifn1 [, ifn2] [...]</synopsis><para/>
-<synopsis><link linkend="tablecopy">tablecopy</link> kdft, ksft</synopsis><para/>
-<synopsis><link linkend="tablegpw">tablegpw</link> kfn</synopsis><para/>
-<synopsis><link linkend="tableicopy">tableicopy</link> idft, isft</synopsis><para/>
-<synopsis><link linkend="tableigpw">tableigpw</link> ifn</synopsis><para/>
-<synopsis><link linkend="tableimix">tableimix</link> idft, idoff, ilen, is1ft, is1off, is1g, is2ft, is2off, is2g</synopsis><para/>
-<synopsis><link linkend="tableiw">tableiw</link> isig, indx, ifn [, ixmode] [, ixoff] [, iwgmode]</synopsis><para/>
-<synopsis><link linkend="tablemix">tablemix</link> kdft, kdoff, klen, ks1ft, ks1off, ks1g, ks2ft, ks2off, ks2g</synopsis><para/>
-<synopsis>ares <link linkend="tablera">tablera</link> kfn, kstart, koff</synopsis><para/>
-<synopsis><link linkend="tablew">tablew</link> asig, andx, ifn [, ixmode] [, ixoff] [, iwgmode]</synopsis><synopsis><link linkend="tablew">tablew</link> isig, indx, ifn [, ixmode] [, ixoff] [, iwgmode]</synopsis><synopsis><link linkend="tablew">tablew</link> ksig, kndx, ifn [, ixmode] [, ixoff] [, iwgmode]</synopsis><para/>
-<synopsis>kstart <link linkend="tablewa">tablewa</link> kfn, asig, koff</synopsis><para/>
-<synopsis><link linkend="tablewkt">tablewkt</link> asig, andx, kfn [, ixmode] [, ixoff] [, iwgmode]</synopsis><synopsis><link linkend="tablewkt">tablewkt</link> ksig, kndx, kfn [, ixmode] [, ixoff] [, iwgmode]</synopsis><para/>
-<synopsis>kout <link linkend="tabmorph">tabmorph</link> kindex, kweightpoint, ktabnum1, ktabnum2, \
-      ifn1, ifn2 [, ifn3, ifn4, ... ifnN]</synopsis><para/>
-<synopsis>aout <link linkend="tabmorpha">tabmorpha</link> aindex, aweightpoint, atabnum1, atabnum2, \
-      ifn1, ifn2 [, ifn3, ifn4, ... ifnN]</synopsis><para/>
-<synopsis>aout <link linkend="tabmorphak">tabmorphak</link> aindex, kweightpoint, ktabnum1, ktabnum2, \
-      ifn1, ifn2 [, ifn3, ifn4, ... ifnN]</synopsis><para/>
-<synopsis>kout <link linkend="tabmorphi">tabmorphi</link> kindex, kweightpoint, ktabnum1, ktabnum2, \
-      ifn1, ifn2 [, ifn3, ifn4, ... ifnN]</synopsis><para/>
-<synopsis><link linkend="tabplay">tabplay</link>  ktrig, knumtics, kfn, kout1 [,kout2,..., koutN]</synopsis><para/>
-<synopsis><link linkend="tabrec">tabrec</link>   ktrig_start, ktrig_stop, knumtics, kfn, kin1 [,kin2,...,kinN]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>FLTK:Other</title>
-<para>
-<para/>
-<synopsis><link linkend="vphaseseg">vphaseseg</link> kphase, ioutab, ielems, itab1,idist1,itab2 \
-      [,idist2,itab3, ... ,idistN-1,itabN]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Mathematical Operations:Arithmetic and Logic Operations</title>
-<para>
-<para/>
-<synopsis>a <link linkend="adds">+</link> b  (no rate restriction)</synopsis>
-<para/>
-<synopsis>a <link linkend="divides">/</link> b  (no rate restriction)</synopsis>
-<para/>
-<synopsis>a <link linkend="modulus">%</link> b  (no rate restriction)</synopsis>
-<para/>
-<synopsis>a <link linkend="multiplies">*</link> b  (no rate restriction)</synopsis>
-<para/>
-<synopsis>a <link linkend="opbitor">|</link> b  (bitwise OR)</synopsis>
-<para/>
-<synopsis>a <link linkend="opor">||</link> b  (logical OR; not audio-rate)</synopsis>
-<para/>
-<synopsis>a <link linkend="raises">ˆ</link> b  (b not audio-rate)</synopsis>
-<para/>
-<synopsis>a <link linkend="subtracts">−</link> b (no rate restriction)</synopsis>
-<para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Mathematical Operations:Comparators and Accumulators</title>
-<para>
-<para/>
-<synopsis><link linkend="clear">clear</link> avar1 [, avar2] [, avar3] [...]</synopsis><para/>
-<synopsis><link linkend="vincr">vincr</link> accum, aincr</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Mathematical Operations:Mathematical Functions</title>
-<para>
-<para/>
-<synopsis><link linkend="abs">abs</link>(x) (no rate restriction)</synopsis><para/>
-<synopsis><link linkend="ceil">ceil</link>(x) (init-, control-, or audio-rate arg allowed)</synopsis><para/>
-<synopsis><link linkend="exp">exp</link>(x) (no rate restriction)</synopsis><para/>
-<synopsis><link linkend="floor">floor</link>(x) (init-, control-, or audio-rate arg allowed)</synopsis><para/>
-<synopsis><link linkend="frac">frac</link>(x) (init-rate or control-rate args; also works at audio rate in Csound5)</synopsis><para/>
-<synopsis><link linkend="int">int</link>(x)  (init-rate or control-rate; also works at audio rate in Csound5)</synopsis><para/>
-<synopsis><link linkend="log">log</link>(x) (no rate restriction)</synopsis><para/>
-<synopsis><link linkend="log10">log10</link>(x) (no rate restriction)</synopsis><para/>
-<synopsis><link linkend="logbtwo">logbtwo</link>(x)  (init-rate or control-rate args only)</synopsis><para/>
-<synopsis><link linkend="powoftwo">powoftwo</link>(x)  (init-rate or control-rate args only)</synopsis><para/>
-<synopsis><link linkend="round">round</link>(x) (init-, control-, or audio-rate arg allowed)</synopsis><para/>
-<synopsis><link linkend="sqrt">sqrt</link>(x) (no rate restriction)</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Mathematical Operations:Trigonometric Functions</title>
-<para>
-<para/>
-<synopsis><link linkend="cos">cos</link>(x) (no rate restriction)</synopsis><para/>
-<synopsis><link linkend="cosh">cosh</link>(x) (no rate restriction)</synopsis><para/>
-<synopsis><link linkend="cosinv">cosinv</link>(x) (no rate restriction)</synopsis><para/>
-<synopsis><link linkend="sin">sin</link>(x) (no rate restriction)</synopsis><para/>
-<synopsis><link linkend="sinh">sinh</link>(x) (no rate restriction)</synopsis><para/>
-<synopsis><link linkend="sininv">sininv</link>(x) (no rate restriction)</synopsis><para/>
-<synopsis><link linkend="tan">tan</link>(x) (no rate restriction)</synopsis><para/>
-<synopsis><link linkend="tanh">tanh</link>(x) (no rate restriction)</synopsis><para/>
-<synopsis><link linkend="taninv">taninv</link>(x) (no rate restriction)</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Mathematical Operations:Amplitude Functions</title>
-<para>
-<para/>
-<synopsis><link linkend="ampdb">ampdb</link>(x)  (no rate restriction)</synopsis><para/>
-<synopsis><link linkend="ampdbfs">ampdbfs</link>(x)  (no rate restriction)</synopsis><para/>
-<synopsis><link linkend="db">db</link>(x)</synopsis><para/>
-<synopsis><link linkend="dbamp">dbamp</link>(x)  (init-rate or control-rate args only)</synopsis><para/>
-<synopsis><link linkend="dbfsamp">dbfsamp</link>(x)  (init-rate or control-rate args only)</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Mathematical Operations:Random Functions</title>
-<para>
-<para/>
-<synopsis><link linkend="birnd">birnd</link>(x) (init- or control-rate only)</synopsis><para/>
-<synopsis><link linkend="rnd">rnd</link>(x) (init- or control-rate only)</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Mathematical Operations:Opcode Equivalents of Functions</title>
-<para>
-<para/>
-<synopsis>ares <link linkend="divz">divz</link> xa, xb, ksubst</synopsis><synopsis>ires <link linkend="divz">divz</link> ia, ib, isubst</synopsis><synopsis>kres <link linkend="divz">divz</link> ka, kb, ksubst</synopsis><para/>
-<synopsis>ares <link linkend="mac">mac</link> asig1, ksig1 [, asig2] [, ksig2] [, asig3] [, ksig3] [...]</synopsis><para/>
-<synopsis>ares <link linkend="maca">maca</link> asig1 , asig2 [, asig3] [, asig4] [, asig5] [...]</synopsis><para/>
-<synopsis>aout <link linkend="polynomial">polynomial</link> ain, k0 [, k1 [, k2 [...]]]</synopsis><para/>
-<synopsis>ares <link linkend="pow">pow</link> aarg, kpow [, inorm]</synopsis><synopsis>ires <link linkend="pow">pow</link> iarg, ipow [, inorm]</synopsis><synopsis>kres <link linkend="pow">pow</link> karg, kpow [, inorm]</synopsis><para/>
-<synopsis>ares <link linkend="product">product</link> asig1, asig2 [, asig3] [...]</synopsis><para/>
-<synopsis>ares <link linkend="sum">sum</link> asig1 [, asig2] [, asig3] [...]</synopsis><para/>
-<synopsis>ares <link linkend="taninv2">taninv2</link> ay, ax</synopsis><synopsis>ires <link linkend="taninv2">taninv2</link> iy, ix</synopsis><synopsis>kres <link linkend="taninv2">taninv2</link> ky, kx</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Pitch Converters:Functions</title>
-<para>
-<para/>
-<synopsis><link linkend="cent">cent</link>(x) </synopsis><para/>
-<synopsis><link linkend="cpsmidinn">cpsmidinn</link> (MidiNoteNumber)  (init- or control-rate args only)</synopsis><para/>
-<synopsis><link linkend="cpsoct">cpsoct</link> (oct)  (no rate restriction)</synopsis><para/>
-<synopsis><link linkend="cpspch">cpspch</link> (pch)  (init- or control-rate args only)</synopsis><para/>
-<synopsis><link linkend="octave">octave</link>(x)</synopsis><para/>
-<synopsis><link linkend="octcps">octcps</link> (cps)  (init- or control-rate args only)</synopsis><para/>
-<synopsis><link linkend="octmidinn">octmidinn</link> (MidiNoteNumber)  (init- or control-rate args only)</synopsis><para/>
-<synopsis><link linkend="octpch">octpch</link> (pch)  (init- or control-rate args only)</synopsis><para/>
-<synopsis><link linkend="pchmidinn">pchmidinn</link> (MidiNoteNumber)  (init- or control-rate args only)</synopsis><para/>
-<synopsis><link linkend="pchoct">pchoct</link> (oct)  (init- or control-rate args only)</synopsis><para/>
-<synopsis><link linkend="semitone">semitone</link>(x)</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Pitch Converters:Tuning Opcodes</title>
-<para>
-<para/>
-<synopsis>icps <link linkend="cps2pch">cps2pch</link> ipch, iequal</synopsis><para/>
-<synopsis>kcps <link linkend="cpstun">cpstun</link> ktrig, kindex, kfn</synopsis><para/>
-<synopsis>icps <link linkend="cpstuni">cpstuni</link> index, ifn</synopsis><para/>
-<synopsis>icps <link linkend="cpsxpch">cpsxpch</link> ipch, iequal, irepeat, ibase</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Real-time MIDI:Input</title>
-<para>
-<para/>
-<synopsis>kaft <link linkend="aftouch">aftouch</link> [imin] [, imax]</synopsis><para/>
-<synopsis>ival <link linkend="chanctrl">chanctrl</link> ichnl, ictlno [, ilow] [, ihigh]</synopsis><synopsis>kval <link linkend="chanctrl">chanctrl</link> ichnl, ictlno [, ilow] [, ihigh]</synopsis><para/>
-<synopsis>idest <link linkend="ctrl14">ctrl14</link> ichan, ictlno1, ictlno2, imin, imax [, ifn]</synopsis><synopsis>kdest <link linkend="ctrl14">ctrl14</link> ichan, ictlno1, ictlno2, kmin, kmax [, ifn]</synopsis><para/>
-<synopsis>idest <link linkend="ctrl21">ctrl21</link> ichan, ictlno1, ictlno2, ictlno3, imin, imax [, ifn]</synopsis><synopsis>kdest <link linkend="ctrl21">ctrl21</link> ichan, ictlno1, ictlno2, ictlno3, kmin, kmax [, ifn]</synopsis><para/>
-<synopsis>idest <link linkend="ctrl7">ctrl7</link> ichan, ictlno, imin, imax [, ifn]</synopsis><synopsis>kdest <link linkend="ctrl7">ctrl7</link> ichan, ictlno, kmin, kmax [, ifn]</synopsis><synopsis>adest <link linkend="ctrl7">ctrl7</link> ichan, ictlno, kmin, kmax [, ifn] [, icutoff]</synopsis><para/>
-<synopsis><link linkend="ctrlinit">ctrlinit</link> ichnl, ictlno1, ival1 [, ictlno2] [, ival2] [, ictlno3] \
-      [, ival3] [,...ival32]</synopsis><para/>
-<synopsis><link linkend="initc14">initc14</link> ichan, ictlno1, ictlno2, ivalue</synopsis><para/>
-<synopsis><link linkend="initc21">initc21</link> ichan, ictlno1, ictlno2, ictlno3, ivalue</synopsis><para/>
-<synopsis><link linkend="initc7">initc7</link> ichan, ictlno, ivalue</synopsis><para/>
-<synopsis><link linkend="massign">massign</link> ichnl, insnum[, ireset]</synopsis><synopsis><link linkend="massign">massign</link> ichnl, "insname"[, ireset]</synopsis><para/>
-<synopsis>idest <link linkend="midic14">midic14</link> ictlno1, ictlno2, imin, imax [, ifn]</synopsis><synopsis>kdest <link linkend="midic14">midic14</link> ictlno1, ictlno2, kmin, kmax [, ifn]</synopsis><para/>
-<synopsis>idest <link linkend="midic21">midic21</link> ictlno1, ictlno2, ictlno3, imin, imax [, ifn]</synopsis><synopsis>kdest <link linkend="midic21">midic21</link> ictlno1, ictlno2, ictlno3, kmin, kmax [, ifn]</synopsis><para/>
-<synopsis>idest <link linkend="midic7">midic7</link> ictlno, imin, imax [, ifn]</synopsis><synopsis>kdest <link linkend="midic7">midic7</link> ictlno, kmin, kmax [, ifn]</synopsis><para/>
-<synopsis>ival <link linkend="midictrl">midictrl</link> inum [, imin] [, imax]</synopsis><synopsis>kval <link linkend="midictrl">midictrl</link> inum [, imin] [, imax]</synopsis><para/>
-<synopsis>ival <link linkend="notnum">notnum</link> </synopsis><para/>
-<synopsis>ibend <link linkend="pchbend">pchbend</link> [imin] [, imax]</synopsis><synopsis>kbend <link linkend="pchbend">pchbend</link> [imin] [, imax]</synopsis><para/>
-<synopsis><link linkend="pgmassign">pgmassign</link> ipgm, inst[, ichn]</synopsis><synopsis><link linkend="pgmassign">pgmassign</link> ipgm, "insname"[, ichn]</synopsis><para/>
-<synopsis>ires <link linkend="polyaft">polyaft</link> inote [, ilow] [, ihigh]</synopsis><synopsis>kres <link linkend="polyaft">polyaft</link> inote [, ilow] [, ihigh]</synopsis><para/>
-<synopsis>ival <link linkend="veloc">veloc</link> [ilow] [, ihigh]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Real-time MIDI:Output</title>
-<para>
-<para/>
-<synopsis><link linkend="nrpn">nrpn</link> kchan, kparmnum, kparmvalue</synopsis><para/>
-<synopsis><link linkend="outiat">outiat</link> ichn, ivalue, imin, imax</synopsis><para/>
-<synopsis><link linkend="outic">outic</link> ichn, inum, ivalue, imin, imax</synopsis><para/>
-<synopsis><link linkend="outic14">outic14</link> ichn, imsb, ilsb, ivalue, imin, imax</synopsis><para/>
-<synopsis><link linkend="outipat">outipat</link> ichn, inotenum, ivalue, imin, imax</synopsis><para/>
-<synopsis><link linkend="outipb">outipb</link> ichn, ivalue, imin, imax</synopsis><para/>
-<synopsis><link linkend="outipc">outipc</link> ichn, iprog, imin, imax</synopsis><para/>
-<synopsis><link linkend="outkat">outkat</link> kchn, kvalue, kmin, kmax</synopsis><para/>
-<synopsis><link linkend="outkc">outkc</link> kchn, knum, kvalue, kmin, kmax</synopsis><para/>
-<synopsis><link linkend="outkc14">outkc14</link> kchn, kmsb, klsb, kvalue, kmin, kmax</synopsis><para/>
-<synopsis><link linkend="outkpat">outkpat</link> kchn, knotenum, kvalue, kmin, kmax</synopsis><para/>
-<synopsis><link linkend="outkpb">outkpb</link> kchn, kvalue, kmin, kmax</synopsis><para/>
-<synopsis><link linkend="outkpc">outkpc</link> kchn, kprog, kmin, kmax</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Real-time MIDI:Converters</title>
-<para>
-<para/>
-<synopsis>iamp <link linkend="ampmidi">ampmidi</link> iscal [, ifn]</synopsis><para/>
-<synopsis>icps <link linkend="cpsmidi">cpsmidi</link> </synopsis><para/>
-<synopsis>icps <link linkend="cpsmidib">cpsmidib</link> [irange]</synopsis><synopsis>kcps <link linkend="cpsmidib">cpsmidib</link> [irange]</synopsis><para/>
-<synopsis>icps <link linkend="cpstmid">cpstmid</link> ifn</synopsis><para/>
-<synopsis>ioct <link linkend="octmidi">octmidi</link> </synopsis><para/>
-<synopsis>ioct <link linkend="octmidib">octmidib</link> [irange]</synopsis><synopsis>koct <link linkend="octmidib">octmidib</link> [irange]</synopsis><para/>
-<synopsis>ipch <link linkend="pchmidi">pchmidi</link> </synopsis><para/>
-<synopsis>ipch <link linkend="pchmidib">pchmidib</link> [irange]</synopsis><synopsis>kpch <link linkend="pchmidib">pchmidib</link> [irange]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Real-time MIDI:Generic I/O</title>
-<para>
-<para/>
-<synopsis>kstatus, kchan, kdata1, kdata2 <link linkend="midiin">midiin</link> </synopsis><para/>
-<synopsis><link linkend="midiout">midiout</link> kstatus, kchan, kdata1, kdata2</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Real-time MIDI:Event Extenders</title>
-<para>
-<para/>
-<synopsis>kflag <link linkend="release">release</link> </synopsis><para/>
-<synopsis><link linkend="xtratim">xtratim</link> iextradur</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Real-time MIDI:Note Output</title>
-<para>
-<para/>
-<synopsis><link linkend="midion">midion</link> kchn, knum, kvel</synopsis><para/>
-<synopsis><link linkend="midion2">midion2</link> kchn, knum, kvel, ktrig</synopsis><para/>
-<synopsis><link linkend="moscil">moscil</link> kchn, knum, kvel, kdur, kpause</synopsis><para/>
-<synopsis><link linkend="noteoff">noteoff</link> ichn, inum, ivel</synopsis><para/>
-<synopsis><link linkend="noteon">noteon</link> ichn, inum, ivel</synopsis><para/>
-<synopsis><link linkend="noteondur">noteondur</link> ichn, inum, ivel, idur</synopsis><para/>
-<synopsis><link linkend="noteondur2">noteondur2</link> ichn, inum, ivel, idur</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Real-time MIDI:MIDI/Score Interoperability</title>
-<para>
-<para/>
-<synopsis><link linkend="midichannelaftertouch">midichannelaftertouch</link> xchannelaftertouch [, ilow] [, ihigh]</synopsis><para/>
-<synopsis>ichn <link linkend="midichn">midichn</link> </synopsis><para/>
-<synopsis><link linkend="midicontrolchange">midicontrolchange</link> xcontroller, xcontrollervalue [, ilow] [, ihigh]</synopsis><para/>
-<synopsis><link linkend="mididefault">mididefault</link> xdefault, xvalue</synopsis><para/>
-<synopsis><link linkend="midinoteoff">midinoteoff</link> xkey, xvelocity</synopsis><para/>
-<synopsis><link linkend="midinoteoncps">midinoteoncps</link> xcps, xvelocity</synopsis><para/>
-<synopsis><link linkend="midinoteonkey">midinoteonkey</link> xkey, xvelocity</synopsis><para/>
-<synopsis><link linkend="midinoteonoct">midinoteonoct</link> xoct, xvelocity</synopsis><para/>
-<synopsis><link linkend="midinoteonpch">midinoteonpch</link> xpch, xvelocity</synopsis><para/>
-<synopsis><link linkend="midipitchbend">midipitchbend</link> xpitchbend [, ilow] [, ihigh]</synopsis><para/>
-<synopsis><link linkend="midipolyaftertouch">midipolyaftertouch</link> xpolyaftertouch, xcontrollervalue [, ilow] [, ihigh]</synopsis><para/>
-<synopsis><link linkend="midiprogramchange">midiprogramchange</link> xprogram</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Real-time MIDI:System Realtime</title>
-<para>
-<para/>
-<synopsis><link linkend="mclock">mclock</link> ifreq</synopsis><para/>
-<synopsis><link linkend="mrtmsg">mrtmsg</link> imsgtype</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Real-time MIDI:Slider Banks</title>
-<para>
-<para/>
-<synopsis>i1,...,i16 <link linkend="s16b14">s16b14</link> ichan, ictlno_msb1, ictlno_lsb1, imin1, imax1, \
-      initvalue1, ifn1,..., ictlno_msb16, ictlno_lsb16, imin16, imax16, initvalue16, ifn16</synopsis><synopsis>k1,...,k16 <link linkend="s16b14">s16b14</link> ichan, ictlno_msb1, ictlno_lsb1, imin1, imax1, \
-      initvalue1, ifn1,..., ictlno_msb16, ictlno_lsb16, imin16, imax16, initvalue16, ifn16</synopsis><para/>
-<synopsis>i1,...,i32 <link linkend="s32b14">s32b14</link> ichan, ictlno_msb1, ictlno_lsb1, imin1, imax1, \
-      initvalue1, ifn1,..., ictlno_msb32, ictlno_lsb32, imin32, imax32, initvalue32, ifn32</synopsis><synopsis>k1,...,k32 <link linkend="s32b14">s32b14</link> ichan, ictlno_msb1, ictlno_lsb1, imin1, imax1, \
-      initvalue1, ifn1,..., ictlno_msb32, ictlno_lsb32, imin32, imax32, initvalue32, ifn32</synopsis><para/>
-<synopsis>i1,...,i16 <link linkend="slider16">slider16</link> ichan, ictlnum1, imin1, imax1, init1, ifn1,..., \
-      ictlnum16, imin16, imax16, init16, ifn16</synopsis><synopsis>k1,...,k16 <link linkend="slider16">slider16</link> ichan, ictlnum1, imin1, imax1, init1, ifn1,..., \
-      ictlnum16, imin16, imax16, init16, ifn16</synopsis><para/>
-<synopsis>k1,...,k16 <link linkend="slider16f">slider16f</link> ichan, ictlnum1, imin1, imax1, init1, ifn1, \
-      icutoff1,..., ictlnum16, imin16, imax16, init16, ifn16, icutoff16</synopsis><para/>
-<synopsis>kflag <link linkend="slider16table">slider16table</link> ichan, ioutTable, ioffset, ictlnum1, imin1, imax1, \
-      init1, ifn1, .... , ictlnum16, imin16, imax16, init16, ifn16</synopsis><para/>
-<synopsis>kflag <link linkend="slider16tablef">slider16tablef</link> ichan, ioutTable, ioffset, ictlnum1, imin1, imax1, \
-      init1, ifn1, icutoff1, .... , ictlnum16, imin16, imax16, init16, ifn16, icutoff16</synopsis><para/>
-<synopsis>i1,...,i32 <link linkend="slider32">slider32</link> ichan, ictlnum1, imin1, imax1, init1, ifn1,..., \
-      ictlnum32, imin32, imax32, init32, ifn32</synopsis><synopsis>k1,...,k32 <link linkend="slider32">slider32</link> ichan, ictlnum1, imin1, imax1, init1, ifn1,..., \
-      ictlnum32, imin32, imax32, init32, ifn32</synopsis><para/>
-<synopsis>k1,...,k32 <link linkend="slider32f">slider32f</link> ichan, ictlnum1, imin1, imax1, init1, ifn1, icutoff1, \
-      ..., ictlnum32, imin32, imax32, init32, ifn32, icutoff32</synopsis><para/>
-<synopsis>kflag <link linkend="slider32table">slider32table</link> ichan, ioutTable, ioffset, ictlnum1, imin1, \
-      imax1, init1, ifn1, .... , ictlnum32, imin32, imax32, init32, ifn32</synopsis><para/>
-<synopsis>kflag <link linkend="slider32tablef">slider32tablef</link> ichan, ioutTable, ioffset, ictlnum1, imin1, imax1, \
-      init1, ifn1, icutoff1, .... , ictlnum32, imin32, imax32, init32, ifn32, icutoff32</synopsis><para/>
-<synopsis>i1,...,i64 <link linkend="slider64">slider64</link> ichan, ictlnum1, imin1, imax1, init1, ifn1,..., \
-      ictlnum64, imin64, imax64, init64, ifn64</synopsis><synopsis>k1,...,k64 <link linkend="slider64">slider64</link> ichan, ictlnum1, imin1, imax1, init1, ifn1,..., \
-      ictlnum64, imin64, imax64, init64, ifn64</synopsis><para/>
-<synopsis>k1,...,k64 <link linkend="slider64f">slider64f</link> ichan, ictlnum1, imin1, imax1, init1, ifn1, \
-      icutoff1,..., ictlnum64, imin64, imax64, init64, ifn64, icutoff64</synopsis><para/>
-<synopsis>kflag <link linkend="slider64table">slider64table</link> ichan, ioutTable, ioffset, ictlnum1, imin1, \
-      imax1, init1, ifn1, .... , ictlnum64, imin64, imax64, init64, ifn64</synopsis><para/>
-<synopsis>kflag <link linkend="slider64tablef">slider64tablef</link> ichan, ioutTable, ioffset, ictlnum1, imin1, imax1, \
-      init1, ifn1, icutoff1, .... , ictlnum64, imin64, imax64, init64, ifn64, icutoff64</synopsis><para/>
-<synopsis>i1,...,i8 <link linkend="slider8">slider8</link> ichan, ictlnum1, imin1, imax1, init1, ifn1,..., \
-      ictlnum8, imin8, imax8, init8, ifn8</synopsis><synopsis>k1,...,k8 <link linkend="slider8">slider8</link> ichan, ictlnum1, imin1, imax1, init1, ifn1,..., \
-      ictlnum8, imin8, imax8, init8, ifn8</synopsis><para/>
-<synopsis>k1,...,k8 <link linkend="slider8f">slider8f</link> ichan, ictlnum1, imin1, imax1, init1, ifn1, icutoff1, \
-      ..., ictlnum8, imin8, imax8, init8, ifn8, icutoff8</synopsis><para/>
-<synopsis>kflag <link linkend="slider8table">slider8table</link> ichan, ioutTable, ioffset, ictlnum1, imin1, imax1, \
-      init1, ifn1,..., ictlnum8, imin8, imax8, init8, ifn8</synopsis><para/>
-<synopsis>kflag <link linkend="slider8tablef">slider8tablef</link> ichan, ioutTable, ioffset, ictlnum1, imin1, imax1, \
-      init1, ifn1, icutoff1, .... , ictlnum8, imin8, imax8, init8, ifn8, icutoff8</synopsis><para/>
-<synopsis>k1, k2, ...., k16 <link linkend="sliderKawai">sliderKawai</link> imin1, imax1, init1, ifn1, \
-      imin2, imax2, init2, ifn2, ..., imin16, imax16, init16, ifn16</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Spectral Processing:STFT</title>
-<para>
-<para/>
-<synopsis><link linkend="ktableseg">ktableseg</link> ifn1, idur1, ifn2 [, idur2] [, ifn3] [...]</synopsis><para/>
-<synopsis>ares <link linkend="pvadd">pvadd</link> ktimpnt, kfmod, ifilcod, ifn, ibins [, ibinoffset] \
-      [, ibinincr] [, iextractmode] [, ifreqlim] [, igatefn]</synopsis><para/>
-<synopsis><link linkend="pvbufread">pvbufread</link> ktimpnt, ifile</synopsis><para/>
-<synopsis>ares <link linkend="pvcross">pvcross</link> ktimpnt, kfmod, ifile, kampscale1, kampscale2 [, ispecwp]</synopsis><para/>
-<synopsis>ares <link linkend="pvinterp">pvinterp</link> ktimpnt, kfmod, ifile, kfreqscale1, kfreqscale2, \
-      kampscale1, kampscale2, kfreqinterp, kampinterp</synopsis><para/>
-<synopsis>ares <link linkend="pvoc">pvoc</link> ktimpnt, kfmod, ifilcod [, ispecwp] [, iextractmode] \
-      [, ifreqlim] [, igatefn]</synopsis><para/>
-<synopsis>kfreq, kamp <link linkend="pvread">pvread</link> ktimpnt, ifile, ibin</synopsis><para/>
-<synopsis><link linkend="tableseg">tableseg</link> ifn1, idur1, ifn2 [, idur2] [, ifn3] [...]</synopsis><para/>
-<synopsis><link linkend="tablexseg">tablexseg</link> ifn1, idur1, ifn2 [, idur2] [, ifn3] [...]</synopsis><para/>
-<synopsis>ares <link linkend="vpvoc">vpvoc</link> ktimpnt, kfmod, ifile [, ispecwp] [, ifn]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Spectral Processing:LPC</title>
-<para>
-<para/>
-<synopsis>ares <link linkend="lpfreson">lpfreson</link> asig, kfrqratio</synopsis><para/>
-<synopsis><link linkend="lpinterp">lpinterp</link> islot1, islot2, kmix</synopsis><para/>
-<synopsis>krmsr, krmso, kerr, kcps <link linkend="lpread">lpread</link> ktimpnt, ifilcod [, inpoles] [, ifrmrate]</synopsis><para/>
-<synopsis>ares <link linkend="lpreson">lpreson</link> asig</synopsis><para/>
-<synopsis><link linkend="lpslot">lpslot</link> islot</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Spectral Processing:Streaming</title>
-<para>
-<para/>
-<synopsis>fsig <link linkend="binit">binit</link> fin, isize</synopsis><para/>
-<synopsis>ftrks <link linkend="partials">partials</link> ffr, fphs, kthresh, kminpts, kmaxgap, imaxtracks</synopsis><para/>
-<synopsis>ares <link linkend="pvsadsyn">pvsadsyn</link> fsrc, inoscs, kfmod [, ibinoffset] [, ibinincr] [, iinit]</synopsis><para/>
-<synopsis>fsig <link linkend="pvsanal">pvsanal</link> ain, ifftsize, ioverlap, iwinsize, iwintype [, iformat] [, iinit]</synopsis><para/>
-<synopsis>fsig <link linkend="pvsarp">pvsarp</link> fsigin, kbin, kdepth, kgain</synopsis><para/>
-<synopsis>fsig <link linkend="pvsbandp">pvsbandp</link> fsigin, xlowcut,
-      xlowfull, xhighfull, xhighcut[, ktype]</synopsis><para/>
-<synopsis>fsig <link linkend="pvsbandr">pvsbandr</link> fsigin, xlowcut,
-    xlowfull, xhighfull, xhighcut[, ktype]</synopsis><para/>
-<synopsis>kamp, kfr <link linkend="pvsbin">pvsbin</link> fsig, kbin</synopsis><para/>
-<synopsis>fsig <link linkend="pvsblur">pvsblur</link> fsigin, kblurtime, imaxdel</synopsis><para/>
-<synopsis>ihandle, ktime  <link linkend="pvsbuffer">pvsbuffer</link> fsig, ilen </synopsis><para/>
-<synopsis>fsig <link linkend="pvsbufread">pvsbufread</link>  ktime, khandle[, ilo, ihi] </synopsis><para/>
-<synopsis>fsig <link linkend="pvscale">pvscale</link> fsigin, kscal[, ikeepform, igain]]</synopsis><para/>
-<synopsis>kcent <link linkend="pvscent">pvscent</link> fsig</synopsis><para/>
-<synopsis>fsig <link linkend="pvscross">pvscross</link> fsrc, fdest, kamp1, kamp2</synopsis><para/>
-<synopsis>fsig <link linkend="pvsdemix">pvsdemix</link> fleft, fright, kpos, kwidth, ipoints</synopsis><para/>
-<synopsis>fsig <link linkend="pvsdiskin">pvsdiskin</link>SFname,ktscal,kgain[,ioffset, ichan]</synopsis><para/>
-<synopsis><link linkend="pvsdisp">pvsdisp</link> fsig[, ibins, iwtflg] </synopsis><para/>
-<synopsis>fsig <link linkend="pvsfilter">pvsfilter</link> fsigin, fsigfil, kdepth[, igain]</synopsis><para/>
-<synopsis>fsig <link linkend="pvsfread">pvsfread</link> ktimpt, ifn [, ichan]</synopsis><para/>
-<synopsis>fsig <link linkend="pvsfreeze">pvsfreeze</link> fsigin, kfreeza, kfreezf</synopsis><para/>
-<synopsis><link linkend="pvsftr">pvsftr</link> fsrc, ifna [, ifnf]</synopsis><para/>
-<synopsis>kflag <link linkend="pvsftw">pvsftw</link> fsrc, ifna [, ifnf]</synopsis><para/>
-<synopsis><link linkend="pvsfwrite">pvsfwrite</link> fsig, ifile</synopsis><para/>
-<synopsis>fsig <link linkend="pvshift">pvshift</link> fsigin, kshift, klowest[, ikeepform, igain]</synopsis><para/>
-<synopsis>ffr,fphs <link linkend="pvsifd">pvsifd</link> ain, ifftsize, ihopsize, iwintype[,iscal]</synopsis><para/>
-<synopsis>fsig <link linkend="pvsin">pvsin</link> kchan[,isize,iolap,iwinsize,iwintype,iformat]</synopsis><para/>
-<synopsis>ioverlap, inumbins, iwinsize, iformat <link linkend="pvsinfo">pvsinfo</link> fsrc</synopsis><para/>
-<synopsis>fsig <link linkend="pvsinit">pvsinit</link> isize[,iolap,iwinsize,iwintype, iformat]</synopsis><para/>
-<synopsis>fsig <link linkend="pvsmaska">pvsmaska</link> fsrc, ifn, kdepth</synopsis><para/>
-<synopsis>fsig <link linkend="pvsmix">pvsmix</link> fsigin1, fsigin2</synopsis><para/>
-<synopsis>fsig <link linkend="pvsmooth">pvsmooth</link> fsigin, kacf, kfcf</synopsis><para/>
-<synopsis>fsig <link linkend="pvsmorph">pvsmorph</link> fsig1, fsig2, kampint, kfrqint</synopsis><para/>
-<synopsis>fsig <link linkend="pvsosc">pvsosc</link> kamp, kfreq, ktype, isize [,ioverlap] [, iwinsize] [, iwintype] [, iformat]</synopsis><para/>
-<synopsis><link linkend="pvsout">pvsout</link> fsig, kchan</synopsis><para/>
-<synopsis>kfr, kamp <link linkend="pvspitch">pvspitch</link> fsig, kthresh</synopsis><para/>
-<synopsis>fsig <link linkend="pvstencil">pvstencil</link> fsigin, kgain, klevel, iftable</synopsis><para/>
-<synopsis>fsig <link linkend="pvsvoc">pvsvoc</link> famp, fexc, kdepth, kgain</synopsis><para/>
-<synopsis>ares <link linkend="pvsynth">pvsynth</link> fsrc, [iinit]</synopsis><para/>
-<synopsis>asig <link linkend="resyn">resyn</link> fin, kscal, kpitch, kmaxtracks, ifn</synopsis><para/>
-<synopsis>asig <link linkend="sinsyn">sinsyn</link> fin, kscal,  kmaxtracks, ifn</synopsis><para/>
-<synopsis>asig <link linkend="tradsyn">tradsyn</link> fin, kscal, kpitch, kmaxtracks, ifn</synopsis><para/>
-<synopsis>fsig <link linkend="trcross">trcross</link> fin1, fin2, ksearch,kdepth[,kmode] </synopsis><para/>
-<synopsis>fsig <link linkend="trfilter">trfilter</link> fin, kamnt, ifn</synopsis><para/>
-<synopsis>fsig, kfr,kamp <link linkend="trhighest">trhighest</link> fin1, kscal</synopsis><para/>
-<synopsis>fsig, kfr,kamp <link linkend="trlowest">trlowest</link> fin1, kscal</synopsis><para/>
-<synopsis>fsig <link linkend="trmix">trmix</link> fin1, fin2 </synopsis><para/>
-<synopsis>fsig <link linkend="trscale">trscale</link> fin, kpitch[, kgain]</synopsis><para/>
-<synopsis>fsig <link linkend="trshift">trshift</link> fin, kpshift[, kgain]</synopsis><para/>
-<synopsis>fsiglow, fsighi <link linkend="trsplit">trsplit</link> fin, ksplit[, kgainlow, kgainhigh]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Strings:Definition</title>
-<para>
-<para/>
-<synopsis>Sdst <link linkend="strget">strget</link> indx</synopsis><para/>
-<synopsis><link linkend="strset">strset</link> iarg, istring</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Strings:Manipulation</title>
-<para>
-<para/>
-<synopsis><link linkend="puts">puts</link> Sstr, ktrig[, inonl]</synopsis><para/>
-<synopsis>Sdst <link linkend="sprintf">sprintf</link> Sfmt, xarg1[, xarg2[, ... ]]</synopsis><synopsis>Sdst <link linkend="sprintf">sprintfk</link> Sfmt, xarg1[, xarg2[, ... ]]</synopsis><para/>
-<synopsis>Sdst <link linkend="sprintfk">sprintfk</link> Sfmt, xarg1[, xarg2[, ... ]]</synopsis><para/>
-<synopsis>Sdst <link linkend="strcat">strcat</link> Ssrc1, Ssrc2</synopsis><para/>
-<synopsis>Sdst <link linkend="strcatk">strcatk</link> Ssrc1, Ssrc2</synopsis><para/>
-<synopsis>ires <link linkend="strcmp">strcmp</link> S1, S2</synopsis><para/>
-<synopsis>kres <link linkend="strcmpk">strcmpk</link> S1, S2</synopsis><para/>
-<synopsis>Sdst <link linkend="strcpy">strcpy</link> Ssrc</synopsis><para/>
-<synopsis>Sdst <link linkend="strcpyk">strcpyk</link> Ssrc</synopsis><para/>
-<synopsis>ipos <link linkend="strindex">strindex</link> S1, S2</synopsis><para/>
-<synopsis>kpos <link linkend="strindexk">strindexk</link> S1, S2</synopsis><para/>
-<synopsis>ilen <link linkend="strlen">strlen</link> Sstr</synopsis><para/>
-<synopsis>klen <link linkend="strlenk">strlenk</link> Sstr</synopsis><para/>
-<synopsis>ipos <link linkend="strrindex">strrindex</link> S1, S2</synopsis><para/>
-<synopsis>kpos <link linkend="strrindexk">strrindexk</link> S1, S2</synopsis><para/>
-<synopsis>Sdst <link linkend="strsub">strsub</link> Ssrc[, istart[, iend]]</synopsis><para/>
-<synopsis>Sdst <link linkend="strsubk">strsubk</link> Ssrc, kstart, kend</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Strings:Conversion</title>
-<para>
-<para/>
-<synopsis>ichr <link linkend="strchar">strchar</link> Sstr[, ipos]</synopsis><para/>
-<synopsis>kchr <link linkend="strchark">strchark</link> Sstr[, kpos]</synopsis><para/>
-<synopsis>Sdst <link linkend="strlower">strlower</link> Ssrc</synopsis><para/>
-<synopsis>Sdst <link linkend="strlowerk">strlowerk</link> Ssrc</synopsis><para/>
-<synopsis>ir <link linkend="strtod">strtod</link> Sstr</synopsis><synopsis>ir <link linkend="strtod">strtod</link> indx</synopsis><para/>
-<synopsis>kr <link linkend="strtodk">strtodk</link> Sstr</synopsis><synopsis>kr <link linkend="strtodk">strtodk</link> kndx</synopsis><para/>
-<synopsis>ir <link linkend="strtol">strtol</link> Sstr</synopsis><synopsis>ir <link linkend="strtol">strtol</link> indx</synopsis><para/>
-<synopsis>kr <link linkend="strtolk">strtolk</link> Sstr</synopsis><synopsis>kr <link linkend="strtolk">strtolk</link> kndx</synopsis><para/>
-<synopsis>Sdst <link linkend="strupper">strupper</link> Ssrc</synopsis><para/>
-<synopsis>Sdst <link linkend="strupperk">strupperk</link> Ssrc</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Vectorial:Tables</title>
-<para>
-<para/>
-<synopsis><link linkend="vtaba">vtaba</link>  andx, ifn, aout1 [, aout2, aout3, .... , aoutN ]</synopsis><para/>
-<synopsis><link linkend="vtabi">vtabi</link>  indx, ifn, iout1 [, iout2, iout3, .... , ioutN ]</synopsis><para/>
-<synopsis><link linkend="vtabk">vtabk</link>  kndx, ifn, kout1 [, kout2, kout3, .... , koutN ]</synopsis><para/>
-<synopsis><link linkend="vtable1k">vtable1k</link>  kfn,kout1 [, kout2, kout3, .... , koutN ]</synopsis><para/>
-<synopsis><link linkend="vtablea">vtablea</link>  andx, kfn, kinterp, ixmode, aout1 [, aout2, aout3, .... , aoutN ]</synopsis><para/>
-<synopsis><link linkend="vtablei">vtablei</link>  indx, ifn, interp, ixmode, iout1 [, iout2, iout3, .... , ioutN ]</synopsis><para/>
-<synopsis><link linkend="vtablek">vtablek</link>  kndx, kfn, kinterp, ixmode, kout1 [, kout2, kout3, .... , koutN ]</synopsis><para/>
-<synopsis><link linkend="vtablewa">vtablewa</link>  andx, kfn, ixmode, ainarg1 [, ainarg2, ainarg3 , .... , ainargN ]</synopsis><para/>
-<synopsis><link linkend="vtablewi">vtablewi</link>  indx, ifn, ixmode, inarg1 [, inarg2, inarg3 , .... , inargN ]</synopsis><para/>
-<synopsis><link linkend="vtablewk">vtablewk</link>  kndx, kfn, ixmode, kinarg1 [, kinarg2, kinarg3 , .... , kinargN ]</synopsis><para/>
-<synopsis><link linkend="vtabwa">vtabwa</link>  andx, ifn, ainarg1 [, ainarg2, ainarg3 , .... , ainargN ]</synopsis><para/>
-<synopsis><link linkend="vtabwi">vtabwi</link>  indx, ifn, inarg1 [, inarg2, inarg3 , .... , inargN ]</synopsis><para/>
-<synopsis><link linkend="vtabwk">vtabwk</link>  kndx, ifn, kinarg1 [, kinarg2, kinarg3 , .... , kinargN ]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Vectorial:Scalar operations</title>
-<para>
-<para/>
-<synopsis><link linkend="vadd">vadd</link>  ifn, kval, kelements [, kdstoffset] [, kverbose]</synopsis><para/>
-<synopsis><link linkend="vadd_i">vadd_i</link>  ifn, ival, ielements [, idstoffset]</synopsis><para/>
-<synopsis><link linkend="vexp">vexp</link>  ifn, kval, kelements [, kdstoffset] [, kverbose]</synopsis><para/>
-<synopsis><link linkend="vexp_i">vexp_i</link>  ifn, ival, ielements[, idstoffset]</synopsis><para/>
-<synopsis><link linkend="vmult">vmult</link>  ifn, kval, kelements [, kdstoffset] [, kverbose]</synopsis><para/>
-<synopsis><link linkend="vmult_i">vmult_i</link>  ifn, ival, ielements [, idstoffset]</synopsis><para/>
-<synopsis><link linkend="vpow">vpow</link>  ifn, kval, kelements [, kdstoffset] [, kverbose]</synopsis><para/>
-<synopsis><link linkend="vpow_i">vpow_i</link>  ifn, ival, ielements [, idstoffset]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Vectorial:Vectorial operations</title>
-<para>
-<para/>
-<synopsis><link linkend="vaddv">vaddv</link>  ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [,kverbose]</synopsis><para/>
-<synopsis><link linkend="vaddv_i">vaddv_i</link>  ifn1, ifn2, ielements [, idstoffset] [, isrcoffset]</synopsis><para/>
-<synopsis><link linkend="vcopy">vcopy</link>  ifn, ifn2, kelements [, kdstoffset] [, ksrcoffset] [, kverbose]</synopsis><para/>
-<synopsis><link linkend="vcopy_i">vcopy_i</link>  ifn, ifn2, ielements [,idstoffset, isrcoffset]</synopsis><para/>
-<synopsis><link linkend="vdivv">vdivv</link>  ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [,kverbose]</synopsis><para/>
-<synopsis><link linkend="vdivv_i">vdivv_i</link>  ifn1, ifn2, ielements [, idstoffset] [, isrcoffset]</synopsis><para/>
-<synopsis><link linkend="vexpv">vexpv</link>  ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [,kverbose]</synopsis><para/>
-<synopsis><link linkend="vexpv_i">vexpv_i</link>  ifn1, ifn2, ielements [, idstoffset] [, isrcoffset]</synopsis><para/>
-<synopsis><link linkend="vmap">vmap</link>  ifn1, ifn2, ielements [,idstoffset, isrcoffset]</synopsis><para/>
-<synopsis><link linkend="vmultv">vmultv</link>  ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [,kverbose]</synopsis><para/>
-<synopsis><link linkend="vmultv_i">vmultv_i</link>  ifn1, ifn2, ielements [, idstoffset] [, isrcoffset]</synopsis><para/>
-<synopsis><link linkend="vpowv">vpowv</link> ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [,kverbose]</synopsis><para/>
-<synopsis><link linkend="vpowv_i">vpowv_i</link> ifn1, ifn2, ielements [, idstoffset] [, isrcoffset]</synopsis><para/>
-<synopsis><link linkend="vsubv">vsubv</link>  ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [,kverbose]</synopsis><para/>
-<synopsis><link linkend="vsubv_i">vsubv_i</link>  ifn1, ifn2, ielements [, idstoffset] [, isrcoffset]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Vectorial:Envelopes</title>
-<para>
-<para/>
-<synopsis><link linkend="vexpseg">vexpseg</link>   ifnout, ielements, ifn1, idur1, ifn2 [, idur2, ifn3 [...]]</synopsis><para/>
-<synopsis><link linkend="vlinseg">vlinseg</link>   ifnout, ielements, ifn1, idur1, ifn2 [, idur2, ifn3 [...]]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Vectorial:Limiting and Wrapping</title>
-<para>
-<para/>
-<synopsis><link linkend="vlimit">vlimit</link>  ifn, kmin, kmax, ielements</synopsis><para/>
-<synopsis><link linkend="vmirror">vmirror</link>  ifn, kmin, kmax, ielements</synopsis><para/>
-<synopsis><link linkend="vwrap">vwrap</link>  ifn, kmin, kmax, ielements</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Vectorial:Delay Paths</title>
-<para>
-<para/>
-<synopsis>kout <link linkend="vdelayk">vdelayk</link>  iksig, kdel, imaxdel [, iskip, imode]</synopsis><para/>
-<synopsis><link linkend="vecdelay">vecdelay</link>  ifn, ifnIn, ifnDel, ielements, imaxdel [, iskip]
-</synopsis><para/>
-<synopsis><link linkend="vport">vport</link> ifn, khtime, ielements [, ifnInit]
-</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Vectorial:Random</title>
-<para>
-<para/>
-<synopsis><link linkend="vrandh">vrandh</link>  ifn,  krange, kcps, ielements [, idstoffset] [, iseed]
-      [, isize] [, ioffset]</synopsis><para/>
-<synopsis><link linkend="vrandi">vrandi</link>  ifn,  krange, kcps, ielements [, idstoffset] [, iseed]
-      [, isize] [, ioffset]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Vectorial:Cellular Automata</title>
-<para>
-<para/>
-<synopsis><link linkend="vcella">vcella</link> ktrig, kreinit, ioutFunc, initStateFunc, \
-      iRuleFunc, ielements, irulelen [, iradius]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Zak Patch System</title>
-<para>
-<para/>
-<synopsis><link linkend="zacl">zacl</link> kfirst, klast</synopsis><para/>
-<synopsis><link linkend="zakinit">zakinit</link> isizea, isizek</synopsis><para/>
-<synopsis>ares <link linkend="zamod">zamod</link> asig, kzamod</synopsis><para/>
-<synopsis>ares <link linkend="zar">zar</link> kndx</synopsis><para/>
-<synopsis>ares <link linkend="zarg">zarg</link> kndx, kgain</synopsis><para/>
-<synopsis><link linkend="zaw">zaw</link> asig, kndx</synopsis><para/>
-<synopsis><link linkend="zawm">zawm</link> asig, kndx [, imix]</synopsis><para/>
-<synopsis>ir <link linkend="zir">zir</link> indx</synopsis><para/>
-<synopsis><link linkend="ziw">ziw</link> isig, indx</synopsis><para/>
-<synopsis><link linkend="ziwm">ziwm</link> isig, indx [, imix]</synopsis><para/>
-<synopsis><link linkend="zkcl">zkcl</link> kfirst, klast</synopsis><para/>
-<synopsis>kres <link linkend="zkmod">zkmod</link> ksig, kzkmod</synopsis><para/>
-<synopsis>kres <link linkend="zkr">zkr</link> kndx</synopsis><para/>
-<synopsis><link linkend="zkw">zkw</link> ksig, kndx</synopsis><para/>
-<synopsis><link linkend="zkwm">zkwm</link> ksig, kndx [, imix]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>OSC</title>
-<para>
-<para/>
-<synopsis>ihandle <link linkend="OSCinit">OSCinit</link> iport</synopsis><para/>
-<synopsis>kans <link linkend="OSClisten">OSClisten</link> ihandle, idest, itype [, xdata1, xdata2, ...]</synopsis><para/>
-<synopsis><link linkend="OSCsend">OSCsend</link> kwhen, ihost, iport, idestination, itype [, kdata1, kdata2, ...]</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Network</title>
-<para>
-<para/>
-<synopsis><link linkend="remoteport">remoteport</link> iportnum</synopsis><para/>
-<synopsis>asig <link linkend="sockrecv">sockrecv</link> iport, ilength</synopsis><synopsis>asigl, asigr <link linkend="sockrecv">sockrecvs</link> iport, ilength</synopsis><synopsis>asig <link linkend="sockrecv">strecv</link> Sipaddr, iport</synopsis><para/>
-<synopsis><link linkend="socksend">socksend</link> asig, Sipaddr, iport, ilength</synopsis><synopsis><link linkend="socksend">socksends</link> asigl, asigr, Sipaddr, iport,
-    ilength</synopsis><synopsis><link linkend="socksend">stsend</link> asig, Sipaddr, iport</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Remote Opcodes</title>
-<para>
-<para/>
-<synopsis><link linkend="insglobal">insglobal</link>isource, instrnum [,instrnum...] </synopsis><para/>
-<synopsis><link linkend="insremot">insremot</link>idestination, isource, instrnum [,instrnum...] </synopsis><para/>
-<synopsis><link linkend="midglobal">midglobal</link>isource, instrnum [,instrnum...] </synopsis><para/>
-<synopsis><link linkend="midremot">midremot</link>idestination, isource, instrnum [,instrnum...] </synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Mixer Opcodes</title>
-<para>
-<para/>
-<synopsis><link linkend="MixerClear">MixerClear</link> </synopsis><para/>
-<synopsis>kgain <link linkend="MixerGetLevel">MixerGetLevel</link> isend, ibuss</synopsis><para/>
-<synopsis>asignal <link linkend="MixerReceive">MixerReceive</link> ibuss, ichannel</synopsis><para/>
-<synopsis><link linkend="MixerSend">MixerSend</link> asignal, isend, ibuss, ichannel</synopsis><para/>
-<synopsis><link linkend="MixerSetLevel">MixerSetLevel</link> isend, ibuss, kgain</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Image Processing Opcodes</title>
-<para>
-<para/>
-<synopsis>iimagenum <link linkend="imagecreate">imagecreate</link> iwidth, iheight</synopsis><para/>
-<synopsis><link linkend="imagefree">imagefree</link> iimagenum</synopsis><para/>
-<synopsis>ared agreen ablue <link linkend="imagegetpixel">imagegetpixel</link> iimagenum, ax, ay</synopsis><synopsis>kred kgreen kblue <link linkend="imagegetpixel">imagegetpixel</link> iimagenum, kx, ky</synopsis><para/>
-<synopsis>iimagenum <link linkend="imageload">imageload</link> filename</synopsis><para/>
-<synopsis><link linkend="imagesave">imagesave</link> iimagenum, filename</synopsis><para/>
-<synopsis><link linkend="imagesetpixel">imagegetpixel</link> iimagenum, ax, ay, ared, agreen, ablue</synopsis><synopsis><link linkend="imagesetpixel">imagegetpixel</link> iimagenum, kx, ky, kred, kgreen, kblue</synopsis><para/>
-<synopsis>iwidth iheight <link linkend="imagesize">imagesize</link> iimagenum</synopsis><para/>
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Miscellaneous</title>
-<para>
-<para/>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<synopsis>ires <link linkend="system">system_i</link> itrig, Scmd, [inowait]</synopsis><synopsis>kres <link linkend="system">system</link> ktrig, Scmd, [knowait]</synopsis><para/>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</para></formalpara>
-<para></para><para></para><formalpara>
-<title>Utilities</title>
-<para>
-<para/>
-<synopsis><link linkend="scaleutility">scale</link> [OPTIONS ... ] infile</synopsis><para/>
-</para></formalpara>
-<para></para></part>
diff --git a/misc/topXO.xml b/misc/topXO.xml
deleted file mode 100644
index d22a38f..0000000
--- a/misc/topXO.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-  &miscquickref;
-  &miscpitch;
-  &miscamp;
-  &miscformants;
-  &miscmodalfreq;
-  &miscwindows;
-  &miscsf2;
-  &miscglossary;
-  &pfacehistory;
-<!--   &misccsound64; -->
diff --git a/miscopcodes/top.xml b/miscopcodes/top.xml
index c7d1bb7..fd6ef40 100644
--- a/miscopcodes/top.xml
+++ b/miscopcodes/top.xml
@@ -3,10 +3,9 @@
   <title>Miscellaneous opcodes</title>
   <para>Here is a list of opcodes that don't fall in any category:
     <itemizedlist>
-      <listitem><para><link linkend="system"><citetitle>system</citetitle></link> - Call an external program via the system call.</para></listitem>
-      <listitem><para><link linkend="modmatrix"><citetitle>modmatrix</citetitle></link>
-      - modulation matrix opcode with optimizations for sparse matrices.</para></listitem>
+      <listitem><link linkend="system"><citetitle>system</citetitle></link> - Call an external program via the system call.</listitem>
+      <listitem><link linkend="modmatrix"><citetitle>modmatrix</citetitle></link>
+      - modulation matrix opcode with optimizations for sparse matrices.</listitem>
     </itemizedlist>
   </para>
-
 </chapter>
diff --git a/news.txt b/news.txt
deleted file mode 100644
index f8dcfd5..0000000
--- a/news.txt
+++ /dev/null
@@ -1,119 +0,0 @@
-4.23-3 "Linear" Edition (April 24, 2004):
-        * Thanks to a note from  Matt J. Ingalls, made the if opcode's 
-        documentation more readable.
-
-        * Thanks to a note from John ffitch, I added the formula for the 
-        tone opcode.
-
-        * Corrected the example for the printk2 opcode.
-
-        * Thanks to Iain McCurdy, added examples for these FLTK widget 
-        opcodes: flbox, flbutton, flcount, fljoy, flknob, flpanel,
-        flroller, flscroll, flsetcolor, flslider, fltabs, fltext, and
-        flvalue.
-
-        * Added examples for the following score statements: r.
-
-        * Thanks to a note from Dave Phillips, deleted the extraneous istep 
-        paragraph from the FLslider opcode's documentation.
-
-        * Thanks to a note from Francisco Vila, updated the example for 
-        the pvsynth opcode.
-
-        * Thanks to a note from Francisco Vila, clarified the example for 
-        the infamous CSD file format.
-
-
-4.23-2 "Now on SourceForge.net" Edition (December 1, 2003):
-        * Thanks to a note from Matt J. Ingalls, made sure the entries 
-        for ink and outk were deprecated.
-
-        * Thanks to Atte André Jensen, Matthew Gillard is now correctly 
-        credited for the wterrain opcode.
-
-        * Thanks to Dr. Richard Boulanger for pointing out an error with the 
-        GEN01 routine.
-
-        * Thanks to Kanata Motohashi for pointing out errors in the buzz, 
-        gbuzz, mxadsr, and pvscross opcodes.
-
-        * Added examples for the following opcodes: tableng.
-
-        * Added examples for the following GEN routines: 01, 02, 03, 05,
-        06, 07, 08, 09, 10, 11, 12, 13, 14, and 19.
-
-        * Added an example for the FLknob opcode, thanks to Dave Phillips
-        for letting use one of his posts to the Csound mailing list.
-
-        * Thanks to a note from Ben Moran, updated the "See Also" section 
-        for the print opcode.
-
-        * Gave Robin Whittle credit for the tablewa opcode.
-
-        * Fixed a broken link to the explanation of the PVOC-EX format. 
-        Thanks goes to Robert Thompson for letting me know about it.
-
-        * Added a "See Also" reference to the vco2 opcode from the vco 
-        opcode's documentation. Many readers of the on-line manual were 
-        finding the vco opcode but were overlooking vco2.
-
-        * Made some changes thanks to Luis Jure. Fixed the documentation 
-        for the foscil opcode and the m statement. Made the Csound64 
-        documentation a little more readable. Also fixed the "Random 
-        (Noise) Generators" section of the Signal Generators chapter.
-
-
-4.23-1 "GNU Free Documentation Licensed" Edition (May 11, 2003):
-        * Changed the license to the GNU Free Documentation License.
-
-        * Added documentation for the following opcodes: bqrez, fprintks, 
-        fprints, nstrnum, prints, schedkwhennamed, and subinstrinit.
-
-        * Added documentation for the new bug tracking system.
-
-        * Added a pointer to the CsoundAV documentation.
-
-        * Updated documentation for the following opcodes: event, massign, 
-        mute, pgmassign, prealloc, printks, schedule, schedwhen, sfinstr, 
-        sfinstr3, sfinstr3m, sfinstrm, sfplay, sfplay3, sfplaym, and 
-        subinstr.
-
-        * Added examples for the following opcodes: soundin, sndwarp,
-        subinstr, and wguide1.
-
-        * Because it's easier to understand, I restored the use of the 
-        soundin opcode in the examples of the following opcodes: babo, bbcutm,
-        cross2, dam, dcblock, dispfft, flanger, follow2, follow, fout, hilbert,
-        hrtfer, interp, nreverb, peak, pitchamdf, pitch, soundin, tempest, 
-        and waveset.
-
-        * Removed the example for the harmon opcode because it no longer works.
-
-        * Updated the documentation for the grain3, linsegr, and madsr opcodes 
-        thanks to a note from Istvan Varga.
-
-        * Updated the credits for trigseq, thanks to a note from Oeyvind 
-        Brandtsegg.
-
-        * Corrected the formula listed for the dcblock opcode, thanks to a 
-        note from Anders Andersson.
-
-        * Thanks to a note from David Gladstein, corrected the csoptions flag
-        in the csd format and clarified the documentation for the schedule
-        opcode.
-
-        * Thanks to a note from Steven Yi, I added an appendix for the 64-bit 
-        version of Csound.
-
-        * Thanks to a note from Matt J. Ingalls, clarified the documentation 
-        for the event opcode.
-
-        * Thanks to a note from John ffitch, I changed the names of the 
-        parameters for the rand opcode. I also clarified what happens in the 
-        gbuzz opcode when the knh parameter is zero.
-
-        * Thanks to a note from Gabriel Maldonado, added a warning about 
-        using integer values for ksmps.
-
-        * Thanks to a note from Jason Thomas, got rid of the broken example
-        for the GEN 05 routine.
diff --git a/opcode_list.txt b/opcode_list.txt
index 2d904e1..f2c5e55 100644
--- a/opcode_list.txt
+++ b/opcode_list.txt
@@ -18,240 +18,323 @@ FLslidBnk2Set       FLslidBnk2Setk      FLslidBnkGetHandle  FLslidBnkSet
 FLslidBnkSetk       FLslider            FLtabs              FLtabsEnd
 FLtabs_end          FLtext              FLupdate            FLvalue
 FLvkeybd            FLvslidBnk          FLvslidBnk2         FLxyin
-MixerClear          MixerGetLevel       MixerReceive        MixerSend
-MixerSetLevel       OSCinit             OSClisten           OSCrecv
-OSCsend             a                   abs                 active
-add                 adsr                adsyn               adsynt
-adsynt2             aftouch             alpass              ampdb
-ampdbfs             ampmidi             and                 areson
-aresonk             atone               atonek              atonex
-babo                balance             bamboo              barmodel
-bbcutm              bbcuts              betarand            bexprnd
-bformdec            bformenc            binit               biquad
+JackoAudioIn        JackoAudioInConnect JackoAudioOut       JackoAudioOutConnect
+JackoFreewheel      JackoInfo           JackoInit           JackoMidiInConnect
+JackoMidiOut        JackoMidiOutConnect JackoNoteOut        JackoOn
+JackoTransport      MixerClear          MixerGetLevel       MixerReceive
+MixerSend           MixerSetLevel       MixerSetLevel_i     OSCinit
+OSClisten           OSCsend             a                   abs
+active              adsr                adsyn               adsynt
+adsynt2             aftouch             alpass              alwayson
+ampdb               ampdbfs             ampmidi             ampmidid
+areson              aresonk             array               atone
+atonek              atonex              babo                balance
+bamboo              barmodel            bbcutm              bbcuts
+betarand            bexprnd             bformdec            bformdec1
+bformenc            bformenc1           binit               biquad
 biquada             birnd               bqrez               butbp
 butbr               buthp               butlp               butterbp
 butterbr            butterhp            butterlp            button
-buzz                cabasa              cauchy              ceil
-cent                cggoto              chanctrl            changed
-chani               chano               chebyshevpoly       checkbox
-chn_S               chn_a               chn_k               chnclear
-chnexport           chnget              chnmix              chnparams
-chnrecv             chnsend             chnset              cigoto
-ckgoto              clear               clfilt              clip
-clockoff            clockon             cngoto              cogoto
-comb                compress            control             convle
-convolve            cos                 cosh                cosinv
+buzz                cabasa              cauchy              cauchyi
+ceil                cell                cent                centroid
+cggoto              chanctrl            changed             chani
+chano               chebyshevpoly       checkbox            chn_S
+chn_a               chn_k               chnclear            chnexport
+chnget              chnmix              chnparams           chnset
+chuap               cigoto              cingoto             ckgoto
+clear               clfilt              clip                clockoff
+clockon             cngoto              comb                compileorc
+compilestr          compress            connect             control
+convle              convolve            copy2ftab           copy2ttab
+copya2ftab          copyf2array         cos                 cosh
+cosinv              cosseg              cossegb             cossegr
 cps2pch             cpsmidi             cpsmidib            cpsmidinn
 cpsoct              cpspch              cpstmid             cpstun
-cpstuni             cpsxpch             cpuprc              cross2
-crunch              ctlchn              ctrl14              ctrl21
-ctrl7               ctrlinit            cuserrnd            dam
-date                dates               db                  dbamp
-dbfsamp             dcblock             dconv               delay
+cpstuni             cpsxpch             cpumeter            cpuprc
+cross2              crossfm             crossfmi            crossfmpm
+crossfmpmi          crosspm             crosspmi            crunch
+ctlchn              ctrl14              ctrl21              ctrl7
+ctrlinit            cuserrnd            dam                 date
+dates               db                  dbamp               dbfsamp
+dcblock             dcblock2            dconv               delay
 delay1              delayk              delayr              delayw
 deltap              deltap3             deltapi             deltapn
 deltapx             deltapxw            denorm              diff
 diskgrain           diskin              diskin2             dispfft
-display             distort             distort1            div
-divz                downsamp            dripwater           dumpk
-dumpk2              dumpk3              dumpk4              duserrnd
-endin               endop               envlpx              envlpxr
-eqfil               event               event_i             exitnow
-exp                 expcurve            expon               exprand
-expseg              expsega             expsegr             ficlose
-filelen             filenchnls          filepeak            filesr
-filter2             fin                 fini                fink
-fiopen              flanger             flashtxt            flooper
-flooper2            flooper3            floor               fluidAllOut
+display             distort             distort1            divz
+doppler             downsamp            dripwater           dssiactivate
+dssiaudio           dssictls            dssiinit            dssilist
+dumpk               dumpk2              dumpk3              dumpk4
+duserrnd            dust                dust2               endin
+endop               envlpx              envlpxr             ephasor
+eqfil               evalstr             event               event_i
+exitnow             exp                 expcurve            expon
+exprand             exprandi            expseg              expsega
+expsegb             expsegba            expsegr             fareylen
+fareyleni           ficlose             filebit             filelen
+filenchnls          filepeak            filesr              filevalid
+fillarray           filter2             fin                 fini
+fink                fiopen              flanger             flashtxt
+flooper             flooper2            floor               fluidAllOut
 fluidCCi            fluidCCk            fluidControl        fluidEngine
 fluidLoad           fluidNote           fluidOut            fluidProgramSelect
-fmb3                fmbell              fmmetal             fmpercfl
-fmrhode             fmvoice             fmwurlie            fof
-fof2                fofilter            fog                 fold
-follow              follow2             foscil              foscili
-fout                fouti               foutir              foutk
-fprintks            fprints             frac                freeverb
-ftchnls             ftconv              ftfree              ftgen
+fluidSetInterpMethod fmb3               fmbell              fmmetal
+fmpercfl            fmrhode             fmvoice             fmwurlie
+fof                 fof2                fofilter            fog
+fold                follow              follow2             foscil
+foscili             fout                fouti               foutir
+foutk               fprintks            fprints             frac
+fractalnoise        freeverb            ftchnls             ftconv
+ftcps               ftfree              ftgen               ftgenonce
 ftgentmp            ftlen               ftload              ftloadk
-ftlptim             ftmorf              ftsave              ftsavek
-ftsr                gain                gainslider          gauss
-gbuzz               getcfg              gogobel             goto
-grain               grain2              grain3              granule
-guiro               harmon              harmon2             harmon3
-harmon4             hilbert             hrtfer              hrtfmove
-hrtfmove2           hrtfstat            hsboscil            hvs1
-hvs2                hvs3                i                   iampmidid
-igoto               ihold               imagecreate         imagefree
-imagegetpixel       imageload           imagesave           imagesetpixel
-imagesize           in                  in32                inch
-inh                 init                initc14             initc21
-initc7              ino                 inq                 inrg
-ins                 insglobal           insremot            instr
-int                 integ               interp              invalue
-inx                 inz                 jack_transport      jitter
-jitter2             jspline             k                   kampmidid
-kgoto               ktableseg           lfo                 limit
+ftlptim             ftmorf              ftresize            ftresizei
+ftsave              ftsavek             ftsr                gain
+gainslider          gauss               gaussi              gausstrig
+gbuzz               genarray            genarray_i          gendy
+gendyc              gendyx              getcfg              gogobel
+goto                grain               grain2              grain3
+granule             guiro               harmon              harmon2
+harmon3             harmon4             hilbert             hrtfearly
+hrtfer              hrtfmove            hrtfmove2           hrtfreverb
+hrtfstat            hsboscil            hvs1                hvs2
+hvs3                i                   igoto               ihold
+imagecreate         imagefree           imagegetpixel       imageload
+imagesave           imagesetpixel       imagesize           in
+in32                inch                inh                 init
+initc14             initc21             initc7              inleta
+inletf              inletk              inletkid            ino
+inq                 inrg                ins                 insglobal
+insremot            instr               int                 integ
+interp              invalue             inx                 inz
+jacktransport       jitter              jitter2             joystick
+jspline             k                   kgoto               ktableseg
+la_i_add_mc         la_i_add_mr         la_i_add_vc         la_i_add_vr
+la_i_assign_mc      la_i_assign_mr      la_i_assign_t       la_i_assign_vc
+la_i_assign_vr      la_i_conjugate_mc   la_i_conjugate_mr   la_i_conjugate_vc
+la_i_conjugate_vr   la_i_distance_vc    la_i_distance_vr    la_i_divide_mc
+la_i_divide_mr      la_i_divide_vc      la_i_divide_vr      la_i_dot_mc
+la_i_dot_mc_vc      la_i_dot_mr         la_i_dot_mr_vr      la_i_dot_vc
+la_i_dot_vr         la_i_get_mc         la_i_get_mr         la_i_get_vc
+la_i_get_vr         la_i_invert_mc      la_i_invert_mr      la_i_lower_solve_mc
+la_i_lower_solve_mr la_i_lu_det_mc      la_i_lu_det_mr      la_i_lu_factor_mc
+la_i_lu_factor_mr   la_i_lu_solve_mc    la_i_lu_solve_mr    la_i_mc_create
+la_i_mc_set         la_i_mr_create      la_i_mr_set         la_i_multiply_mc
+la_i_multiply_mr    la_i_multiply_vc    la_i_multiply_vr    la_i_norm1_mc
+la_i_norm1_mr       la_i_norm1_vc       la_i_norm1_vr       la_i_norm_euclid_mc
+la_i_norm_euclid_mr la_i_norm_euclid_vc la_i_norm_euclid_vr la_i_norm_inf_mc
+la_i_norm_inf_mr    la_i_norm_inf_vc    la_i_norm_inf_vr    la_i_norm_max_mc
+la_i_norm_max_mr    la_i_print_mc       la_i_print_mr       la_i_print_vc
+la_i_print_vr       la_i_qr_eigen_mc    la_i_qr_eigen_mr    la_i_qr_factor_mc
+la_i_qr_factor_mr   la_i_qr_sym_eigen_mc la_i_qr_sym_eigen_mr la_i_random_mc
+la_i_random_mr      la_i_random_vc      la_i_random_vr      la_i_size_mc
+la_i_size_mr        la_i_size_vc        la_i_size_vr        la_i_subtract_mc
+la_i_subtract_mr    la_i_subtract_vc    la_i_subtract_vr    la_i_t_assign
+la_i_trace_mc       la_i_trace_mr       la_i_transpose_mc   la_i_transpose_mr
+la_i_upper_solve_mc la_i_upper_solve_mr la_i_vc_create      la_i_vc_set
+la_i_vr_create      la_i_vr_set         la_k_a_assign       la_k_add_mc
+la_k_add_mr         la_k_add_vc         la_k_add_vr         la_k_assign_a
+la_k_assign_f       la_k_assign_mc      la_k_assign_mr      la_k_assign_t
+la_k_assign_vc      la_k_assign_vr      la_k_conjugate_mc   la_k_conjugate_mr
+la_k_conjugate_vc   la_k_conjugate_vr   la_k_current_f      la_k_current_vr
+la_k_distance_vc    la_k_distance_vr    la_k_divide_mc      la_k_divide_mr
+la_k_divide_vc      la_k_divide_vr      la_k_dot_mc         la_k_dot_mc_vc
+la_k_dot_mr         la_k_dot_mr_vr      la_k_dot_vc         la_k_dot_vr
+la_k_f_assign       la_k_get_mc         la_k_get_mr         la_k_get_vc
+la_k_get_vr         la_k_invert_mc      la_k_invert_mr      la_k_lower_solve_mc
+la_k_lower_solve_mr la_k_lu_det_mc      la_k_lu_det_mr      la_k_lu_factor_mc
+la_k_lu_factor_mr   la_k_lu_solve_mc    la_k_lu_solve_mr    la_k_mc_set
+la_k_mr_set         la_k_multiply_mc    la_k_multiply_mr    la_k_multiply_vc
+la_k_multiply_vr    la_k_norm1_mc       la_k_norm1_mr       la_k_norm1_vc
+la_k_norm1_vr       la_k_norm_euclid_mc la_k_norm_euclid_mr la_k_norm_euclid_vc
+la_k_norm_euclid_vr la_k_norm_inf_mc    la_k_norm_inf_mr    la_k_norm_inf_vc
+la_k_norm_inf_vr    la_k_norm_max_mc    la_k_norm_max_mr    la_k_qr_eigen_mc
+la_k_qr_eigen_mr    la_k_qr_factor_mc   la_k_qr_factor_mr   la_k_qr_sym_eigen_mc
+la_k_qr_sym_eigen_mr la_k_random_mc     la_k_random_mr      la_k_random_vc
+la_k_random_vr      la_k_subtract_mc    la_k_subtract_mr    la_k_subtract_vc
+la_k_subtract_vr    la_k_t_assign       la_k_trace_mc       la_k_trace_mr
+la_k_upper_solve_mc la_k_upper_solve_mr la_k_vc_set         la_k_vr_set
+lenarray            lentab              lfo                 limit
 line                linen               linenr              lineto
-linrand             linseg              linsegr             locsend
-locsig              log                 log10               logbtwo
-logcurve            loop_ge             loop_gt             loop_le
-loop_lt             loopseg             loopsegp            lorenz
+linrand             linseg              linsegb             linsegr
+locsend             locsig              log                 log10
+log2                logbtwo             logcurve            loop_ge
+loop_gt             loop_le             loop_lt             loopseg
+loopsegp            looptseg            loopxseg            lorenz
 loscil              loscil3             loscilx             lowpass2
-lowres              lowresx             lpf18               lpfreson
-lphasor             lpinterp            lposcil             lposcil3
-lposcila            lposcilsa           lposcilsa2          lpread
-lpreson             lpshold             lpsholdp            lpslot
-mac                 maca                madsr               mandel
-mandol              marimba             massign             max
-max_k               maxabs              maxabsaccum         maxaccum
-maxalloc            maxk                mclock              mdelay
-metro               midglobal           midic14             midic21
-midic7              midichannelaftertouch midichn           midicontrolchange
-midictrl            mididefault         midiin              midinoteoff
-midinoteoncps       midinoteonkey       midinoteonoct       midinoteonpch
-midion              midion2             midiout             midipgm
-midipitchbend       midipolyaftertouch  midiprogramchange   miditempo
-midremot            min                 minabs              minabsaccum
-minaccum            mirror              mod                 mode
-monitor             moog                moogladder          moogvcf
-moogvcf2            moscil              mpulse              mrtmsg
-mul                 multitap            mute                mutex_lock
-mutex_locki         mutex_unlock        mutex_unlocki       mxadsr
-nestedap            nlalp               nlfilt              noise
-not                 noteoff             noteon              noteondur
-noteondur2          notnum              nreverb             nrpn
-nsamp               nstrnum             ntrpol              octave
-octcps              octmidi             octmidib            octmidinn
-octpch              opcode              or                  oscbnk
-oscil               oscil1              oscil1i             oscil3
-oscili              oscilikt            osciliktp           oscilikts
-osciln              oscils              oscilv              oscilx
-out                 out32               outc                outch
-outh                outiat              outic               outic14
-outipat             outipb              outipc              outkat
-outkc               outkc14             outkpat             outkpb
-outkpc              outo                outq                outq1
-outq2               outq3               outq4               outrg
-outs                outs1               outs2               outvalue
-outx                outz                p                   pan
-pan2                pareq               partials            partikkel
-partikkelsync       pcauchy             pchbend             pchmidi
+lowres              lowresx             lpf18               lpform
+lpfreson            lphasor             lpinterp            lposcil
+lposcil3            lposcila            lposcilsa           lposcilsa2
+lpread              lpreson             lpshold             lpsholdp
+lpslot              lua_exec            lua_iaopcall        lua_iaopcall_off
+lua_ikopcall        lua_ikopcall_off    lua_iopcall         lua_iopcall_off
+lua_opdef           mac                 maca                madsr
+mandel              mandol              maparray            maparray_i
+marimba             massign             max                 max_k
+maxabs              maxabsaccum         maxaccum            maxalloc
+maxarray            maxtab              mclock              mdelay
+median              mediank             metro               midglobal
+midic14             midic21             midic7              midichannelaftertouch
+midichn             midicontrolchange   midictrl            mididefault
+midifilestatus      midiin              midinoteoff         midinoteoncps
+midinoteonkey       midinoteonoct       midinoteonpch       midion
+midion2             midiout             midipgm             midipitchbend
+midipolyaftertouch  midiprogramchange   miditempo           midremot
+min                 minabs              minabsaccum         minaccum
+minarray            mincer              mintab              mirror
+mode                modmatrix           monitor             moog
+moogladder          moogvcf             moogvcf2            moscil
+mp3in               mp3len              mpulse              mrtmsg
+multitap            mute                mxadsr              nestedap
+nlalp               nlfilt              nlfilt2             noise
+noteoff             noteon              noteondur           noteondur2
+notnum              nreverb             nrpn                nsamp
+nstrnum             ntrpol              octave              octcps
+octmidi             octmidib            octmidinn           octpch
+opcode              oscbnk              oscil               oscil1
+oscil1i             oscil3              oscili              oscilikt
+osciliktp           oscilikts           osciln              oscils
+oscilx              out                 out32               outc
+outch               outh                outiat              outic
+outic14             outipat             outipb              outipc
+outkat              outkc               outkc14             outkpat
+outkpb              outkpc              outleta             outletf
+outletk             outletkid           outo                outq
+outq1               outq2               outq3               outq4
+outrg               outs                outs1               outs2
+outvalue            outx                outz                p
+pan                 pan2                pareq               partials
+partikkel           partikkelget        partikkelset        partikkelsync
+passign             pcauchy             pchbend             pchmidi
 pchmidib            pchmidinn           pchoct              pconvolve
 pcount              pdclip              pdhalf              pdhalfy
 peak                pgmassign           pgmchn              phaser1
 phaser2             phasor              phasorbnk           pindex
-pinkish             pitch               pitchamdf           planet
-pluck               poisson             polyaft             polynomial
-pop                 pop_f               port                portk
-poscil              poscil3             pow                 powershape
-powoftwo            prealloc            prepiano            print
-printf              printf_i            printk              printk2
-printks             prints              product             pset
+pinkish             pitch               pitchac             pitchamdf
+planet              platerev            plltrack            pluck
+poisson             polyaft             polynomial          pop
+pop_f               port                portk               poscil
+poscil3             pow                 powershape          powoftwo
+prealloc            prepiano            print               printf
+printf_i            printk              printk2             printks
+prints              product             pset                ptable
+ptable3             ptablei             ptableiw            ptablew
 ptrack              push                push_f              puts
 pvadd               pvbufread           pvcross             pvinterp
-pvoc                pvread              pvsadsyn            pvsanal
-pvsarp              pvsbandp            pvsbandr            pvsbin
-pvsblur             pvsbuffer           pvsbufread          pvscale
-pvscent             pvscross            pvsdemix            pvsdiskin
-pvsdisp             pvsfilter           pvsfread            pvsfreeze
-pvsftr              pvsftw              pvsfwrite           pvshift
-pvsifd              pvsin               pvsinfo             pvsinit
-pvsmaska            pvsmix              pvsmooth            pvsmorph
-pvsosc              pvsout              pvspitch            pvstencil
-pvsvoc              pvsynth             pyassign            pyassigni
-pyassignt           pycall              pycall1             pycall1i
-pycall1t            pycall2             pycall2i            pycall2t
-pycall3             pycall3i            pycall3t            pycall4
-pycall4i            pycall4t            pycall5             pycall5i
-pycall5t            pycall6             pycall6i            pycall6t
-pycall7             pycall7i            pycall7t            pycall8
-pycall8i            pycall8t            pycalli             pycalln
-pycallni            pycallt             pyeval              pyevali
-pyevalt             pyexec              pyexeci             pyexect
-pyinit              pylassign           pylassigni          pylassignt
-pylcall             pylcall1            pylcall1i           pylcall1t
-pylcall2            pylcall2i           pylcall2t           pylcall3
-pylcall3i           pylcall3t           pylcall4            pylcall4i
-pylcall4t           pylcall5            pylcall5i           pylcall5t
-pylcall6            pylcall6i           pylcall6t           pylcall7
-pylcall7i           pylcall7t           pylcall8            pylcall8i
-pylcall8t           pylcalli            pylcalln            pylcallni
-pylcallt            pyleval             pylevali            pylevalt
-pylexec             pylexeci            pylexect            pylrun
-pylruni             pylrunt             pyrun               pyruni
-pyrunt              rand                randh               randi
-random              randomh             randomi             rbjeq
-readclock           readk               readk2              readk3
-readk4              reinit              release             remoteport
+pvoc                pvread              pvs2tab             pvsadsyn
+pvsanal             pvsarp              pvsbandp            pvsbandr
+pvsbin              pvsblur             pvsbuffer           pvsbufread
+pvsbufread2         pvscale             pvscent             pvscross
+pvsdemix            pvsdiskin           pvsdisp             pvsenvftw
+pvsfilter           pvsfread            pvsfreeze           pvsftr
+pvsftw              pvsfwrite           pvsgain             pvsgendy
+pvshift             pvsifd              pvsin               pvsinfo
+pvsinit             pvslock             pvsmaska            pvsmix
+pvsmooth            pvsmorph            pvsosc              pvsout
+pvspitch            pvstanal            pvstencil           pvsvoc
+pvswarp             pvsynth             pwd                 pyassign
+pyassigni           pyassignt           pycall              pycall1
+pycall1i            pycall1t            pycall2             pycall2i
+pycall2t            pycall3             pycall3i            pycall3t
+pycall4             pycall4i            pycall4t            pycall5
+pycall5i            pycall5t            pycall6             pycall6i
+pycall6t            pycall7             pycall7i            pycall7t
+pycall8             pycall8i            pycall8t            pycalli
+pycalln             pycallni            pycallt             pyeval
+pyevali             pyevalt             pyexec              pyexeci
+pyexect             pyinit              pylassign           pylassigni
+pylassignt          pylcall             pylcall1            pylcall1i
+pylcall1t           pylcall2            pylcall2i           pylcall2t
+pylcall3            pylcall3i           pylcall3t           pylcall4
+pylcall4i           pylcall4t           pylcall5            pylcall5i
+pylcall5t           pylcall6            pylcall6i           pylcall6t
+pylcall7            pylcall7i           pylcall7t           pylcall8
+pylcall8i           pylcall8t           pylcalli            pylcalln
+pylcallni           pylcallt            pyleval             pylevali
+pylevalt            pylexec             pylexeci            pylexect
+pylrun              pylruni             pylrunt             pyrun
+pyruni              pyrunt              qinf                qnan
+rand                randh               randi               random
+randomh             randomi             rbjeq               readclock
+readf               readfi              readk               readk2
+readk3              readk4              readks              readscore
+readscratch         reinit              release             remoteport
 remove              repluck             reson               resonk
 resonr              resonx              resonxk             resony
-resonz              resyn               reverb              reverb2
-reverbsc            rezzy               rigoto              rireturn
-rms                 rnd                 rnd31               round
-rspline             rtclock             s16b14              s32b14
-samphold            sandpaper           scale               scanhammer
+resonz              resyn               return              reverb
+reverb2             reverbsc            rewindscore         rezzy
+rigoto              rireturn            rms                 rnd
+rnd31               round               rspline             rtclock
+s16b14              s32b14              samphold            sandpaper
+scale               scalearray          scalet              scanhammer
 scans               scantable           scanu               schedkwhen
 schedkwhennamed     schedule            schedwhen           scoreline
 scoreline_i         seed                sekere              semitone
 sense               sensekey            seqtime             seqtime2
-setctrl             setksmps            sfilist             sfinstr
+serialBegin         serialEnd           serialFlush         serialPrint
+serialRead          serialWrite         serialWrite_i       setctrl
+setksmps            setscorepos         sfilist             sfinstr
 sfinstr3            sfinstr3m           sfinstrm            sfload
 sflooper            sfpassign           sfplay              sfplay3
 sfplay3m            sfplaym             sfplist             sfpreset
-shaker              shl                 shr                 sin
-sinh                sininv              sinsyn              sleighbells
+shaker              signum              sin                 sinh
+sininv              sinsyn              sleighbells         slicearray
 slider16            slider16f           slider16table       slider16tablef
 slider32            slider32f           slider32table       slider32tablef
 slider64            slider64f           slider64table       slider64tablef
 slider8             slider8f            slider8table        slider8tablef
 sliderKawai         sndload             sndloop             sndwarp
 sndwarpst           sockrecv            sockrecvs           socksend
-socksends           soundin             soundout            soundouts
-space               spat3d              spat3di             spat3dt
-spdist              specaddm            specdiff            specdisp
-specfilt            spechist            specptrk            specscal
-specsum             spectrum            splitrig            sprintf
-sprintfk            spsend              sqrt                stack
-statevar            stix                strcat              strcatk
-strchar             strchark            strcmp              strcmpk
-strcpy              strcpyk             strecv              streson
-strget              strindex            strindexk           strlen
-strlenk             strlower            strlowerk           strrindex
-strrindexk          strset              strsub              strsubk
-strtod              strtodk             strtol              strtolk
-strupper            strupperk           stsend              sub
-subinstr            subinstrinit        sum                 svfilter
-syncgrain           syncloop            syncphasor          system
-system_i            tab                 tab_i               table
-table3              tablecopy           tablegpw            tablei
-tableicopy          tableigpw           tableikt            tableimix
-tableiw             tablekt             tablemix            tableng
-tablera             tableseg            tablew              tablewa
-tablewkt            tablexkt            tablexseg           tabmorph
-tabmorpha           tabmorphak          tabmorphi           tabplay
-tabrec              tabw                tabw_i              tambourine
-tan                 tanh                taninv              taninv2
-tb0                 tb0_init            tb1                 tb10
-tb10_init           tb11                tb11_init           tb12
-tb12_init           tb13                tb13_init           tb14
-tb14_init           tb15                tb15_init           tb1_init
-tb2                 tb2_init            tb3                 tb3_init
-tb4                 tb4_init            tb5                 tb5_init
-tb6                 tb6_init            tb7                 tb7_init
-tb8                 tb8_init            tb9                 tb9_init
-tbvcf               tempest             tempo               tempoval
-tigoto              timedseq            timeinstk           timeinsts
-timek               times               timout              tival
-tlineto             tone                tonek               tonex
-tradsyn             trandom             transeg             trcross
+socksend_k          socksends           soundin             soundout
+soundouts           space               spat3d              spat3di
+spat3dt             spdist              specaddm            specdiff
+specdisp            specfilt            spechist            specptrk
+specscal            specsum             spectrum            splitrig
+sprintf             sprintfk            spsend              sqrt
+stack               statevar            stix                strcat
+strcatk             strchar             strchark            strcmp
+strcmpk             strcpy              strcpyk             strecv
+streson             strget              strindex            strindexk
+strlen              strlenk             strlower            strlowerk
+strrindex           strrindexk          strset              strsub
+strsubk             strtod              strtodk             strtol
+strtolk             strupper            strupperk           stsend
+subinstr            subinstrinit        sum                 sumarray
+sumtab              svfilter            syncgrain           syncloop
+syncphasor          system              system_i            tab
+tab2pvs             tab_i               tabgen              table
+table3              table3kt            tablecopy           tablefilter
+tablefilteri        tablegpw            tablei              tableicopy
+tableigpw           tableikt            tableimix           tableiw
+tablekt             tablemix            tableng             tablera
+tableseg            tableshuffle        tableshufflei       tablew
+tablewa             tablewkt            tablexkt            tablexseg
+tabmap              tabmap_i            tabmorph            tabmorpha
+tabmorphak          tabmorphi           tabplay             tabrec
+tabslice            tabsum              tabw                tabw_i
+tambourine          tan                 tanh                taninv
+taninv2             tb0                 tb0_init            tb1
+tb10                tb10_init           tb11                tb11_init
+tb12                tb12_init           tb13                tb13_init
+tb14                tb14_init           tb15                tb15_init
+tb1_init            tb2                 tb2_init            tb3
+tb3_init            tb4                 tb4_init            tb5
+tb5_init            tb6                 tb6_init            tb7
+tb7_init            tb8                 tb8_init            tb9
+tb9_init            tbvcf               tempest             tempo
+temposcal           tempoval            tigoto              timedseq
+timeinstk           timeinsts           timek               times
+timout              tival               tlineto             tone
+tonek               tonex               tradsyn             trandom
+transeg             transegb            transegr            trcross
 trfilter            trhighest           trigger             trigseq
 trirand             trlowest            trmix               trscale
 trshift             trsplit             turnoff             turnoff2
-turnon              unirand             upsamp              urd
-vadd                vadd_i              vaddv               vaddv_i
-vaget               valpass             vaset               vbap16
-vbap16move          vbap4               vbap4move           vbap8
-vbap8move           vbaplsinit          vbapz               vbapzmove
+turnon              unirand             upsamp              urandom
+urd                 vadd                vadd_i              vaddv
+vaddv_i             vaget               valpass             vaset
+vbap                vbap16              vbap1move           vbap4
+vbap4move           vbap8               vbap8move           vbapg
+vbaplsinit          vbapmove            vbapz               vbapzmove
 vcella              vco                 vco2                vco2ft
 vco2ift             vco2init            vcomb               vcopy
 vcopy_i             vdel_k              vdelay              vdelay3
@@ -262,23 +345,22 @@ vexp_i              vexpseg             vexpv               vexpv_i
 vibes               vibr                vibrato             vincr
 vlimit              vlinseg             vlowres             vmap
 vmirror             vmult               vmult_i             vmultv
-vmultv_i            voice               vphaseseg           vport
-vpow                vpow_i              vpowv               vpowv_i
-vpvoc               vrandh              vrandi              vstaudio
-vstaudiog           vstbankload         vstbanksave         vstedit
-vstinfo             vstinit             vstmidiout          vstnote
-vstnoteondur        vstparamget         vstparamset         vstprogset
-vsttempo            vsubv               vsubv_i             vtaba
-vtabi               vtabk               vtable1k            vtablea
-vtablei             vtablek             vtablewa            vtablewi
-vtablewk            vtabwa              vtabwi              vtabwk
-vwrap               waveset             weibull             wgbow
-wgbowedbar          wgbrass             wgclar              wgflute
-wgpluck             wgpluck2            wguide1             wguide2
-wrap                wterrain            xadsr               xin
-xor                 xout                xscanmap            xscans
-xscansmap           xscanu              xtratim             xyin
-zacl                zakinit             zamod               zar
-zarg                zaw                 zawm                zfilter2
-zir                 ziw                 ziwm                zkcl
-zkmod               zkr                 zkw                 zkwm
\ No newline at end of file
+vmultv_i            voice               vosim               vphaseseg
+vport               vpow                vpow_i              vpowv
+vpowv_i             vpvoc               vrandh              vrandi
+vsubv               vsubv_i             vtaba               vtabi
+vtabk               vtable1k            vtablea             vtablei
+vtablek             vtablewa            vtablewi            vtablewk
+vtabwa              vtabwi              vtabwk              vwrap
+waveset             weibull             wgbow               wgbowedbar
+wgbrass             wgclar              wgflute             wgpluck
+wgpluck2            wguide1             wguide2             wiiconnect
+wiidata             wiirange            wiisend             wrap
+writescratch        wterrain            xadsr               xin
+xout                xscanmap            xscans              xscansmap
+xscanu              xtratim             xyin                zacl
+zakinit             zamod               zar                 zarg
+zaw                 zawm                zfilter2            zir
+ziw                 ziwm                zkcl                zkmod
+zkr                 zkw                 zkwm
+
diff --git a/opcode_listXO.txt b/opcode_listXO.txt
deleted file mode 100644
index 8d17aa7..0000000
--- a/opcode_listXO.txt
+++ /dev/null
@@ -1,226 +0,0 @@
-MixerClear          MixerGetLevel       MixerReceive        MixerSend
-MixerSetLevel       OSCinit             OSClisten           OSCrecv
-OSCsend             a                   abs                 active
-add                 adsr                adsyn               adsynt
-adsynt2             aftouch             alpass              ampdb
-ampdbfs             ampmidi             and                 areson
-aresonk             atone               atonek              atonex
-balance             bamboo              barmodel            bbcutm
-bbcuts              betarand            bexprnd             binit
-biquad              biquada             birnd               bqrez
-butbp               butbr               buthp               butlp
-butterbp            butterbr            butterhp            butterlp
-buzz                cabasa              cauchy              ceil
-cent                cggoto              chanctrl            changed
-chani               chano               chebyshevpoly       chn_S
-chn_a               chn_k               chnclear            chnexport
-chnget              chnmix              chnparams           chnrecv
-chnsend             chnset              cigoto              ckgoto
-clear               clfilt              clip                clockoff
-clockon             cngoto              cogoto              comb
-compress            convle              convolve            cos
-cosh                cosinv              cps2pch             cpsmidi
-cpsmidib            cpsmidinn           cpsoct              cpspch
-cpstmid             cpstun              cpstuni             cpsxpch
-cpuprc              cross2              crunch              ctlchn
-ctrl14              ctrl21              ctrl7               ctrlinit
-cuserrnd            dam                 date                dates
-db                  dbamp               dbfsamp             dcblock
-dconv               delay               delay1              delayk
-delayr              delayw              deltap              deltap3
-deltapi             deltapn             deltapx             deltapxw
-denorm              diff                diskgrain           diskin
-diskin2             dispfft             display             distort
-distort1            div                 divz                downsamp
-dripwater           dumpk               dumpk2              dumpk3
-dumpk4              duserrnd            endin               endop
-envlpx              envlpxr             eqfil               event
-event_i             exitnow             exp                 expcurve
-expon               exprand             expseg              expsega
-expsegr             ficlose             filelen             filenchnls
-filepeak            filesr              filter2             fin
-fini                fink                fiopen              flanger
-flooper             flooper2            flooper3            floor
-fmb3                fmbell              fmmetal             fmpercfl
-fmrhode             fmvoice             fmwurlie            fof
-fof2                fofilter            fog                 fold
-follow              follow2             foscil              foscili
-fout                fouti               foutir              foutk
-fprintks            fprints             frac                freeverb
-ftchnls             ftconv              ftfree              ftgen
-ftgentmp            ftlen               ftload              ftloadk
-ftlptim             ftmorf              ftsave              ftsavek
-ftsr                gain                gainslider          gauss
-gbuzz               getcfg              gogobel             goto
-grain               grain2              grain3              granule
-guiro               harmon              harmon2             harmon3
-harmon4             hilbert             hrtfmove            hrtfmove2
-hrtfstat            hsboscil            hvs1                hvs2
-hvs3                i                   iampmidid           igoto
-ihold               imagecreate         imagefree           imagegetpixel
-imageload           imagesave           imagesetpixel       imagesize
-in                  inch                init                initc14
-initc21             initc7              ins                 insglobal
-insremot            instr               int                 integ
-interp              invalue             inz                 jitter
-jitter2             jspline             k                   kampmidid
-kgoto               ktableseg           lfo                 limit
-line                linen               linenr              lineto
-linrand             linseg              linsegr             locsend
-locsig              log                 log10               logbtwo
-logcurve            loop_ge             loop_gt             loop_le
-loop_lt             loopseg             loopsegp            lorenz
-loscil              loscil3             loscilx             lowpass2
-lowres              lowresx             lpf18               lpfreson
-lphasor             lpinterp            lposcil             lposcil3
-lposcila            lposcilsa           lposcilsa2          lpread
-lpreson             lpshold             lpsholdp            lpslot
-mac                 maca                madsr               mandel
-mandol              marimba             massign             max
-max_k               maxabs              maxabsaccum         maxaccum
-maxalloc            maxk                mclock              mdelay
-metro               midglobal           midic14             midic21
-midic7              midichannelaftertouch midichn           midicontrolchange
-midictrl            mididefault         midiin              midinoteoff
-midinoteoncps       midinoteonkey       midinoteonoct       midinoteonpch
-midion              midion2             midiout             midipgm
-midipitchbend       midipolyaftertouch  midiprogramchange   miditempo
-midremot            min                 minabs              minabsaccum
-minaccum            mirror              mod                 mode
-monitor             moog                moogladder          moogvcf
-moogvcf2            moscil              mpulse              mrtmsg
-mul                 multitap            mute                mutex_lock
-mutex_locki         mutex_unlock        mutex_unlocki       mxadsr
-nestedap            nlalp               nlfilt              noise
-not                 noteoff             noteon              noteondur
-noteondur2          notnum              nreverb             nrpn
-nsamp               nstrnum             ntrpol              octave
-octcps              octmidi             octmidib            octmidinn
-octpch              oggread             opcode              or
-oscbnk              oscil               oscil1              oscil1i
-oscil3              oscili              oscilikt            osciliktp
-oscilikts           osciln              oscils              oscilx
-out                 outc                outch               outiat
-outic               outic14             outipat             outipb
-outipc              outkat              outkc               outkc14
-outkpat             outkpb              outkpc              outs
-outs1               outs2               outvalue            outz
-p                   pan                 pan2                pareq
-partials            partikkel           partikkelsync       pcauchy
-pchbend             pchmidi             pchmidib            pchmidinn
-pchoct              pconvolve           pcount              pdclip
-pdhalf              pdhalfy             peak                pgmassign
-pgmchn              phaser1             phaser2             phasor
-phasorbnk           pindex              pinkish             pitch
-pitchamdf           planet              pluck               poisson
-polyaft             polynomial          pop                 pop_f
-port                portk               poscil              poscil3
-pow                 powershape          powoftwo            prealloc
-prepiano            print               printf              printf_i
-printk              printk2             printks             prints
-product             pset                ptrack              push
-push_f              puts                pvadd               pvbufread
-pvcross             pvinterp            pvoc                pvread
-pvsadsyn            pvsanal             pvsarp              pvsbandp
-pvsbandr            pvsbin              pvsblur             pvsbuffer
-pvsbufread          pvscale             pvscent             pvscross
-pvsdemix            pvsdiskin           pvsdisp             pvsfilter
-pvsfread            pvsfreeze           pvsftr              pvsftw
-pvsfwrite           pvshift             pvsifd              pvsin
-pvsinfo             pvsinit             pvsmaska            pvsmix
-pvsmooth            pvsmorph            pvsosc              pvsout
-pvspitch            pvstencil           pvsvoc              pvsynth
-rand                randh               randi               random
-randomh             randomi             rbjeq               readclock
-readk               readk2              readk3              readk4
-reinit              release             remoteport          remove
-repluck             reson               resonk              resonr
-resonx              resonxk             resony              resonz
-resyn               reverb              reverb2             reverbsc
-rezzy               rigoto              rireturn            rms
-rnd                 rnd31               round               rspline
-rtclock             s16b14              s32b14              samphold
-sandpaper           scale               scanhammer          scans
-scantable           scanu               schedkwhen          schedkwhennamed
-schedule            schedwhen           scoreline           scoreline_i
-seed                sekere              semitone            sense
-sensekey            seqtime             seqtime2            setksmps
-sfilist             sfinstr             sfinstr3            sfinstr3m
-sfinstrm            sfload              sflooper            sfpassign
-sfplay              sfplay3             sfplay3m            sfplaym
-sfplist             sfpreset            shaker              shl
-shr                 sin                 sinh                sininv
-sinsyn              sleighbells         slider16            slider16f
-slider16table       slider16tablef      slider32            slider32f
-slider32table       slider32tablef      slider64            slider64f
-slider64table       slider64tablef      slider8             slider8f
-slider8table        slider8tablef       sliderKawai         sndload
-sndloop             sndwarp             sndwarpst           sockrecv
-sockrecvs           socksend            socksends           soundin
-soundout            soundouts           space               spdist
-splitrig            sprintf             sprintfk            spsend
-sqrt                stack               statevar            stix
-strcat              strcatk             strchar             strchark
-strcmp              strcmpk             strcpy              strcpyk
-strecv              streson             strget              strindex
-strindexk           strlen              strlenk             strlower
-strlowerk           strrindex           strrindexk          strset
-strsub              strsubk             strtod              strtodk
-strtol              strtolk             strupper            strupperk
-stsend              sub                 subinstr            subinstrinit
-sum                 svfilter            syncgrain           syncloop
-syncphasor          system              system_i            tab
-tab_i               table               table3              tablecopy
-tablegpw            tablei              tableicopy          tableigpw
-tableikt            tableimix           tableiw             tablekt
-tablemix            tableng             tablera             tableseg
-tablew              tablewa             tablewkt            tablexkt
-tablexseg           tabmorph            tabmorpha           tabmorphak
-tabmorphi           tabplay             tabrec              tabw
-tabw_i              tambourine          tan                 tanh
-taninv              taninv2             tb0                 tb0_init
-tb1                 tb10                tb10_init           tb11
-tb11_init           tb12                tb12_init           tb13
-tb13_init           tb14                tb14_init           tb15
-tb15_init           tb1_init            tb2                 tb2_init
-tb3                 tb3_init            tb4                 tb4_init
-tb5                 tb5_init            tb6                 tb6_init
-tb7                 tb7_init            tb8                 tb8_init
-tb9                 tb9_init            tbvcf               tempest
-tempo               tempoval            tigoto              timedseq
-timeinstk           timeinsts           timek               times
-timout              tival               tlineto             tone
-tonek               tonex               tradsyn             trandom
-transeg             trcross             trfilter            trhighest
-trigger             trigseq             trirand             trlowest
-trmix               trscale             trshift             trsplit
-turnoff             turnoff2            turnon              unirand
-upsamp              urd                 vadd                vadd_i
-vaddv               vaddv_i             vaget               valpass
-vaset               vcella              vco                 vco2
-vco2ft              vco2ift             vco2init            vcomb
-vcopy               vcopy_i             vdel_k              vdelay
-vdelay3             vdelayk             vdelayx             vdelayxq
-vdelayxs            vdelayxw            vdelayxwq           vdelayxws
-vdivv               vdivv_i             vecdelay            veloc
-vexp                vexp_i              vexpseg             vexpv
-vexpv_i             vibes               vibr                vibrato
-vincr               vlimit              vlinseg             vlowres
-vmap                vmirror             vmult               vmult_i
-vmultv              vmultv_i            voice               vosim
-vphaseseg           vport               vpow                vpow_i
-vpowv               vpowv_i             vpvoc               vrandh
-vrandi              vsubv               vsubv_i             vtaba
-vtabi               vtabk               vtable1k            vtablea
-vtablei             vtablek             vtablewa            vtablewi
-vtablewk            vtabwa              vtabwi              vtabwk
-vwrap               waveset             weibull             wgbow
-wgbowedbar          wgbrass             wgclar              wgflute
-wgpluck             wgpluck2            wguide1             wguide2
-wrap                wterrain            xadsr               xin
-xor                 xout                xscanmap            xscans
-xscansmap           xscanu              xtratim             xyin
-zacl                zakinit             zamod               zar
-zarg                zaw                 zawm                zfilter2
-zir                 ziw                 ziwm                zkcl
-zkmod               zkr                 zkw                 zkwm
\ No newline at end of file
diff --git a/opcodeparser.py b/opcodeparser.py
index 1108a8f..fac71ec 100644
--- a/opcodeparser.py
+++ b/opcodeparser.py
@@ -32,15 +32,20 @@ files[len(files):]=glob.glob('opcodes/*/*.xml')
 files[len(files):]=glob.glob('vectorial/*.xml')
 files[len(files):]=glob.glob('utility/*.xml')
 files.sort()
+if files.index('opcodes/topXO.xml') >= 0:
+    files.remove('opcodes/topXO.xml')
 
 headerText = text[0:text.find('<book id="index"')]
 
 for i,filename in enumerate(files):
     entry = ''
-    #print file
+    #print filename
     source = open(filename, 'r')
-    # Necessary to define entities
-    newfile = headerText + source.read()
+    # Necessary to define entities>
+    entryText = source.read().replace("\xef\xbb\xbf","")
+    newfile = headerText + entryText
+    newfile = newfile.replace("\r", "")
+
     source.close()
     #print text
     xmldoc = minidom.parseString(newfile)
diff --git a/opcodes.xml b/opcodes.xml
index 4ecb0f3..2998c5f 100644
--- a/opcodes.xml
+++ b/opcodes.xml
@@ -7,6 +7,7 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Sets the control rate.</desc><synopsis><opcodename>kr</opcodename> = iarg</synopsis></opcode>
 <opcode><desc>Sets the number of samples in a control period.</desc><synopsis><opcodename>ksmps</opcodename> = iarg</synopsis></opcode>
 <opcode><desc>Sets the number of channels of audio output.</desc><synopsis><opcodename>nchnls</opcodename> = iarg</synopsis></opcode>
+<opcode><desc>Sets the number of channels of audio input.</desc><synopsis><opcodename>nchnls_i</opcodename> = iarg</synopsis></opcode>
 <opcode><desc>Sets the audio sampling rate.</desc><synopsis><opcodename>sr</opcodename> = iarg</synopsis></opcode>
 </category>
 <category name="Orchestra Syntax:Block Statements">
@@ -43,20 +44,18 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
       kl2minf, kl2maxf, ilfomode, keqminf, keqmaxf, keqminl, keqmaxl, \
       keqminq, keqmaxq, ieqmode, kfn [, il1fn] [, il2fn] [, ieqffn]   \
       [, ieqlfn] [, ieqqfn] [, itabl] [, ioutfn]</synopsis></opcode>
-<opcode><desc>A simple oscillator.</desc><synopsis>ares <opcodename>oscil</opcodename> xamp, xcps, ifn [, iphs]</synopsis><synopsis>kres <opcodename>oscil</opcodename> kamp, kcps, ifn [, iphs]</synopsis></opcode>
-<opcode><desc>A simple oscillator with cubic interpolation.</desc><synopsis>ares <opcodename>oscil3</opcodename> xamp, xcps, ifn [, iphs]</synopsis><synopsis>kres <opcodename>oscil3</opcodename> kamp, kcps, ifn [, iphs]</synopsis></opcode>
+<opcode><desc>A simple oscillator.</desc><synopsis>ares <opcodename>oscil</opcodename> xamp, xcps [, ifn, iphs]</synopsis><synopsis>kres <opcodename>oscil</opcodename> kamp, kcps [, ifn, iphs]</synopsis></opcode>
+<opcode><desc>A simple oscillator with cubic interpolation.</desc><synopsis>ares <opcodename>oscil3</opcodename> xamp, xcps [, ifn, iphs]</synopsis><synopsis>kres <opcodename>oscil3</opcodename> kamp, kcps [, ifn, iphs]</synopsis></opcode>
 <opcode><desc>A simple oscillator with linear interpolation.</desc><synopsis>ares <opcodename>oscili</opcodename> xamp, xcps, ifn [, iphs]</synopsis><synopsis>kres <opcodename>oscili</opcodename> kamp, kcps, ifn [, iphs]</synopsis></opcode>
 <opcode><desc>A linearly interpolated oscillator that allows changing the table number at k-rate.</desc><synopsis>ares <opcodename>oscilikt</opcodename> xamp, xcps, kfn [, iphs] [, istor]</synopsis><synopsis>kres <opcodename>oscilikt</opcodename> kamp, kcps, kfn [, iphs] [, istor]</synopsis></opcode>
 <opcode><desc>A linearly interpolated oscillator that allows allows phase modulation.</desc><synopsis>ares <opcodename>osciliktp</opcodename> kcps, kfn, kphs [, istor]</synopsis></opcode>
 <opcode><desc>A linearly interpolated oscillator with sync status that allows changing the table number at k-rate.</desc><synopsis>ares <opcodename>oscilikts</opcodename> xamp, xcps, kfn, async, kphs [, istor]</synopsis></opcode>
 <opcode><desc>Accesses table values at a user-defined frequency.</desc><synopsis>ares <opcodename>osciln</opcodename> kamp, ifrq, ifn, itimes</synopsis></opcode>
 <opcode><desc>A simple, fast sine oscillator</desc><synopsis>ares <opcodename>oscils</opcodename> iamp, icps, iphs [, iflg]</synopsis></opcode>
-<opcode><desc>High precision oscillator.</desc><synopsis>ares <opcodename>poscil</opcodename> aamp, acps, ifn [, iphs]</synopsis><synopsis>ares <opcodename>poscil</opcodename> aamp, kcps, ifn [, iphs]</synopsis><synopsis>ares <opcodename>poscil</opcodename> kamp, acps, ifn [, iphs]</synopsis><synopsis>ares <opcodename>poscil</opcodename> kamp, kcps, ifn [, iphs]</synopsis><synopsis>ires <opcodename>poscil</opcodename> kamp, kcps, ifn [, iphs]</synopsis><synopsis>kres <opcodename>poscil</opcodename> kamp, kcps, ifn [, iphs]</synopsis></opcode>
-<opcode><desc>High precision oscillator with cubic interpolation.</desc><synopsis>ares <opcodename>poscil3</opcodename> kamp, kcps, ifn [, iphs]</synopsis><synopsis>kres <opcodename>poscil3</opcodename> kamp, kcps, ifn [, iphs]</synopsis></opcode>
+<opcode><desc>High precision oscillator.</desc><synopsis>ares <opcodename>poscil</opcodename> aamp, acps [, ifn, iphs]</synopsis><synopsis>ares <opcodename>poscil</opcodename> aamp, kcps [, ifn, iphs]</synopsis><synopsis>ares <opcodename>poscil</opcodename> kamp, acps [, ifn, iphs]</synopsis><synopsis>ares <opcodename>poscil</opcodename> kamp, kcps [, ifn, iphs]</synopsis><synopsis>ires <opcodename>poscil</opcodename> kamp, kcps [, ifn, iphs]</synopsis><synopsis>kres <opcodename>poscil</opcodename> kamp, kcps [, ifn, iphs]</synopsis></opcode>
+<opcode><desc>High precision oscillator with cubic interpolation.</desc><synopsis>ares <opcodename>poscil3</opcodename> aamp, acps [, ifn, iphs]</synopsis><synopsis>ares <opcodename>poscil3</opcodename> aamp, kcps [, ifn, iphs]</synopsis><synopsis>ares <opcodename>poscil3</opcodename> kamp, acps [, ifn, iphs]</synopsis><synopsis>ares <opcodename>poscil3</opcodename> kamp, kcps [, ifn, iphs]</synopsis><synopsis>ires <opcodename>poscil3</opcodename> kamp, kcps [, ifn, iphs]</synopsis><synopsis>kres <opcodename>poscil3</opcodename> kamp, kcps [, ifn, iphs]</synopsis></opcode>
 <opcode><desc>Easier-to-use user-controllable vibrato.</desc><synopsis>kout <opcodename>vibr</opcodename> kAverageAmp, kAverageFreq, ifn</synopsis></opcode>
-<opcode><desc>Generates a natural-sounding user-controllable vibrato.</desc><synopsis>kout <opcodename>vibrato</opcodename> kAverageAmp, kAverageFreq, kRandAmountAmp, \
-      kRandAmountFreq, kAmpMinRate, kAmpMaxRate, kcpsMinRate, \
-      kcpsMaxRate, ifn [, iphs]</synopsis></opcode>
+<opcode><desc>Generates a natural-sounding user-controllable vibrato.</desc><synopsis>kout <opcodename>vibrato</opcodename> kAverageAmp, kAverageFreq, kRandAmountAmp, kRandAmountFreq, kAmpMinRate, kAmpMaxRate, kcpsMinRate, kcpsMaxRate, ifn [, iphs</synopsis></opcode>
 </category>
 <category name="Signal Generators:Dynamic Spectrum Oscillators">
 <opcode><desc>Output is a set of harmonically related sine partials.</desc><synopsis>ares <opcodename>buzz</opcodename> xamp, xcps, knh, ifn [, iphs]</synopsis></opcode>
@@ -71,18 +70,18 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 </category>
 <category name="Signal Generators:FM Synthesis">
 <opcode><desc>Two mutually frequency and/or phase modulated oscillators.</desc><synopsis>a1, a2 <opcodename>crossfm</opcodename> xfrq1, xfrq2, xndx1, xndx2, kcps, ifn1, ifn2 [, iphs1] [, iphs2]</synopsis><synopsis>a1, a2 <opcodename>crossfmi</opcodename> xfrq1, xfrq2, xndx1, xndx2, kcps, ifn1, ifn2 [, iphs1] [, iphs2]</synopsis><synopsis>a1, a2 <opcodename>crosspm</opcodename> xfrq1, xfrq2, xndx1, xndx2, kcps, ifn1, ifn2 [, iphs1] [, iphs2]</synopsis><synopsis>a1, a2 <opcodename>crosspmi</opcodename> xfrq1, xfrq2, xndx1, xndx2, kcps, ifn1, ifn2 [, iphs1] [, iphs2]</synopsis><synopsis>a1, a2 <opcodename>crossfmpm</opcodename> xfrq1, xfrq2, xndx1, xndx2, kcps, ifn1, ifn2 [, iphs1] [, iphs2]</synopsis><synopsis>a1, a2 <opcodename>crossfmpmi</opcodename> xfrq1, xfrq2, xndx1, xndx2, kcps, ifn1, ifn2 [, iphs1] [, iphs2]</synopsis></opcode>
-<opcode><desc>Uses FM synthesis to create a Hammond B3 organ sound.</desc><synopsis>ares <opcodename>fmb3</opcodename> kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, \
-      ifn4, ivfn</synopsis></opcode>
-<opcode><desc>Uses FM synthesis to create a tublar bell sound.</desc><synopsis>ares <opcodename>fmbell</opcodename> kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, \
-      ifn4, ivfn</synopsis></opcode>
+<opcode><desc>Uses FM synthesis to create a Hammond B3 organ sound.</desc><synopsis>ares <opcodename>fmb3</opcodename> kamp, kfreq, kc1, kc2, kvdepth, kvrate[, ifn1, ifn2, ifn3, \
+      ifn4, ivfn]</synopsis></opcode>
+<opcode><desc>Uses FM synthesis to create a tublar bell sound.</desc><synopsis>ares <opcodename>fmbell</opcodename> kamp, kfreq, kc1, kc2, kvdepth, kvrate[, ifn1, ifn2, ifn3, \
+      ifn4, ivfn, isus]</synopsis></opcode>
 <opcode><desc>Uses FM synthesis to create a</desc><synopsis>ares <opcodename>fmmetal</opcodename> kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, \
       ifn4, ivfn</synopsis></opcode>
-<opcode><desc>Uses FM synthesis to create a percussive flute sound.</desc><synopsis>ares <opcodename>fmpercfl</opcodename> kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, \
-      ifn3, ifn4, ivfn</synopsis></opcode>
+<opcode><desc>Uses FM synthesis to create a percussive flute sound.</desc><synopsis>ares <opcodename>fmpercfl</opcodename> kamp, kfreq, kc1, kc2, kvdepth, kvrate[, ifn1, ifn2, \
+      ifn3, ifn4, ivfn]</synopsis></opcode>
 <opcode><desc>Uses FM synthesis to create a Fender Rhodes electric piano sound.</desc><synopsis>ares <opcodename>fmrhode</opcodename> kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, \
       ifn3, ifn4, ivfn</synopsis></opcode>
-<opcode><desc>FM Singing Voice Synthesis</desc><synopsis>ares <opcodename>fmvoice</opcodename> kamp, kfreq, kvowel, ktilt, kvibamt, kvibrate, ifn1, \
-      ifn2, ifn3, ifn4, ivibfn</synopsis></opcode>
+<opcode><desc>FM Singing Voice Synthesis</desc><synopsis>ares <opcodename>fmvoice</opcodename> kamp, kfreq, kvowel, ktilt, kvibamt, kvibrate[, ifn1, \
+      ifn2, ifn3, ifn4, ivibfn]</synopsis></opcode>
 <opcode><desc>Uses FM synthesis to create a Wurlitzer electric piano sound.</desc><synopsis>ares <opcodename>fmwurlie</opcodename> kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, \
       ifn4, ivfn</synopsis></opcode>
 <opcode><desc>A basic frequency modulated oscillator.</desc><synopsis>ares <opcodename>foscil</opcodename> xamp, kcps, xcar, xmod, kndx, ifn [, iphs]</synopsis></opcode>
@@ -131,36 +130,47 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 </category>
 <category name="Signal Generators:Hyper Vectorial Synthesis">
 <opcode><desc>Allows one-dimensional Hyper Vectorial Synthesis (HVS) controlled by externally-updated k-variables.</desc><synopsis><opcodename>hvs1</opcodename> kx, inumParms, inumPointsX, iOutTab, iPositionsTab, iSnapTab [, iConfigTab]</synopsis></opcode>
-<opcode><desc>Allows two-dimensional Hyper Vectorial Synthesis (HVS) controlled by externally-updated k-variables.</desc><synopsis><opcodename>hvs2</opcodename> kx, ky, inumParms, inumPointsX, iOutTab, iPositionsTab, iSnapTab [, iConfigTab]</synopsis></opcode>
-<opcode><desc>Allows three-dimensional Hyper Vectorial Synthesis (HVS) controlled by externally-updated k-variables.</desc><synopsis><opcodename>hvs3</opcodename> kx, ky, kz, inumParms, inumPointsX, iOutTab, iPositionsTab, iSnapTab [, iConfigTab]</synopsis></opcode>
+<opcode><desc>Allows two-dimensional Hyper Vectorial Synthesis (HVS) controlled by externally-updated k-variables.</desc><synopsis><opcodename>hvs2</opcodename> kx, ky, inumParms, inumPointsX, inumPointsY, iOutTab, iPositionsTab, iSnapTab [, iConfigTab]</synopsis></opcode>
+<opcode><desc>Allows three-dimensional Hyper Vectorial Synthesis (HVS) controlled by externally-updated k-variables.</desc><synopsis><opcodename>hvs3</opcodename> kx, ky, kz, inumParms, inumPointsX, inumPointsY, inumPointsZ, iOutTab, iPositionsTab, iSnapTab [, iConfigTab]</synopsis></opcode>
 </category>
 <category name="Signal Generators:Linear and Exponential Generators">
+<opcode><desc>Trace a series of line segments between specified points with
+      cosine interpolation.</desc><synopsis>ares <opcodename>cosseg</opcodename> ia, idur1, ib [, idur2] [, ic] [...]</synopsis><synopsis>kres <opcodename>cosseg</opcodename> ia, idur1, ib [, idur2] [, ic] [...]</synopsis></opcode>
+<opcode><desc>Trace a series of line segments between specified absolute points with
+      cosine interpolation.</desc><synopsis>ares <opcodename>cossegb</opcodename> ia, itim1, ib [, itim2] [, ic] [...]</synopsis><synopsis>kres <opcodename>cossegb</opcodename> ia, itim1, ib [, itim2] [, ic] [...]</synopsis></opcode>
+<opcode><desc>Trace a series of line segments between specified points with
+      cosine interpolation, including a release segment.</desc><synopsis>ares <opcodename>cossegr</opcodename> ia, idur1, ib [, idur2] [, ic] [...], irel, iz</synopsis><synopsis>kres <opcodename>cossegr</opcodename> ia, idur1, ib [, idur2] [, ic] [...], irel, iz</synopsis></opcode>
 <opcode><desc>This opcode implements a formula for generating a normalised exponential curve in range 0 - 1. It is based on the Max / MSP work of Eric Singer (c) 1994.</desc><synopsis>kout <opcodename>expcurve</opcodename> kindex, ksteepness</synopsis></opcode>
 <opcode><desc>Trace an exponential curve between specified points.</desc><synopsis>ares <opcodename>expon</opcodename> ia, idur, ib</synopsis><synopsis>kres <opcodename>expon</opcodename> ia, idur, ib</synopsis></opcode>
 <opcode><desc>Trace a series of exponential segments between specified points.</desc><synopsis>ares <opcodename>expseg</opcodename> ia, idur1, ib [, idur2] [, ic] [...]</synopsis><synopsis>kres <opcodename>expseg</opcodename> ia, idur1, ib [, idur2] [, ic] [...]</synopsis></opcode>
 <opcode><desc>An exponential segment generator operating at a-rate.</desc><synopsis>ares <opcodename>expsega</opcodename> ia, idur1, ib [, idur2] [, ic] [...]</synopsis></opcode>
+<opcode><desc>Trace a series of exponential segments between specified
+      absolute points.</desc><synopsis>ares <opcodename>expsegb</opcodename> ia, itim1, ib [, itim2] [, ic] [...]</synopsis><synopsis>kres <opcodename>expsegb</opcodename> ia, itim1, ib [, itim2] [, ic] [...]</synopsis></opcode>
+<opcode><desc>An exponential segment generator operating at a-rate with
+      absolute times.</desc><synopsis>ares <opcodename>expsegba</opcodename> ia, itim1, ib [, itim2] [, ic] [...]</synopsis></opcode>
 <opcode><desc>Trace a series of exponential segments between specified points including a release segment.</desc><synopsis>ares <opcodename>expsegr</opcodename> ia, idur1, ib [, idur2] [, ic] [...], irel, iz</synopsis><synopsis>kres <opcodename>expsegr</opcodename> ia, idur1, ib [, idur2] [, ic] [...], irel, iz</synopsis></opcode>
 <opcode><desc>An implementation of a logarithmic gain curve which is similar to the gainslider~ object from Cycling 74 Max / MSP.</desc><synopsis>kout <opcodename>gainslider</opcodename> kindex</synopsis></opcode>
 <opcode><desc>A jitter-spline generator.</desc><synopsis>ares <opcodename>jspline</opcodename> xamp, kcpsMin, kcpsMax</synopsis><synopsis>kres <opcodename>jspline</opcodename> kamp, kcpsMin, kcpsMax</synopsis></opcode>
 <opcode><desc>Trace a straight line between specified points.</desc><synopsis>ares <opcodename>line</opcodename> ia, idur, ib</synopsis><synopsis>kres <opcodename>line</opcodename> ia, idur, ib</synopsis></opcode>
 <opcode><desc>Trace a series of line segments between specified points.</desc><synopsis>ares <opcodename>linseg</opcodename> ia, idur1, ib [, idur2] [, ic] [...]</synopsis><synopsis>kres <opcodename>linseg</opcodename> ia, idur1, ib [, idur2] [, ic] [...]</synopsis></opcode>
+<opcode><desc>Trace a series of line segments between specified absolute points.</desc><synopsis>ares <opcodename>linsegb</opcodename> ia, itim1, ib [, itim2] [, ic] [...]</synopsis><synopsis>kres <opcodename>linsegb</opcodename> ia, itim1, ib [, itim2] [, ic] [...]</synopsis></opcode>
 <opcode><desc>Trace a series of line segments between specified points including a release segment.</desc><synopsis>ares <opcodename>linsegr</opcodename> ia, idur1, ib [, idur2] [, ic] [...], irel, iz</synopsis><synopsis>kres <opcodename>linsegr</opcodename> ia, idur1, ib [, idur2] [, ic] [...], irel, iz</synopsis></opcode>
 <opcode><desc>This opcode implements a formula for generating a normalised logarithmic curve in range 0 - 1. It is based on the Max / MSP work of Eric Singer (c) 1994.</desc><synopsis>kout <opcodename>logcurve</opcodename> kindex, ksteepness</synopsis></opcode>
-<opcode><desc>Generate control signal consisting of linear segments delimited by two or more specified points.</desc><synopsis>ksig <opcodename>loopseg</opcodename> kfreq, ktrig, ktime0, kvalue0 [, ktime1] [, kvalue1] \
-      [, ktime2] [, kvalue2] [...]</synopsis></opcode>
+<opcode><desc>Generate control signal consisting of linear segments delimited by two or more specified points.</desc><synopsis>ksig <opcodename>loopseg</opcodename> kfreq, ktrig, iphase, kvalue0, ktime0 [, kvalue1] [, ktime1] \
+[, kvalue2] [, ktime2][...]</synopsis></opcode>
 <opcode><desc>Control signals based on linear segments.</desc><synopsis>ksig <opcodename>loopsegp</opcodename>  kphase, kvalue0, kdur0, kvalue1 \
       [, kdur1, ... , kdurN-1, kvalueN]</synopsis></opcode>
-<opcode><desc>Generate control signal consisting of exponential or linear segments delimited by two or more specified points.</desc><synopsis>ksig <opcodename>looptseg</opcodename> kfreq, ktrig, ktime0, kvalue0, ktype, [, ktime1] [,ktype1] [, kvalue1] \
-      [, ktime2] [,ktype2] [, kvalue2] [...]</synopsis></opcode>
-<opcode><desc>Generate control signal consisting of exponential segments delimited by two or more specified points.</desc><synopsis>ksig <opcodename>loopxseg</opcodename> kfreq, ktrig, ktime0, kvalue0 [, ktime1] [, kvalue1] \
-      [, ktime2] [, kvalue2] [...]</synopsis></opcode>
-<opcode><desc>Generate control signal consisting of held segments.</desc><synopsis>ksig <opcodename>lpshold</opcodename> kfreq, ktrig, ktime0, kvalue0  [, ktime1] [, kvalue1] \
+<opcode><desc>Generate control signal consisting of exponential or linear segments delimited by two or more specified points.</desc><synopsis>ksig <opcodename>looptseg</opcodename> kfreq, ktrig, ktime0, kvalue0, ktype0, [, ktime1] [, kvalue1] [,ktype1] \
+      [, ktime2] [, kvalue2] [,ktype2] [...][, ktimeN] [, kvalueN]</synopsis></opcode>
+<opcode><desc>Generate control signal consisting of exponential segments delimited by two or more specified points.</desc><synopsis>ksig <opcodename>loopxseg</opcodename> kfreq, ktrig, iphase, ktime0, kvalue0 [, ktime1] [, kvalue1] \
       [, ktime2] [, kvalue2] [...]</synopsis></opcode>
+<opcode><desc>Generate control signal consisting of held segments.</desc><synopsis>ksig <opcodename>lpshold</opcodename> kfreq, ktrig, iphase, ktime0, kvalue0  [, ktime1] [, kvalue1] [, ktime2] [, kvalue2] [...]</synopsis></opcode>
 <opcode><desc>Control signals based on held segments.</desc><synopsis>ksig <opcodename>lpsholdp</opcodename>  kphase, ktrig, ktime0, kvalue0  [, ktime1] [, kvalue1] \
       [, ktime2] [, kvalue2] [...]</synopsis></opcode>
 <opcode><desc>Generate random spline curves.</desc><synopsis>ares <opcodename>rspline</opcodename> xrangeMin, xrangeMax, kcpsMin, kcpsMax</synopsis><synopsis>kres <opcodename>rspline</opcodename> krangeMin, krangeMax, kcpsMin, kcpsMax</synopsis></opcode>
 <opcode><desc>Arbitrary signal scaling.</desc><synopsis>kscl <opcodename>scale</opcodename> kinput, kmax, kmin</synopsis></opcode>
 <opcode><desc>Constructs a user-definable envelope.</desc><synopsis>ares <opcodename>transeg</opcodename> ia, idur, itype, ib [, idur2] [, itype] [, ic] ...</synopsis><synopsis>kres <opcodename>transeg</opcodename> ia, idur, itype, ib [, idur2] [, itype] [, ic] ...</synopsis></opcode>
+<opcode><desc>Constructs a user-definable envelope in absolute time.</desc><synopsis>ares <opcodename>transegb</opcodename> ia, itim, itype, ib [, itim2] [, itype] [, ic] ...</synopsis><synopsis>kres <opcodename>transegb</opcodename> ia, itim, itype, ib [, itim2] [, itype] [, ic] ...</synopsis></opcode>
 <opcode><desc>Constructs a user-definable envelope with extended release segment.</desc><synopsis>ares <opcodename>transegr</opcodename> ia, idur, itype, ib [, idur2] [, itype] [, ic] ...</synopsis><synopsis>kres <opcodename>transegr</opcodename> ia, idur, itype, ib [, idur2] [, itype] [, ic] ...</synopsis></opcode>
 </category>
 <category name="Signal Generators:Envelope Generators">
@@ -182,6 +192,16 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Semi-physical model of a crunch sound.</desc><synopsis>ares <opcodename>crunch</opcodename> iamp, idettack [, inum] [, idamp] [, imaxshake]</synopsis></opcode>
 <opcode><desc>Semi-physical model of a water drop.</desc><synopsis>ares <opcodename>dripwater</opcodename> kamp, idettack [, inum] [, idamp] [, imaxshake] [, ifreq] \
       [, ifreq1] [, ifreq2]</synopsis></opcode>
+<opcode><desc>Dynamic stochastic approach to waveform synthesis conceived by Iannis Xenakis.</desc><synopsis>ares <opcodename>gendy</opcodename> kamp, kampdist, kdurdist, kadpar, kddpar, kminfreq, kmaxfreq, \
+           kampscl, kdurscl [, initcps] [, knum]</synopsis><synopsis>kres <opcodename>gendy</opcodename> kamp, kampdist, kdurdist, kadpar, kddpar, kminfreq, kmaxfreq, \
+           kampscl, kdurscl [, initcps] [, knum]</synopsis></opcode>
+<opcode><desc>Dynamic stochastic approach to waveform synthesis using cubic interpolation.</desc><synopsis>ares <opcodename>gendyc</opcodename> kamp, kampdist, kdurdist, kadpar, kddpar, kminfreq, kmaxfreq, \
+            kampscl, kdurscl [, initcps] [, knum]</synopsis><synopsis>kres <opcodename>gendyc</opcodename> kamp, kampdist, kdurdist, kadpar, kddpar, kminfreq, kmaxfreq, \
+            kampscl, kdurscl [, initcps] [, knum]</synopsis></opcode>
+<opcode><desc>Variation of the dynamic stochastic approach to waveform
+      synthesis conceived by Iannis Xenakis.</desc><synopsis>ares <opcodename>gendyx</opcodename> kamp, kampdist, kdurdist, kadpar, kddpar, kminfreq, kmaxfreq, \
+            kampscl, kdurscl, kcurveup, kcurvedown [, initcps] [, knum]</synopsis><synopsis>kres <opcodename>gendyx</opcodename> kamp, kampdist, kdurdist, kadpar, kddpar, kminfreq, kmaxfreq, \
+            kampscl, kdurscl, kcurveup, kcurvedown [, initcps] [, knum]</synopsis></opcode>
 <opcode><desc>Audio output is a tone related to the striking of a cow bell or similar.</desc><synopsis>ares <opcodename>gogobel</opcodename> kamp, kfreq, ihrd, ipos, imp, kvibf, kvamp, ivfn</synopsis></opcode>
 <opcode><desc>Semi-physical model of a guiro sound.</desc><synopsis>ares <opcodename>guiro</opcodename> kamp, idettack [, inum] [, idamp] [, imaxshake] [, ifreq] [, ifreq1]</synopsis></opcode>
 <opcode><desc>Implements the Lorenz system of equations.</desc><synopsis>ax, ay, az <opcodename>lorenz</opcodename> ksv, krv, kbv, kh, ix, iy, iz, iskip [, iskipinit]</synopsis></opcode>
@@ -217,10 +237,20 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Beta distribution random number generator (positive values only).</desc><synopsis>ares <opcodename>betarand</opcodename> krange, kalpha, kbeta</synopsis><synopsis>ires <opcodename>betarand</opcodename> krange, kalpha, kbeta</synopsis><synopsis>kres <opcodename>betarand</opcodename> krange, kalpha, kbeta</synopsis></opcode>
 <opcode><desc>Exponential distribution random number generator.</desc><synopsis>ares <opcodename>bexprnd</opcodename> krange</synopsis><synopsis>ires <opcodename>bexprnd</opcodename> krange</synopsis><synopsis>kres <opcodename>bexprnd</opcodename> krange</synopsis></opcode>
 <opcode><desc>Cauchy distribution random number generator.</desc><synopsis>ares <opcodename>cauchy</opcodename> kalpha</synopsis><synopsis>ires <opcodename>cauchy</opcodename> kalpha</synopsis><synopsis>kres <opcodename>cauchy</opcodename> kalpha</synopsis></opcode>
+<opcode><desc>Cauchy distribution random number generator with
+      interpolation.</desc><synopsis>ares <opcodename>cauchyi</opcodename> klambda, xamp, xcps</synopsis><synopsis>ires <opcodename>cauchyi</opcodename> klambda, xamp, xcps</synopsis><synopsis>kres <opcodename>cauchyi</opcodename> klambda, xamp, xcps</synopsis></opcode>
 <opcode><desc>Continuous USER-defined-distribution RaNDom generator.</desc><synopsis>aout <opcodename>cuserrnd</opcodename> kmin, kmax, ktableNum</synopsis><synopsis>iout <opcodename>cuserrnd</opcodename> imin, imax, itableNum</synopsis><synopsis>kout <opcodename>cuserrnd</opcodename> kmin, kmax, ktableNum</synopsis></opcode>
 <opcode><desc>Discrete USER-defined-distribution RaNDom generator.</desc><synopsis>aout <opcodename>duserrnd</opcodename> ktableNum</synopsis><synopsis>iout <opcodename>duserrnd</opcodename> itableNum</synopsis><synopsis>kout <opcodename>duserrnd</opcodename> ktableNum</synopsis></opcode>
+<opcode><desc>Random impulses.</desc><synopsis>ares <opcodename>dust</opcodename> kamp, kdensity</synopsis><synopsis>kres <opcodename>dust</opcodename> kamp, kdensity</synopsis></opcode>
+<opcode><desc>Random impulses.</desc><synopsis>ares <opcodename>dust2</opcodename> kamp, kdensity</synopsis><synopsis>kres <opcodename>dust2</opcodename> kamp, kdensity</synopsis></opcode>
 <opcode><desc>Exponential distribution random number generator (positive values only).</desc><synopsis>ares <opcodename>exprand</opcodename> klambda</synopsis><synopsis>ires <opcodename>exprand</opcodename> klambda</synopsis><synopsis>kres <opcodename>exprand</opcodename> klambda</synopsis></opcode>
+<opcode><desc>Exponential distribution random number generator with
+      interpolation (positive values only).</desc><synopsis>ares <opcodename>exprandi</opcodename> klambda, xamp, xcps</synopsis><synopsis>ires <opcodename>exprandi</opcodename> klambda, xamp, xcps</synopsis><synopsis>kres <opcodename>exprandi</opcodename> klambda, xamp, xcps</synopsis></opcode>
+<opcode><desc>A fractal noise generator.</desc><synopsis>ares <opcodename>fractalnoise</opcodename> kamp, kbeta</synopsis></opcode>
 <opcode><desc>Gaussian distribution random number generator.</desc><synopsis>ares <opcodename>gauss</opcodename> krange</synopsis><synopsis>ires <opcodename>gauss</opcodename> krange</synopsis><synopsis>kres <opcodename>gauss</opcodename> krange</synopsis></opcode>
+<opcode><desc>Gaussian distribution random number generator with
+      interpolation.</desc><synopsis>ares <opcodename>gaussi</opcodename> krange, xamp, xcps</synopsis><synopsis>ires <opcodename>gaussi</opcodename> krange, xamp, xcps</synopsis><synopsis>kres <opcodename>gaussi</opcodename> krange, xamp, xcps</synopsis></opcode>
+<opcode><desc>Random impulses around a certain frequency.</desc><synopsis>ares <opcodename>gausstrig</opcodename> kamp, kcps, kdev [, imode]</synopsis><synopsis>kres <opcodename>gausstrig</opcodename> kamp, kcps, kdev [, imode]</synopsis></opcode>
 <opcode><desc>Generates a segmented line whose segments are randomly generated.</desc><synopsis>kout <opcodename>jitter</opcodename> kamp, kcpsMin, kcpsMax</synopsis></opcode>
 <opcode><desc>Generates a segmented line with user-controllable random segments.</desc><synopsis>kout <opcodename>jitter2</opcodename> ktotamp, kamp1, kcps1, kamp2, kcps2, kamp3, kcps3</synopsis></opcode>
 <opcode><desc>Linear distribution random number generator (positive values only).</desc><synopsis>ares <opcodename>linrand</opcodename> krange</synopsis><synopsis>ires <opcodename>linrand</opcodename> krange</synopsis><synopsis>kres <opcodename>linrand</opcodename> krange</synopsis></opcode>
@@ -232,13 +262,14 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Generates random numbers and holds them for a period of time.</desc><synopsis>ares <opcodename>randh</opcodename> xamp, xcps [, iseed] [, isize] [, ioffset]</synopsis><synopsis>kres <opcodename>randh</opcodename> kamp, kcps [, iseed] [, isize] [, ioffset]</synopsis></opcode>
 <opcode><desc>Generates a controlled random number series with interpolation between each new number.</desc><synopsis>ares <opcodename>randi</opcodename> xamp, xcps [, iseed] [, isize] [, ioffset]</synopsis><synopsis>kres <opcodename>randi</opcodename> kamp, kcps [, iseed] [, isize] [, ioffset]</synopsis></opcode>
 <opcode><desc>Generates a controlled pseudo-random number series between min and max values.</desc><synopsis>ares <opcodename>random</opcodename> kmin, kmax</synopsis><synopsis>ires <opcodename>random</opcodename> imin, imax</synopsis><synopsis>kres <opcodename>random</opcodename> kmin, kmax</synopsis></opcode>
-<opcode><desc>Generates random numbers with a user-defined limit and holds them for a period of time.</desc><synopsis>ares <opcodename>randomh</opcodename> kmin, kmax, acps</synopsis><synopsis>kres <opcodename>randomh</opcodename> kmin, kmax, kcps</synopsis></opcode>
-<opcode><desc>Generates a user-controlled random number series with interpolation between each new number.</desc><synopsis>ares <opcodename>randomi</opcodename> kmin, kmax, acps</synopsis><synopsis>kres <opcodename>randomi</opcodename> kmin, kmax, kcps</synopsis></opcode>
+<opcode><desc>Generates random numbers with a user-defined limit and holds them for a period of time.</desc><synopsis>ares <opcodename>randomh</opcodename> kmin, kmax, xcps [,imode] [,ifirstval]</synopsis><synopsis>kres <opcodename>randomh</opcodename> kmin, kmax, kcps [,imode] [,ifirstval]</synopsis></opcode>
+<opcode><desc>Generates a user-controlled random number series with interpolation between each new number.</desc><synopsis>ares <opcodename>randomi</opcodename> kmin, kmax, xcps [,imode] [,ifirstval]</synopsis><synopsis>kres <opcodename>randomi</opcodename> kmin, kmax, kcps [,imode] [,ifirstval]</synopsis></opcode>
 <opcode><desc>31-bit bipolar random opcodes with controllable distribution.</desc><synopsis>ax <opcodename>rnd31</opcodename> kscl, krpow [, iseed]</synopsis><synopsis>ix <opcodename>rnd31</opcodename> iscl, irpow [, iseed]</synopsis><synopsis>kx <opcodename>rnd31</opcodename> kscl, krpow [, iseed]</synopsis></opcode>
 <opcode><desc>Sets the global seed value.</desc><synopsis><opcodename>seed</opcodename> ival</synopsis></opcode>
 <opcode><desc>Generates a controlled pseudo-random number series between min and max values according to a trigger.</desc><synopsis>kout <opcodename>trandom</opcodename> ktrig, kmin, kmax</synopsis></opcode>
 <opcode><desc>Triangular distribution random number generator</desc><synopsis>ares <opcodename>trirand</opcodename> krange</synopsis><synopsis>ires <opcodename>trirand</opcodename> krange</synopsis><synopsis>kres <opcodename>trirand</opcodename> krange</synopsis></opcode>
 <opcode><desc>Uniform distribution random number generator (positive values only).</desc><synopsis>ares <opcodename>unirand</opcodename> krange</synopsis><synopsis>ires <opcodename>unirand</opcodename> krange</synopsis><synopsis>kres <opcodename>unirand</opcodename> krange</synopsis></opcode>
+<opcode><desc>truly random opcodes with controllable range.</desc><synopsis>ax <opcodename>urandom</opcodename> [imin, imax]</synopsis><synopsis>ix <opcodename>urandom</opcodename> [imin, imax]</synopsis><synopsis>kx <opcodename>urandom</opcodename> [imin, imax]</synopsis></opcode>
 <opcode><desc>A discrete user-defined-distribution random generator that can be used as a function.</desc><synopsis>aout = <opcodename>urd</opcodename>(ktableNum)</synopsis><synopsis>iout = <opcodename>urd</opcodename>(itableNum)</synopsis><synopsis>kout = <opcodename>urd</opcodename>(ktableNum)</synopsis></opcode>
 <opcode><desc>Weibull distribution random number generator (positive values only).</desc><synopsis>ares <opcodename>weibull</opcodename> ksigma, ktau</synopsis><synopsis>ires <opcodename>weibull</opcodename> ksigma, ktau</synopsis><synopsis>kres <opcodename>weibull</opcodename> ksigma, ktau</synopsis></opcode>
 </category>
@@ -268,11 +299,11 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
       ar15, ar16] <opcodename>loscilx</opcodename> xamp, kcps, ifn \
       [, iwsize, ibas, istrt, imod1, ibeg1, iend1]</synopsis></opcode>
 <opcode><desc>Generates a table index for sample playback</desc><synopsis>ares <opcodename>lphasor</opcodename> xtrns [, ilps] [, ilpe] [, imode] [, istrt] [, istor]</synopsis></opcode>
-<opcode><desc>Read sampled sound from a table with optional looping and high precision.</desc><synopsis>ares <opcodename>lposcil</opcodename> kamp, kfreqratio, kloop, kend, ifn [, iphs]</synopsis></opcode>
+<opcode><desc>Read sampled sound from a table with looping and high precision.</desc><synopsis>ares <opcodename>lposcil</opcodename> kamp, kfreqratio, kloop, kend, ifn [, iphs]</synopsis></opcode>
 <opcode><desc>Read sampled sound from a table with high precision and cubic interpolation.</desc><synopsis>ares <opcodename>lposcil3</opcodename> kamp, kfreqratio, kloop, kend, ifn [, iphs]</synopsis></opcode>
-<opcode><desc>Read sampled sound from a table with optional looping and high precision.</desc><synopsis>ar <opcodename>lposcila</opcodename> aamp, kfreqratio, kloop, kend, ift [,iphs] </synopsis></opcode>
-<opcode><desc>Read stereo sampled sound from a table with optional looping and high precision.</desc><synopsis>ar1, ar2 <opcodename>lposcilsa</opcodename> aamp, kfreqratio, kloop, kend, ift [,iphs] </synopsis></opcode>
-<opcode><desc>Read stereo sampled sound from a table with optional looping and high precision.</desc><synopsis>ar1, ar2 <opcodename>lposcilsa2</opcodename> aamp, kfreqratio, kloop, kend, ift [,iphs] </synopsis></opcode>
+<opcode><desc>Read sampled sound from a table with looping and high precision.</desc><synopsis>ar <opcodename>lposcila</opcodename> aamp, kfreqratio, kloop, kend, ift [,iphs] </synopsis></opcode>
+<opcode><desc>Read stereo sampled sound from a table with looping and high precision.</desc><synopsis>ar1, ar2 <opcodename>lposcilsa</opcodename> aamp, kfreqratio, kloop, kend, ift [,iphs] </synopsis></opcode>
+<opcode><desc>Read stereo sampled sound from a table with looping and high precision.</desc><synopsis>ar1, ar2 <opcodename>lposcilsa2</opcodename> aamp, kfreqratio, kloop, kend, ift [,iphs] </synopsis></opcode>
 <opcode><desc>Prints a list of all instruments of a previously loaded SoundFont2 (SF2) file.</desc><synopsis><opcodename>sfilist</opcodename> ifilhandle</synopsis></opcode>
 <opcode><desc>Plays a SoundFont2 (SF2) sample instrument, generating a stereo sound.</desc><synopsis>ar1, ar2 <opcodename>sfinstr</opcodename> ivel, inotenum, xamp, xfreq, instrnum, ifilhandle \
       [, iflag] [, ioffset]</synopsis></opcode>
@@ -284,7 +315,7 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
       [, iflag] [, ioffset]</synopsis></opcode>
 <opcode><desc>Loads an entire SoundFont2 (SF2) sample file into memory.</desc><synopsis>ir <opcodename>sfload</opcodename> "filename"</synopsis></opcode>
 <opcode><desc>Plays a SoundFont2 (SF2) sample preset, generating a stereo sound, with user-defined
-      time-varying crossfade looping.</desc><synopsis>ar1, ar2 <opcodename>sflooper</opcodename> ivel, inotenum, kamp, kpitch, ipreindex, kloopstart, kloopend, kcrossfade, ifn \
+      time-varying crossfade looping.</desc><synopsis>ar1, ar2 <opcodename>sflooper</opcodename> ivel, inotenum, kamp, kpitch, ipreindex, kloopstart, kloopend, kcrossfade \
       [, istart, imode, ifenv, iskip] </synopsis></opcode>
 <opcode><desc>Assigns all presets of a SoundFont2 (SF2) sample file to a sequence of progressive index numbers.</desc><synopsis><opcodename>sfpassign</opcodename> istartindex, ifilhandle[, imsgs]</synopsis></opcode>
 <opcode><desc>Plays a SoundFont2 (SF2) sample preset, generating a stereo sound.</desc><synopsis>ar1, ar2 <opcodename>sfplay</opcodename> ivel, inotenum, xamp, xfreq, ipreindex [, iflag] [, ioffset] [, ienv]</synopsis></opcode>
@@ -308,9 +339,41 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Compute the waveform and the wavetable for use in scanned synthesis.</desc><synopsis><opcodename>xscanu</opcodename> init, irate, ifnvel, ifnmass, ifnstif, ifncentr, ifndamp, kmass, \
       kstif, kcentr, kdamp, ileft, iright, kpos, kstrngth, ain, idisp, id</synopsis></opcode>
 </category>
+<category name="Signal Generators:STK Opcodes">
+<opcode><desc>STKBandedWG uses banded waveguide techniques to model a variety of sounds.</desc><synopsis>asignal <opcodename>STKBandedWG</opcodename> ifrequency, iamplitude, [kpress, kv1[, kmot, kv2[, klfo, kv3[, klfodepth, kv4[, kvel, kv5[, kstrk, kv6[, kinstr, kv7]]]]]]]</synopsis></opcode>
+<opcode><desc>STK Hammond-oid organ-like FM synthesis instrument.</desc><synopsis>asignal <opcodename>STKBeeThree</opcodename> ifrequency, iamplitude, [kop4, kv1[, kop3, kv2[, klfo, kv3[, klfodepth, kv4[, kadsr, kv5]]]]]</synopsis></opcode>
+<opcode><desc>STKBlowBotl uses a helmholtz resonator (biquad filter) with a polynomial jet excitation.</desc><synopsis>asignal <opcodename>STKBlowBotl</opcodename> ifrequency, iamplitude, [knoise, kv1[, klfo, kv2[, klfodepth, kv3[, kvol, kv4]]]]</synopsis></opcode>
+<opcode><desc>STK clarinet physical model with one register hole and one tonehole.</desc><synopsis>asignal <opcodename>STKBlowHole</opcodename> ifrequency, iamplitude, [kreed, kv1[, knoise, kv2[, khole, kv3[, kreg, kv4[, kbreath, kv5]]]]]</synopsis></opcode>
+<opcode><desc>STKBowed is a bowed string instrument.</desc><synopsis>asignal <opcodename>STKBowed</opcodename> ifrequency, iamplitude, [kpress, kv1[, kpos, kv2[, klfo, kv3[, klfodepth, kv4[, kvol, kv5]]]]]</synopsis></opcode>
+<opcode><desc>STKBrass is a simple brass instrument.</desc><synopsis>asignal <opcodename>STKBrass</opcodename> ifrequency, iamplitude, [klip, kv1[, kslide, kv2[, klfo, kv3[, klfodepth, kv4[, kvol, kv5]]]]]</synopsis></opcode>
+<opcode><desc>STKClarinet uses a simple clarinet physical model.</desc><synopsis>asignal <opcodename>STKClarinet</opcodename> ifrequency, iamplitude, [kstiff, kv1[, knoise, kv2[, klfo, kv3[, klfodepth, kv4[, kbreath, kv5]]]]]</synopsis></opcode>
+<opcode><desc>STKDrummer is a drum sampling synthesizer.</desc><synopsis>asignal <opcodename>STKDrummer</opcodename> ifrequency, iamplitude</synopsis></opcode>
+<opcode><desc>STKFMVoices is a singing FM synthesis instrument.</desc><synopsis>asignal <opcodename>STKFMVoices</opcodename> ifrequency, iamplitude, [kvowel, kv1[, kspec, kv2[, klfo, kv3[, klfodepth, kv4[, kadsr, kv5]]]]]</synopsis></opcode>
+<opcode><desc>STKFlute uses a simple flute physical model.</desc><synopsis>asignal <opcodename>STKFlute</opcodename> ifrequency, iamplitude, [kjet, kv1[, knoise, kv2[, klfo, kv3[, klfodepth, kv4[, kbreath, kv5]]]]]</synopsis></opcode>
+<opcode><desc>STKHevyMetl produces metal sounds.</desc><synopsis>asignal <opcodename>STKHevyMetl</opcodename> ifrequency, iamplitude, [kmod, kv1[, kcross, kv2[, klfo, kv3[, klfodepth, kv4[, kadsr, kv5]]]]]</synopsis></opcode>
+<opcode><desc>STKMandolin produces mamdolin-like sounds.</desc><synopsis>asignal <opcodename>STKMandolin</opcodename> ifrequency, iamplitude, [kbody, kv1[, kpos, kv2[, ksus, kv3[, kdetune, kv4[, kmic, kv5]]]]]</synopsis></opcode>
+<opcode><desc>STKModalBar is a resonant bar instrument.</desc><synopsis>asignal <opcodename>STKModalBar</opcodename> ifrequency, iamplitude, [khard, kv1[, kpos, kv2[, klfo, kv3[, klfodepth, kv4[, kmix, kv5[, kvol, kv6[, kinstr, kv7]]]]]]]</synopsis></opcode>
+<opcode><desc>STKMoog produces moog-like swept filter sounds.</desc><synopsis>asignal <opcodename>STKMoog</opcodename> ifrequency, iamplitude, [kq, kv1[, krate, kv2[, klfo, kv3[, klfodepth, kv4[, kvol, kv5]]]]]</synopsis></opcode>
+<opcode><desc>STKPercFlut is a percussive flute FM synthesis instrument.</desc><synopsis>asignal <opcodename>STKPercFlut</opcodename> ifrequency, iamplitude, [kmod, kv1[, kcross, kv2[, klfo, kv3[, klfodepth, kv4[, kadsr, kv5]]]]]</synopsis></opcode>
+<opcode><desc>STKPlucked uses a plucked string physical model.</desc><synopsis>asignal <opcodename>STKPlucked</opcodename> ifrequency, iamplitude</synopsis></opcode>
+<opcode><desc>STKResonate is a noise driven formant filter.</desc><synopsis>asignal <opcodename>STKResonate</opcodename> ifrequency, iamplitude, [kfreq, kv1[, kpole, kv2[, knotch, kv3[, kzero, kv4[, kenv, kv5]]]]]</synopsis></opcode>
+<opcode><desc>STK Fender Rhodes-like electric piano FM synthesis instrument.</desc><synopsis>asignal <opcodename>STKRhodey</opcodename> ifrequency, iamplitude, [kmod, kv1[, kcross, kv2[, klfo, kv3[, klfodepth, kv4[, kadsr, kv5]]]]]</synopsis></opcode>
+<opcode><desc>STKSaxofony is a faux conical bore reed instrument.</desc><synopsis>asignal <opcodename>STKSaxofony</opcodename> ifrequency, iamplitude, [kstiff, kv1[, kapert, kv2[, kblow, kv3[, knoise, kv4[, klfo, kv5[, klfodepth, kv6[, kbreath, kv7]]]]]]]</synopsis></opcode>
+<opcode><desc>STKShakers is an instrument that simulates environmental sounds or collisions of multiple independent sound producing objects.</desc><synopsis>asignal <opcodename>STKShakers</opcodename> ifrequency, iamplitude, [kenerg, kv1[, kdecay, kv2[, kshake, kv3[, knum, kv4[, kres, kv5[, kinstr, kv6]]]]]]</synopsis></opcode>
+<opcode><desc>STKSimple is a wavetable/noise instrument.</desc><synopsis>asignal <opcodename>STKSimple</opcodename> ifrequency, iamplitude, [kpos, kv1[, kcross, kv2[, kenv, kv3[, kgain, kv4]]]]</synopsis></opcode>
+<opcode><desc>STKSitar uses a plucked string physical model.</desc><synopsis>asignal <opcodename>STKSitar</opcodename> ifrequency, iamplitude</synopsis></opcode>
+<opcode><desc>STKStifKarp is a plucked stiff string instrument.</desc><synopsis>asignal <opcodename>STKStifKarp</opcodename> ifrequency, iamplitude, [kpos, kv1[, ksus, kv2[, kstretch, kv3]]]</synopsis></opcode>
+<opcode><desc>STKTubeBell is a  tubular bell (orchestral chime) FM synthesis instrument.</desc><synopsis>asignal <opcodename>STKTubeBell</opcodename> ifrequency, iamplitude, [kmod, kv1[, kcross, kv2[, klfo, kv3[, klfodepth, kv4[, kadsr, kv5]]]]]</synopsis></opcode>
+<opcode><desc>STKVoicForm is a  four formant synthesis instrument.</desc><synopsis>asignal <opcodename>STKVoicForm</opcodename> ifrequency, iamplitude, [kmix, kv1[, ksel, kv2[, klfo, kv3[, klfodepth, kv4[, kloud, kv5]]]]]</synopsis></opcode>
+<opcode><desc>STKWhistle produces whistle sounds.</desc><synopsis>asignal <opcodename>STKWhistle</opcodename> ifrequency, iamplitude, [kmod, kv1[, knoise, kv2[, kfipfreq, kv3[, kfipgain, kv4[, kvol, kv5]]]]]</synopsis></opcode>
+<opcode><desc>STKWurley simulates a Wurlitzer electric piano FM synthesis instrument.</desc><synopsis>asignal <opcodename>STKWurley</opcodename> ifrequency, iamplitude, [kmod, kv1[, kcross, kv2[, klfo, kv3[, klfodepth, kv4[, kadsr, kv5]]]]]</synopsis></opcode>
+</category>
 <category name="Signal Generators:Table Access">
-<opcode><desc>Accesses table values by incremental sampling.</desc><synopsis>kres <opcodename>oscil1</opcodename> idel, kamp, idur, ifn</synopsis></opcode>
-<opcode><desc>Accesses table values by incremental sampling with linear interpolation.</desc><synopsis>kres <opcodename>oscil1i</opcodename> idel, kamp, idur, ifn</synopsis></opcode>
+<opcode><desc>Accesses table values by incremental sampling.</desc><synopsis>kres <opcodename>oscil1</opcodename> idel, kamp, idur [, ifn]</synopsis></opcode>
+<opcode><desc>Accesses table values by incremental sampling with linear interpolation.</desc><synopsis>kres <opcodename>oscil1i</opcodename> idel, kamp, idur [, ifn]</synopsis></opcode>
+<opcode><desc>Accesses table values by direct indexing.</desc><synopsis>ares <opcodename>ptable</opcodename> andx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>ires <opcodename>ptable</opcodename> indx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>kres <opcodename>ptable</opcodename> kndx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis></opcode>
+<opcode><desc>Accesses table values by direct indexing with cubic interpolation.</desc><synopsis>ares <opcodename>ptable3</opcodename> andx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>ires <opcodename>ptable3</opcodename> indx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>kres <opcodename>ptable3</opcodename> kndx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis></opcode>
+<opcode><desc>Accesses table values by direct indexing with linear interpolation.</desc><synopsis>ares <opcodename>ptablei</opcodename> andx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>ires <opcodename>ptablei</opcodename> indx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>kres <opcodename>ptablei</opcodename> kndx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis></opcode>
 <opcode><desc>Fast table opcodes.</desc><synopsis>ir <opcodename>tab_i</opcodename> indx, ifn[, ixmode]</synopsis><synopsis>kr <opcodename>tab</opcodename> kndx, ifn[, ixmode]</synopsis><synopsis>ar <opcodename>tab</opcodename> xndx, ifn[, ixmode]</synopsis><synopsis><opcodename>tabw_i</opcodename> isig, indx, ifn [,ixmode]</synopsis><synopsis><opcodename>tabw</opcodename> ksig, kndx, ifn [,ixmode]</synopsis><synopsis><opcodename>tabw</opcodename> asig, andx, ifn [,ixmode]</synopsis></opcode>
 <opcode><desc>Accesses table values by direct indexing.</desc><synopsis>ares <opcodename>table</opcodename> andx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>ires <opcodename>table</opcodename> indx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>kres <opcodename>table</opcodename> kndx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis></opcode>
 <opcode><desc>Accesses table values by direct indexing with cubic interpolation.</desc><synopsis>ares <opcodename>table3</opcodename> andx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>ires <opcodename>table3</opcodename> indx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis><synopsis>kres <opcodename>table3</opcodename> kndx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis></opcode>
@@ -351,23 +414,25 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Outputs k-rate signals of an arbitrary number of channels to a specified file, in raw (headerless) format.</desc><synopsis><opcodename>foutk</opcodename> ifilename, iformat, kout1 [, kout2, kout3,....,koutN]</synopsis></opcode>
 <opcode><desc>Similar to printks but prints to a file.</desc><synopsis><opcodename>fprintks</opcodename> "filename", "string", [, kval1] [, kval2] [...]</synopsis></opcode>
 <opcode><desc>Similar to prints but prints to a file.</desc><synopsis><opcodename>fprints</opcodename> "filename", "string" [, ival1] [, ival2] [...]</synopsis></opcode>
+<opcode><desc>Read a line of text from an external file.</desc><synopsis>Sres, kline <opcodename>readf</opcodename> ifilname</synopsis></opcode>
+<opcode><desc>Read a line of text from an external file.</desc><synopsis>Sres, iline <opcodename>readfi</opcodename> ifilname</synopsis></opcode>
 <opcode><desc>Periodically reads an orchestra control-signal value from an external file.</desc><synopsis>kres <opcodename>readk</opcodename> ifilname, iformat, iprd</synopsis></opcode>
 <opcode><desc>Periodically reads two orchestra control-signal values from an external file.</desc><synopsis>kr1, kr2 <opcodename>readk2</opcodename> ifilname, iformat, iprd</synopsis></opcode>
 <opcode><desc>Periodically reads three orchestra control-signal values from an external file.</desc><synopsis>kr1, kr2, kr3 <opcodename>readk3</opcodename> ifilname, iformat, iprd</synopsis></opcode>
 <opcode><desc>Periodically reads four orchestra control-signal values from an external file.</desc><synopsis>kr1, kr2, kr3, kr4 <opcodename>readk4</opcodename> ifilname, iformat, iprd</synopsis></opcode>
 </category>
 <category name="Signal I/O:Signal Input">
-<opcode><desc>Deprecated. Reads audio data from an external device or stream and can alter its pitch.</desc><synopsis>ar1 [, ar2 [, ar3 [, ... ar24]]] <opcodename>diskin</opcodename> ifilcod, kpitch [, iskiptim] \
+<opcode><desc>Deprecated. Reads audio data from an external device or stream and can alter its pitch.</desc><synopsis>ar1 [, ar2 [, ar3 [, ... arN]]] <opcodename>diskin</opcodename> ifilcod, kpitch [, iskiptim] \
       [, iwraparound] [, iformat] [, iskipinit]</synopsis></opcode>
 <opcode><desc>Reads audio data from a file, and can alter its pitch using one of several
       available interpolation types, as well as convert the sample rate to match
-      the orchestra sr setting.</desc><synopsis>a1[, a2[, ... a24]] <opcodename>diskin2</opcodename> ifilcod, kpitch[, iskiptim \
+      the orchestra sr setting.</desc><synopsis>a1[, a2[, ... aN]] <opcodename>diskin2</opcodename> ifilcod, kpitch[, iskiptim \
       [, iwrap[, iformat [, iwsize[, ibufsize[, iskipinit]]]]]]</synopsis></opcode>
 <opcode><desc>Reads mono audio data from an external device or stream.</desc><synopsis>ar1 <opcodename>in</opcodename></synopsis></opcode>
 <opcode><desc>Reads a 32-channel audio signal from an external device or stream.</desc><synopsis>ar1, ar2, ar3, ar4, ar5, ar6, ar7, ar8, ar9, ar10, ar11, ar12, ar13, ar14, \
       ar15, ar16, ar17, ar18, ar19, ar20, ar21, ar22, ar23, ar24, ar25, ar26, \
       ar27, ar28, ar29, ar30, ar31, ar32 <opcodename>in32</opcodename></synopsis></opcode>
-<opcode><desc>Reads from a numbered channel in an external audio signal or stream.</desc><synopsis>ain <opcodename>inch</opcodename> kchan</synopsis></opcode>
+<opcode><desc>Reads from numbered channels in an external audio signal or stream.</desc><synopsis>ain1[, ...] <opcodename>inch</opcodename> kchan1[,...]</synopsis></opcode>
 <opcode><desc>Reads six-channel audio data from an external device or stream.</desc><synopsis>ar1, ar2, ar3, ar4, ar5, ar6 <opcodename>inh</opcodename></synopsis></opcode>
 <opcode><desc>Reads eight-channel audio data from an external device or stream.</desc><synopsis>ar1, ar2, ar3, ar4, ar5, ar6, ar7, ar8 <opcodename>ino</opcodename></synopsis></opcode>
 <opcode><desc>Reads quad audio data from an external device or stream.</desc><synopsis>ar1, ar2,  ar3, a4 <opcodename>inq</opcodename></synopsis></opcode>
@@ -377,7 +442,7 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Reads a 16-channel audio signal from an external device or stream.</desc><synopsis>ar1, ar2, ar3, ar4, ar5, ar6, ar7, ar8, ar9, ar10, ar11, ar12, \
       ar13, ar14, ar15, ar16 <opcodename>inx</opcodename></synopsis></opcode>
 <opcode><desc>Reads multi-channel audio samples into a ZAK array from an external device or stream.</desc><synopsis><opcodename>inz</opcodename> ksig1</synopsis></opcode>
-<opcode><desc>Reads stereo audio data from an external MP3 file.</desc><synopsis>ar1, ar2 <opcodename>mp3in</opcodename> ifilcod, iskptim, iformat, iskipinit, ibufsize</synopsis></opcode>
+<opcode><desc>Reads stereo audio data from an external MP3 file.</desc><synopsis>ar1, ar2 <opcodename>mp3in</opcodename> ifilcod[, iskptim, iformat, iskipinit, ibufsize]</synopsis></opcode>
 <opcode><desc>Reads audio data from an external device or stream.</desc><synopsis>ar1[, ar2[, ar3[, ... a24]]] <opcodename>soundin</opcodename> ifilcod [, iskptim] [, iformat] \
       [, iskipinit] [, ibufsize]</synopsis></opcode>
 </category>
@@ -412,7 +477,7 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <category name="Signal I/O:Software Bus">
 <opcode><desc>Reads data from the software bus</desc><synopsis>kval <opcodename>chani</opcodename> kchan</synopsis><synopsis>aval <opcodename>chani</opcodename> kchan</synopsis></opcode>
 <opcode><desc>Send data to the outwards software bus</desc><synopsis><opcodename>chano</opcodename> kval, kchan</synopsis><synopsis><opcodename>chano</opcodename> aval, kchan</synopsis></opcode>
-<opcode><desc>Declare a channel of the named software bus.</desc><synopsis> <opcodename>chn_k</opcodename> Sname, imode[, itype, idflt, imin, imax]</synopsis><synopsis> <opcodename>chn_a</opcodename> Sname, imode</synopsis><synopsis> <opcodename>chn_S</opcodename> Sname, imode</synopsis></opcode>
+<opcode><desc>Declare a channel of the named software bus.</desc><synopsis> <opcodename>chn_k</opcodename> Sname, imode[, itype, idflt, imin, ima, ix, iy, iwidth, iheight, Sattributes]</synopsis><synopsis> <opcodename>chn_a</opcodename> Sname, imode</synopsis><synopsis> <opcodename>chn_S</opcodename> Sname, imode</synopsis></opcode>
 <opcode><desc>Clears an audio output channel of the named software bus.</desc><synopsis><opcodename>chnclear</opcodename> Sname</synopsis></opcode>
 <opcode><desc>Export a global variable as a channel of the bus.</desc><synopsis>gival <opcodename>chnexport</opcodename> Sname, imode[, itype, idflt, imin, imax]</synopsis><synopsis>gkval <opcodename>chnexport</opcodename> Sname, imode[, itype, idflt, imin, imax]</synopsis><synopsis>gaval <opcodename>chnexport</opcodename> Sname, imode</synopsis><synopsis>gSval <opcodename>chnexport</opcodename> Sname, imode</synopsis></opcode>
 <opcode><desc>Reads data from the software bus.</desc><synopsis>ival <opcodename>chnget</opcodename> Sname</synopsis><synopsis>kval <opcodename>chnget</opcodename> Sname</synopsis><synopsis>aval <opcodename>chnget</opcodename> Sname</synopsis><synopsis>Sval <opcodename>chnget</opcodename> Sname</synopsis></opcode>
@@ -422,7 +487,7 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Recieves data from the software bus.</desc><synopsis>ival <opcodename>chnrecv</opcodename> Sname</synopsis><synopsis>kval <opcodename>chnrecv</opcodename> Sname</synopsis><synopsis>aval <opcodename>chnrecv</opcodename> Sname</synopsis><synopsis>Sval <opcodename>chnrecv</opcodename> Sname</synopsis></opcode>
 <opcode><desc>Sends data via the named software bus.</desc><synopsis><opcodename>chnsend</opcodename> ival, Sname</synopsis><synopsis><opcodename>chnsend</opcodename> kval, Sname</synopsis><synopsis><opcodename>chnsend</opcodename> aval, Sname</synopsis><synopsis><opcodename>chnsend</opcodename> Sval, Sname</synopsis></opcode>
 <opcode><desc>Writes data to the named software bus.</desc><synopsis><opcodename>chnset</opcodename> ival, Sname</synopsis><synopsis><opcodename>chnset</opcodename> kval, Sname</synopsis><synopsis><opcodename>chnset</opcodename> aval, Sname</synopsis><synopsis><opcodename>chnset</opcodename> Sval, Sname</synopsis></opcode>
-<opcode><desc>Sets the local ksmps value in a user-defined opcode block.</desc><synopsis><opcodename>setksmps</opcodename> iksmps</synopsis></opcode>
+<opcode><desc>Sets the local ksmps value in an instrument or user-defined opcode block</desc><synopsis><opcodename>setksmps</opcodename> iksmps</synopsis></opcode>
 <opcode><desc>Passes variables to a user-defined opcode block,</desc><synopsis>xinarg1 [, xinarg2] ... [xinargN] <opcodename>xin</opcodename></synopsis></opcode>
 <opcode><desc>Retrieves variables from a user-defined opcode block,</desc><synopsis><opcodename>xout</opcodename> xoutarg1 [, xoutarg2] ... [, xoutargN]</synopsis></opcode>
 </category>
@@ -443,6 +508,8 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Returns the number of channels in a sound file.</desc><synopsis>ir <opcodename>filenchnls</opcodename> ifilcod [, iallowraw]</synopsis></opcode>
 <opcode><desc>Returns the peak absolute value of a sound file.</desc><synopsis>ir <opcodename>filepeak</opcodename> ifilcod [, ichnl]</synopsis></opcode>
 <opcode><desc>Returns the sample rate of a sound file.</desc><synopsis>ir <opcodename>filesr</opcodename> ifilcod [, iallowraw]</synopsis></opcode>
+<opcode><desc>Checks that a file can be used.</desc><synopsis>ir <opcodename>filevalid</opcodename> ifilcod</synopsis></opcode>
+<opcode><desc>Returns the length of an MP3 sound file.</desc><synopsis>ir <opcodename>mp3len</opcodename> ifilcod</synopsis></opcode>
 </category>
 <category name="Signal Modifiers:Amplitude Modifiers">
 <opcode><desc>Adjust one audio signal according to the values of another.</desc><synopsis>ares <opcodename>balance</opcodename> asig, acomp [, ihp] [, iskip]</synopsis></opcode>
@@ -473,8 +540,7 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Taps a delay line at variable offset times.</desc><synopsis>ares <opcodename>deltapn</opcodename> xnumsamps</synopsis></opcode>
 <opcode><desc>Read from or write to a delay line with interpolation.</desc><synopsis>aout <opcodename>deltapx</opcodename> adel, iwsize</synopsis></opcode>
 <opcode><desc>Mixes the input signal to a delay line.</desc><synopsis><opcodename>deltapxw</opcodename> ain, adel, iwsize</synopsis></opcode>
-<opcode><desc>Short description. Single line for opcode listing.</desc><synopsis>outarg1, outarg2 <opcodename>newopcodename</opcodename> inarg1, inarg2</synopsis></opcode>
-<opcode><desc>Multitap delay line implementation.</desc><synopsis>ares <opcodename>multitap</opcodename> asig [, itime1] [, igain1] [, itime2] [, igain2] [...]</synopsis></opcode>
+<opcode><desc>Multitap delay line implementation.</desc><synopsis>ares <opcodename>multitap</opcodename> asig [, itime1, igain1] [, itime2, igain2] [...]</synopsis></opcode>
 <opcode><desc>Short description. Single line for opcode listing.</desc><synopsis>outarg1, outarg2 <opcodename>newopcodename</opcodename> inarg1, inarg2</synopsis></opcode>
 <opcode><desc>An interpolating variable time delay.</desc><synopsis>ares <opcodename>vdelay</opcodename> asig, adel, imaxdel [, iskip]</synopsis></opcode>
 <opcode><desc>A variable time delay with cubic interpolation.</desc><synopsis>ares <opcodename>vdelay3</opcodename> asig, adel, imaxdel [, iskip]</synopsis></opcode>
@@ -502,17 +568,22 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
       asig, kalpha, kbeta, kord0, kord1, kord2, kord3</synopsis></opcode>
 <opcode><desc>Codes a signal into the ambisonic B format.</desc><synopsis>aw, ax, ay, az <opcodename>bformenc1</opcodename> asig, kalpha, kbeta</synopsis><synopsis>aw, ax, ay, az, ar, as, at, au, av <opcodename>bformenc1</opcodename> asig, kalpha, kbeta</synopsis><synopsis>aw, ax, ay, az, ar, as, at, au, av, ak, al, am, an, ao, ap, aq <opcodename>bformenc1</opcodename> \
       asig, kalpha, kbeta</synopsis></opcode>
+<opcode><desc>Generates 3D binaural audio with high-fidelity early reflections in a parametric room using a Phase Truncation algorithm.</desc><synopsis>aleft, aright, irt60low, irt60high, imfp <opcodename>hrtfearly</opcodename> asrc, ksrcx, ksrcy, ksrcz, klstnrx, klstnry, klstnrz, \
+      ifilel, ifiler, idefroom [,ifade, isr, iorder, ithreed, kheadrot, iroomx, iroomy, iroomz, iwallhigh, \
+      iwalllow, iwallgain1, iwallgain2, iwallgain3, ifloorhigh, ifloorlow, ifloorgain1, ifloorgain2, \
+      ifloorgain3, iceilinghigh, iceilinglow, iceilinggain1, iceilinggain2, iceilinggain3]</synopsis></opcode>
 <opcode><desc>Creates 3D audio for two speakers.</desc><synopsis>aleft, aright <opcodename>hrtfer</opcodename> asig, kaz, kelev, <quote>HRTFcompact</quote></synopsis></opcode>
 <opcode><desc>Generates dynamic 3d binaural audio for headphones using magnitude interpolation and phase truncation.</desc><synopsis>aleft, aright <opcodename>hrtfmove</opcodename> asrc, kAz, kElev, ifilel, ifiler [, imode, ifade, isr]</synopsis></opcode>
 <opcode><desc>Generates dynamic 3d binaural audio for headphones using a Woodworth based spherical head model
       with improved low frequency phase accuracy.</desc><synopsis>aleft, aright <opcodename>hrtfmove2</opcodename> asrc, kAz, kElev, ifilel, ifiler [,ioverlap, iradius, isr]</synopsis></opcode>
+<opcode><desc>A binaural, dynamic FDN based diffuse-field reverberator. The opcode works independently as an efficient, flexible reverberator.</desc><synopsis>aleft, aright, idel <opcodename>hrtfreverb</opcodename> asrc, ilowrt60, ihighrt60, ifilel, ifiler [,isr, imfp, iorder]</synopsis></opcode>
 <opcode><desc>Generates static 3d binaural audio for headphones using a
       Woodworth based spherical head model with improved low frequency
       phase accuracy.</desc><synopsis>
       aleft, aright <opcodename>hrtfstat</opcodename> asrc, iAz, iElev, ifilel, ifiler [,iradius, isr]
     </synopsis></opcode>
 <opcode><desc>Distributes the audio signals of a previous</desc><synopsis>a1, a2 <opcodename>locsend</opcodename></synopsis><synopsis>a1, a2,  a3, a4 <opcodename>locsend</opcodename></synopsis></opcode>
-<opcode><desc>Takes and input signal and distributes between 2 or 4 channels.</desc><synopsis>a1, a2 <opcodename>locsig</opcodename> asig, kdegree, kdistance, kreverbsend</synopsis><synopsis>a1, a2,  a3, a4 <opcodename>locsig</opcodename> asig, kdegree, kdistance, kreverbsend</synopsis></opcode>
+<opcode><desc>Takes an input signal and distributes between 2 or 4 channels.</desc><synopsis>a1, a2 <opcodename>locsig</opcodename> asig, kdegree, kdistance, kreverbsend</synopsis><synopsis>a1, a2,  a3, a4 <opcodename>locsig</opcodename> asig, kdegree, kdistance, kreverbsend</synopsis></opcode>
 <opcode><desc>Distribute an audio signal amongst four channels.</desc><synopsis>a1, a2, a3, a4 <opcodename>pan</opcodename> asig, kx, ky, ifn [, imode] [, ioffset]</synopsis></opcode>
 <opcode><desc>Distribute an audio signal across two channels.</desc><synopsis>a1, a2 <opcodename>pan2</opcodename> asig, xp [, imode]</synopsis></opcode>
 <opcode><desc>Distributes an input signal among 4 channels using cartesian coordinates.</desc><synopsis>a1, a2, a3, a4  <opcodename>space</opcodename> asig, ifn, ktime, kreverbsend, kx, ky</synopsis></opcode>
@@ -521,6 +592,8 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Can be used to render an impulse response for a 3D space at i-time.</desc><synopsis><opcodename>spat3dt</opcodename> ioutft, iX, iY, iZ, idist, ift, imode, irlen [, iftnocl]</synopsis></opcode>
 <opcode><desc>Calculates distance values from xy coordinates.</desc><synopsis>k1 <opcodename>spdist</opcodename> ifn, ktime, kx, ky</synopsis></opcode>
 <opcode><desc>Generates output signals based on a previously defined</desc><synopsis>a1, a2, a3, a4 <opcodename>spsend</opcodename></synopsis></opcode>
+<opcode><desc>Distributes an audio signal among many channels.</desc><synopsis>ar1[, ar2...] <opcodename>vbap</opcodename> asig, kazim [,
+    kelev] [, kspread] [, ilayout]</synopsis></opcode>
 <opcode><desc>Distributes an audio signal among 16 channels.</desc><synopsis>ar1, ..., ar16 <opcodename>vbap16</opcodename> asig, kazim [, kelev] [, kspread]</synopsis></opcode>
 <opcode><desc>Distribute an audio signal among 16 channels with moving virtual sources.</desc><synopsis>ar1, ..., ar16 <opcodename>vbap16move</opcodename> asig, idur, ispread, ifldnum, ifld1 \
       [, ifld2] [...]</synopsis></opcode>
@@ -530,7 +603,10 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Distributes an audio signal among 8 channels.</desc><synopsis>ar1, ..., ar8 <opcodename>vbap8</opcodename> asig, kazim [, kelev] [, kspread]</synopsis></opcode>
 <opcode><desc>Distributes an audio signal among 8 channels with moving virtual sources.</desc><synopsis>ar1, ..., ar8 <opcodename>vbap8move</opcodename> asig, idur, ispread, ifldnum, ifld1 \
       [, ifld2] [...]</synopsis></opcode>
+<opcode><desc>Calculates the gains for a sound location between multiple channels.</desc><synopsis>k1[, k2...] <opcodename>vbapg</opcodename> kazim [,kelev] [, kspread] [, ilayout]</synopsis></opcode>
 <opcode><desc>Configures VBAP output according to loudspeaker parameters.</desc><synopsis><opcodename>vbaplsinit</opcodename> idim, ilsnum [, idir1] [, idir2] [...] [, idir32]</synopsis></opcode>
+<opcode><desc>Distributes an audio signal among many channels with moving virtual sources.</desc><synopsis>ar1[, ar2...] <opcodename>vbapmove</opcodename> asig, idur, ispread, ifldnum, ifld1 \
+      [, ifld2] [...]</synopsis></opcode>
 <opcode><desc>Writes a multi-channel audio signal to a ZAK array.</desc><synopsis><opcodename>vbapz</opcodename> inumchnls, istartndx, asig, kazim [, kelev] [, kspread]</synopsis></opcode>
 <opcode><desc>Writes a multi-channel audio signal to a ZAK array with moving virtual sources.</desc><synopsis><opcodename>vbapzmove</opcodename> inumchnls, istartndx, asig, idur, ispread, ifldnum, ifld1, \
       ifld2, [...]</synopsis></opcode>
@@ -539,11 +615,13 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Reverberates an input signal with a flat frequency response.</desc><synopsis>ares <opcodename>alpass</opcodename> asig, krvt, ilpt [, iskip] [, insmps]</synopsis></opcode>
 <opcode><desc>A physical model reverberator.</desc><synopsis>a1, a2 <opcodename>babo</opcodename> asig, ksrcx, ksrcy, ksrcz, irx, iry, irz [, idiff] [, ifno]</synopsis></opcode>
 <opcode><desc>Reverberates an input signal with a</desc><synopsis>ares <opcodename>comb</opcodename> asig, krvt, ilpt [, iskip] [, insmps]</synopsis></opcode>
+<opcode><desc>Reverberates an input signal with a</desc><synopsis>ares <opcodename>combinv</opcodename> asig, krvt, ilpt [, iskip] [, insmps]</synopsis></opcode>
 <opcode><desc>Opcode version of Jezar's Freeverb</desc><synopsis>aoutL, aoutR <opcodename>freeverb</opcodename> ainL, ainR, kRoomSize, kHFDamp[, iSRate[, iSkip]] </synopsis></opcode>
 <opcode><desc>Three different nested all-pass filters.</desc><synopsis>ares <opcodename>nestedap</opcodename> asig, imode, imaxdel, idel1, igain1 [, idel2] [, igain2] \
       [, idel3] [, igain3] [, istor]</synopsis></opcode>
 <opcode><desc>A reverberator consisting of 6 parallel comb-lowpass filters.</desc><synopsis>ares <opcodename>nreverb</opcodename> asig, ktime, khdif [, iskip] [,inumCombs] [, ifnCombs] \
       [, inumAlpas] [, ifnAlpas]</synopsis></opcode>
+<opcode><desc>Models the reverberation of a metal plate.</desc><synopsis>a1[, a2, ...] <opcodename>platerev</opcodename> itabexcite. itabouts, kbndry, iaspect, istiff, idecay, iloss, aexcite1[, aexcite2, ...]</synopsis></opcode>
 <opcode><desc>Reverberates an input signal with a</desc><synopsis>ares <opcodename>reverb</opcodename> asig, krvt [, iskip]</synopsis></opcode>
 <opcode><desc>Same as the nreverb opcode.</desc><synopsis>ares <opcodename>reverb2</opcodename> asig, ktime, khdif [, iskip] [,inumCombs] \
       [, ifnCombs] [, inumAlpas] [, ifnAlpas]</synopsis></opcode>
@@ -560,8 +638,9 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Converts a control signal to an audio signal using linear interpolation.</desc><synopsis>ares <opcodename>interp</opcodename> ksig [, iskip] [, imode]</synopsis></opcode>
 <opcode><desc>Calculates the weighted mean value of two input signals.</desc><synopsis>ares <opcodename>ntrpol</opcodename> asig1, asig2, kpoint [, imin] [, imax]</synopsis><synopsis>ires <opcodename>ntrpol</opcodename> isig1, isig2, ipoint [, imin] [, imax]</synopsis><synopsis>kres <opcodename>ntrpol</opcodename> ksig1, ksig2, kpoint [, imin] [, imax]</synopsis></opcode>
 <opcode><desc>Converts a k-rate parameter to an a-rate value with interpolation.</desc><synopsis><opcodename>a</opcodename>(x) (control-rate args only)</synopsis></opcode>
-<opcode><desc>Returns an init-type equivalent of a k-rate argument.</desc><synopsis><opcodename>i</opcodename>(x) (control-rate args only)</synopsis></opcode>
-<opcode><desc>Converts a i-rate parameter to an k-rate value.</desc><synopsis><opcodename>k</opcodename>(x) (i-rate args only)</synopsis></opcode>
+<opcode><desc>Returns an init-type equivalent of a k-rate argument, or directly returns an i-rate argument.</desc><synopsis><opcodename>i</opcodename>(x) (control-rate or init-rate arg)</synopsis></opcode>
+<opcode><desc>Converts a i-rate parameter to an k-rate value.
+      Or converts an a-rate value to a k-rate value by down-sampling.</desc><synopsis><opcodename>k</opcodename>(x) (i-rate args only)</synopsis><synopsis><opcodename>k</opcodename>(x) (a-rate args only)</synopsis></opcode>
 <opcode><desc>Performs a sample-and-hold operation on its input.</desc><synopsis>ares <opcodename>samphold</opcodename> asig, agate [, ival] [, ivstor]</synopsis><synopsis>kres <opcodename>samphold</opcodename> ksig, kgate [, ival] [, ivstor]</synopsis></opcode>
 <opcode><desc>Modify a signal by up-sampling.</desc><synopsis>ares <opcodename>upsamp</opcodename> ksig</synopsis></opcode>
 <opcode><desc>Access values of the current buffer of an a-rate variable by indexing.</desc><synopsis>kval <opcodename>vaget</opcodename> kndx, avar</synopsis></opcode>
@@ -600,6 +679,8 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>A low-pass Butterworth filter.</desc><synopsis>ares <opcodename>butterlp</opcodename> asig, kfreq [, iskip]</synopsis></opcode>
 <opcode><desc>Implements low-pass and high-pass filters of different styles.</desc><synopsis>ares <opcodename>clfilt</opcodename> asig, kfreq, itype, inpol [, ikind] [, ipbr] [, isba] [, iskip]</synopsis></opcode>
 <opcode><desc>A fast and robust method for approximating sound propagation, achieving convincing Doppler shifts without having to solve equations.</desc><synopsis>ashifted <opcodename>doppler</opcodename> asource, ksourceposition, kmicposition [, isoundspeed, ifiltercutoff]</synopsis></opcode>
+<opcode><desc>A median filter, a variant FIR lowpass filter.</desc><synopsis>ares <opcodename>median</opcodename> asig, ksize, imaxsize [, iskip]</synopsis></opcode>
+<opcode><desc>A median filter, a variant FIR lowpass filter.</desc><synopsis>kres <opcodename>mediank</opcodename> kin, ksize, imaxsize [, iskip]</synopsis></opcode>
 <opcode><desc>A filter that simulates a mass-spring-damper system</desc><synopsis>aout <opcodename>mode</opcodename> ain, kfreq, kQ [, iskip]</synopsis></opcode>
 <opcode><desc>A first-order recursive low-pass filter with variable frequency response.</desc><synopsis>ares <opcodename>tone</opcodename> asig, khp [, iskip]</synopsis></opcode>
 <opcode><desc>Emulates a stack of filters using the tone opcode.</desc><synopsis>ares <opcodename>tonex</opcodename>  asig, khp [, inumlayer] [, iskip]</synopsis></opcode>
@@ -610,7 +691,7 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>A resonant lowpass filter.</desc><synopsis>ares <opcodename>lowpass2</opcodename> asig, kcf, kq [, iskip]</synopsis></opcode>
 <opcode><desc>Another resonant lowpass filter.</desc><synopsis>ares <opcodename>lowres</opcodename> asig, kcutoff, kresonance [, iskip]</synopsis></opcode>
 <opcode><desc>Simulates layers of serially connected resonant lowpass filters.</desc><synopsis>ares <opcodename>lowresx</opcodename> asig, kcutoff, kresonance [, inumlayer] [, iskip]</synopsis></opcode>
-<opcode><desc>A 3-pole sweepable resonant lowpass filter.</desc><synopsis>ares <opcodename>lpf18</opcodename> asig, kfco, kres, kdist</synopsis></opcode>
+<opcode><desc>A 3-pole sweepable resonant lowpass filter.</desc><synopsis>ares <opcodename>lpf18</opcodename> asig, kfco, kres, kdist [, iskip]</synopsis></opcode>
 <opcode><desc>Moog ladder lowpass filter.</desc><synopsis>asig <opcodename>moogladder</opcodename> ain, kcf, kres[, istor]</synopsis></opcode>
 <opcode><desc>A digital emulation of the Moog diode ladder filter configuration.</desc><synopsis>ares <opcodename>moogvcf</opcodename> asig, xfco, xres [,iscale, iskip]</synopsis></opcode>
 <opcode><desc>A digital emulation of the Moog diode ladder filter configuration.</desc><synopsis>ares <opcodename>moogvcf2</opcodename> asig, xfco, xres [,iscale, iskip]</synopsis></opcode>
@@ -644,6 +725,7 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Formant filter.</desc><synopsis>asig <opcodename>fofilter</opcodename> ain, kcf, kris, kdec[, istor]</synopsis></opcode>
 <opcode><desc>A Hilbert transformer.</desc><synopsis>ar1, ar2 <opcodename>hilbert</opcodename> asig</synopsis></opcode>
 <opcode><desc>A filter with a non-linear effect.</desc><synopsis>ares <opcodename>nlfilt</opcodename> ain, ka, kb, kd, kC, kL</synopsis></opcode>
+<opcode><desc>A filter with a non-linear effect and blowup protection.</desc><synopsis>ares <opcodename>nlfilt2</opcodename> ain, ka, kb, kd, kC, kL</synopsis></opcode>
 <opcode><desc>Implementation of Zoelzer's parametric equalizer filters.</desc><synopsis>ares <opcodename>pareq</opcodename> asig, kc, kv, kq [, imode] [, iskip]</synopsis></opcode>
 <opcode><desc>Parametric equalizer and filter opcode with 7 filter types, based
       on algorithm by Robert Bristow-Johnson.</desc><synopsis>ar <opcodename>rbjeq</opcodename> asig, kfco, klvl, kQ, kS[, imode]</synopsis></opcode>
@@ -663,13 +745,13 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Waveshapes a signal by raising it to a variable exponent.</desc><synopsis>aout <opcodename>powershape</opcodename> ain, kShapeAmount [, ifullscale]</synopsis></opcode>
 </category>
 <category name="Signal Modifiers:Comparators and Accumulators">
-<opcode><desc>Produces a signal that is the maximum of any number of input signals.</desc><synopsis>amax <opcodename>max</opcodename> ain1 [, ain2] [, ain3] [, ain4] [...]</synopsis><synopsis>kmax <opcodename>max</opcodename> kin1 [, kin2] [, kin3] [, kin4] [...]</synopsis></opcode>
+<opcode><desc>Produces a signal that is the maximum of any number of input signals.</desc><synopsis>amax <opcodename>max</opcodename> ain1, ain2 [, ain3] [, ain4] [...]</synopsis><synopsis>kmax <opcodename>max</opcodename> kin1, kin2 [, kin3] [, kin4] [...]</synopsis></opcode>
 <opcode><desc>Local maximum (or minimum) value of an incoming asig signal</desc><synopsis>knumkout <opcodename>max_k</opcodename> asig, ktrig, itype</synopsis></opcode>
-<opcode><desc>Produces a signal that is the maximum of the absolute values of any number of input signals.</desc><synopsis>amax <opcodename>maxabs</opcodename> ain1 [, ain2] [, ain3] [, ain4] [...]</synopsis><synopsis>kmax <opcodename>maxabs</opcodename> kin1 [, kin2] [, kin3] [, kin4] [...]</synopsis></opcode>
+<opcode><desc>Produces a signal that is the maximum of the absolute values of any number of input signals.</desc><synopsis>amax <opcodename>maxabs</opcodename> ain1, ain2 [, ain3] [, ain4] [...]</synopsis><synopsis>kmax <opcodename>maxabs</opcodename> kin1, kin2 [, kin3] [, kin4] [...]</synopsis></opcode>
 <opcode><desc>Accumulates the maximum of the absolute values of audio signals.</desc><synopsis><opcodename>maxabsaccum</opcodename> aAccumulator, aInput</synopsis></opcode>
 <opcode><desc>Accumulates the maximum value of audio signals.</desc><synopsis><opcodename>maxaccum</opcodename> aAccumulator, aInput</synopsis></opcode>
-<opcode><desc>Produces a signal that is the minimum of any number of input signals.</desc><synopsis>amin <opcodename>min</opcodename> ain1 [, ain2] [, ain3] [, ain4] [...]</synopsis><synopsis>kmin <opcodename>min</opcodename> kin1 [, kin2] [, kin3] [, kin4] [...]</synopsis></opcode>
-<opcode><desc>Produces a signal that is the minimum of the absolute values of any number of input signals.</desc><synopsis>amin <opcodename>minabs</opcodename> ain1 [, ain2] [, ain3] [, ain4] [...]</synopsis><synopsis>kmin <opcodename>minabs</opcodename> kin1 [, kin2] [, kin3] [, kin4] [...]</synopsis></opcode>
+<opcode><desc>Produces a signal that is the minimum of any number of input signals.</desc><synopsis>amin <opcodename>min</opcodename> ain1, ain2 [, ain3] [, ain4] [...]</synopsis><synopsis>kmin <opcodename>min</opcodename> kin1, kin2 [, kin3] [, kin4] [...]</synopsis></opcode>
+<opcode><desc>Produces a signal that is the minimum of the absolute values of any number of input signals.</desc><synopsis>amin <opcodename>minabs</opcodename> ain1, ain2 [, ain3] [, ain4] [...]</synopsis><synopsis>kmin <opcodename>minabs</opcodename> kin1, kin2 [, kin3] [, kin4] [...]</synopsis></opcode>
 <opcode><desc>Accumulates the minimum of the absolute values of audio signals.</desc><synopsis><opcodename>minabsaccum</opcodename> aAccumulator, aInput</synopsis></opcode>
 <opcode><desc>Accumulates the minimum value of audio signals.</desc><synopsis><opcodename>minaccum</opcodename> aAccumulator, aInput</synopsis></opcode>
 </category>
@@ -685,6 +767,12 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Determines if one value is less than another.</desc><synopsis>(a <opcodename><</opcodename>  b <opcodename>?</opcodename> v1 <opcodename>:</opcodename> v2)</synopsis></opcode>
 <opcode><desc>Determines if one value is not equal to another.</desc><synopsis>(a <opcodename>!=</opcodename> b <opcodename>?</opcodename> v1 <opcodename>:</opcodename> v2)</synopsis></opcode>
 </category>
+<category name="Instrument Control:Compilation">
+<opcode><desc>compiles a new orchestra from an ASCII file</desc><synopsis>ires <opcodename>compileorc</opcodename> Sfilename</synopsis></opcode>
+<opcode><desc>compiles a new orchestra passed in as an ASCII string</desc><synopsis>ires <opcodename>compilestr</opcodename> Sorch</synopsis></opcode>
+<opcode><desc>Evalstrs evaluates a string containing Csound code, returning a value.</desc><synopsis>ires <opcodename>evalstr</opcodename> Scode </synopsis></opcode>
+<opcode><desc>Returns a value from an instrument.</desc><synopsis><opcodename>return</opcodename> ival </synopsis></opcode>
+</category>
 <category name="Instrument Control:Duration Control">
 <opcode><desc>Creates a held note.</desc><synopsis><opcodename>ihold</opcodename></synopsis></opcode>
 <opcode><desc>Enables an instrument to turn itself off.</desc><synopsis><opcodename>turnoff</opcodename></synopsis></opcode>
@@ -696,6 +784,7 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Generates a score event from an instrument.</desc><synopsis><opcodename>event</opcodename> "scorechar", kinsnum, kdelay, kdur, [, kp4] [, kp5] [, ...]</synopsis><synopsis><opcodename>event</opcodename> "scorechar", "insname", kdelay, kdur, [, kp4] [, kp5] [, ...]</synopsis></opcode>
 <opcode><desc>Generates a score event from an instrument.</desc><synopsis><opcodename>event_i</opcodename> "scorechar", iinsnum, idelay, idur, [, ip4] [, ip5] [, ...]</synopsis><synopsis><opcodename>event_i</opcodename> "scorechar", "insname", idelay, idur, [, ip4] [, ip5] [, ...]</synopsis></opcode>
 <opcode><desc>Mutes/unmutes new instances of a given instrument.</desc><synopsis><opcodename>mute</opcodename> insnum [, iswitch]</synopsis><synopsis><opcodename>mute</opcodename> "insname" [, iswitch]</synopsis></opcode>
+<opcode><desc>Read, preprocess and schedule a score from an input string.</desc><synopsis><opcodename>readscore</opcodename> Sin </synopsis></opcode>
 <opcode><desc>Removes the definition of an instrument.</desc><synopsis><opcodename>remove</opcodename> insnum</synopsis></opcode>
 <opcode><desc>Adds a new score event generated by a k-rate trigger.</desc><synopsis><opcodename>schedkwhen</opcodename> ktrigger, kmintim, kmaxnum, kinsnum, kwhen, kdur \
       [, ip4] [, ip5] [...]</synopsis><synopsis><opcodename>schedkwhen</opcodename> ktrigger, kmintim, kmaxnum, "insname", kwhen, kdur \
@@ -718,25 +807,28 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Transfer control on every pass.</desc><synopsis><opcodename>goto</opcodename> label</synopsis></opcode>
 <opcode><desc>Branches conditionally at initialization or during performance time.</desc><synopsis><opcodename>if</opcodename> ia R ib <opcodename>igoto</opcodename> label</synopsis><synopsis><opcodename>if</opcodename> ka R kb <opcodename>kgoto</opcodename> label</synopsis><synopsis><opcodename>if</opcodename> xa R xb <opcodename>goto</opcodename> label</synopsis><synopsis><opcodename>if</opcodename> xa R xb <opcodename>then</opcodename></synopsis></opcode>
 <opcode><desc>Transfer control during the i-time pass.</desc><synopsis><opcodename>igoto</opcodename> label</synopsis></opcode>
-<opcode><desc>Transfer control during the p-time passes.</desc><synopsis><opcodename>kgoto</opcodename> label</synopsis></opcode>
+<opcode><desc>Transfer control during the performance-time passes.</desc><synopsis><opcodename>kgoto</opcodename> label</synopsis></opcode>
 <opcode><desc>Looping constructions.</desc><synopsis><opcodename>loop_ge</opcodename>  indx, idecr, imin, label</synopsis><synopsis><opcodename>loop_ge</opcodename>  kndx, kdecr, kmin, label</synopsis></opcode>
 <opcode><desc>Looping constructions.</desc><synopsis><opcodename>loop_gt</opcodename>  indx, idecr, imin, label</synopsis><synopsis><opcodename>loop_gt</opcodename>  kndx, kdecr, kmin, label</synopsis></opcode>
 <opcode><desc>Looping constructions.</desc><synopsis><opcodename>loop_le</opcodename>  indx, incr, imax, label</synopsis><synopsis><opcodename>loop_le</opcodename>  kndx, kncr, kmax, label</synopsis></opcode>
 <opcode><desc>Looping constructions.</desc><synopsis><opcodename>loop_lt</opcodename>  indx, incr, imax, label</synopsis><synopsis><opcodename>loop_lt</opcodename>  kndx, kncr, kmax, label</synopsis></opcode>
 <opcode><desc>Transfer control at i-time when a new note is being tied onto a previously held note</desc><synopsis><opcodename>tigoto</opcodename> label</synopsis></opcode>
 <opcode><desc>Conditional branch during p-time depending on elapsed note time.</desc><synopsis><opcodename>timout</opcodename> istrt, idur, label</synopsis></opcode>
+<opcode><desc>A syntactic looping construction.</desc><synopsis><opcodename>until</opcodename>  condition <opcodename>do</opcodename>
+    ... <opcodename>od</opcodename></synopsis></opcode>
 </category>
 <category name="Instrument Control:Realtime Performance Control">
-<opcode><desc>Returns the number of active instances of an instrument.</desc><synopsis>ir <opcodename>active</opcodename> insnum</synopsis><synopsis>kres <opcodename>active</opcodename> kinsnum</synopsis></opcode>
-<opcode><desc>Control allocation of cpu resources on a per-instrument basis, to optimize realtime output.</desc><synopsis><opcodename>cpuprc</opcodename> insnum, ipercent</synopsis></opcode>
+<opcode><desc>Returns the number of active instances of an instrument.</desc><synopsis>ir <opcodename>active</opcodename> insnum [,iopt]</synopsis><synopsis>ir <opcodename>active</opcodename> Sinsname [,iopt]</synopsis><synopsis>kres <opcodename>active</opcodename> kinsnum [,iopt]</synopsis></opcode>
+<opcode><desc>Reports the usage of cpu either total or per core.</desc><synopsis>ktot[,kcpu1, kcpu2,...]<opcodename>cpumeter</opcodename> ifreq</synopsis></opcode>
+<opcode><desc>Control allocation of cpu resources on a per-instrument basis, to optimize realtime output.</desc><synopsis><opcodename>cpuprc</opcodename> insnum, ipercent</synopsis><synopsis><opcodename>cpuprc</opcodename> Sinsname, ipercent</synopsis></opcode>
 <opcode><desc>Exit Csound as fast as possible, with no cleaning up.</desc><synopsis><opcodename>exitnow</opcodename></synopsis></opcode>
 <opcode><desc>Start/stop jack_transport and can optionally relocate the playback head.</desc><synopsis><opcodename>jacktransport</opcodename> icommand [, ilocation]</synopsis></opcode>
-<opcode><desc>Limits the number of allocations of an instrument.</desc><synopsis><opcodename>maxalloc</opcodename> insnum, icount</synopsis></opcode>
+<opcode><desc>Limits the number of allocations of an instrument.</desc><synopsis><opcodename>maxalloc</opcodename> insnum, icount</synopsis><synopsis><opcodename>maxalloc</opcodename> Sinsname, icount</synopsis></opcode>
 <opcode><desc>Creates space for instruments but does not run them.</desc><synopsis><opcodename>prealloc</opcodename> insnum, icount</synopsis><synopsis><opcodename>prealloc</opcodename> "insname", icount</synopsis></opcode>
 </category>
 <category name="Instrument Control:Initialization and Reinitialization">
-<opcode><desc>Performs a simple assignment.</desc><synopsis>ares <opcodename>=</opcodename> xarg</synopsis><synopsis>ires <opcodename>=</opcodename> iarg</synopsis><synopsis>kres <opcodename>=</opcodename> karg</synopsis><synopsis>ires, ... <opcodename>=</opcodename> iarg, ...</synopsis><synopsis>kres, ... <opcodename>=</opcodename> karg, ...</synopsis></opcode>
-<opcode><desc>Puts the value of the i-time expression into a k- or a-rate variable.</desc><synopsis>ares <opcodename>init</opcodename> iarg</synopsis><synopsis>ires <opcodename>init</opcodename> iarg</synopsis><synopsis>kres <opcodename>init</opcodename> iarg</synopsis><synopsis>ares, ...  <opcodename>init</opcodename> iarg, ...</synopsis><synopsis>ires, ... <opcodename>init</opcodename> iarg, ...</synopsis><synopsis>kres, ...<opcodename>init</opcodename> iarg, ...</synopsis></opcode>
+<opcode><desc>Performs a simple assignment.</desc><synopsis>ares <opcodename>=</opcodename> xarg</synopsis><synopsis>ires <opcodename>=</opcodename> iarg</synopsis><synopsis>kres <opcodename>=</opcodename> karg</synopsis><synopsis>ires, ... <opcodename>=</opcodename> iarg, ...</synopsis><synopsis>kres, ... <opcodename>=</opcodename> karg, ...</synopsis><synopsis>table [ kval] <opcodename>=</opcodename> karg</synopsis></opcode>
+<opcode><desc>Puts the value of the i-time expression into a k-, a-rate or t- variable.</desc><synopsis>ares <opcodename>init</opcodename> iarg</synopsis><synopsis>ires <opcodename>init</opcodename> iarg</synopsis><synopsis>kres <opcodename>init</opcodename> iarg</synopsis><synopsis>ares, ...  <opcodename>init</opcodename> iarg, ...</synopsis><synopsis>ires, ... <opcodename>init</opcodename> iarg, ...</synopsis><synopsis>kres, ... <opcodename>init</opcodename> iarg, ...</synopsis><synopsis>tab <opcodename>init</opcodename> isize[, ival]</synopsis></opcode>
 <opcode><desc>Returns the number of a named instrument.</desc><synopsis>insno <opcodename>nstrnum</opcodename> "name"</synopsis></opcode>
 <opcode><desc>Show the value in a given p-field.</desc><synopsis><opcodename>p</opcodename>(x) </synopsis></opcode>
 <opcode><desc>Assigns a range of p-fields to ivariables.</desc><synopsis> ivar1, ... <opcodename>passign</opcodename> [istart]</synopsis></opcode>
@@ -754,6 +846,7 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Envelope follower unit generator.</desc><synopsis>ares <opcodename>follow</opcodename> asig, idt</synopsis></opcode>
 <opcode><desc>Another controllable envelope extractor.</desc><synopsis>ares <opcodename>follow2</opcodename> asig, katt, krel</synopsis></opcode>
 <opcode><desc>Return Csound settings.</desc><synopsis>Svalue <opcodename>getcfg</opcodename> iopt</synopsis></opcode>
+<opcode><desc>Reads data from a joystick controller.</desc><synopsis>kres <opcodename>joystick</opcodename> kdevice ktab</synopsis></opcode>
 <opcode><desc>Trigger Metronome</desc><synopsis>ktrig  <opcodename>metro</opcodename>  kfreq [, initphase]</synopsis></opcode>
 <opcode><desc>Returns the current tempo at k-rate, of either the MIDI file (if available) or the score</desc><synopsis>ksig  <opcodename>miditempo</opcodename></synopsis></opcode>
 <opcode><desc>Reads data from a P5 Glove controller.</desc><synopsis><opcodename>p5gconnect</opcodename></synopsis></opcode>
@@ -765,14 +858,16 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
       [, istrt] [, iocts] [, iq] [, inptls] [, irolloff] [, iskip]</synopsis></opcode>
 <opcode><desc>Follows the pitch of a signal based on the AMDF method.</desc><synopsis>kcps, krms <opcodename>pitchamdf</opcodename> asig, imincps, imaxcps [, icps] [, imedi] \
       [, idowns] [, iexcps] [, irmsmedi]</synopsis></opcode>
+<opcode><desc>Tracks the pitch of a signal.</desc><synopsis>acps, alock <opcodename>plltrack</opcodename> asig, kd [, kloopf, kloopq, klf, khf, kthresh]</synopsis></opcode>
 <opcode><desc>Tracks the pitch of a signal.</desc><synopsis>kcps, kamp <opcodename>ptrack</opcodename> asig, ihopsize[,ipeaks]</synopsis></opcode>
+<opcode><desc>returns a value stored in the instance of an instrument.</desc><synopsis>ival <opcodename>readscratch</opcodename>[index]</synopsis></opcode>
 <opcode><desc>Rewinds the playback position of the current score performance.</desc><synopsis> <opcodename>rewindscore</opcodename></synopsis></opcode>
 <opcode><desc>Determines the root-mean-square amplitude of an audio signal.</desc><synopsis>kres <opcodename>rms</opcodename> asig [, ihp] [, iskip]</synopsis></opcode>
 <opcode><desc>Returns the ASCII code of a key that has been pressed.</desc><synopsis>kres[, kkeydown] <opcodename>sensekey</opcodename></synopsis></opcode>
 <opcode><desc>Generates a trigger signal according to the values stored in a table.</desc><synopsis>ktrig_out <opcodename>seqtime</opcodename> ktime_unit, kstart, kloop, kinitndx, kfn_times</synopsis></opcode>
 <opcode><desc>Generates a trigger signal according to the values stored in a table.</desc><synopsis>ktrig_out <opcodename>seqtime2</opcodename> ktrig_in, ktime_unit, kstart, kloop, kinitndx, kfn_times</synopsis></opcode>
 <opcode><desc>Configurable slider controls for realtime user input.</desc><synopsis><opcodename>setctrl</opcodename> inum, ival, itype</synopsis></opcode>
-<opcode><desc>Sets the playback position of the current score performance to a given position.</desc><synopsis> <opcodename>setscorepos  ipos</opcodename></synopsis></opcode>
+<opcode><desc>Sets the playback position of the current score performance to a given position.</desc><synopsis> <opcodename>setscorepos ipos</opcodename></synopsis></opcode>
 <opcode><desc>Split a trigger signal</desc><synopsis><opcodename>splitrig</opcodename> ktrig, kndx, imaxtics, ifn, kout1 [,kout2,...,koutN]</synopsis></opcode>
 <opcode><desc>Estimate the tempo of beat patterns in a control signal.</desc><synopsis>ktemp <opcodename>tempest</opcodename> kin, iprd, imindur, imemdur, ihp, ithresh, ihtim, ixfdbak, \
       istartempo, ifn [, idisprd] [, itweek]</synopsis></opcode>
@@ -781,10 +876,11 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Time Variant Sequencer</desc><synopsis>ktrig  <opcodename>timedseq</opcodename>  ktimpnt, ifn, kp1 [,kp2, kp3, ...,kpN]</synopsis></opcode>
 <opcode><desc>Informs when a krate signal crosses a threshold.</desc><synopsis>kout <opcodename>trigger</opcodename> ksig, kthreshold, kmode</synopsis></opcode>
 <opcode><desc>Accepts a trigger signal as input and outputs a group of values.</desc><synopsis><opcodename>trigseq</opcodename> ktrig_in, kstart, kloop, kinitndx, kfn_values, kout1 [, kout2] [...]</synopsis></opcode>
-<opcode><desc>Reads data from a number of external Nintendo Wiimote controllers.</desc><synopsis>kres <opcodename>wiiconnect</opcodename> [itimeout, imaxnum]</synopsis></opcode>
+<opcode><desc>Reads data from a number of external Nintendo Wiimote controllers.</desc><synopsis>ires <opcodename>wiiconnect</opcodename> [itimeout, imaxnum]</synopsis></opcode>
 <opcode><desc>Reads data fields from a number of external Nintendo Wiimote controllers.</desc><synopsis>kres <opcodename>wiidata</opcodename> kcontrol[, knum]</synopsis></opcode>
 <opcode><desc>Sets scaling and range limits for certain Wiimote fields.</desc><synopsis> <opcodename>wiirange</opcodename> icontrol, iminimum, imaximum[, inum]</synopsis></opcode>
 <opcode><desc>Sends data to one of a number of external Nintendo Wiimote controllers.</desc><synopsis>kres <opcodename>wiisend</opcodename> kcontrol, kvalue[, knum]</synopsis></opcode>
+<opcode><desc>writes a value into the scratchpad of the instance of an instrument.</desc><synopsis><opcodename>writescratch</opcodename>ival[, index]</synopsis></opcode>
 <opcode><desc>Sense the cursor position in an output window</desc><synopsis>kx, ky <opcodename>xyin</opcodename> iprd, ixmin, ixmax, iymin, iymax [, ixinit] [, iyinit]</synopsis></opcode>
 </category>
 <category name="Instrument Control:Stacks">
@@ -799,7 +895,7 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Creates and runs a numbered instrument instance at init-time.</desc><synopsis><opcodename>subinstrinit</opcodename> instrnum [, p4] [, p5] [...]</synopsis><synopsis><opcodename>subinstrinit</opcodename> "insname" [, p4] [, p5] [...]</synopsis></opcode>
 </category>
 <category name="Instrument Control:Time Reading">
-<opcode><desc>Returns the number seconds since 1 January 1970.</desc><synopsis>ir <opcodename>date</opcodename></synopsis></opcode>
+<opcode><desc>Returns the number seconds since a base date.</desc><synopsis>ir <opcodename>date</opcodename></synopsis></opcode>
 <opcode><desc>Returns as a string the date and time specified.</desc><synopsis>Sir <opcodename>dates</opcodename> [ itime]</synopsis></opcode>
 <opcode><desc>Reads the value of an internal clock.</desc><synopsis>ir <opcodename>readclock</opcodename> inum</synopsis></opcode>
 <opcode><desc>Read the real time clock from the operating system.</desc><synopsis>ires <opcodename>rtclock</opcodename></synopsis><synopsis>kres <opcodename>rtclock</opcodename></synopsis></opcode>
@@ -808,21 +904,59 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Read absolute time in k-rate cycles.</desc><synopsis>ires <opcodename>timek</opcodename></synopsis><synopsis>kres <opcodename>timek</opcodename></synopsis></opcode>
 <opcode><desc>Read absolute time in seconds.</desc><synopsis>ires <opcodename>times</opcodename></synopsis><synopsis>kres <opcodename>times</opcodename></synopsis></opcode>
 </category>
+<category name="Jacko Opcodes">
+<opcode><desc>Receives an audio signal from a Jack port.</desc><synopsis>asignal <opcodename>JackoAudioIn </opcodename>ScsoundPortName</synopsis></opcode>
+<opcode><desc>Creates an audio connection from a Jack port to Csound.</desc><synopsis><opcodename>JackoAudioInConnect </opcodename>SexternalPortName, ScsoundPortName</synopsis></opcode>
+<opcode><desc>Sends an audio signal to a Jack port.</desc><synopsis><opcodename>JackoAudioOut </opcodename> ScsoundPortName, asignal</synopsis></opcode>
+<opcode><desc>Creates an audio connection from Csound to a Jack port.</desc><synopsis><opcodename>JackoAudioOutConnect </opcodename>ScsoundPortName, SexternalPortName</synopsis></opcode>
+<opcode><desc>Turns Jack's freewheeling mode on or off.</desc><synopsis><opcodename>JackoFreewheel </opcodename>[ienabled]</synopsis></opcode>
+<opcode><desc>Prints information about the Jack system.</desc><synopsis><opcodename>JackoInfo </opcodename></synopsis></opcode>
+<opcode><desc>Initializes Csound as a Jack client.</desc><synopsis><opcodename>JackoInit </opcodename>SclientName, ServerName</synopsis></opcode>
+<opcode><desc>Creates a MIDI  connection from a Jack port to Csound.</desc><synopsis><opcodename>JackoMidiInConnect </opcodename>SexternalPortName, ScsoundPortName</synopsis></opcode>
+<opcode><desc>Sends a MIDI channel message to a Jack port.</desc><synopsis><opcodename>JackoMidiOut </opcodename> ScsoundPortName, kstatus, kchannel, kdata1[, kdata2]</synopsis></opcode>
+<opcode><desc>Creates a MIDI connection from Csound to a Jack port.</desc><synopsis><opcodename>JackoMidiOutConnect </opcodename>ScsoundPortName, SexternalPortName</synopsis></opcode>
+<opcode><desc>Sends a MIDI channel message to a Jack port.</desc><synopsis><opcodename>JackoNoteOut </opcodename> ScsoundPortName, kstatus, kchannel, kdata1[, kdata2]</synopsis></opcode>
+<opcode><desc>Enables or disables all Jack ports.</desc><synopsis><opcodename>JackoOn </opcodename>[iactive] </synopsis></opcode>
+<opcode><desc>Control the Jack transport.</desc><synopsis><opcodename>JackoTransport </opcodename> kcommand, [kposition]</synopsis></opcode>
+</category>
+<category name="Lua Opcodes">
+<opcode><desc>Executes an arbitrary block of Lua code from the Csound orchestra.</desc><synopsis><opcodename>lua_exec</opcodename> Sluacode</synopsis></opcode>
+<opcode><desc>Calls a Lua opcode at i-rate only. Any number of output and/or 
+            input arguments may be passed. All arguments must be passed on 
+            the right-hand side. Outputs are returned in the argument.</desc><synopsis><opcodename>lua_iopcall</opcodename> Sname, ...</synopsis><synopsis><opcodename>lua_ikopcall</opcodename> Sname, ...</synopsis><synopsis><opcodename>lua_iaopcall</opcodename> Sname, ...</synopsis><synopsis><opcodename>lua_iopcall_off</opcodename> Sname, ...</synopsis><synopsis><opcodename>lua_ikopcall_off</opcodename> Sname, ...</synopsis><synopsis><opcodename>lua_iaopcall_off</opcodename> Sname, ...</synopsis></opcode>
+<opcode><desc>Define an opcode in Lua at i-rate. The opcode can take any 
+             number of output and/or input arguments of any type.</desc><synopsis><opcodename>lua_opdef</opcodename> Sname, Sluacode</synopsis></opcode>
+</category>
+<category name="Serial I/O">
+<opcode><desc>Open a serial port.</desc><synopsis>iPort <opcodename>serialBegin</opcodename> SPortName [, ibaudRate]</synopsis></opcode>
+<opcode><desc>Close a serial port.</desc><synopsis> <opcodename>serialEnd</opcodename> iPort</synopsis></opcode>
+<opcode><desc>Flush data from a serial port.</desc><synopsis> <opcodename>serialFlush</opcodename> iPort</synopsis></opcode>
+<opcode><desc>Print data from a serial port.</desc><synopsis> <opcodename>serialPrint</opcodename> iPort</synopsis></opcode>
+<opcode><desc>Read data from a serial port.</desc><synopsis>kByte <opcodename>serialRead</opcodename> iPort</synopsis></opcode>
+<opcode><desc>Write data to a serial port.</desc><synopsis> <opcodename>serialWrite</opcodename> iPort, iByte</synopsis><synopsis> <opcodename>serialWrite</opcodename> iPort, kByte</synopsis><synopsis> <opcodename>serialWrite</opcodename> iPort, SBytes</synopsis></opcode>
+<opcode><desc>Write data to a serial port.</desc><synopsis> <opcodename>serialWrite_i</opcodename> iPort, iByte</synopsis><synopsis> <opcodename>serialWrite_i</opcodename> iPort, SBytes</synopsis></opcode>
+</category>
 <category name="Table Control">
 <opcode><desc>Deletes function table.</desc><synopsis><opcodename>ftfree</opcodename> ifno, iwhen</synopsis></opcode>
 <opcode><desc>Generate a score function table from within the orchestra.</desc><synopsis>gir <opcodename>ftgen</opcodename> ifn, itime, isize, igen, iarga [, iargb ] [...]</synopsis></opcode>
-<opcode><desc>Generate a function table from within an instrument definition, without 
-      duplication of data.</desc><synopsis>ifno <opcodename>ftgenonce</opcodename> ip1dummy, ip2dummy, isize, igen, iarga, iargb, ...</synopsis></opcode>
 <opcode><desc>Generate a score function table from within the orchestra, which is deleted at the end of the note.</desc><synopsis>ifno <opcodename>ftgentmp</opcodename> ip1, ip2dummy, isize, igen, iarga, iargb, ...</synopsis></opcode>
 <opcode><desc>Loads a sound file into memory for use by</desc><synopsis><opcodename>sndload</opcodename> Sfname[, ifmt[, ichns[, isr[, ibas[, iamp[, istrt   \
       [, ilpmod[, ilps[, ilpe]]]]]]]]]</synopsis></opcode>
 </category>
 <category name="Table Control:Table Queries">
+<opcode><desc>Generate a vector with initial values.</desc><synopsis>karray[] <opcodename>array</opcodename> ival1, ival2,.....ivaln</synopsis></opcode>
+<opcode><desc>Generate a vector with initial values.</desc><synopsis>karray[] <opcodename>fillarray</opcodename> ival1, ival2,.....ivaln</synopsis></opcode>
 <opcode><desc>Returns the number of channels in a stored function table.</desc><synopsis><opcodename>ftchnls</opcodename>(x) (init-rate args only)</synopsis></opcode>
+<opcode><desc>Returns the base frequency of a stored function table in Hz.</desc><synopsis><opcodename>ftcps</opcodename>(x) (init-rate args only)</synopsis></opcode>
 <opcode><desc>Returns the size of a stored function table.</desc><synopsis><opcodename>ftlen</opcodename>(x) (init-rate args only)</synopsis></opcode>
 <opcode><desc>Returns the loop segment start-time of a stored function table number.</desc><synopsis><opcodename>ftlptim</opcodename>(x) (init-rate args only)</synopsis></opcode>
 <opcode><desc>Returns the sampling-rate of a stored function table.</desc><synopsis><opcodename>ftsr</opcodename>(x) (init-rate args only)</synopsis></opcode>
+<opcode><desc>Generate a vector with an arithmetic sequence.</desc><synopsis>karray <opcodename>genarray</opcodename> kstart, kens[, inc]</synopsis><synopsis>iarray <opcodename>genarray</opcodename> istart, iens[, inc]</synopsis></opcode>
+<opcode><desc>Generate a vector with an arithmetic sequence.</desc><synopsis>karray <opcodename>genarray_i</opcodename> istart, iend [,inc]</synopsis></opcode>
+<opcode><desc>Calculate the length of a vector.</desc><synopsis>ir <opcodename>lenarray</opcodename> karray</synopsis><synopsis>kr <opcodename>lenarray</opcodename> karray</synopsis></opcode>
+<opcode><desc>Apply a function to every element of a vector.</desc><synopsis>karray <opcodename>maparray</opcodename> kinarray, String</synopsis><synopsis>karray <opcodename>maparray_i</opcodename> kinarray, String</synopsis></opcode>
 <opcode><desc>Returns the number of samples loaded into a stored function table number.</desc><synopsis><opcodename>nsamp</opcodename>(x) (init-rate args only)</synopsis></opcode>
+<opcode><desc>Take a slice of a vector.</desc><synopsis>karray <opcodename>slicearray</opcodename> kinarray, istart, iend</synopsis></opcode>
 <opcode><desc>Interrogates a function table for length.</desc><synopsis>ires <opcodename>tableng</opcodename> ifn</synopsis><synopsis>kres <opcodename>tableng</opcodename> kfn</synopsis></opcode>
 <opcode><desc>Adding values in a range of a table.</desc><synopsis>kr <opcodename>tabsum</opcodename> ifn[[, kmin] [, kmax]]</synopsis></opcode>
 <opcode><desc>Table Read Access inside expressions.</desc><synopsis><opcodename>tb0_init</opcodename> ifn</synopsis><synopsis><opcodename>tb1_init</opcodename> ifn</synopsis><synopsis><opcodename>tb2_init</opcodename> ifn</synopsis><synopsis><opcodename>tb3_init</opcodename> ifn</synopsis><synopsis><opcodename>tb4_init</opcodename> ifn</synopsis><synopsis><opcodename>tb5_init</opcodename> ifn</synopsis><synopsis><opcodename>tb6_init</opcodename> ifn</synopsis><synopsis><opcodename>tb7_init</opcodename> ifn</synopsis><synopsis><opcodename>tb8_init</opcodename> ifn</synopsis><synopsis><opcodename>tb9_init</opcodename> ifn</synopsis><synopsis><opcodename>tb10_init</opcodename> ifn</synopsis><synopsis><opcodename>tb11_init</opcodename> ifn</synopsis><synopsis><opcodename>tb12_init</opcodename> ifn</synopsis><synopsis><opcodename>tb13_init</opcodename> ifn</synopsis><synopsis><opcodename>tb14_init</opcodename> ifn</synopsis><synopsis><opcodename>tb15_init</opcodename> ifn</synopsis><synopsis>iout = <opcodename>tb0</opcodename>(iIndex)</synopsis><synopsis>kout = <opcodename>tb0</opcodename>(kIndex)</synopsis><synopsis>iout = <opcodename>tb1</opcodename>(iIndex)</synopsis><synopsis>kout = <opcodename>tb1</opcodename>(kIndex)</synopsis><synopsis>iout = <opcodename>tb2</opcodename>(iIndex)</synopsis><synopsis>kout = <opcodename>tb2</opcodename>(kIndex)</synopsis><synopsis>iout = <opcodename>tb3</opcodename>(iIndex)</synopsis><synopsis>kout = <opcodename>tb3</opcodename>(kIndex)</synopsis><synopsis>iout = <opcodename>tb4</opcodename>(iIndex)</synopsis><synopsis>kout = <opcodename>tb4</opcodename>(kIndex)</synopsis><synopsis>iout = <opcodename>tb5</opcodename>(iIndex)</synopsis><synopsis>kout = <opcodename>tb5</opcodename>(kIndex)</synopsis><synopsis>iout = <opcodename>tb6</opcodename>(iIndex)</synopsis><synopsis>kout = <opcodename>tb6</opcodename>(kIndex)</synopsis><synopsis>iout = <opcodename>tb7</opcodename>(iIndex)</synopsis><synopsis>kout = <opcodename>tb7</opcodename>(kIndex)</synopsis><synopsis>iout = <opcodename>tb8</opcodename>(iIndex)</synopsis><synopsis>kout = <opcodename>tb8</opcodename>(kIndex)</synopsis><synopsis>iout = <opcodename>tb9</opcodename>(iIndex)</synopsis><synopsis>kout = <opcodename>tb9</opcodename>(kIndex)</synopsis><synopsis>iout = <opcodename>tb10</opcodename>(iIndex)</synopsis><synopsis>kout = <opcodename>tb10</opcodename>(kIndex)</synopsis><synopsis>iout = <opcodename>tb11</opcodename>(iIndex)</synopsis><synopsis>kout = <opcodename>tb11</opcodename>(kIndex)</synopsis><synopsis>iout = <opcodename>tb12</opcodename>(iIndex)</synopsis><synopsis>kout = <opcodename>tb12</opcodename>(kIndex)</synopsis><synopsis>iout = <opcodename>tb13</opcodename>(iIndex)</synopsis><synopsis>kout = <opcodename>tb13</opcodename>(kIndex)</synopsis><synopsis>iout = <opcodename>tb14</opcodename>(iIndex)</synopsis><synopsis>kout = <opcodename>tb14</opcodename>(kIndex)</synopsis><synopsis>iout = <opcodename>tb15</opcodename>(iIndex)</synopsis><synopsis>kout = <opcodename>tb15</opcodename>(kIndex)</synopsis></opcode>
@@ -837,7 +971,10 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Load a set of previously-allocated tables from a file.</desc><synopsis><opcodename>ftloadk</opcodename> "filename", ktrig, iflag, ifn1 [, ifn2] [...]</synopsis></opcode>
 <opcode><desc>Save a set of previously-allocated tables to a file.</desc><synopsis><opcodename>ftsave</opcodename> "filename", iflag, ifn1 [, ifn2] [...]</synopsis></opcode>
 <opcode><desc>Save a set of previously-allocated tables to a file.</desc><synopsis><opcodename>ftsavek</opcodename> "filename", ktrig, iflag, ifn1 [, ifn2] [...]</synopsis></opcode>
+<opcode><desc>Change the contents of existing function tables of any length.</desc><synopsis><opcodename>ptablew</opcodename> asig, andx, ifn [, ixmode] [, ixoff] [, iwgmode]</synopsis><synopsis><opcodename>ptablew</opcodename> isig, indx, ifn [, ixmode] [, ixoff] [, iwgmode]</synopsis><synopsis><opcodename>ptablew</opcodename> ksig, kndx, ifn [, ixmode] [, ixoff] [, iwgmode]</synopsis></opcode>
 <opcode><desc>Simple, fast table copy opcode.</desc><synopsis><opcodename>tablecopy</opcodename> kdft, ksft</synopsis></opcode>
+<opcode><desc>Filters a source table and writes result into a destination table.</desc><synopsis>knumpassed <opcodename>tablefilter</opcodename> kouttable, kintatble, kmode, kparam</synopsis></opcode>
+<opcode><desc>Filters a source table and writes result into a destination table.</desc><synopsis>inumpassed <opcodename>tablefilteri</opcodename> iouttable, iintatble, imode, iparam</synopsis></opcode>
 <opcode><desc>Writes a table's guard point.</desc><synopsis><opcodename>tablegpw</opcodename> kfn</synopsis></opcode>
 <opcode><desc>Simple, fast table copy opcode.</desc><synopsis><opcodename>tableicopy</opcodename> idft, isft</synopsis></opcode>
 <opcode><desc>Writes a table's guard point.</desc><synopsis><opcodename>tableigpw</opcodename> ifn</synopsis></opcode>
@@ -849,13 +986,13 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Writes tables in sequential locations.</desc><synopsis>kstart <opcodename>tablewa</opcodename> kfn, asig, koff</synopsis></opcode>
 <opcode><desc>Change the contents of existing function tables.</desc><synopsis><opcodename>tablewkt</opcodename> asig, andx, kfn [, ixmode] [, ixoff] [, iwgmode]</synopsis><synopsis><opcodename>tablewkt</opcodename> ksig, kndx, kfn [, ixmode] [, ixoff] [, iwgmode]</synopsis></opcode>
 <opcode><desc>Allow morphing between a set of tables.</desc><synopsis>kout <opcodename>tabmorph</opcodename> kindex, kweightpoint, ktabnum1, ktabnum2, \
-      ifn1, ifn2 [, ifn3, ifn4, ... ifnN]</synopsis></opcode>
+      ifn1, ifn2 [, ifn3, ifn4, ...,ifnN]</synopsis></opcode>
 <opcode><desc>Allow morphing between a set of tables at audio rate with interpolation.</desc><synopsis>aout <opcodename>tabmorpha</opcodename> aindex, aweightpoint, atabnum1, atabnum2, \
       ifn1, ifn2 [, ifn3, ifn4, ... ifnN]</synopsis></opcode>
 <opcode><desc>Allow morphing between a set of tables at audio rate with interpolation.</desc><synopsis>aout <opcodename>tabmorphak</opcodename> aindex, kweightpoint, ktabnum1, ktabnum2, \
       ifn1, ifn2 [, ifn3, ifn4, ... ifnN]</synopsis></opcode>
 <opcode><desc>Allow morphing between a set of tables with interpolation.</desc><synopsis>kout <opcodename>tabmorphi</opcodename> kindex, kweightpoint, ktabnum1, ktabnum2, \
-      ifn1, ifn2 [, ifn3, ifn4, ... ifnN]</synopsis></opcode>
+      ifn1, ifn2 [, ifn3, ifn4, ..., ifnN]</synopsis></opcode>
 <opcode><desc>Playing-back control signals.</desc><synopsis><opcodename>tabplay</opcodename>  ktrig, knumtics, kfn, kout1 [,kout2,..., koutN]</synopsis></opcode>
 <opcode><desc>Recording of control signals.</desc><synopsis><opcodename>tabrec</opcodename>   ktrig_start, ktrig_stop, knumtics, kfn, kin1 [,kin2,...,kinN]</synopsis></opcode>
 </category>
@@ -982,8 +1119,11 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Extracts an integer from a decimal number.</desc><synopsis><opcodename>int</opcodename>(x)  (init-rate or control-rate; also works at audio rate in Csound5)</synopsis></opcode>
 <opcode><desc>Returns a natural log.</desc><synopsis><opcodename>log</opcodename>(x) (no rate restriction)</synopsis></opcode>
 <opcode><desc>Returns a base 10 log.</desc><synopsis><opcodename>log10</opcodename>(x) (no rate restriction)</synopsis></opcode>
+<opcode><desc>Returns a base 2 log.</desc><synopsis><opcodename>log2</opcodename>(x) (no rate restriction)</synopsis></opcode>
 <opcode><desc>Performs a logarithmic base two calculation.</desc><synopsis><opcodename>logbtwo</opcodename>(x)  (init-rate or control-rate args only)</synopsis></opcode>
 <opcode><desc>Performs a  power-of-two calculation.</desc><synopsis><opcodename>powoftwo</opcodename>(x)  (init-rate or control-rate args only)</synopsis></opcode>
+<opcode><desc>Questions whether the argument is a infinite number</desc><synopsis><opcodename>qinf</opcodename>(x) (no rate restriction)</synopsis></opcode>
+<opcode><desc>Questions whether the argument is a infinite number</desc><synopsis><opcodename>qnan</opcodename>(x) (no rate restriction)</synopsis></opcode>
 <opcode><desc>Returns the integer value nearest to</desc><synopsis><opcodename>round</opcodename>(x) (init-, control-, or audio-rate arg allowed)</synopsis></opcode>
 <opcode><desc>Returns a square root value.</desc><synopsis><opcodename>sqrt</opcodename>(x) (no rate restriction)</synopsis></opcode>
 </category>
@@ -991,6 +1131,7 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Performs a cosine function.</desc><synopsis><opcodename>cos</opcodename>(x) (no rate restriction)</synopsis></opcode>
 <opcode><desc>Performs a hyperbolic cosine function.</desc><synopsis><opcodename>cosh</opcodename>(x) (no rate restriction)</synopsis></opcode>
 <opcode><desc>Performs a arccosine function.</desc><synopsis><opcodename>cosinv</opcodename>(x) (no rate restriction)</synopsis></opcode>
+<opcode><desc>Performs a signum function.</desc><synopsis><opcodename>signum</opcodename>(x) (no rate restriction)</synopsis></opcode>
 <opcode><desc>Performs a sine function.</desc><synopsis><opcodename>sin</opcodename>(x) (no rate restriction)</synopsis></opcode>
 <opcode><desc>Performs a hyperbolic sine function.</desc><synopsis><opcodename>sinh</opcodename>(x) (no rate restriction)</synopsis></opcode>
 <opcode><desc>Performs an arcsine function.</desc><synopsis><opcodename>sininv</opcodename>(x) (no rate restriction)</synopsis></opcode>
@@ -1010,14 +1151,14 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Returns a random number in a unipolar range at the rate given by the input argument.</desc><synopsis><opcodename>rnd</opcodename>(x) (init- or control-rate only)</synopsis></opcode>
 </category>
 <category name="Mathematical Operations:Opcode Equivalents of Functions">
-<opcode><desc>Safely divides two numbers.</desc><synopsis>ares <opcodename>divz</opcodename> xa, xb, ksubst</synopsis><synopsis>ires <opcodename>divz</opcodename> ia, ib, isubst</synopsis><synopsis>kres <opcodename>divz</opcodename> ka, kb, ksubst</synopsis></opcode>
-<opcode><desc>Multiplies and accumulates a- and k-rate signals.</desc><synopsis>ares <opcodename>mac</opcodename> asig1, ksig1 [, asig2] [, ksig2] [, asig3] [, ksig3] [...]</synopsis></opcode>
+<opcode><desc>Safely divides two numbers.</desc><synopsis>ares <opcodename>divz</opcodename> xa, xb, ksubst</synopsis><synopsis>ires <opcodename>divz</opcodename> ia, ib, isubst</synopsis><synopsis>kres <opcodename>divz</opcodename> ka, kb, ksubst</synopsis><synopsis>...<opcodename>divz</opcodename>(ka, kb, ksubst)... (no rate restriction)</synopsis></opcode>
+<opcode><desc>Multiplies and accumulates a- and k-rate signals.</desc><synopsis>ares <opcodename>mac</opcodename> ksig1, asig1 [, ksig2] [, asig2] [, ksig3] [, asig3] [...]</synopsis></opcode>
 <opcode><desc>Multiply and accumulate a-rate signals only.</desc><synopsis>ares <opcodename>maca</opcodename> asig1 , asig2 [, asig3] [, asig4] [, asig5] [...]</synopsis></opcode>
 <opcode><desc>Efficiently evaluates a polynomial of arbitrary order.</desc><synopsis>aout <opcodename>polynomial</opcodename> ain, k0 [, k1 [, k2 [...]]]</synopsis></opcode>
 <opcode><desc>Computes one argument to the power of another argument.</desc><synopsis>ares <opcodename>pow</opcodename> aarg, kpow [, inorm]</synopsis><synopsis>ires <opcodename>pow</opcodename> iarg, ipow [, inorm]</synopsis><synopsis>kres <opcodename>pow</opcodename> karg, kpow [, inorm]</synopsis></opcode>
 <opcode><desc>Multiplies any number of a-rate signals.</desc><synopsis>ares <opcodename>product</opcodename> asig1, asig2 [, asig3] [...]</synopsis></opcode>
 <opcode><desc>Sums any number of a-rate signals.</desc><synopsis>ares <opcodename>sum</opcodename> asig1 [, asig2] [, asig3] [...]</synopsis></opcode>
-<opcode><desc>Returns an arctangent.</desc><synopsis>ares <opcodename>taninv2</opcodename> ay, ax</synopsis><synopsis>ires <opcodename>taninv2</opcodename> iy, ix</synopsis><synopsis>kres <opcodename>taninv2</opcodename> ky, kx</synopsis></opcode>
+<opcode><desc>Returns an arctangent.</desc><synopsis>ares <opcodename>taninv2</opcodename> ay, ax</synopsis><synopsis>ires <opcodename>taninv2</opcodename> iy, ix</synopsis><synopsis>kres <opcodename>taninv2</opcodename> ky, kx</synopsis><synopsis>...<opcodename>taninv2</opcodename>(ky, kx)... (no rate restriction)</synopsis></opcode>
 </category>
 <category name="Pitch Converters:Functions">
 <opcode><desc>Calculates a factor to raise/lower a frequency by a given amount of cents.</desc><synopsis><opcodename>cent</opcodename>(x) </synopsis></opcode>
@@ -1077,7 +1218,7 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 </category>
 <category name="Real-time MIDI:Converters">
 <opcode><desc>Get the velocity of the current MIDI event.</desc><synopsis>iamp <opcodename>ampmidi</opcodename> iscal [, ifn]</synopsis></opcode>
-<opcode><desc>Rescale a MIDI velocity number to a fit a dynamic range ian decibels.</desc><synopsis>xamp<opcodename>ampmidid</opcodename>kvelocity, idecibels</synopsis></opcode>
+<opcode><desc>Musically map MIDI velocity to peak amplitude within a specified dynamic range in decibels.</desc><synopsis>iamplitude <opcodename>ampmidid</opcodename> ivelocity, idecibels</synopsis><synopsis>kamplitude <opcodename>ampmidid</opcodename> kvelocity, idecibels</synopsis></opcode>
 <opcode><desc>Get the note number of the current MIDI event, expressed in cycles-per-second.</desc><synopsis>icps <opcodename>cpsmidi</opcodename></synopsis></opcode>
 <opcode><desc>Get the note number of the current MIDI event and modify it by the current pitch-bend value, express it in cycles-per-second.</desc><synopsis>icps <opcodename>cpsmidib</opcodename> [irange]</synopsis><synopsis>kcps <opcodename>cpsmidib</opcodename> [irange]</synopsis></opcode>
 <opcode><desc>Get a MIDI note number (allows customized micro-tuning scales).</desc><synopsis>icps <opcodename>cpstmid</opcodename> ifn</synopsis></opcode>
@@ -1144,7 +1285,7 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
       ..., ictlnum32, imin32, imax32, init32, ifn32, icutoff32</synopsis></opcode>
 <opcode><desc>Stores a bank of 32 different MIDI control messages to a table.</desc><synopsis>kflag <opcodename>slider32table</opcodename> ichan, ioutTable, ioffset, ictlnum1, imin1, \
       imax1, init1, ifn1, .... , ictlnum32, imin32, imax32, init32, ifn32</synopsis></opcode>
-<opcode><desc>Creates a bank of 32 different MIDI control message numbers, filtered before output.</desc><synopsis>kflag <opcodename>slider32tablef</opcodename> ichan, ioutTable, ioffset, ictlnum1, imin1, imax1, \
+<opcode><desc>Stores a bank of 32 different MIDI control messages to a table, filtered before output.</desc><synopsis>kflag <opcodename>slider32tablef</opcodename> ichan, ioutTable, ioffset, ictlnum1, imin1, imax1, \
       init1, ifn1, icutoff1, .... , ictlnum32, imin32, imax32, init32, ifn32, icutoff32</synopsis></opcode>
 <opcode><desc>Creates a bank of 64 different MIDI control message numbers.</desc><synopsis>i1,...,i64 <opcodename>slider64</opcodename> ichan, ictlnum1, imin1, imax1, init1, ifn1,..., \
       ictlnum64, imin64, imax64, init64, ifn64</synopsis><synopsis>k1,...,k64 <opcodename>slider64</opcodename> ichan, ictlnum1, imin1, imax1, init1, ifn1,..., \
@@ -1167,18 +1308,19 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <opcode><desc>Creates a bank of 16 different MIDI control message numbers from a KAWAI MM-16 midi mixer.</desc><synopsis>k1, k2, ...., k16 <opcodename>sliderKawai</opcodename> imin1, imax1, init1, ifn1, \
       imin2, imax2, init2, ifn2, ..., imin16, imax16, init16, ifn16</synopsis></opcode>
 </category>
-<category name="Signal Flow Graph">
+<category name="Signal Flow Graph Opcodes">
 <opcode><desc>Activates the indicated instrument in the orchestra header,
-      without need for an i statement. Instruments must be 
-      activated in the same order as they are defined.</desc><synopsis><opcodename>alwayson </opcodename>Tinstrument [p4, ..., pn]</synopsis></opcode>
-<opcode><desc>Connects the named outlet ports of source instruments to the 
-      named inlet ports of sink instruments.</desc><synopsis><opcodename>connect </opcodename>Tsource1, Soutlet1, Tsink1, Sinlet1</synopsis></opcode>
+      without need for an i statement.</desc><synopsis> <opcodename>alwayson</opcodename> Tinstrument [p4, ..., pn]</synopsis></opcode>
+<opcode><desc>Connects a source outlet to a sink inlet.</desc><synopsis><opcodename>connect </opcodename>Tsource1, Soutlet1, Tsink1, Sinlet1</synopsis></opcode>
+<opcode><desc>Generate a function table from within an instrument definition, without duplication of data.</desc><synopsis>ifno <opcodename>ftgenonce</opcodename> ip1, ip2dummy, isize, igen, iarga, iargb, ...</synopsis></opcode>
 <opcode><desc>Receives an arate signal into an instrument through a named port.</desc><synopsis>asignal <opcodename>inleta </opcodename>Sname</synopsis></opcode>
 <opcode><desc>Receives an frate signal (fsig) into an instrument from a named port.</desc><synopsis>fsignal <opcodename>inletf </opcodename>Sname</synopsis></opcode>
 <opcode><desc>Receives a krate signal into an instrument from a named port.</desc><synopsis>ksignal <opcodename>inletk </opcodename>Sname</synopsis></opcode>
+<opcode><desc>Receives a krate signal into an instrument from a named port.</desc><synopsis>ksignal <opcodename>inletkid </opcodename>Sname, SinstanceID</synopsis></opcode>
 <opcode><desc>Sends an arate signal out from an instrument to a named port.</desc><synopsis><opcodename>outleta </opcodename>Sname, asignal</synopsis></opcode>
 <opcode><desc>Sends a frate signal (fsig) out from an instrument to a named port.</desc><synopsis><opcodename>outletf </opcodename>Sname, fsignal</synopsis></opcode>
 <opcode><desc>Sends a krate signal out from an instrument to a named port.</desc><synopsis><opcodename>outletk </opcodename>Sname, ksignal</synopsis></opcode>
+<opcode><desc>Sends a krate signal out from an instrument to a named port.</desc><synopsis><opcodename>outletkid </opcodename>Sname, SinstanceID, ksignal</synopsis></opcode>
 </category>
 <category name="Spectral Processing:STFT">
 <opcode><desc>Deprecated.</desc><synopsis><opcodename>ktableseg</opcodename> ifn1, idur1, ifn2 [, idur2] [, ifn3] [...]</synopsis></opcode>
@@ -1218,57 +1360,65 @@ This file is distributed under the GNU Free Documentation Licence--><opcodes>
 <category name="Spectral Processing:Streaming">
 <opcode><desc>PVS tracks to amplitude+frequency conversion.</desc><synopsis>fsig <opcodename>binit</opcodename> fin, isize</synopsis></opcode>
 <opcode><desc>Partial track spectral analysis.</desc><synopsis>ftrks <opcodename>partials</opcodename> ffr, fphs, kthresh, kminpts, kmaxgap, imaxtracks</synopsis></opcode>
+<opcode><desc>Copies spectral data to t-variables.</desc><synopsis>kframe <opcodename>pvs2tab</opcodename> tvar, fsig</synopsis></opcode>
 <opcode><desc>Resynthesize using a fast oscillator-bank.</desc><synopsis>ares <opcodename>pvsadsyn</opcodename> fsrc, inoscs, kfmod [, ibinoffset] [, ibinincr] [, iinit]</synopsis></opcode>
 <opcode><desc>Generate an fsig from a mono audio source ain, using phase vocoder overlap-add analysis.</desc><synopsis>fsig <opcodename>pvsanal</opcodename> ain, ifftsize, ioverlap, iwinsize, iwintype [, iformat] [, iinit]</synopsis></opcode>
 <opcode><desc>Arpeggiate the spectral components of a streaming pv signal.</desc><synopsis>fsig <opcodename>pvsarp</opcodename> fsigin, kbin, kdepth, kgain</synopsis></opcode>
-<opcode><desc>A band pass filter working in the spectral domain.</desc><synopsis>fsig <opcodename>pvsbandp</opcodename> fsigin, xlowcut,
-      xlowfull, xhighfull, xhighcut[, ktype]</synopsis></opcode>
-<opcode><desc>A band reject filter working in the spectral domain.</desc><synopsis>fsig <opcodename>pvsbandr</opcodename> fsigin, xlowcut,
-    xlowfull, xhighfull, xhighcut[, ktype]</synopsis></opcode>
+<opcode><desc>A band pass filter working in the spectral domain.</desc><synopsis>fsig <opcodename>pvsbandp</opcodename> fsigin, xlowcut, xlowfull, \
+      xhighfull, xhighcut[, ktype]</synopsis></opcode>
+<opcode><desc>A band reject filter working in the spectral domain.</desc><synopsis>fsig <opcodename>pvsbandr</opcodename> fsigin, xlowcut, xlowfull, \
+      xhighfull, xhighcut[, ktype]</synopsis></opcode>
 <opcode><desc>Obtain the amp and freq values off a PVS signal bin.</desc><synopsis>kamp, kfr <opcodename>pvsbin</opcodename> fsig, kbin</synopsis></opcode>
 <opcode><desc>Average the amp/freq time functions of each analysis channel for
     a specified time.</desc><synopsis>fsig <opcodename>pvsblur</opcodename> fsigin, kblurtime, imaxdel</synopsis></opcode>
 <opcode><desc>This opcode creates and writes to a circular buffer for f-signals (streaming PV signals).</desc><synopsis>ihandle, ktime  <opcodename>pvsbuffer</opcodename> fsig, ilen </synopsis></opcode>
-<opcode><desc>This opcode reads a circular buffer of f-signals (streaming PV signals).</desc><synopsis>fsig <opcodename>pvsbufread</opcodename>  ktime, khandle[, ilo, ihi] </synopsis></opcode>
-<opcode><desc>Scale the frequency components of a pv stream.</desc><synopsis>fsig <opcodename>pvscale</opcodename> fsigin, kscal[, ikeepform, igain]]</synopsis></opcode>
+<opcode><desc>This opcode reads a circular buffer of f-signals (streaming PV signals).</desc><synopsis>fsig <opcodename>pvsbufread</opcodename>  ktime, khandle[, ilo, ihi, iclear] </synopsis></opcode>
+<opcode><desc>This opcode reads a circular buffer of f-signals (streaming PV signals), with binwise additional delays.</desc><synopsis>fsig <opcodename>pvsbufread2</opcodename>  ktime, khandle, ift1, ift2 </synopsis></opcode>
+<opcode><desc>Scale the frequency components of a pv stream.</desc><synopsis>fsig <opcodename>pvscale</opcodename> fsigin, kscal[, kkeepform, kgain, kcoefs]</synopsis></opcode>
 <opcode><desc>Calculate the spectral centroid of a signal.</desc><synopsis>kcent <opcodename>pvscent</opcodename> fsig</synopsis></opcode>
 <opcode><desc>Performs cross-synthesis between two source fsigs.</desc><synopsis>fsig <opcodename>pvscross</opcodename> fsrc, fdest, kamp1, kamp2</synopsis></opcode>
 <opcode><desc>Spectral azimuth-based de-mixing of stereo sources.</desc><synopsis>fsig <opcodename>pvsdemix</opcodename> fleft, fright, kpos, kwidth, ipoints</synopsis></opcode>
-<opcode><desc>Read a selected channel from a PVOC-EX analysis file.</desc><synopsis>fsig <opcodename>pvsdiskin</opcodename>SFname,ktscal,kgain[,ioffset, ichan]</synopsis></opcode>
+<opcode><desc>Read a selected channel from a PVOC-EX analysis file.</desc><synopsis>fsig <opcodename>pvsdiskin</opcodename> SFname,ktscal,kgain[,ioffset, ichan]</synopsis></opcode>
 <opcode><desc>Displays a PVS signal as an amplitude vs. freq graph.</desc><synopsis><opcodename>pvsdisp</opcodename> fsig[, ibins, iwtflg] </synopsis></opcode>
 <opcode><desc>Multiply amplitudes of a pvoc stream by those of a second
 pvoc stream, with dynamic scaling.</desc><synopsis>fsig <opcodename>pvsfilter</opcodename> fsigin, fsigfil, kdepth[, igain]</synopsis></opcode>
 <opcode><desc>Read a selected channel from a PVOC-EX analysis file.</desc><synopsis>fsig <opcodename>pvsfread</opcodename> ktimpt, ifn [, ichan]</synopsis></opcode>
 <opcode><desc>Freeze the amplitude and frequency time functions of a pv stream according to a control-rate
-	trigger.</desc><synopsis>fsig <opcodename>pvsfreeze</opcodename> fsigin, kfreeza, kfreezf</synopsis></opcode>
+      trigger.</desc><synopsis>fsig <opcodename>pvsfreeze</opcodename> fsigin, kfreeza, kfreezf</synopsis></opcode>
 <opcode><desc>Reads amplitude and/or frequency data from function tables.</desc><synopsis><opcodename>pvsftr</opcodename> fsrc, ifna [, ifnf]</synopsis></opcode>
 <opcode><desc>Writes amplitude and/or frequency data to function tables.</desc><synopsis>kflag <opcodename>pvsftw</opcodename> fsrc, ifna [, ifnf]</synopsis></opcode>
 <opcode><desc>Write a fsig to a PVOCEX file.</desc><synopsis><opcodename>pvsfwrite</opcodename> fsig, ifile</synopsis></opcode>
+<opcode><desc>Scale the amplitude of a pv stream.</desc><synopsis>fsig <opcodename>pvsgain</opcodename> fsigin, kgain </synopsis></opcode>
 <opcode><desc>Shift the frequency components of a pv stream, stretching/compressing
-its spectrum.</desc><synopsis>fsig <opcodename>pvshift</opcodename> fsigin, kshift, klowest[, ikeepform, igain]</synopsis></opcode>
+      its spectrum.</desc><synopsis>fsig <opcodename>pvshift</opcodename> fsigin, kshift, klowest[, kkeepform, igain, kcoefs]</synopsis></opcode>
 <opcode><desc>Instantaneous Frequency Distribution, magnitude and phase analysis.</desc><synopsis>ffr,fphs <opcodename>pvsifd</opcodename> ain, ifftsize, ihopsize, iwintype[,iscal]</synopsis></opcode>
-<opcode><desc>Retrieve an fsig from the input software bus; a pvs equivalent to chani.</desc><synopsis>fsig <opcodename>pvsin</opcodename> kchan[,isize,iolap,iwinsize,iwintype,iformat]</synopsis></opcode>
+<opcode><desc>Retrieve an fsig from the input software bus; a pvs equivalent to chani.</desc><synopsis>fsig <opcodename>pvsin</opcodename> kchan[, isize, iolap, iwinsize, iwintype, iformat]</synopsis></opcode>
 <opcode><desc>Get information from a PVOC-EX formatted source.</desc><synopsis>ioverlap, inumbins, iwinsize, iformat <opcodename>pvsinfo</opcodename> fsrc</synopsis></opcode>
-<opcode><desc>Initialise a spectral (f) variable to zero.</desc><synopsis>fsig <opcodename>pvsinit</opcodename> isize[,iolap,iwinsize,iwintype, iformat]</synopsis></opcode>
+<opcode><desc>Initialise a spectral (f) variable to zero.</desc><synopsis>fsig <opcodename>pvsinit</opcodename> isize[, iolap, iwinsize, iwintype, iformat]</synopsis></opcode>
+<opcode><desc>Frequency lock an input fsig</desc><synopsis>fsig <opcodename>pvslock</opcodename> fsigin, klock</synopsis></opcode>
 <opcode><desc>Modify amplitudes using a function table, with dynamic scaling.</desc><synopsis>fsig <opcodename>pvsmaska</opcodename> fsrc, ifn, kdepth</synopsis></opcode>
 <opcode><desc>Mix 'seamlessly' two pv signals.</desc><synopsis>fsig <opcodename>pvsmix</opcodename> fsigin1, fsigin2</synopsis></opcode>
 <opcode><desc>Smooth the amplitude and frequency time functions of a pv stream using parallel 1st order
-	 lowpass IIR filters with time-varying cutoff frequency.</desc><synopsis>fsig <opcodename>pvsmooth</opcodename> fsigin, kacf, kfcf</synopsis></opcode>
+      lowpass IIR filters with time-varying cutoff frequency.</desc><synopsis>fsig <opcodename>pvsmooth</opcodename> fsigin, kacf, kfcf</synopsis></opcode>
 <opcode><desc>Performs morphing (or interpolation) between two source fsigs.</desc><synopsis>fsig <opcodename>pvsmorph</opcodename> fsig1, fsig2, kampint, kfrqint</synopsis></opcode>
 <opcode><desc>PVS-based oscillator simulator.</desc><synopsis>fsig <opcodename>pvsosc</opcodename> kamp, kfreq, ktype, isize [,ioverlap] [, iwinsize] [, iwintype] [, iformat]</synopsis></opcode>
 <opcode><desc>Write a fsig to the pvs output bus.</desc><synopsis><opcodename>pvsout</opcodename> fsig, kchan</synopsis></opcode>
 <opcode><desc>Track the pitch and amplitude of a PVS signal.</desc><synopsis>kfr, kamp <opcodename>pvspitch</opcodename> fsig, kthresh</synopsis></opcode>
+<opcode><desc>Phase vocoder analysis processing with onset detection/processing.</desc><synopsis>fsig <opcodename>pvstanal</opcodename> ktimescal, kamp, kpitch, ktab, [kdetect, kwrap, ioffset,ifftsize, ihop, idbthresh]
+      </synopsis></opcode>
 <opcode><desc>Transforms a pvoc stream according to a masking function table.</desc><synopsis>fsig <opcodename>pvstencil</opcodename> fsigin, kgain, klevel, iftable</synopsis></opcode>
-<opcode><desc>Combine the spectral envelope of one fsig with the excitation (frequencies) of another.</desc><synopsis>fsig <opcodename>pvsvoc</opcodename> famp, fexc, kdepth, kgain</synopsis></opcode>
+<opcode><desc>Combine the spectral envelope of one fsig with the excitation (frequencies) of another.</desc><synopsis>fsig <opcodename>pvsvoc</opcodename> famp, fexc, kdepth, kgain [,kcoefs]</synopsis></opcode>
+<opcode><desc>Warp the spectral envelope of a PVS signal</desc><synopsis>fsig <opcodename>pvswarp</opcodename> fsigin, kscal, kshift[, klowest, kmeth, kgain, kcoefs]</synopsis></opcode>
 <opcode><desc>Resynthesise using a FFT overlap-add.</desc><synopsis>ares <opcodename>pvsynth</opcodename> fsrc, [iinit]</synopsis></opcode>
 <opcode><desc>Streaming partial track additive synthesis with cubic phase interpolation with
 pitch control and support for timescale-modified input</desc><synopsis>asig <opcodename>resyn</opcodename> fin, kscal, kpitch, kmaxtracks, ifn</synopsis></opcode>
-<opcode><desc>Streaming partial track additive synthesis with cubic phase interpolation</desc><synopsis>asig <opcodename>sinsyn</opcodename> fin, kscal,  kmaxtracks, ifn</synopsis></opcode>
+<opcode><desc>Streaming partial track additive synthesis with cubic phase interpolation</desc><synopsis>asig <opcodename>sinsyn</opcodename> fin, kscal, kmaxtracks, ifn</synopsis></opcode>
+<opcode><desc>Copies spectral data from t-variables.</desc><synopsis>fsig <opcodename>tab2pvs</opcodename> tvar[,ihopsize, iwinsize, iwintype]</synopsis></opcode>
 <opcode><desc>Streaming partial track additive synthesis</desc><synopsis>asig <opcodename>tradsyn</opcodename> fin, kscal, kpitch, kmaxtracks, ifn</synopsis></opcode>
-<opcode><desc>Streaming partial track cross-synthesis.</desc><synopsis>fsig <opcodename>trcross</opcodename> fin1, fin2, ksearch,kdepth[,kmode] </synopsis></opcode>
+<opcode><desc>Streaming partial track cross-synthesis.</desc><synopsis>fsig <opcodename>trcross</opcodename> fin1, fin2, ksearch, kdepth [, kmode] </synopsis></opcode>
 <opcode><desc>Streaming partial track filtering.</desc><synopsis>fsig <opcodename>trfilter</opcodename> fin, kamnt, ifn</synopsis></opcode>
-<opcode><desc>Extracts the highest-frequency track from a streaming track input signal.</desc><synopsis>fsig, kfr,kamp <opcodename>trhighest</opcodename> fin1, kscal</synopsis></opcode>
-<opcode><desc>Extracts the lowest-frequency track from a streaming track input signal.</desc><synopsis>fsig, kfr,kamp <opcodename>trlowest</opcodename> fin1, kscal</synopsis></opcode>
+<opcode><desc>Extracts the highest-frequency track from a streaming track input signal.</desc><synopsis>fsig, kfr, kamp <opcodename>trhighest</opcodename> fin1, kscal</synopsis></opcode>
+<opcode><desc>Extracts the lowest-frequency track from a streaming track input signal.</desc><synopsis>fsig, kfr, kamp <opcodename>trlowest</opcodename> fin1, kscal</synopsis></opcode>
 <opcode><desc>Streaming partial track mixing.</desc><synopsis>fsig <opcodename>trmix</opcodename> fin1, fin2 </synopsis></opcode>
 <opcode><desc>Streaming partial track frequency scaling.</desc><synopsis>fsig <opcodename>trscale</opcodename> fin, kpitch[, kgain]</synopsis></opcode>
 <opcode><desc>Streaming partial track frequency scaling.</desc><synopsis>fsig <opcodename>trshift</opcodename> fin, kpshift[, kgain]</synopsis></opcode>
@@ -1304,13 +1454,20 @@ pitch control and support for timescale-modified input</desc><synopsis>asig <opc
     bandwidth scaling envelopes, and stores the modified partials in
     memory.</desc><synopsis><opcodename>lorisread</opcodename> ktimpnt, ifilcod, istoreidx, kfreqenv, kampenv, kbwenv[, ifadetime]</synopsis></opcode>
 </category>
+<category name="Spectral Processing:Other">
+<opcode><desc>Calculate the spectral centroid of a signal.</desc><synopsis>kcent <opcodename>centroid</opcodename> asig, ktrig, ifftsize</synopsis></opcode>
+<opcode><desc>Phase-locked vocoder processing.</desc><synopsis>asig <opcodename>mincer</opcodename> atimpt, kamp, kpitch, ktab, klock[,ifftsize,idecim]
+      </synopsis></opcode>
+<opcode><desc>Phase-locked vocoder processing with onset detection/processing, 'tempo-scaling'.</desc><synopsis>asig <opcodename>temposcal</opcodename> ktimescal, kamp, kpitch, ktab, klock [,ifftsize, idecim, ithresh]
+      </synopsis></opcode>
+</category>
 <category name="Strings:Definition">
 <opcode><desc>Set string variable to value from strset table or string p-field</desc><synopsis>Sdst <opcodename>strget</opcodename> indx</synopsis></opcode>
 <opcode><desc>Allows a string to be linked with a numeric value.</desc><synopsis><opcodename>strset</opcodename> iarg, istring</synopsis></opcode>
 </category>
 <category name="Strings:Manipulation">
 <opcode><desc>Print a string constant or variable</desc><synopsis><opcodename>puts</opcodename> Sstr, ktrig[, inonl]</synopsis></opcode>
-<opcode><desc>printf-style formatted output to a string variable.</desc><synopsis>Sdst <opcodename>sprintf</opcodename> Sfmt, xarg1[, xarg2[, ... ]]</synopsis><synopsis>Sdst <opcodename>sprintfk</opcodename> Sfmt, xarg1[, xarg2[, ... ]]</synopsis></opcode>
+<opcode><desc>printf-style formatted output to a string variable.</desc><synopsis>Sdst <opcodename>sprintf</opcodename> Sfmt, xarg1[, xarg2[, ... ]]</synopsis></opcode>
 <opcode><desc>printf-style formatted output to a string variable at k-rate.</desc><synopsis>Sdst <opcodename>sprintfk</opcodename> Sfmt, xarg1[, xarg2[, ... ]]</synopsis></opcode>
 <opcode><desc>Concatenate strings</desc><synopsis>Sdst <opcodename>strcat</opcodename> Ssrc1, Ssrc2</synopsis></opcode>
 <opcode><desc>Concatenate strings (k-rate)</desc><synopsis>Sdst <opcodename>strcatk</opcodename> Ssrc1, Ssrc2</synopsis></opcode>
@@ -1361,19 +1518,19 @@ pitch control and support for timescale-modified input</desc><synopsis>asig <opc
 <opcode><desc>Performs power-of operations between a vector and a scalar</desc><synopsis><opcodename>vexp_i</opcodename>  ifn, ival, ielements[, idstoffset]</synopsis></opcode>
 <opcode><desc>Multiplies a vector in a table by a scalar value.</desc><synopsis><opcodename>vmult</opcodename>  ifn, kval, kelements [, kdstoffset] [, kverbose]</synopsis></opcode>
 <opcode><desc>Multiplies a vector in a table by a scalar value.</desc><synopsis><opcodename>vmult_i</opcodename>  ifn, ival, ielements [, idstoffset]</synopsis></opcode>
-<opcode><desc>Raises each element of a vector to a scalar power</desc><synopsis><opcodename>vpow</opcodename>  ifn, kval, kelements [, kdstoffset] [, kverbose]</synopsis></opcode>
+<opcode><desc>Raises each element of a vector to a scalar power.</desc><synopsis><opcodename>vpow</opcodename>  ifn, kval, kelements [, kdstoffset] [, kverbose]</synopsis></opcode>
 <opcode><desc>Raises each element of a vector to a scalar power</desc><synopsis><opcodename>vpow_i</opcodename>  ifn, ival, ielements [, idstoffset]</synopsis></opcode>
 </category>
 <category name="Vectorial:Vectorial operations">
-<opcode><desc>Performs addition between two vectorial control signals</desc><synopsis><opcodename>vaddv</opcodename>  ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [,kverbose]</synopsis></opcode>
+<opcode><desc>Performs addition between two vectorial control signals.</desc><synopsis><opcodename>vaddv</opcodename>  ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [,kverbose]</synopsis></opcode>
 <opcode><desc>Performs addition between two vectorial control signals at init time.</desc><synopsis><opcodename>vaddv_i</opcodename>  ifn1, ifn2, ielements [, idstoffset] [, isrcoffset]</synopsis></opcode>
-<opcode><desc>Copies between two vectorial control signals</desc><synopsis><opcodename>vcopy</opcodename>  ifn, ifn2, kelements [, kdstoffset] [, ksrcoffset] [, kverbose]</synopsis></opcode>
-<opcode><desc>Copies a vector from one table to another.</desc><synopsis><opcodename>vcopy_i</opcodename>  ifn, ifn2, ielements [,idstoffset, isrcoffset]</synopsis></opcode>
+<opcode><desc>Copies between two vectorial control signals</desc><synopsis><opcodename>vcopy</opcodename>  ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [, kverbose]</synopsis></opcode>
+<opcode><desc>Copies a vector from one table to another.</desc><synopsis><opcodename>vcopy_i</opcodename>  ifn1, ifn2, ielements [,idstoffset, isrcoffset]</synopsis></opcode>
 <opcode><desc>Performs division between two vectorial control signals</desc><synopsis><opcodename>vdivv</opcodename>  ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [,kverbose]</synopsis></opcode>
 <opcode><desc>Performs division between two vectorial control signals at init time.</desc><synopsis><opcodename>vdivv_i</opcodename>  ifn1, ifn2, ielements [, idstoffset] [, isrcoffset]</synopsis></opcode>
 <opcode><desc>Performs exponential operations between two vectorial control signals</desc><synopsis><opcodename>vexpv</opcodename>  ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [,kverbose]</synopsis></opcode>
 <opcode><desc>Performs exponential operations between two vectorial control signals at init time.</desc><synopsis><opcodename>vexpv_i</opcodename>  ifn1, ifn2, ielements [, idstoffset] [, isrcoffset]</synopsis></opcode>
-<opcode><desc>Maps elements from a vector according to indeces contained in another vector</desc><synopsis><opcodename>vmap</opcodename>  ifn1, ifn2, ielements [,idstoffset, isrcoffset]</synopsis></opcode>
+<opcode><desc>Maps elements from a vector according to indexes contained in another vector.</desc><synopsis><opcodename>vmap</opcodename>  ifn1, ifn2, ielements [,idstoffset, isrcoffset]</synopsis></opcode>
 <opcode><desc>Performs mutiplication between two vectorial control signals</desc><synopsis><opcodename>vmultv</opcodename>  ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [,kverbose]</synopsis></opcode>
 <opcode><desc>Performs mutiplication between two vectorial control signals at init time.</desc><synopsis><opcodename>vmultv_i</opcodename>  ifn1, ifn2, ielements [, idstoffset] [, isrcoffset]</synopsis></opcode>
 <opcode><desc>Performs power-of operations between two vectorial control signals</desc><synopsis><opcodename>vpowv</opcodename> ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [,kverbose]</synopsis></opcode>
@@ -1382,8 +1539,8 @@ pitch control and support for timescale-modified input</desc><synopsis>asig <opc
 <opcode><desc>Performs subtraction between two vectorial control signals at init time.</desc><synopsis><opcodename>vsubv_i</opcodename>  ifn1, ifn2, ielements [, idstoffset] [, isrcoffset]</synopsis></opcode>
 </category>
 <category name="Vectorial:Envelopes">
-<opcode><desc>Vectorial envelope generator</desc><synopsis><opcodename>vexpseg</opcodename>   ifnout, ielements, ifn1, idur1, ifn2 [, idur2, ifn3 [...]]</synopsis></opcode>
-<opcode><desc>Vectorial envelope generator</desc><synopsis><opcodename>vlinseg</opcodename>   ifnout, ielements, ifn1, idur1, ifn2 [, idur2, ifn3 [...]]</synopsis></opcode>
+<opcode><desc>Vectorial envelope generator</desc><synopsis><opcodename>vexpseg</opcodename>  ifnout, ielements, ifn1, idur1, ifn2 [, idur2, ifn3 [...]]</synopsis></opcode>
+<opcode><desc>Vectorial envelope generator</desc><synopsis><opcodename>vlinseg</opcodename>  ifnout, ielements, ifn1, idur1, ifn2 [, idur2, ifn3 [...]]</synopsis></opcode>
 </category>
 <category name="Vectorial:Limiting and Wrapping">
 <opcode><desc>Limiting and Wrapping Vectorial Signals</desc><synopsis><opcodename>vlimit</opcodename>  ifn, kmin, kmax, ielements</synopsis></opcode>
@@ -1391,19 +1548,19 @@ pitch control and support for timescale-modified input</desc><synopsis>asig <opc
 <opcode><desc>Limiting and Wrapping Vectorial Signals</desc><synopsis><opcodename>vwrap</opcodename>  ifn, kmin, kmax, ielements</synopsis></opcode>
 </category>
 <category name="Vectorial:Delay Paths">
-<opcode><desc>k-rate variable time delay.</desc><synopsis>kout <opcodename>vdelayk</opcodename>  iksig, kdel, imaxdel [, iskip, imode]</synopsis></opcode>
+<opcode><desc>k-rate variable time delay.</desc><synopsis>kout <opcodename>vdelayk</opcodename>  ksig, kdel, imaxdel [, iskip, imode]</synopsis></opcode>
 <opcode><desc>Vectorial Control-rate Delay Paths</desc><synopsis><opcodename>vecdelay</opcodename>  ifn, ifnIn, ifnDel, ielements, imaxdel [, iskip]
 </synopsis></opcode>
-<opcode><desc>Vectorial Control-rate Delay Paths</desc><synopsis><opcodename>vport</opcodename> ifn, khtime, ielements [, ifnInit]
-</synopsis></opcode>
+<opcode><desc>Vectorial Control-rate Delay Paths</desc><synopsis><opcodename>vport</opcodename> ifn, khtime, ielements [, ifnInit]</synopsis></opcode>
 </category>
 <category name="Vectorial:Random">
-<opcode><desc>Generates a vector of random numbers stored into a table, holding the values for a period of time.</desc><synopsis><opcodename>vrandh</opcodename>  ifn,  krange, kcps, ielements [, idstoffset] [, iseed]
+<opcode><desc>Generates a vector of random numbers stored into a table, holding the values for a period of time.</desc><synopsis><opcodename>vrandh</opcodename>  ifn,  krange, kcps, ielements [, idstoffset] [, iseed] \
       [, isize] [, ioffset]</synopsis></opcode>
-<opcode><desc>Generate a sort of 'vectorial band-limited noise'</desc><synopsis><opcodename>vrandi</opcodename>  ifn,  krange, kcps, ielements [, idstoffset] [, iseed]
+<opcode><desc>Generate a sort of 'vectorial band-limited noise'</desc><synopsis><opcodename>vrandi</opcodename>  ifn,  krange, kcps, ielements [, idstoffset] [, iseed] \
       [, isize] [, ioffset]</synopsis></opcode>
 </category>
 <category name="Vectorial:Cellular Automata">
+<opcode><desc>Cellular Automaton</desc><synopsis><opcodename>cell</opcodename> ktrig, kreinit, ioutFunc, initStateFunc, iRuleFunc, ielements</synopsis></opcode>
 <opcode><desc>Cellular Automata</desc><synopsis><opcodename>vcella</opcodename> ktrig, kreinit, ioutFunc, initStateFunc, \
       iRuleFunc, ielements, irulelen [, iradius]</synopsis></opcode>
 </category>
@@ -1426,7 +1583,7 @@ pitch control and support for timescale-modified input</desc><synopsis>asig <opc
 </category>
 <category name="Plugin Hosting:DSSI and LADSPA">
 <opcode><desc>Activates or deactivates a DSSI or LADSPA plugin.</desc><synopsis><opcodename>dssiactivate</opcodename> ihandle, ktoggle </synopsis></opcode>
-<opcode><desc>Processes audio using a LADSPA or DSSI plugin.</desc><synopsis>aout1 [, aout2, aout3, aout4] <opcodename>dssiaudio</opcodename> ihandle, ain1 [,ain2, ain3, ain4] </synopsis></opcode>
+<opcode><desc>Processes audio using a LADSPA or DSSI plugin.</desc><synopsis>[aout1, aout2, ..., aout9] <opcodename>dssiaudio</opcodename> ihandle, [ain1, ain2, ..., ain9]</synopsis></opcode>
 <opcode><desc>Send control information to a LADSPA or DSSI plugin.</desc><synopsis><opcodename>dssictls</opcodename> ihandle, iport, kvalue, ktrigger </synopsis></opcode>
 <opcode><desc>Loads a DSSI or LADSPA plugin.</desc><synopsis>ihandle <opcodename>dssiinit</opcodename> ilibraryname, iplugindex [, iverbose] </synopsis></opcode>
 <opcode><desc>Lists all available DSSI and LADSPA plugins.</desc><synopsis><opcodename>dssilist</opcodename></synopsis></opcode>
@@ -1434,7 +1591,7 @@ pitch control and support for timescale-modified input</desc><synopsis>asig <opc
 <category name="Plugin Hosting:VST">
 <opcode><desc>VST audio output.</desc><synopsis>aout1,aout2 <opcodename>vstaudio</opcodename> instance, [ain1, ain2]</synopsis><synopsis>aout1,aout2 <opcodename>vstaudiog</opcodename> instance, [ain1, ain2]</synopsis></opcode>
 <opcode><desc>Loads parameter banks to a VST plugin.</desc><synopsis><opcodename>vstbankload</opcodename> instance, ipath</synopsis></opcode>
-<opcode><desc>Opens the GUI editor widow for a VST plugin.</desc><synopsis><opcodename>vstedit</opcodename> instance</synopsis></opcode>
+<opcode><desc>Opens the GUI editor window for a VST plugin.</desc><synopsis><opcodename>vstedit</opcodename> instance</synopsis></opcode>
 <opcode><desc>Displays the parameters and the programs of a VST plugin.</desc><synopsis><opcodename>vstinfo</opcodename> instance</synopsis></opcode>
 <opcode><desc>Load a VST plugin into memory for use with the other vst4cs opcodes.</desc><synopsis>instance <opcodename>vstinit</opcodename> ilibrarypath [,iverbose]</synopsis></opcode>
 <opcode><desc>Sends MIDI information to a VST plugin.</desc><synopsis><opcodename>vstmidiout</opcodename> instance, kstatus, kchan, kdata1, kdata2</synopsis></opcode>
@@ -1448,6 +1605,12 @@ pitch control and support for timescale-modified input</desc><synopsis>asig <opc
 <opcode><desc>Listen for OSC messages to a particular path.</desc><synopsis>kans <opcodename>OSClisten</opcodename> ihandle, idest, itype [, xdata1, xdata2, ...]</synopsis></opcode>
 <opcode><desc>Sends data to other processes using the OSC protocol</desc><synopsis><opcodename>OSCsend</opcodename> kwhen, ihost, iport, idestination, itype [, kdata1, kdata2, ...]</synopsis></opcode>
 </category>
+<category name="Faust Opcodes">
+<opcode><desc>Instantiates and runs a compiled Faust program.</desc><synopsis><opcodename>ihandle,a1[,a2,...] faustaudio</opcodename> ifac[,ain1,...] </synopsis></opcode>
+<opcode><desc>Invokes the just-in-time compiler to produce a instantiable DSP process from a Faust program.</desc><synopsis><opcodename>ihandle faustcompile</opcodename> Scode, Sargs </synopsis></opcode>
+<opcode><desc>Adjusts a given control in a Faust DSP instance.</desc><synopsis><opcodename>faustctl</opcodename> idsp,Scontrol,kval </synopsis></opcode>
+<opcode><desc>Compiles, Instantiates and runs a compiled Faust program.</desc><synopsis><opcodename>ihandle,a1[,a2,...] faustgen</opcodename> SCode[,ain1,...] </synopsis></opcode>
+</category>
 <category name="Network">
 <opcode><desc>Defines the port for use with the remote system.</desc><synopsis><opcodename>remoteport</opcodename> iportnum</synopsis></opcode>
 <opcode><desc>Receives data from other processes using the low-level UDP or TCP protocols</desc><synopsis>asig <opcodename>sockrecv</opcodename> iport, ilength</synopsis><synopsis>asigl, asigr <opcodename>sockrecvs</opcodename> iport, ilength</synopsis><synopsis>asig <opcodename>strecv</opcodename> Sipaddr, iport</synopsis></opcode>
@@ -1455,10 +1618,14 @@ pitch control and support for timescale-modified input</desc><synopsis>asig <opc
     ilength</synopsis><synopsis><opcodename>stsend</opcodename> asig, Sipaddr, iport</synopsis></opcode>
 </category>
 <category name="Remote Opcodes">
-<opcode><desc>An opcode which can be used to implement a remote orchestra. This opcode will send note events from a source machine to many destinations.</desc><synopsis><opcodename>insglobal</opcodename>isource, instrnum [,instrnum...] </synopsis></opcode>
-<opcode><desc>An opcode which can be used to implement a remote orchestra. This opcode will send note events from a source machine to one destination.</desc><synopsis><opcodename>insremot</opcodename>idestination, isource, instrnum [,instrnum...] </synopsis></opcode>
-<opcode><desc>An opcode which can be used to implement a remote midi orchestra. This opcode will broadcast the midi events to all the machines involved in the remote concert.</desc><synopsis><opcodename>midglobal</opcodename>isource, instrnum [,instrnum...] </synopsis></opcode>
-<opcode><desc>An opcode which can be used to implement a remote midi orchestra. This opcode will send midi events from a source machine to one destination.</desc><synopsis><opcodename>midremot</opcodename>idestination, isource, instrnum [,instrnum...] </synopsis></opcode>
+<opcode><desc>An opcode which can be used to implement a remote
+      orchestra. This opcode will send note events from a source
+      machine to many destinations.</desc><synopsis><opcodename>insglobal</opcodename> isource, instrnum [,instrnum...] </synopsis></opcode>
+<opcode><desc>An opcode which can be used to implement a remote
+      orchestra. This opcode will send note events from a source
+      machine to one destination.</desc><synopsis><opcodename>insremot</opcodename> idestination, isource, instrnum [,instrnum...] </synopsis></opcode>
+<opcode><desc>An opcode which can be used to implement a remote midi orchestra. This opcode will broadcast the midi events to all the machines involved in the remote concert.</desc><synopsis><opcodename>midglobal</opcodename> isource, instrnum [,instrnum...] </synopsis></opcode>
+<opcode><desc>An opcode which can be used to implement a remote midi orchestra. This opcode will send midi events from a source machine to one destination.</desc><synopsis><opcodename>midremot</opcodename> idestination, isource, instrnum [,instrnum...] </synopsis></opcode>
 </category>
 <category name="Mixer Opcodes">
 <opcode><desc>Resets all channels of a buss to 0.</desc><synopsis><opcodename>MixerClear</opcodename></synopsis></opcode>
@@ -1482,11 +1649,19 @@ pitch control and support for timescale-modified input</desc><synopsis>asig <opc
 <category name="Image Processing Opcodes">
 <opcode><desc>Create an empty image of a given size.</desc><synopsis>iimagenum <opcodename>imagecreate</opcodename> iwidth, iheight</synopsis></opcode>
 <opcode><desc>Frees memory allocated for a previously loaded or created image.</desc><synopsis><opcodename>imagefree</opcodename> iimagenum</synopsis></opcode>
-<opcode><desc>Return the RGB pixel values of a previously opened or created image.</desc><synopsis>ared agreen ablue <opcodename>imagegetpixel</opcodename> iimagenum, ax, ay</synopsis><synopsis>kred kgreen kblue <opcodename>imagegetpixel</opcodename> iimagenum, kx, ky</synopsis></opcode>
+<opcode><desc>Return the RGB pixel values of a previously opened or created image.</desc><synopsis>ared, agreen, ablue <opcodename>imagegetpixel</opcodename> iimagenum, ax, ay</synopsis><synopsis>kred, kgreen, kblue <opcodename>imagegetpixel</opcodename> iimagenum, kx, ky</synopsis></opcode>
 <opcode><desc>Load an image.</desc><synopsis>iimagenum <opcodename>imageload</opcodename> filename</synopsis></opcode>
 <opcode><desc>Save a previously created image.</desc><synopsis><opcodename>imagesave</opcodename> iimagenum, filename</synopsis></opcode>
-<opcode><desc>Set the RGB value of a pixel inside a previously opened or created image.</desc><synopsis><opcodename>imagegetpixel</opcodename> iimagenum, ax, ay, ared, agreen, ablue</synopsis><synopsis><opcodename>imagegetpixel</opcodename> iimagenum, kx, ky, kred, kgreen, kblue</synopsis></opcode>
-<opcode><desc>Return the width and height of a previously opened or created image.</desc><synopsis>iwidth iheight <opcodename>imagesize</opcodename> iimagenum</synopsis></opcode>
+<opcode><desc>Set the RGB value of a pixel inside a previously opened or created image.</desc><synopsis><opcodename>imagesetpixel</opcodename> iimagenum, ax, ay, ared, agreen, ablue</synopsis><synopsis><opcodename>imagesetpixel</opcodename> iimagenum, kx, ky, kred, kgreen, kblue</synopsis></opcode>
+<opcode><desc>Return the width and height of a previously opened or created image.</desc><synopsis>iwidth, iheight <opcodename>imagesize</opcodename> iimagenum</synopsis></opcode>
+</category>
+<category name="Array Opcodes">
+<opcode><desc>Copy data from a vector to an f-table.</desc><synopsis><opcodename>copya2ftab</opcodename> tab, kftbl</synopsis></opcode>
+<opcode><desc>Copy data from an f-table to a vector.</desc><synopsis><opcodename>copyf2array</opcodename> tab, kftbl</synopsis></opcode>
+<opcode><desc>returns the maximum value in an array.</desc><synopsis>kmax <opcodename>maxarray</opcodename> karray</synopsis></opcode>
+<opcode><desc>returns the minimum value in an array.</desc><synopsis>kmin <opcodename>minarray</opcodename> karray</synopsis></opcode>
+<opcode><desc>Scales the values in a range of a vector (one dimensional array).</desc><synopsis><opcodename>scalearray</opcodename> tarray, kmin, kmax[, kleft, kright]</synopsis></opcode>
+<opcode><desc>returns the sum of the elements in an array.</desc><synopsis>ksum <opcodename>sumarray</opcodename> karray</synopsis></opcode>
 </category>
 <category name="Miscellaneous">
 <opcode><desc></desc></opcode>
@@ -1505,6 +1680,8 @@ pitch control and support for timescale-modified input</desc><synopsis>asig <opc
 <opcode><desc></desc></opcode>
 <opcode><desc></desc></opcode>
 <opcode><desc></desc></opcode>
+<opcode><desc>returns the length of a Farey Sequence.</desc><synopsis>kfl <opcodename>fareylen</opcodename> kfn</synopsis></opcode>
+<opcode><desc>returns the length of a Farey Sequence.</desc><synopsis>ifl <opcodename>fareyleni</opcodename> ifn</synopsis></opcode>
 <opcode><desc></desc></opcode>
 <opcode><desc></desc></opcode>
 <opcode><desc></desc></opcode>
@@ -1582,9 +1759,12 @@ pitch control and support for timescale-modified input</desc><synopsis>asig <opc
 inum_parm, kupdate</synopsis></opcode>
 <opcode><desc></desc></opcode>
 <opcode><desc></desc></opcode>
+<opcode><desc>Asks the underlying operating system for the current directory
+      name as a string.</desc><synopsis>Sres <opcodename>pwd</opcodename></synopsis></opcode>
 <opcode><desc></desc></opcode>
 <opcode><desc>Call an external program via the system call</desc><synopsis>ires <opcodename>system_i</opcodename> itrig, Scmd, [inowait]</synopsis><synopsis>kres <opcodename>system</opcodename> ktrig, Scmd, [knowait]</synopsis></opcode>
-<opcode><desc></desc></opcode>
+<opcode><desc>shuffles the content of a function table so that each element of the source
+      table is put into a different random position.</desc><synopsis><opcodename>tableshuffle</opcodename> ktablenum</synopsis><synopsis><opcodename>tableshufflei</opcodename> itablenum</synopsis></opcode>
 <opcode><desc></desc></opcode>
 <opcode><desc></desc></opcode>
 <opcode><desc></desc></opcode>
@@ -1619,12 +1799,13 @@ inum_parm, kupdate</synopsis></opcode>
 <opcode><desc>Performs both linear predictive and pitch-tracking analysis on a soundfile.</desc><synopsis><opcodename>csound -U lpanal</opcodename> [flags] infilename outfilename</synopsis><synopsis><opcodename>lpanal</opcodename> [flags] infilename outfilename</synopsis></opcode>
 <opcode><desc>Creates a CSD file from the specified input files.</desc><synopsis><opcodename>makecsd</opcodename> [OPTIONS ... ] infile1 [ infile2 [ ... ]]</synopsis></opcode>
 <opcode><desc>Mixes together a number of soundfiles.</desc><synopsis><opcodename>mixer</opcodename> [OPTIONS ... ] infile [[OPTIONS... ] infile] ...</synopsis></opcode>
+<opcode><desc>Outputs a catalog of opcodes and plugin modules.</desc><synopsis><opcodename>mkdb</opcodename> [-m] [base_directory]</synopsis></opcode>
 <opcode><desc>Converts a .pvx file to a comma separated text file.</desc><synopsis><opcodename>pv_export</opcodename> pv_file cstext_file</synopsis><synopsis>csound -U <opcodename>pv_export</opcodename> pv_file cstext_file</synopsis></opcode>
 <opcode><desc>Converts a comma-separated text file to a .pvx file.</desc><synopsis><opcodename>pv_import</opcodename> cstext_file pv_file</synopsis><synopsis>csound -U <opcodename>pv_import</opcodename> cstext_file pv_file</synopsis></opcode>
 <opcode><desc>Converts a soundfile into a series of short-time Fourier transform frames.</desc><synopsis><opcodename>csound -U pvanal</opcodename> [flags] infilename outfilename</synopsis><synopsis><opcodename>pvanal</opcodename> [flags] infilename outfilename</synopsis></opcode>
 <opcode><desc>View formatted text output of STFT analysis files.</desc><synopsis><opcodename>csound</opcodename> -U <opcodename>pvlook</opcodename> [flags] infilename</synopsis><synopsis><opcodename>pvlook</opcodename> [flags] infilename</synopsis></opcode>
 <opcode><desc>Scale the amplitude of a sound file.</desc><synopsis><opcodename>scale</opcodename> [OPTIONS ... ] infile</synopsis></opcode>
-<opcode><desc>Converts SDIF files to files usable by adsynt.</desc><synopsis><opcodename>sdif2ad</opcodename> [flags] infilename outfilename</synopsis></opcode>
+<opcode><desc>Converts SDIF files to files usable by adsyn.</desc><synopsis><opcodename>sdif2ad</opcodename> [flags] infilename outfilename</synopsis></opcode>
 <opcode><desc>Displays information about a soundfile.</desc><synopsis><opcodename>csound -U sndinfo</opcodename> [options] soundfilenames ...</synopsis><synopsis><opcodename>sndinfo</opcodename> [options] soundfilenames ...</synopsis></opcode>
 <opcode><desc>Converts the sample rate of an audio file.</desc><synopsis><opcodename>srconv</opcodename> [flags] infile</synopsis></opcode>
 </category>
diff --git a/opcodes/ATSadd.xml b/opcodes/ATSadd.xml
index 3170141..69d9185 100644
--- a/opcodes/ATSadd.xml
+++ b/opcodes/ATSadd.xml
@@ -61,7 +61,7 @@
  <refsect1>
     <title>Examples</title>
     <para>
-      Here is an another example of the ATSadd opcode. It uses the file <ulink url="examples/ATSadd.csd"><citetitle>ATSadd.csd</citetitle></ulink>.
+      Here is a complete example of the ATSadd opcode. It uses the file <ulink url="examples/ATSadd.csd"><citetitle>ATSadd.csd</citetitle></ulink>.
 
       <example>
         <title>Example of the ATSadd opcode.</title>
@@ -73,6 +73,15 @@
     </para>
         <para>In the above example we synthesize 20 partials as in example 1 except this time we're using a <emphasis>ipartialoffset</emphasis> of 0 and <emphasis>ipartialincr</emphasis> of 2, which means that we'll start from the first partial and synthesize 20 partials total, skipping every other one (ie. partial 1, 3, 5,..).
         </para>
+
+    <para>
+      Here is another example of the ATSadd opcode. It uses the file <ulink url="examples/ATSadd-2.csd"><citetitle>ATSadd-2.csd</citetitle></ulink>.
+      <example>
+        <title>Example 2 of the ATSadd opcode.</title>
+          <xi:include href="examples-xml/ATSadd-2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+
     </refsect1>
     
     <refsect1>
diff --git a/opcodes/ATSaddnz.xml b/opcodes/ATSaddnz.xml
index 2037bad..ce37ae8 100644
--- a/opcodes/ATSaddnz.xml
+++ b/opcodes/ATSaddnz.xml
@@ -53,7 +53,7 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an another example of the ATSaddnz opcode. It uses the file <ulink url="examples/ATSaddnz.csd"><citetitle>ATSaddnz.csd</citetitle></ulink>.
+      Here is a complete example of the ATSaddnz opcode. It uses the file <ulink url="examples/ATSaddnz.csd"><citetitle>ATSaddnz.csd</citetitle></ulink>.
 
       <example>
         <title>Example of the ATSaddnz opcode.</title>
@@ -65,7 +65,20 @@
     </para>
         <para>Here we synthesize only the 25th noise band (<emphasis>ibandoffset</emphasis> of 24 and <emphasis>ibands</emphasis> of 1).
         </para>
+        
+    <para>
+      Here is another example of the ATSaddnz opcode. It uses the file <ulink url="examples/ATSaddnz-2.csd"><citetitle>ATSaddnz-2.csd</citetitle></ulink>.
+      <example>
+        <title>Example 2 of the ATSaddnz opcode.</title>
+          <xi:include href="examples-xml/ATSaddnz-2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+        
+        
     </refsect1>
+
+
+
     <refsect1>
         <title>See also</title>
         <para><link linkend="ATSread"><citetitle>ATSread</citetitle></link>, 
diff --git a/opcodes/ATSinfo.xml b/opcodes/ATSinfo.xml
index 822db62..8707eff 100644
--- a/opcodes/ATSinfo.xml
+++ b/opcodes/ATSinfo.xml
@@ -88,6 +88,15 @@
             <para>In the example above we use <emphasis>ATSinfo</emphasis> to retrieve the duration and number of partials in the ATS file indicated by p4. With this info we synthesize the partials using atsadd. Since the duration and number of partials are not "hard-coded" we can use this code with any ATS file.</para>
             </listitem>
         </orderedlist>
+        
+    <para>
+      Here is another example of the ATSinfo opcode. It uses the file <ulink url="examples/ATSinfo-2.csd"><citetitle>ATSinfo-2.csd</citetitle></ulink>.
+      <example>
+        <title>Example 2 of the ATSinfo opcode.</title>
+          <xi:include href="examples-xml/ATSinfo-2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+
     </refsect1>
     
     <refsect1>
diff --git a/opcodes/ATSread.xml b/opcodes/ATSread.xml
index 324d4e6..e57768b 100644
--- a/opcodes/ATSread.xml
+++ b/opcodes/ATSread.xml
@@ -52,6 +52,16 @@
     </para>
       <para>Here we're using <emphasis>ATSread</emphasis> to get the 100th partial's frequency and amplitude data out of the 'beats.ats' ATS analysis file. We're using that data to drive an oscillator, but we could use it for anything else that can take a k-rate input, like the bandwidth and resonance of a filter etc.
       </para>
+
+    <para>
+      Here is another example of the ATSread opcode. It uses the file <ulink url="examples/ATSread-2.csd"><citetitle>ATSread-2.csd</citetitle></ulink>.
+      <example>
+        <title>Example 2 of the ATSread opcode.</title>
+          <xi:include href="examples-xml/ATSread-2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+
+
     </refsect1>
     <refsect1>
         <title>See also</title>
diff --git a/opcodes/ATSsinnoi.xml b/opcodes/ATSsinnoi.xml
index 25b2f21..0055caa 100644
--- a/opcodes/ATSsinnoi.xml
+++ b/opcodes/ATSsinnoi.xml
@@ -66,6 +66,16 @@
       </example>
         <para>This example here is like the other example except that we use an envelope to control <emphasis>knzlev</emphasis> (the noise level). The result of this will be the "beats.wav" sound that has its noise component fade in over the duration of the note.
         </para>
+
+    <para>
+      Here is another example of the ATSsinnoi opcode. It uses the file <ulink url="examples/ATSsinnoi-2.csd"><citetitle>ATSsinnoi-2.csd</citetitle></ulink>.
+      <example>
+        <title>Example 2 of the ATSsinnoi opcode.</title>
+          <xi:include href="examples-xml/ATSsinnoi-2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+
+
     </refsect1>
     <refsect1>
         <title>See also</title>
@@ -89,4 +99,4 @@
             </simplelist>
         </para>
     </refsect1>
-</refentry>
\ No newline at end of file
+</refentry>
diff --git a/opcodes/JackoInfo.xml b/opcodes/JackoInfo.xml
index 8b375d2..5d45d3c 100644
--- a/opcodes/JackoInfo.xml
+++ b/opcodes/JackoInfo.xml
@@ -37,6 +37,18 @@
   </refsect1>
   
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the JackoInfo opcode. It uses the file <ulink url="examples/JackoInfo.csd"><citetitle>JackInfo.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the JackoInfo opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/JackoInfo.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="JackoInit"><citetitle>JackoInit</citetitle></link>, 
diff --git a/opcodes/JackoInit.xml b/opcodes/JackoInit.xml
index d3ae057..2bdb10d 100644
--- a/opcodes/JackoInit.xml
+++ b/opcodes/JackoInit.xml
@@ -78,7 +78,19 @@
       If more than one instance of Csound is using the Jack
       opcodes at the same time, then each instance of Csound 
       must use a different client name.
-    </para>    
+    </para>        
+  </refsect1>
+  
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the JackoInit opcode. It uses the file <ulink url="examples/JackoInit.csd"><citetitle>JackoInit.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the JackoInit opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/JackoInit.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
   </refsect1>
   
   <refsect1>
diff --git a/opcodes/JackoMidiOut.xml b/opcodes/JackoMidiOut.xml
index bdeea62..0069f9d 100644
--- a/opcodes/JackoMidiOut.xml
+++ b/opcodes/JackoMidiOut.xml
@@ -30,7 +30,7 @@
     <title>Initialization</title>
     <para>
       <emphasis>ScsoundPortName</emphasis> -- The short name ("portname") 
-      of the internal Jack audio output port.
+      of the internal Jack MIDI output port.
     </para>
   </refsect1>
 
diff --git a/opcodes/JackoNoteOut.xml b/opcodes/JackoNoteOut.xml
index bc8a0de..eb2587f 100644
--- a/opcodes/JackoNoteOut.xml
+++ b/opcodes/JackoNoteOut.xml
@@ -30,7 +30,7 @@
     <title>Initialization</title>
     <para>
       <emphasis>ScsoundPortName</emphasis> -- The short name ("portname") 
-      of the internal Jack audio output port.
+      of the internal Jack MIDI output port.
     </para>
   </refsect1>
 
diff --git a/opcodes/OSCinit.xml b/opcodes/OSCinit.xml
index f5cb6de..1eda391 100644
--- a/opcodes/OSCinit.xml
+++ b/opcodes/OSCinit.xml
@@ -78,10 +78,18 @@ gihandle <emphasis role="opc">OSCinit</emphasis> 7770
   <emphasis role="oblock">endin</emphasis>
         </programlisting>
       </informalexample>
-
   </refsect1>
 
   <refsect1>
+    <title>See Also</title>
+      <para>
+        <link linkend="OSClisten"><citetitle>OSClisten</citetitle></link>,
+        <link linkend="OSCsend"><citetitle>OSCsend</citetitle></link>
+      </para>
+               <para> More information on this opcode: <ulink url="http://www.youtube.com/watch?v=JX1C3TqP_9Y"><citetitle>http://www.youtube.com/watch?v=JX1C3TqP_9Y</citetitle></ulink>  , made by Andrés Cabrera </para>
+  </refsect1>
+  
+  <refsect1>
     <title>Credits</title>
     <para>
       <simplelist>
diff --git a/opcodes/OSClisten.xml b/opcodes/OSClisten.xml
index e033cdb..c733e1c 100644
--- a/opcodes/OSClisten.xml
+++ b/opcodes/OSClisten.xml
@@ -120,6 +120,15 @@ ex:
   </refsect1>
 
   <refsect1>
+    <title>See Also</title>
+      <para>
+        <link linkend="OSCsend"><citetitle>OSCsend</citetitle></link>,
+        <link linkend="OSCinit"><citetitle>OSCinit</citetitle></link>
+      </para>
+               <para> More information on this opcode: <ulink url="http://www.youtube.com/watch?v=JX1C3TqP_9Y"><citetitle>http://www.youtube.com/watch?v=JX1C3TqP_9Y</citetitle></ulink>  , made by Andrés Cabrera </para>
+  </refsect1>
+  
+  <refsect1>
     <title>Credits</title>
     <para>
       <simplelist>
diff --git a/opcodes/OSCsend.xml b/opcodes/OSCsend.xml
index 385b3d4..1828f6a 100644
--- a/opcodes/OSCsend.xml
+++ b/opcodes/OSCsend.xml
@@ -95,6 +95,7 @@
         <link linkend="OSClisten"><citetitle>OSClisten</citetitle></link>,
         <link linkend="OSCinit"><citetitle>OSCinit</citetitle></link>
       </para>
+               <para> More information on this opcode: <ulink url="http://www.youtube.com/watch?v=JX1C3TqP_9Y"><citetitle>http://www.youtube.com/watch?v=JX1C3TqP_9Y</citetitle></ulink>  , made by Andrés Cabrera </para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/STKBandedWG.xml b/opcodes/STKBandedWG.xml
old mode 100755
new mode 100644
index 7f41e8a..2451026
--- a/opcodes/STKBandedWG.xml
+++ b/opcodes/STKBandedWG.xml
@@ -1,4 +1,4 @@
-<refentry id="STKBandedWG">
+<refentry id="STKBandedWG">
   <indexterm id="IndexStkbandedwg"><primary>STKBandedWG</primary></indexterm>
   <refentryinfo><title>Signal Generators:STK Opcodes</title></refentryinfo>
   <refmeta>
@@ -20,7 +20,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asignal <command>STKBandedWG</command> ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4[, kc5, kv5[, kc6, kv6[, kc7, kv7]]]]]]]</synopsis>
+    <synopsis>asignal <command>STKBandedWG</command> ifrequency, iamplitude, [kpress, kv1[, kmot, kv2[, klfo, kv3[, klfodepth, kv4[, kvel, kv5[, kstrk, kv6[, kinstr, kv7]]]]]]]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -36,36 +36,34 @@
  
   <refsect1>
     <title>Performance</title>
-    <para>
-      <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
-      Each controller pair consists of a controller number (kc) followed by a controller value (kv). 
-      The 7 controller numbers and values that work for STKBandedWG are:
-      <itemizedlist>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 2,   pressure of bow.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 4,   motion of bow.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 11,  speed of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 1,   depth of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 128, velocity. of bow</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 64,  striking of bow.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 16,  instrument presets (0 = uniform bar, 1 = tuned bar, 2 = glass harmonica, 3 = Tibetan bowl)</para></listitem>
-      </itemizedlist>
-    </para>
+<para><emphasis>kpress</emphasis> -- controller 2, pressure of bow.  Value range of kv1 is 0-127.</para>
+<para><emphasis>kmot</emphasis> -- controller 4, motion of bow.  Value range of kv2 is 0-127.</para>
+<para><emphasis>klfo</emphasis> -- controller 11, speed of low-frequency oscillator.  Value range of kv3 is 0-127.</para>
+<para><emphasis>klfodepth</emphasis> -- controller 1, depth of low-frequency oscillator.  Value range of kv4 is 0-127.</para>
+<para><emphasis>kvel</emphasis> -- controller 128, velocity of bow.  Value range of kv5 is 0-127.</para>
+<para><emphasis>kstrk</emphasis> -- controller 64, striking of bow.  Value range of kv6 is 0-127.</para>
+<para><emphasis>kinstr</emphasis> -- controller 16, instrument presets (0 = uniform bar, 1 = tuned bar, 2 = glass harmonica, 3 = Tibetan bowl).  Value range of kv7 is 0-3.</para>
   </refsect1>
    
   <refsect1>
     <note>
-      <title>Note</title>
+      <title>Notes</title>
       <para>
         The code for this opcode is taken directly from the BandedWG class in the Synthesis Toolkit in C++ by Perry R. Cook and Gary P. Scavone. More on the STK classes can be found here:  
 <ulink url="https://ccrma.stanford.edu/software/stk/classes.html"><citetitle>https://ccrma.stanford.edu/software/stk/classes.html</citetitle></ulink>
 </para>
+      <para>
+        <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
+      Each controller pair consists of a controller number (kc) followed by a controller value (kv). Both the controller numbers and the controller values are krate variables. However, during a performance, normally the controller numbers stay fixed while the corresponding controller values may change at any time.
+The order of the controller pair is arbitrary, as long as they are after <emphasis>iamplitude</emphasis>. Also, it is not needed that all controller pairs are used.
+</para>
     </note>
   </refsect1>
  
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the STKBandedWG opcode. It uses the file <ulink url="examples/STKBandedWG.csd"><citetitle>STKBandedWG.csd</citetitle></ulink>,
+      Here is an example of the STKBandedWG opcode. It uses the file <ulink url="examples/STKBandedWG.csd"><citetitle>STKBandedWG.csd</citetitle></ulink>.
      
       <example>
         <title>Example of the STKBandedWG opcode.</title>
@@ -87,4 +85,3 @@
   </refsect1>
 </refentry>
 
-
diff --git a/opcodes/STKBeeThree.xml b/opcodes/STKBeeThree.xml
old mode 100755
new mode 100644
index 925c2f2..a170491
--- a/opcodes/STKBeeThree.xml
+++ b/opcodes/STKBeeThree.xml
@@ -9,14 +9,15 @@
     <refname>STKBeeThree</refname>
     <refpurpose>
       STK Hammond-oid organ-like FM synthesis instrument.
-      </refpurpose>
+    </refpurpose>
   </refnamediv>
  
   <refsect1>
     <title>Description</title>
     <para>
-      STK Hammond-oid organ-like FM synthesis instrument.</para>
-          <para>
+      STK Hammond-oid organ-like FM synthesis instrument.
+    </para>
+    <para>
       This opcode a simple 4 operator topology, also referred to as algorithm 8 of the TX81Z.
       It simulates the sound of a Hammond-oid organ, and some related sounds.
     </para>
@@ -24,7 +25,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asignal <command>STKBeeThree</command> ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4[, kc5, kv5]]]]]</synopsis>
+    <synopsis>asignal <command>STKBeeThree</command> ifrequency, iamplitude, [kop4, kv1[, kop3, kv2[, klfo, kv3[, klfodepth, kv4[, kadsr, kv5]]]]]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -38,36 +39,35 @@
     </para>
   </refsect1>
  
-  <refsect1>
+   <refsect1>
     <title>Performance</title>
-   
-    <para>
-      <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
-      Each controller pair consists of a controller number (kc) followed by a controller value (kv). The 5 controller numbers and values that work for STKBeeThree are:
-      <itemizedlist>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 2,   gain of feedback of operator 4.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 4,   gain of operator 3 </para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 11,  speed of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 1,   depth of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 128, ADSR 2 and 4 target.</para></listitem>
-      </itemizedlist>
-    </para>
+<para><emphasis>kop4</emphasis> -- controller 2, gain of feedback of operator 4. Value range of kv1 is 0-127.</para>
+<para><emphasis>kop3</emphasis> -- controller 4, gain of operator 3. Value range of kv2 is 0-127.</para>
+<para><emphasis>klfo</emphasis> -- controller 11, speed of low-frequency oscillator. Value range of kv3 is 0-127.</para>
+<para><emphasis>klfodepth</emphasis> -- controller 1, depth of low-frequency oscillator. Value range of kv4 is 0-127.</para>
+<para><emphasis>kadsr</emphasis> -- controller 128, ADSR 2 and 4 target. Value range of kv5 is 0-127.</para>
   </refsect1>
  
-    <refsect1>
+  <refsect1>
     <note>
-      <title>Note</title>
+      <title>Notes</title>
       <para>
         The code for this opcode is taken directly from the BeeThree class in the Synthesis Toolkit in C++ by Perry R. Cook and Gary P. Scavone. More on the STK classes can be found here:  
 <ulink url="https://ccrma.stanford.edu/software/stk/classes.html"><citetitle>https://ccrma.stanford.edu/software/stk/classes.html</citetitle></ulink>
 </para>
+      <para>
+        <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
+      Each controller pair consists of a controller number (kc) followed by a controller value (kv). Both the controller numbers and the controller values are krate variables. However, during a performance, normally the controller numbers stay fixed while the corresponding controller values may change at any time.
+The order of the controller pair is arbitrary, as long as they are after <emphasis>iamplitude</emphasis>. Also, it is not needed that all controller pairs are used.
+</para>
     </note>
   </refsect1>
+
   
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the STKBeeThree opcode. It uses the file <ulink url="examples/STKBeeThree.csd"><citetitle>STKBeeThree.csd</citetitle></ulink>, and <ulink url="examples/fwavblnk.aiff"><citetitle>fwavblnk.aiff</citetitle></ulink>.
+      Here is an example of the STKBeeThree opcode. It uses the file <ulink url="examples/STKBeeThree.csd"><citetitle>STKBeeThree.csd</citetitle></ulink>.
      
       <example>
         <title>Example of the STKBeeThree opcode.</title>
@@ -89,4 +89,3 @@
   </refsect1>
 </refentry>
 
-
diff --git a/opcodes/STKBlowBotl.xml b/opcodes/STKBlowBotl.xml
old mode 100755
new mode 100644
index 748da22..688c323
--- a/opcodes/STKBlowBotl.xml
+++ b/opcodes/STKBlowBotl.xml
@@ -21,7 +21,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asignal <command>STKBlowBotl</command> ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4]]]]</synopsis>
+    <synopsis>asignal <command>STKBlowBotl</command> ifrequency, iamplitude, [knoise, kv1[, klfo, kv2[, klfodepth, kv3[, kvol, kv4]]]]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -35,28 +35,26 @@
     </para>
   </refsect1>
  
-  <refsect1>
+    <refsect1>
     <title>Performance</title>
-   
-    <para>
-      <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
-      Each controller pair consists of a controller number (kc) followed by a controller value (kv). The 4 controller numbers and values that work for STKBlowBotl are:
-      <itemizedlist>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 4,   gain of noise.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 11,  speed of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 1,   depth of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 128, volume</para></listitem>
-      </itemizedlist>
-    </para>
+<para><emphasis>knoise</emphasis> -- controller 4, gain of noise. Value range of kv1 is 0-127.</para>
+<para><emphasis>klfo</emphasis> -- controller 11, speed of low-frequency oscillator. Value range of kv2 is 0-127.</para>
+<para><emphasis>klfodepth</emphasis> -- controller 1, depth of low-frequency oscillator. Value range of kv3 is 0-127.</para>
+<para><emphasis>kvol</emphasis> -- controller 128, volume. Value range of kv4 is 0-127.</para>
   </refsect1>
 
   <refsect1>
     <note>
-      <title>Note</title>
+      <title>Notes</title>
       <para>
         The code for this opcode is taken directly from the BlowBotl class in the Synthesis Toolkit in C++ by Perry R. Cook and Gary P. Scavone. More on the STK classes can be found here:  
 <ulink url="https://ccrma.stanford.edu/software/stk/classes.html"><citetitle>https://ccrma.stanford.edu/software/stk/classes.html</citetitle></ulink>
 </para>
+      <para>
+        <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
+      Each controller pair consists of a controller number (kc) followed by a controller value (kv). Both the controller numbers and the controller values are krate variables. However, during a performance, normally the controller numbers stay fixed while the corresponding controller values may change at any time.
+The order of the controller pair is arbitrary, as long as they are after <emphasis>iamplitude</emphasis>. Also, it is not needed that all controller pairs are used.
+</para>
     </note>
   </refsect1>
   
@@ -85,5 +83,3 @@
   </refsect1>
 </refentry>
 
-
-
diff --git a/opcodes/STKBlowHole.xml b/opcodes/STKBlowHole.xml
old mode 100755
new mode 100644
index 93656a5..def70a0
--- a/opcodes/STKBlowHole.xml
+++ b/opcodes/STKBlowHole.xml
@@ -23,7 +23,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asignal <command>STKBlowHole</command> ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4[, kc5, kv5]]]]]</synopsis>
+    <synopsis>asignal <command>STKBlowHole</command> ifrequency, iamplitude, [kreed, kv1[, knoise, kv2[, khole, kv3[, kreg, kv4[, kbreath, kv5]]]]]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -37,29 +37,27 @@
     </para>
   </refsect1>
  
-  <refsect1>
+    <refsect1>
     <title>Performance</title>
-   
-    <para>
-      <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
-      Each controller pair consists of a controller number (kc) followed by a controller value (kv). The 5 controller numbers and values that work for STKBlowHole are:
-      <itemizedlist>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 2,   stiffness of reed </para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 4,   gain of noise.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 11,  state of tonehole.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 1,   state of register.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 128, breath pressure </para></listitem>
-      </itemizedlist>
-    </para>
+<para><emphasis>kreed</emphasis> -- controller 2, stiffness of reed. Value range of kv1 is 0-127.</para>
+<para><emphasis>knoise</emphasis> -- controller 4, gain of noise. Value range of kv2 is 0-127.</para>
+<para><emphasis>khole</emphasis> -- controller 11, state of tonehole. Value range of kv3 is 0-127.</para>
+<para><emphasis>kreg</emphasis> -- controller 1, state of register. Value range of kv4 is 0-127.</para>
+<para><emphasis>kbreath</emphasis> -- controller 128, breath pressure. Value range of kv5 is 0-127.</para>
   </refsect1>
  
-    <refsect1>
+  <refsect1>
     <note>
-      <title>Note</title>
+      <title>Notes</title>
       <para>
         The code for this opcode is taken directly from the BlowHole class in the Synthesis Toolkit in C++ by Perry R. Cook and Gary P. Scavone. More on the STK classes can be found here:  
 <ulink url="https://ccrma.stanford.edu/software/stk/classes.html"><citetitle>https://ccrma.stanford.edu/software/stk/classes.html</citetitle></ulink>
 </para>
+      <para>
+        <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
+      Each controller pair consists of a controller number (kc) followed by a controller value (kv). Both the controller numbers and the controller values are krate variables. However, during a performance, normally the controller numbers stay fixed while the corresponding controller values may change at any time.
+The order of the controller pair is arbitrary, as long as they are after <emphasis>iamplitude</emphasis>. Also, it is not needed that all controller pairs are used.
+</para>
     </note>
   </refsect1>
   
@@ -88,6 +86,3 @@
   </refsect1>
 </refentry>
 
-
-
-
diff --git a/opcodes/STKBowed.xml b/opcodes/STKBowed.xml
old mode 100755
new mode 100644
index 076ee59..85b4b39
--- a/opcodes/STKBowed.xml
+++ b/opcodes/STKBowed.xml
@@ -21,7 +21,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asignal <command>STKBowed</command> ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4[, kc5, kv5]]]]]</synopsis>
+    <synopsis>asignal <command>STKBowed</command> ifrequency, iamplitude, [kpress, kv1[, kpos, kv2[, klfo, kv3[, klfodepth, kv4[, kvol, kv5]]]]]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -37,18 +37,11 @@
  
   <refsect1>
     <title>Performance</title>
-   
-    <para>
-      <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
-      Each controller pair consists of a controller number (kc) followed by a controller value (kv). The 5 controller numbers and values that work for STKBowed are:
-      <itemizedlist>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 2,   bow pressure.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 4,   position on bow </para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 11,  speed of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 1,   depth of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 128, volume.</para></listitem>
-      </itemizedlist>
-    </para>
+<para><emphasis>kpress</emphasis> -- controller 2, bow pressure. Value range of kv1 is 0-127.</para>
+<para><emphasis>kpos</emphasis> -- controller 4, position on bow. Value range of kv2 is 0-127.</para>
+<para><emphasis>klfo</emphasis> -- controller 11, speed of low-frequency oscillator. Value range of kv3 is 0-127.</para>
+<para><emphasis>klfodepth</emphasis> -- controller 1, depth of low-frequency oscillator. Value range of kv4 is 0-127.</para>
+<para><emphasis>kvol</emphasis> -- controller 128, volume. Value range of kv5 is 0-127.</para>
   </refsect1>
  
     <refsect1>
@@ -58,6 +51,11 @@
          The code for this opcode is taken directly from the Bowed class in the Synthesis Toolkit in C++ by Perry R. Cook and Gary P. Scavone. More on the STK classes can be found here:  
 <ulink url="https://ccrma.stanford.edu/software/stk/classes.html"><citetitle>https://ccrma.stanford.edu/software/stk/classes.html</citetitle></ulink>
 </para>
+      <para>
+        <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
+      Each controller pair consists of a controller number (kc) followed by a controller value (kv). Both the controller numbers and the controller values are krate variables. However, during a performance, normally the controller numbers stay fixed while the corresponding controller values may change at any time.
+The order of the controller pair is arbitrary, as long as they are after <emphasis>iamplitude</emphasis>. Also, it is not needed that all controller pairs are used.
+</para>
     </note>
   </refsect1>
   
@@ -86,5 +84,3 @@
   </refsect1>
 </refentry>
 
-
-
diff --git a/opcodes/STKBrass.xml b/opcodes/STKBrass.xml
old mode 100755
new mode 100644
index 7549985..7c7e2e8
--- a/opcodes/STKBrass.xml
+++ b/opcodes/STKBrass.xml
@@ -21,7 +21,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asignal <command>STKBrass</command> ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4[, kc5, kv5]]]]]</synopsis>
+    <synopsis>asignal <command>STKBrass</command> ifrequency, iamplitude, [klip, kv1[, kslide, kv2[, klfo, kv3[, klfodepth, kv4[, kvol, kv5]]]]]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -37,18 +37,11 @@
  
   <refsect1>
     <title>Performance</title>
-   
-    <para>
-      <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
-      Each controller pair consists of a controller number (kc) followed by a controller value (kv). The 5 controller numbers and values that work for STKBrass are:
-      <itemizedlist>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 2,   lip tension.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 4,   slide length </para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 11,  speed of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 1,   depth of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 128, volume.</para></listitem>
-      </itemizedlist>
-    </para>
+<para><emphasis>klip</emphasis> -- controller 2, lip tension. Value range of kv1 is 0-127.</para>
+<para><emphasis>kslide</emphasis> -- controller 4, slide length. Value range of kv2 is 0-127.</para>
+<para><emphasis>klfo</emphasis> -- controller 11, speed of low-frequency oscillator. Value range of kv3 is 0-127.</para>
+<para><emphasis>klfodepth</emphasis> -- controller 1, depth of low-frequency oscillator. Value range of kv4 is 0-127.</para>
+<para><emphasis>kvol</emphasis> -- controller 128, volume. Value range of kv5 is 0-127.</para>
   </refsect1>
  
     <refsect1>
@@ -58,6 +51,11 @@
           The code for this opcode is taken directly from the Brass class in the Synthesis Toolkit in C++ by Perry R. Cook and Gary P. Scavone. More on the STK classes can be found here:  
 <ulink url="https://ccrma.stanford.edu/software/stk/classes.html"><citetitle>https://ccrma.stanford.edu/software/stk/classes.html</citetitle></ulink>
 </para>
+      <para>
+        <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
+      Each controller pair consists of a controller number (kc) followed by a controller value (kv). Both the controller numbers and the controller values are krate variables. However, during a performance, normally the controller numbers stay fixed while the corresponding controller values may change at any time.
+The order of the controller pair is arbitrary, as long as they are after <emphasis>iamplitude</emphasis>. Also, it is not needed that all controller pairs are used.
+</para>
     </note>
   </refsect1>
   
@@ -86,6 +84,3 @@
   </refsect1>
 </refentry>
 
-
-
-
diff --git a/opcodes/STKClarinet.xml b/opcodes/STKClarinet.xml
old mode 100755
new mode 100644
index e623d68..59a18cf
--- a/opcodes/STKClarinet.xml
+++ b/opcodes/STKClarinet.xml
@@ -21,7 +21,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asignal <command>STKClarinet</command> ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4[, kc5, kv5]]]]]</synopsis>
+    <synopsis>asignal <command>STKClarinet</command> ifrequency, iamplitude, [kstiff, kv1[, knoise, kv2[, klfo, kv3[, klfodepth, kv4[, kbreath, kv5]]]]]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -37,18 +37,11 @@
  
   <refsect1>
     <title>Performance</title>
-   
-    <para>
-      <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
-      Each controller pair consists of a controller number (kc) followed by a controller value (kv). The 5 controller numbers and values that work for STKClarinet are:
-      <itemizedlist>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 2,   reed stiffness.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 4,   gain of noise </para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 11,  speed of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 1,   depth of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 128, breath pressure.</para></listitem>
-      </itemizedlist>
-    </para>
+<para><emphasis>kstiff</emphasis> -- controller 2, reed stiffness. Value range of kv1 is 0-127.</para>
+<para><emphasis>knoise</emphasis> -- controller 4, gain of noise. Value range of kv2 is 0-127.</para>
+<para><emphasis>klfo</emphasis> -- controller 11, speed of low-frequency oscillator. Value range of kv3 is 0-127.</para>
+<para><emphasis>klfodepth</emphasis> -- controller 1, depth of low-frequency oscillator. Value range of kv4 is 0-127.</para>
+<para><emphasis>kbreath</emphasis> -- controller 128, breath pressure. Value range of kv5 is 0-127.</para>
   </refsect1>
  
     <refsect1>
@@ -58,6 +51,11 @@
          The code for this opcode is taken directly from the Clarinet class in the Synthesis Toolkit in C++ by Perry R. Cook and Gary P. Scavone. More on the STK classes can be found here:  
 <ulink url="https://ccrma.stanford.edu/software/stk/classes.html"><citetitle>https://ccrma.stanford.edu/software/stk/classes.html</citetitle></ulink>
 </para>
+      <para>
+        <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
+      Each controller pair consists of a controller number (kc) followed by a controller value (kv). Both the controller numbers and the controller values are krate variables. However, during a performance, normally the controller numbers stay fixed while the corresponding controller values may change at any time.
+The order of the controller pair is arbitrary, as long as they are after <emphasis>iamplitude</emphasis>. Also, it is not needed that all controller pairs are used.
+</para>
     </note>
   </refsect1>
   
@@ -76,7 +74,7 @@
   <refsect1>
     <title>See Also</title>
     <para>
-      <link linkend="STKFlute"><citetitle>STKFlute</citetitle></link>,
+      <link linkend="STKFlute"><citetitle>STKFlute</citetitle></link>.
     </para>
   </refsect1>
  
@@ -93,7 +91,3 @@
   </refsect1>
 </refentry>
 
-
-
-
-
diff --git a/opcodes/STKDrummer.xml b/opcodes/STKDrummer.xml
old mode 100755
new mode 100644
index b512e56..48ffdbc
--- a/opcodes/STKDrummer.xml
+++ b/opcodes/STKDrummer.xml
@@ -36,15 +36,6 @@
     </para>
   </refsect1>
  
-  <refsect1>
-    <title>Performance</title>
-   
-    <para>
-      <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
-      Each controller pair consists of a controller number (kc) followed by a controller value (kv). There are no controller numbers and values that work for STKDrummer:
-    </para>
-  </refsect1>
- 
     <refsect1>
     <note>
       <title>Note</title>
@@ -70,7 +61,7 @@
   <refsect1>
     <title>See Also</title>
     <para>
-      <link linkend="STKClarinet"><citetitle>STKClarinet</citetitle></link>,
+      <link linkend="STKClarinet"><citetitle>STKClarinet</citetitle></link>.
     </para>
   </refsect1>
  
@@ -87,8 +78,3 @@
   </refsect1>
 </refentry>
 
-
-
-
-
-
diff --git a/opcodes/STKFMVoices.xml b/opcodes/STKFMVoices.xml
old mode 100755
new mode 100644
index c48a831..5295da0
--- a/opcodes/STKFMVoices.xml
+++ b/opcodes/STKFMVoices.xml
@@ -9,7 +9,7 @@
     <refname>STKFMVoices</refname>
     <refpurpose>
       STKFMVoices is a singing FM synthesis instrument. 
-      </refpurpose>
+    </refpurpose>
   </refnamediv>
  
   <refsect1>
@@ -21,7 +21,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asignal <command>STKFMVoices</command> ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4[, kc5, kv5]]]]]</synopsis>
+    <synopsis>asignal <command>STKFMVoices</command> ifrequency, iamplitude, [kvowel, kv1[, kspec, kv2[, klfo, kv3[, klfodepth, kv4[, kadsr, kv5]]]]]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -37,18 +37,11 @@
  
   <refsect1>
     <title>Performance</title>
-   
-    <para>
-      <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
-      Each controller pair consists of a controller number (kc) followed by a controller value (kv). The 5 controller numbers and values that work for STKFMVoices are:
-      <itemizedlist>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 2,   vowel.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 4,   spectral tilt </para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 11,  speed of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 1,   depth of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 128, ADSR 2 and 4 Target.</para></listitem>
-      </itemizedlist>
-    </para>
+<para><emphasis>kvowel</emphasis> -- controller 2, vowel. Value range of kv1 is 0-127.</para>
+<para><emphasis>kspec</emphasis> -- controller 4, spectral tilt. Value range of kv2 is 0-127.</para>
+<para><emphasis>klfo</emphasis> -- controller 11, speed of low-frequency oscillator. Value range of kv3 is 0-127.</para>
+<para><emphasis>klfodepth</emphasis> -- controller 1, depth of low-frequency oscillator. Value range of kv4 is 0-127.</para>
+<para><emphasis>kadsr</emphasis> -- controller 128, ADSR 2 and 4 Target. Value range of kv5 is 0-127.</para>
   </refsect1>
  
     <refsect1>
@@ -57,6 +50,11 @@
       <para>
           The code for this opcode is taken directly from the FMVoices class in the Synthesis Toolkit in C++ by Perry R. Cook and Gary P. Scavone. More on the STK classes can be found here:  
 <ulink url="https://ccrma.stanford.edu/software/stk/classes.html"><citetitle>https://ccrma.stanford.edu/software/stk/classes.html</citetitle></ulink>
+      </para>
+      <para>
+        <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
+      Each controller pair consists of a controller number (kc) followed by a controller value (kv). Both the controller numbers and the controller values are krate variables. However, during a performance, normally the controller numbers stay fixed while the corresponding controller values may change at any time.
+The order of the controller pair is arbitrary, as long as they are after <emphasis>iamplitude</emphasis>. Also, it is not needed that all controller pairs are used.
 </para>
     </note>
   </refsect1>
@@ -64,8 +62,7 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the STKFMVoices opcode. It uses the file <ulink url="examples/STKFMVoices.csd"><citetitle>STKFMVoices.csd</citetitle></ulink>, and <ulink url="examples/fwavblnk.aiff"><citetitle>fwavblnk.aiff</citetitle></ulink>.
-     
+      Here is an example of the STKFMVoices opcode. It uses the file <ulink url="examples/STKFMVoices.csd"><citetitle>STKFMVoices.csd</citetitle></ulink>.
       <example>
         <title>Example of the STKFMVoices opcode.</title>
         <xi:include href="examples-xml/STKFMVoices.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
@@ -76,7 +73,7 @@
   <refsect1>
     <title>See Also</title>
     <para>
-      <link linkend="STKBeeThree"><citetitle>STKBeeThree</citetitle></link>,
+      <link linkend="STKBeeThree"><citetitle>STKBeeThree</citetitle></link>.
     </para>
   </refsect1>
  
@@ -93,7 +90,3 @@
   </refsect1>
 </refentry>
 
-
-
-
-
diff --git a/opcodes/STKFlute.xml b/opcodes/STKFlute.xml
old mode 100755
new mode 100644
index 20f56ba..bd9c290
--- a/opcodes/STKFlute.xml
+++ b/opcodes/STKFlute.xml
@@ -21,7 +21,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asignal <command>STKFlute</command> ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4[, kc5, kv5]]]]]</synopsis>
+    <synopsis>asignal <command>STKFlute</command> ifrequency, iamplitude, [kjet, kv1[, knoise, kv2[, klfo, kv3[, klfodepth, kv4[, kbreath, kv5]]]]]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -37,18 +37,11 @@
  
   <refsect1>
     <title>Performance</title>
-   
-    <para>
-      <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
-      Each controller pair consists of a controller number (kc) followed by a controller value (kv). The 5 controller numbers and values that work for STKFlute are:
-      <itemizedlist>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 2,   jet delay.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 4,   gain of noise </para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 11,  speed of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 1,   depth of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 128, breath pressure.</para></listitem>
-      </itemizedlist>
-    </para>
+<para><emphasis>kjet</emphasis> -- controller 2, jet delay. Value range of kv1 is 0-127.</para>
+<para><emphasis>knoise</emphasis> -- controller 4, gain of noise. Value range of kv2 is 0-127.</para>
+<para><emphasis>klfo</emphasis> -- controller 11, speed of low-frequency oscillator. Value range of kv3 is 0-127.</para>
+<para><emphasis>klfodepth</emphasis> -- controller 1, depth of low-frequency oscillator. Value range of kv4 is 0-127.</para>
+<para><emphasis>kbreath</emphasis> -- controller 128, breath pressure. Value range of kv5 is 0-127.</para>
   </refsect1>
  
     <refsect1>
@@ -58,6 +51,11 @@
         The code for this opcode is taken directly from the Flute class in the Synthesis Toolkit in C++ by Perry R. Cook and Gary P. Scavone. More on the STK classes can be found here:  
 <ulink url="https://ccrma.stanford.edu/software/stk/classes.html"><citetitle>https://ccrma.stanford.edu/software/stk/classes.html</citetitle></ulink>
 </para>
+      <para>
+        <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
+      Each controller pair consists of a controller number (kc) followed by a controller value (kv). Both the controller numbers and the controller values are krate variables. However, during a performance, normally the controller numbers stay fixed while the corresponding controller values may change at any time.
+The order of the controller pair is arbitrary, as long as they are after <emphasis>iamplitude</emphasis>. Also, it is not needed that all controller pairs are used.
+</para>
     </note>
   </refsect1>
   
@@ -76,7 +74,7 @@
   <refsect1>
     <title>See Also</title>
     <para>
-      <link linkend="STKClarinet"><citetitle>STKClarinet</citetitle></link>,
+      <link linkend="STKClarinet"><citetitle>STKClarinet</citetitle></link>.
     </para>
   </refsect1>
  
@@ -93,8 +91,3 @@
   </refsect1>
 </refentry>
 
-
-
-
-
-
diff --git a/opcodes/STKHevyMetl.xml b/opcodes/STKHevyMetl.xml
old mode 100755
new mode 100644
index 1e6fc5b..1350b1b
--- a/opcodes/STKHevyMetl.xml
+++ b/opcodes/STKHevyMetl.xml
@@ -22,7 +22,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asignal <command>STKHevyMetl</command> ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4[, kc5, kv5]]]]]</synopsis>
+    <synopsis>asignal <command>STKHevyMetl</command> ifrequency, iamplitude, [kmod, kv1[, kcross, kv2[, klfo, kv3[, klfodepth, kv4[, kadsr, kv5]]]]]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -38,17 +38,11 @@
  
   <refsect1>
     <title>Performance</title>
-    <para>
-      <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
-      Each controller pair consists of a controller number (kc) followed by a controller value (kv). The 5 controller numbers and values that work for STKHevyMetl are:
-      <itemizedlist>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 2,   total modulator index.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 4,   crossfade of modulator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 11,  speed of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 1,   depth of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 128, ADSR 2 and 4 target.</para></listitem>
-      </itemizedlist>
-    </para>
+<para><emphasis>kmod</emphasis> -- controller2, total modulator index. Value range of kv1 is 0-127.</para>
+<para><emphasis>kcross</emphasis> -- controller 4, crossfade of modulator. Value range of kv2 is 0-127.</para>
+<para><emphasis>klfo</emphasis> -- controller 11, speed of low-frequency oscillator. Value range of kv3 is 0-127.</para>
+<para><emphasis>klfodepth</emphasis> -- controller 1, depth of low-frequency oscillator. Value range of kv4 is 0-127.</para>
+<para><emphasis>kadsr</emphasis> -- controller 128, ADSR 2 and 4 target. Value range of kv5 is 0-127.</para>
   </refsect1>
  
     <refsect1>
@@ -58,13 +52,18 @@
          The code for this opcode is taken directly from the HevyMetl class in the Synthesis Toolkit in C++ by Perry R. Cook and Gary P. Scavone. More on the STK classes can be found here:  
 <ulink url="https://ccrma.stanford.edu/software/stk/classes.html"><citetitle>https://ccrma.stanford.edu/software/stk/classes.html</citetitle></ulink>
 </para>
+      <para>
+        <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
+      Each controller pair consists of a controller number (kc) followed by a controller value (kv). Both the controller numbers and the controller values are krate variables. However, during a performance, normally the controller numbers stay fixed while the corresponding controller values may change at any time.
+The order of the controller pair is arbitrary, as long as they are after <emphasis>iamplitude</emphasis>. Also, it is not needed that all controller pairs are used.
+</para>
     </note>
   </refsect1>
   
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the STKHevyMetl opcode. It uses the file <ulink url="examples/STKHevyMetl.csd"><citetitle>STKHevyMetl.csd</citetitle></ulink>, and <ulink url="examples/fwavblnk.aiff"><citetitle>fwavblnk.aiff</citetitle></ulink>.
+      Here is an example of the STKHevyMetl opcode. It uses the file <ulink url="examples/STKHevyMetl.csd"><citetitle>STKHevyMetl.csd</citetitle></ulink>.
      
       <example>
         <title>Example of the STKHevyMetl opcode.</title>
@@ -76,7 +75,7 @@
   <refsect1>
     <title>See Also</title>
     <para>
-      <link linkend="STKWurley"><citetitle>STKWurley</citetitle></link>,
+      <link linkend="STKWurley"><citetitle>STKWurley</citetitle></link>.
     </para>
   </refsect1>
  
@@ -93,4 +92,3 @@
   </refsect1>
 </refentry>
 
-
diff --git a/opcodes/STKMandolin.xml b/opcodes/STKMandolin.xml
old mode 100755
new mode 100644
index aab64cf..993cffe
--- a/opcodes/STKMandolin.xml
+++ b/opcodes/STKMandolin.xml
@@ -21,7 +21,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asignal <command>STKMandolin</command> ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4[, kc5, kv5]]]]]</synopsis>
+    <synopsis>asignal <command>STKMandolin</command> ifrequency, iamplitude, [kbody, kv1[, kpos, kv2[, ksus, kv3[, kdetune, kv4[, kmic, kv5]]]]]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -37,17 +37,11 @@
  
   <refsect1>
     <title>Performance</title>
-    <para>
-      <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
-      Each controller pair consists of a controller number (kc) followed by a controller value (kv). The 5 controller numbers and values that work for STKMandolin are:
-      <itemizedlist>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 2,   size of body.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 4,   pluck position.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 11,  string sustain.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 1,   string detuning.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 128, position of microphone.</para></listitem>
-      </itemizedlist>
-    </para>
+<para><emphasis>kbody</emphasis> -- controller 2, size of body. Value range of kv1 is 0-127.</para>
+<para><emphasis>kpos</emphasis> -- controller 4, pluck position. Value range of kv2 is 0-127.</para>
+<para><emphasis>ksus</emphasis> -- controller 11, string sustain. Value range of kv3 is 0-127.</para>
+<para><emphasis>kdetune</emphasis> -- controller 1, string detuning. Value range of kv4 is 0-127.</para>
+<para><emphasis>kmic</emphasis> -- controller 128, position of microphone. Value range of kv5 is 0-127.</para>
   </refsect1>
  
     <refsect1>
@@ -57,13 +51,18 @@
          The code for this opcode is taken directly from the Mandolin class in the Synthesis Toolkit in C++ by Perry R. Cook and Gary P. Scavone. More on the STK classes can be found here:  
 <ulink url="https://ccrma.stanford.edu/software/stk/classes.html"><citetitle>https://ccrma.stanford.edu/software/stk/classes.html</citetitle></ulink>
 </para>
+      <para>
+        <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
+      Each controller pair consists of a controller number (kc) followed by a controller value (kv). Both the controller numbers and the controller values are krate variables. However, during a performance, normally the controller numbers stay fixed while the corresponding controller values may change at any time.
+The order of the controller pair is arbitrary, as long as they are after <emphasis>iamplitude</emphasis>. Also, it is not needed that all controller pairs are used.
+</para>
     </note>
   </refsect1>
   
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the STKMandolin opcode. It uses the file <ulink url="examples/STKMandolin.csd"><citetitle>STKMandolin.csd</citetitle></ulink>, and <ulink url="examples/mandpluk.aiff"><citetitle>mandpluck.aiff</citetitle></ulink>.
+      Here is an example of the STKMandolin opcode. It uses the file <ulink url="examples/STKMandolin.csd"><citetitle>STKMandolin.csd</citetitle></ulink>.
      
       <example>
         <title>Example of the STKMandolin opcode.</title>
@@ -75,7 +74,7 @@
   <refsect1>
     <title>See Also</title>
     <para>
-      <link linkend="STKPlucked"><citetitle>STKPlucked</citetitle></link>,
+      <link linkend="STKPlucked"><citetitle>STKPlucked</citetitle></link>.
     </para>
   </refsect1>
  
@@ -92,5 +91,3 @@
   </refsect1>
 </refentry>
 
-
-
diff --git a/opcodes/STKModalBar.xml b/opcodes/STKModalBar.xml
old mode 100755
new mode 100644
index 5eb29d6..df90e89
--- a/opcodes/STKModalBar.xml
+++ b/opcodes/STKModalBar.xml
@@ -20,7 +20,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asignal <command>STKModalBar</command> ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4[, kc5, kv5[, kc6, kv6[, kc7, kv7]]]]]]]</synopsis>
+    <synopsis>asignal <command>STKModalBar</command> ifrequency, iamplitude, [khard, kv1[, kpos, kv2[, klfo, kv3[, klfodepth, kv4[, kmix, kv5[, kvol, kv6[, kinstr, kv7]]]]]]]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -36,19 +36,13 @@
  
   <refsect1>
     <title>Performance</title>
-    <para>
-      <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
-      Each controller pair consists of a controller number (kc) followed by a controller value (kv). The 7 controller numbers and values that work for STKModalBar are:
-      <itemizedlist>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 2,   hardness of the stick.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 4,   stick position.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 11,  speed of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 1,   depth of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 8,   direct stick mix</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 128, volume.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 16,  instrument presets (0 = marimba, 1 = vibraphone, 2 = agogo, 3 = wood1, 4 = reso, 5 = wood2, 6 = beats, 7 = two fixed, 8 = clump)</para></listitem>
-      </itemizedlist>
-    </para>
+<para><emphasis>khard</emphasis> -- controller 2, hardness of the stick. Value range of kv1 is 0-127.</para>
+<para><emphasis>kpos</emphasis> -- controller 4, stick position. Value range of kv2 is 0-127.</para>
+<para><emphasis>klfo</emphasis> -- controller 11, speed of low-frequency oscillator. Value range of kv3 is 0-127.</para>
+<para><emphasis>klfodepth</emphasis> -- controller 1, depth of low-frequency oscillator. Value range of kv4 is 0-127.</para>
+<para><emphasis>kmix</emphasis> -- controller 8, direct stick mix. Value range of kv5 is 0-127.</para>
+<para><emphasis>kvol</emphasis> -- controller 128, volume. Value range of kv6 is 0-127.</para>
+<para><emphasis>kinstr</emphasis> -- controller 16, instrument presets (0 = marimba, 1 = vibraphone, 2 = agogo, 3 = wood1, 4 = reso, 5 = wood2, 6 = beats, 7 = two fixed, 8 = clump). Value range of kv7 is 0-16.</para>
   </refsect1>
  
     <refsect1>
@@ -58,6 +52,11 @@
          The code for this opcode is taken directly from the ModalBar class in the Synthesis Toolkit in C++ by Perry R. Cook and Gary P. Scavone. More on the STK classes can be found here:  
 <ulink url="https://ccrma.stanford.edu/software/stk/classes.html"><citetitle>https://ccrma.stanford.edu/software/stk/classes.html</citetitle></ulink>
 </para>
+      <para>
+        <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
+      Each controller pair consists of a controller number (kc) followed by a controller value (kv). Both the controller numbers and the controller values are krate variables. However, during a performance, normally the controller numbers stay fixed while the corresponding controller values may change at any time.
+The order of the controller pair is arbitrary, as long as they are after <emphasis>iamplitude</emphasis>. Also, it is not needed that all controller pairs are used.
+</para>
     </note>
   </refsect1>
   
@@ -86,5 +85,3 @@
   </refsect1>
 </refentry>
 
-
-
diff --git a/opcodes/STKMoog.xml b/opcodes/STKMoog.xml
old mode 100755
new mode 100644
index 13735ca..7a730b0
--- a/opcodes/STKMoog.xml
+++ b/opcodes/STKMoog.xml
@@ -21,7 +21,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asignal <command>STKMoog</command> ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4[, kc5, kv5]]]]]</synopsis>
+    <synopsis>asignal <command>STKMoog</command> ifrequency, iamplitude, [kq, kv1[, krate, kv2[, klfo, kv3[, klfodepth, kv4[, kvol, kv5]]]]]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -37,17 +37,11 @@
  
   <refsect1>
     <title>Performance</title>
-    <para>
-      <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
-      Each controller pair consists of a controller number (kc) followed by a controller value (kv). The 5 controller numbers and values that work for STKMoog are:
-      <itemizedlist>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 2,   Q filter.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 4,   rate of filter sweep .</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 11,  speed of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 1,   depth of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 128, volume.</para></listitem>
-      </itemizedlist>
-    </para>
+<para><emphasis>kq</emphasis> -- controller 2, Q filter. Value range of kv1 is 0-127.</para>
+<para><emphasis>krate</emphasis> -- controller 4, rate of filter sweep. Value range of kv2 is 0-127.</para>
+<para><emphasis>klfo</emphasis> -- controller 11, speed of low-frequency oscillator. Value range of kv3 is 0-127.</para>
+<para><emphasis>klfodepth</emphasis> -- controller 1, depth of low-frequency oscillator. Value range of kv4 is 0-127.</para>
+<para><emphasis>kvol</emphasis> -- controller 128, volume. Value range of kv5 is 0-127.</para>
   </refsect1>
  
     <refsect1>
@@ -57,6 +51,11 @@
          The code for this opcode is taken directly from the Moog class in the Synthesis Toolkit in C++ by Perry R. Cook and Gary P. Scavone. More on the STK classes can be found here:  
 <ulink url="https://ccrma.stanford.edu/software/stk/classes.html"><citetitle>https://ccrma.stanford.edu/software/stk/classes.html</citetitle></ulink>
 </para>
+      <para>
+        <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
+      Each controller pair consists of a controller number (kc) followed by a controller value (kv). Both the controller numbers and the controller values are krate variables. However, during a performance, normally the controller numbers stay fixed while the corresponding controller values may change at any time.
+The order of the controller pair is arbitrary, as long as they are after <emphasis>iamplitude</emphasis>. Also, it is not needed that all controller pairs are used.
+</para>
     </note>
   </refsect1>
   
@@ -85,5 +84,3 @@
   </refsect1>
 </refentry>
 
-
-
diff --git a/opcodes/STKPercFlut.xml b/opcodes/STKPercFlut.xml
old mode 100755
new mode 100644
index 564eefe..cfc511b
--- a/opcodes/STKPercFlut.xml
+++ b/opcodes/STKPercFlut.xml
@@ -20,7 +20,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asignal <command>STKPercFlut</command> ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4[, kc5, kv5]]]]]</synopsis>
+    <synopsis>asignal <command>STKPercFlut</command> ifrequency, iamplitude, [kmod, kv1[, kcross, kv2[, klfo, kv3[, klfodepth, kv4[, kadsr, kv5]]]]]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -36,17 +36,11 @@
  
   <refsect1>
     <title>Performance</title>
-    <para>
-      <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
-      Each controller pair consists of a controller number (kc) followed by a controller value (kv). The 5 controller numbers and values that work for STKPercFlut are:
-      <itemizedlist>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 2,   total modulator index.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 4,   crossfade of modulator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 11,  speed of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 1,   depth of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 128, ADSR 2 and 4 target.</para></listitem>
-      </itemizedlist>
-    </para>
+<para><emphasis>kmod</emphasis> -- controller 2,   total modulator index. Value range of kv1 is 0-127.</para>
+<para><emphasis>kcross</emphasis> -- controller 4,   crossfade of modulator. Value range of kv2 is 0-127.</para>
+<para><emphasis>klfo</emphasis> -- controller 11,  speed of low-frequency oscillator. Value range of kv3 is 0-127.</para>
+<para><emphasis>klfodepth</emphasis> -- controller 1,   depth of low-frequency oscillator. Value range of kv4 is 0-127.</para>
+<para><emphasis>kadsr</emphasis> -- controller 128, ADSR 2 and 4 target. Value range of kv5 is 0-127.</para>
   </refsect1>
  
     <refsect1>
@@ -56,13 +50,18 @@
          The code for this opcode is taken directly from the PercFlut class in the Synthesis Toolkit in C++ by Perry R. Cook and Gary P. Scavone. More on the STK classes can be found here:  
 <ulink url="https://ccrma.stanford.edu/software/stk/classes.html"><citetitle>https://ccrma.stanford.edu/software/stk/classes.html</citetitle></ulink>
 </para>
+      <para>
+        <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
+      Each controller pair consists of a controller number (kc) followed by a controller value (kv). Both the controller numbers and the controller values are krate variables. However, during a performance, normally the controller numbers stay fixed while the corresponding controller values may change at any time.
+The order of the controller pair is arbitrary, as long as they are after <emphasis>iamplitude</emphasis>. Also, it is not needed that all controller pairs are used.
+</para>
     </note>
   </refsect1>
   
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the STKPercFlut opcode. It uses the file <ulink url="examples/STKPercFlut.csd"><citetitle>STKPercFlut.csd</citetitle></ulink>, and <ulink url="examples/fwavblnk.aiff"><citetitle>fwavblnk.aiff</citetitle></ulink>.
+      Here is an example of the STKPercFlut opcode. It uses the file <ulink url="examples/STKPercFlut.csd"><citetitle>STKPercFlut.csd</citetitle></ulink>.
      
       <example>
         <title>Example of the STKPercFlut opcode.</title>
diff --git a/opcodes/STKPlucked.xml b/opcodes/STKPlucked.xml
old mode 100755
new mode 100644
index 822f184..349986f
--- a/opcodes/STKPlucked.xml
+++ b/opcodes/STKPlucked.xml
@@ -35,15 +35,6 @@
     </para>
   </refsect1>
  
-  <refsect1>
-    <title>Performance</title>
-   
-    <para>
-      <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
-      Each controller pair consists of a controller number (kc) followed by a controller value (kv). There are no controller numbers and values that work for STKPlucked.
-    </para>
-  </refsect1>
- 
     <refsect1>
     <note>
       <title>Note</title>
@@ -69,7 +60,7 @@
   <refsect1>
     <title>See Also</title>
     <para>
-      <link linkend="STKSitar"><citetitle>STKSitar</citetitle></link>,
+      <link linkend="STKSitar"><citetitle>STKSitar</citetitle></link>.
     </para>
   </refsect1>
  
@@ -86,9 +77,3 @@
   </refsect1>
 </refentry>
 
-
-
-
-
-
-
diff --git a/opcodes/STKResonate.xml b/opcodes/STKResonate.xml
old mode 100755
new mode 100644
index b588c4b..0270433
--- a/opcodes/STKResonate.xml
+++ b/opcodes/STKResonate.xml
@@ -21,7 +21,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asignal <command>STKResonate</command> ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4[, kc5, kv5]]]]]</synopsis>
+    <synopsis>asignal <command>STKResonate</command> ifrequency, iamplitude, [kfreq, kv1[, kpole, kv2[, knotch, kv3[, kzero, kv4[, kenv, kv5]]]]]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -37,18 +37,11 @@
  
   <refsect1>
     <title>Performance</title>
-   
-    <para>
-      <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
-      Each controller pair consists of a controller number (kc) followed by a controller value (kv). The 5 controller numbers and values that work for STKResonate are:
-      <itemizedlist>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 2,   frequency of resonance.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 4,   pole radii </para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 11,  notch frequency.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 1,   zero radii.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 128, gain of envelope.</para></listitem>
-      </itemizedlist>
-    </para>
+<para><emphasis>kfreq</emphasis> -- controller 2, frequency of resonance. Value range of kv1 is 0-127.</para>
+<para><emphasis>kpole</emphasis> -- controller 4, pole radii. Value range of kv2 is 0-127.</para>
+<para><emphasis>knotch</emphasis> -- controller 11, notch frequency. Value range of kv3 is 0-127.</para>
+<para><emphasis>kzero</emphasis> -- controller 1, zero radii. Value range of kv4 is 0-127.</para>
+<para><emphasis>kenv</emphasis> -- controller 128, gain of envelope. Value range of kv5 is 0-127.</para>
   </refsect1>
  
     <refsect1>
@@ -58,6 +51,11 @@
           The code for this opcode is taken directly from the Resonate class in the Synthesis Toolkit in C++ by Perry R. Cook and Gary P. Scavone. More on the STK classes can be found here:  
 <ulink url="https://ccrma.stanford.edu/software/stk/classes.html"><citetitle>https://ccrma.stanford.edu/software/stk/classes.html</citetitle></ulink>
 </para>
+      <para>
+        <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
+      Each controller pair consists of a controller number (kc) followed by a controller value (kv). Both the controller numbers and the controller values are krate variables. However, during a performance, normally the controller numbers stay fixed while the corresponding controller values may change at any time.
+The order of the controller pair is arbitrary, as long as they are after <emphasis>iamplitude</emphasis>. Also, it is not needed that all controller pairs are used.
+</para>
     </note>
   </refsect1>
   
@@ -86,9 +84,3 @@
   </refsect1>
 </refentry>
 
-
-
-
-
-
-
diff --git a/opcodes/STKRhodey.xml b/opcodes/STKRhodey.xml
old mode 100755
new mode 100644
index e439cac..5ea528b
--- a/opcodes/STKRhodey.xml
+++ b/opcodes/STKRhodey.xml
@@ -25,7 +25,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asignal <command>STKRhodey</command> ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4[, kc5, kv5]]]]]</synopsis>
+    <synopsis>asignal <command>STKRhodey</command> ifrequency, iamplitude, [kmod, kv1[, kcross, kv2[, klfo, kv3[, klfodepth, kv4[, kadsr, kv5]]]]]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -41,17 +41,11 @@
  
   <refsect1>
     <title>Performance</title>
-    <para>
-      <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
-      Each controller pair consists of a controller number (kc) followed by a controller value (kv). The 5 controller numbers and values that work for STKRhodey are:
-      <itemizedlist>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 2,   modulator index 1.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 4,   crossfade of outputs.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 11,  speed of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 1,   depth of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 128, ADSR 2 and 4 target.</para></listitem>
-      </itemizedlist>
-    </para>
+<para><emphasis>kmod</emphasis> -- controller 2, modulator index 1. Value range of kv1 is 0-127.</para>
+<para><emphasis>kcross</emphasis> -- controller 4, crossfade of outputs. Value range of kv2 is 0-127.</para>
+<para><emphasis>klfo</emphasis> -- controller 11, speed of low-frequency oscillator. Value range of kv3 is 0-127.</para>
+<para><emphasis>klfodepth</emphasis> -- controller1, depth of low-frequency oscillator. Value range of kv4 is 0-127.</para>
+<para><emphasis>kadsr</emphasis> -- controller 128, ADSR 2 and 4 target. Value range of kv5 is 0-127.</para>
   </refsect1>
  
     <refsect1>
@@ -61,13 +55,18 @@
          The code for this opcode is taken directly from the Rhodey class in the Synthesis Toolkit in C++ by Perry R. Cook and Gary P. Scavone. More on the STK classes can be found here:  
 <ulink url="https://ccrma.stanford.edu/software/stk/classes.html"><citetitle>https://ccrma.stanford.edu/software/stk/classes.html</citetitle></ulink>
 </para>
+      <para>
+        <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
+      Each controller pair consists of a controller number (kc) followed by a controller value (kv). Both the controller numbers and the controller values are krate variables. However, during a performance, normally the controller numbers stay fixed while the corresponding controller values may change at any time.
+The order of the controller pair is arbitrary, as long as they are after <emphasis>iamplitude</emphasis>. Also, it is not needed that all controller pairs are used.
+</para>
     </note>
   </refsect1>
   
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the STKRhodey opcode. It uses the file <ulink url="examples/STKRhodey.csd"><citetitle>STKRhodey.csd</citetitle></ulink>, and <ulink url="examples/fwavblnk.aiff"><citetitle>fwavblnk.aiff</citetitle></ulink>.
+      Here is an example of the STKRhodey opcode. It uses the file <ulink url="examples/STKRhodey.csd"><citetitle>STKRhodey.csd</citetitle></ulink>.
      
       <example>
         <title>Example of the STKRhodey opcode.</title>
@@ -79,7 +78,7 @@
   <refsect1>
     <title>See Also</title>
     <para>
-      <link linkend="STKWurley"><citetitle>STKWurley</citetitle></link>,
+      <link linkend="STKWurley"><citetitle>STKWurley</citetitle></link>.
     </para>
   </refsect1>
  
diff --git a/opcodes/STKSaxofony.xml b/opcodes/STKSaxofony.xml
old mode 100755
new mode 100644
index ae93bf2..f39dbb5
--- a/opcodes/STKSaxofony.xml
+++ b/opcodes/STKSaxofony.xml
@@ -23,7 +23,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asignal <command>STKSaxofony</command> ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4[, kc5, kv5[, kc6, kv6[, kc7, kv7]]]]]]]</synopsis>
+    <synopsis>asignal <command>STKSaxofony</command> ifrequency, iamplitude, [kstiff, kv1[, kapert, kv2[, kblow, kv3[, knoise, kv4[, klfo, kv5[, klfodepth, kv6[, kbreath, kv7]]]]]]]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -39,19 +39,13 @@
  
   <refsect1>
     <title>Performance</title>
-    <para>
-      <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
-      Each controller pair consists of a controller number (kc) followed by a controller value (kv). The 7 controller numbers and values that work for STKSaxofony are:
-      <itemizedlist>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 2,   stiffness of reed.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 26,  .reed aperture</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 11,  blow position </para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 4,   noise gain.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 29,  speed of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 1,   depth of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 128, breath pressure </para></listitem>
-      </itemizedlist>
-    </para>
+<para><emphasis>kstiff</emphasis> -- controller 2, stiffness of reed. Value range of kv1 is 0-127.</para>
+<para><emphasis>kapert</emphasis> -- controller 26, reed aperture. Value range of kv2 is 0-127.</para>
+<para><emphasis>kblow</emphasis> -- controller 11, blow position. Value range of kv3 is 0-127.</para>
+<para><emphasis>knoise</emphasis> -- controller 4, noise gain. Value range of kv4 is 0-127.</para>
+<para><emphasis>klfo</emphasis> -- controller 29, speed of low-frequency oscillator. Value range of kv5 is 0-127.</para>
+<para><emphasis>klfodepth</emphasis> -- controller 1, depth of low-frequency oscillator. Value range of kv6 is 0-127.</para>
+<para><emphasis>kbreath</emphasis> -- controller 128, breath pressure. Value range of kv7 is 0-127.</para>
   </refsect1>
  
     <refsect1>
@@ -61,13 +55,18 @@
         The code for this opcode is taken directly from the Saxofony class in the Synthesis Toolkit in C++ by Perry R. Cook and Gary P. Scavone. More on the STK classes can be found here:  
 <ulink url="https://ccrma.stanford.edu/software/stk/classes.html"><citetitle>https://ccrma.stanford.edu/software/stk/classes.html</citetitle></ulink>
 </para>
+      <para>
+        <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
+      Each controller pair consists of a controller number (kc) followed by a controller value (kv). Both the controller numbers and the controller values are krate variables. However, during a performance, normally the controller numbers stay fixed while the corresponding controller values may change at any time.
+The order of the controller pair is arbitrary, as long as they are after <emphasis>iamplitude</emphasis>. Also, it is not needed that all controller pairs are used.
+</para>
     </note>
   </refsect1>
   
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the STKSaxofony opcode. It uses the file <ulink url="examples/STKSaxofony.csd"><citetitle>STKSaxofony.csd</citetitle></ulink>,
+      Here is an example of the STKSaxofony opcode. It uses the file <ulink url="examples/STKSaxofony.csd"><citetitle>STKSaxofony.csd</citetitle></ulink>.
      
       <example>
         <title>Example of the STKSaxofony opcode.</title>
@@ -89,5 +88,3 @@
   </refsect1>
 </refentry>
 
-
-
diff --git a/opcodes/STKShakers.xml b/opcodes/STKShakers.xml
old mode 100755
new mode 100644
index 68abcd6..cf56499
--- a/opcodes/STKShakers.xml
+++ b/opcodes/STKShakers.xml
@@ -23,7 +23,7 @@ It simulates of breaking sticks, crunchy snow (or not), a wrench, sandpaper, and
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asignal <command>STKShakers</command> ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4[, kc5, kv5[, kc6, kv6]]]]]]</synopsis>
+    <synopsis>asignal <command>STKShakers</command> ifrequency, iamplitude, [kenerg, kv1[, kdecay, kv2[, kshake, kv3[, knum, kv4[, kres, kv5[, kinstr, kv6]]]]]]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -39,20 +39,12 @@ It simulates of breaking sticks, crunchy snow (or not), a wrench, sandpaper, and
  
   <refsect1>
     <title>Performance</title>
-    <para>
-      <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
-      Each controller pair consists of a controller number (kc) followed by a controller value (kv). The 6 controller numbers and values that work for STKShakers are:
-      <itemizedlist>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 2,   shake energy.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 4,   system decay.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 128, .shake energy</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 11,  number of objects </para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 1,   resonance frequency.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 1071, instrument selection (Maraca = 0, Cabasa = 1, Sekere = 2, Guiro = 3, Water Drops = 4, Bamboo Chimes = 5, Tambourine = 6, Sleigh Bells = 7, Sticks = 8, 
-Crunch = 9, Wrench = 10, Sand Paper = 11, Coke Can = 12, Next Mug = 13, Penny + Mug = 14, Nickle + Mug = 15, Dime + Mug = 16, Quarter + Mug = 17, Franc + Mug = 18, Peso + Mug = 19, Big Rocks = 20, 
-Little Rocks = 21, Tuned Bamboo Chimes = 22) </para></listitem>
-      </itemizedlist>
-    </para>
+<para><emphasis>kenerg</emphasis> -- controller 2, shake energy. Value range of kv1 is 0-127.</para>
+<para><emphasis>kdecay</emphasis> -- controller 4, system decay. Value range of kv2 is 0-127.</para>
+<para><emphasis>kshake</emphasis> -- controller 128, shake energy. Value range of kv3 is 0-127.</para>
+<para><emphasis>knum</emphasis> -- controller 11, number of objects. Value range of kv4 is 0-127.</para>
+<para><emphasis>kres</emphasis> -- controller 1, resonance frequency. Value range of kv5 is 0-127.</para>
+<para><emphasis>kinstr</emphasis> -- controller 1071, instrument selection (Maraca = 0, Cabasa = 1, Sekere = 2, Guiro = 3, Water Drops = 4, Bamboo Chimes = 5, Tambourine = 6, Sleigh Bells = 7, Sticks = 8, Crunch = 9, Wrench = 10, Sand Paper = 11, Coke Can = 12, Next Mug = 13, Penny + Mug = 14, Nickle + Mug = 15, Dime + Mug = 16, Quarter + Mug = 17, Franc + Mug = 18, Peso + Mug = 19, Big Rocks = 20, Little Rocks = 21, Tuned Bamboo Chimes = 22). Value range of kv6 is 0-22.</para>
   </refsect1>
  
     <refsect1>
@@ -62,6 +54,11 @@ Little Rocks = 21, Tuned Bamboo Chimes = 22) </para></listitem>
          The code for this opcode is taken directly from the Shakers class in the Synthesis Toolkit in C++ by Perry R. Cook and Gary P. Scavone. More on the STK classes can be found here:  
 <ulink url="https://ccrma.stanford.edu/software/stk/classes.html"><citetitle>https://ccrma.stanford.edu/software/stk/classes.html</citetitle></ulink>
 </para>
+      <para>
+        <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
+      Each controller pair consists of a controller number (kc) followed by a controller value (kv). Both the controller numbers and the controller values are krate variables. However, during a performance, normally the controller numbers stay fixed while the corresponding controller values may change at any time.
+The order of the controller pair is arbitrary, as long as they are after <emphasis>iamplitude</emphasis>. Also, it is not needed that all controller pairs are used.
+</para>
     </note>
   </refsect1>
   
@@ -90,6 +87,3 @@ Little Rocks = 21, Tuned Bamboo Chimes = 22) </para></listitem>
   </refsect1>
 </refentry>
 
-
-
-
diff --git a/opcodes/STKSimple.xml b/opcodes/STKSimple.xml
old mode 100755
new mode 100644
index a50c4ee..db3bcbe
--- a/opcodes/STKSimple.xml
+++ b/opcodes/STKSimple.xml
@@ -22,7 +22,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asignal <command>STKSimple</command> ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4]]]]</synopsis>
+    <synopsis>asignal <command>STKSimple</command> ifrequency, iamplitude, [kpos, kv1[, kcross, kv2[, kenv, kv3[, kgain, kv4]]]]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -38,17 +38,10 @@
  
   <refsect1>
     <title>Performance</title>
-   
-    <para>
-      <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
-      Each controller pair consists of a controller number (kc) followed by a controller value (kv). The 4 controller numbers and values that work for STKSimple are:
-      <itemizedlist>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 2,   position of filter pole.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 4,   noise/pitched cross-fade </para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 11,  rate of envelope.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 128, gain.</para></listitem>
-      </itemizedlist>
-    </para>
+<para><emphasis>kpos</emphasis> -- controller 2, position of filter pole. Value range of kv1 is 0-127.</para>
+<para><emphasis>kcross</emphasis> -- controller 4, noise/pitched cross-fade. Value range of kv2 is 0-127.</para>
+<para><emphasis>kenv</emphasis> -- controller 11, rate of envelope. Value range of kv3 is 0-127.</para>
+<para><emphasis>kgain</emphasis> -- controller 128, gain. Value range of kv4 is 0-127.</para>
   </refsect1>
  
     <refsect1>
@@ -58,6 +51,11 @@
           The code for this opcode is taken directly from the Simple class in the Synthesis Toolkit in C++ by Perry R. Cook and Gary P. Scavone. More on the STK classes can be found here:  
 <ulink url="https://ccrma.stanford.edu/software/stk/classes.html"><citetitle>https://ccrma.stanford.edu/software/stk/classes.html</citetitle></ulink>
 </para>
+      <para>
+        <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
+      Each controller pair consists of a controller number (kc) followed by a controller value (kv). Both the controller numbers and the controller values are krate variables. However, during a performance, normally the controller numbers stay fixed while the corresponding controller values may change at any time.
+The order of the controller pair is arbitrary, as long as they are after <emphasis>iamplitude</emphasis>. Also, it is not needed that all controller pairs are used.
+</para>
     </note>
   </refsect1>
   
@@ -76,7 +74,7 @@
   <refsect1>
     <title>See Also</title>
     <para>
-      <link linkend="STKClarinet"><citetitle>STKClarinet</citetitle></link>,
+      <link linkend="STKClarinet"><citetitle>STKClarinet</citetitle></link>.
     </para>
   </refsect1>
  
@@ -93,9 +91,3 @@
   </refsect1>
 </refentry>
 
-
-
-
-
-
-
diff --git a/opcodes/STKSitar.xml b/opcodes/STKSitar.xml
old mode 100755
new mode 100644
index f1ba223..c1d9d31
--- a/opcodes/STKSitar.xml
+++ b/opcodes/STKSitar.xml
@@ -35,15 +35,6 @@
     </para>
   </refsect1>
  
-  <refsect1>
-    <title>Performance</title>
-   
-    <para>
-      <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
-      Each controller pair consists of a controller number (kc) followed by a controller value (kv). There are no controller numbers and values that work for STKSitar.
-    </para>
-  </refsect1>
- 
     <refsect1>
     <note>
       <title>Note</title>
@@ -79,9 +70,3 @@
   </refsect1>
 </refentry>
 
-
-
-
-
-
-
diff --git a/opcodes/STKStifKarp.xml b/opcodes/STKStifKarp.xml
old mode 100755
new mode 100644
index df4feb6..43f6d76
--- a/opcodes/STKStifKarp.xml
+++ b/opcodes/STKStifKarp.xml
@@ -22,7 +22,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asignal <command>STKStifKarp</command> ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3]]]</synopsis>
+    <synopsis>asignal <command>STKStifKarp</command> ifrequency, iamplitude, [kpos, kv1[, ksus, kv2[, kstretch, kv3]]]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -38,16 +38,9 @@
  
   <refsect1>
     <title>Performance</title>
-   
-    <para>
-      <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
-      Each controller pair consists of a controller number (kc) followed by a controller value (kv). The 3 controller numbers and values that work for STKStifKarp are:
-      <itemizedlist>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 4,   pickup position.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 11,  string sustain </para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 1,   string stretch.</para></listitem>
-      </itemizedlist>
-    </para>
+<para><emphasis>kpos</emphasis> -- controller 4, pickup position. Value range of kv1 is 0-127.</para>
+<para><emphasis>ksus</emphasis> -- controller11, string sustain. Value range of kv2 is 0-127.</para>
+<para><emphasis>kstretch</emphasis> -- controller 1, string stretch. Value range of kv3 is 0-127.</para>
   </refsect1>
  
     <refsect1>
@@ -57,6 +50,11 @@
          The code for this opcode is taken directly from the StifKarp class in the Synthesis Toolkit in C++ by Perry R. Cook and Gary P. Scavone. More on the STK classes can be found here:  
 <ulink url="https://ccrma.stanford.edu/software/stk/classes.html"><citetitle>https://ccrma.stanford.edu/software/stk/classes.html</citetitle></ulink>
 </para>
+      <para>
+        <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
+      Each controller pair consists of a controller number (kc) followed by a controller value (kv). Both the controller numbers and the controller values are krate variables. However, during a performance, normally the controller numbers stay fixed while the corresponding controller values may change at any time.
+The order of the controller pair is arbitrary, as long as they are after <emphasis>iamplitude</emphasis>. Also, it is not needed that all controller pairs are used.
+</para>
     </note>
   </refsect1>
   
diff --git a/opcodes/STKTubeBell.xml b/opcodes/STKTubeBell.xml
old mode 100755
new mode 100644
index ae4e575..a47c7f3
--- a/opcodes/STKTubeBell.xml
+++ b/opcodes/STKTubeBell.xml
@@ -21,7 +21,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asignal <command>STKTubeBell</command> ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4[, kc5, kv5]]]]]</synopsis>
+    <synopsis>asignal <command>STKTubeBell</command> ifrequency, iamplitude, [kmod, kv1[, kcross, kv2[, klfo, kv3[, klfodepth, kv4[, kadsr, kv5]]]]]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -37,17 +37,11 @@
  
   <refsect1>
     <title>Performance</title>
-    <para>
-      <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
-      Each controller pair consists of a controller number (kc) followed by a controller value (kv). The 5 controller numbers and values that work for STKTubeBell are:
-      <itemizedlist>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 2,   modulator index 1.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 4,   crossfade of outputs.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 11,  speed of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 1,   depth of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 128, ADSR 2 and 4 target.</para></listitem>
-      </itemizedlist>
-    </para>
+<para><emphasis>kmod</emphasis> -- controller 2, modulator index 1. Value range of kv1 is 0-127.</para>
+<para><emphasis>kcross</emphasis> -- controller 4, crossfade of outputs. Value range of kv2 is 0-127.</para>
+<para><emphasis>klfo</emphasis> -- controller 11, speed of low-frequency oscillator. Value range of kv3 is 0-127.</para>
+<para><emphasis>klfodepth</emphasis> -- controller 1, depth of low-frequency oscillator. Value range of kv4 is 0-127.</para>
+<para><emphasis>kadsr</emphasis> -- controller 128, ADSR 2 and 4 target. Value range of kv5 is 0-127.</para>
   </refsect1>
  
     <refsect1>
@@ -57,13 +51,18 @@
          The code for this opcode is taken directly from the TubeBell class in the Synthesis Toolkit in C++ by Perry R. Cook and Gary P. Scavone. More on the STK classes can be found here:  
 <ulink url="https://ccrma.stanford.edu/software/stk/classes.html"><citetitle>https://ccrma.stanford.edu/software/stk/classes.html</citetitle></ulink>
 </para>
+      <para>
+        <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
+      Each controller pair consists of a controller number (kc) followed by a controller value (kv). Both the controller numbers and the controller values are krate variables. However, during a performance, normally the controller numbers stay fixed while the corresponding controller values may change at any time.
+The order of the controller pair is arbitrary, as long as they are after <emphasis>iamplitude</emphasis>. Also, it is not needed that all controller pairs are used.
+</para>
     </note>
   </refsect1>
   
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the STKTubeBell opcode. It uses the file <ulink url="examples/STKTubeBell.csd"><citetitle>STKTubeBell.csd</citetitle></ulink>, and <ulink url="examples/fwavblnk.aiff"><citetitle>fwavblnk.aiff</citetitle></ulink>.
+      Here is an example of the STKTubeBell opcode. It uses the file <ulink url="examples/STKTubeBell.csd"><citetitle>STKTubeBell.csd</citetitle></ulink>.
      
       <example>
         <title>Example of the STKTubeBell opcode.</title>
@@ -85,4 +84,3 @@
   </refsect1>
 </refentry>
 
-
diff --git a/opcodes/STKVoicForm.xml b/opcodes/STKVoicForm.xml
old mode 100755
new mode 100644
index 99d64e4..c899a50
--- a/opcodes/STKVoicForm.xml
+++ b/opcodes/STKVoicForm.xml
@@ -22,7 +22,7 @@ Measured formant data is included, and enough data is there to support either pa
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asignal <command>STKVoicForm</command> ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4[, kc5, kv5]]]]]</synopsis>
+    <synopsis>asignal <command>STKVoicForm</command> ifrequency, iamplitude, [kmix, kv1[, ksel, kv2[, klfo, kv3[, klfodepth, kv4[, kloud, kv5]]]]]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -38,17 +38,11 @@ Measured formant data is included, and enough data is there to support either pa
  
   <refsect1>
     <title>Performance</title>
-    <para>
-      <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
-      Each controller pair consists of a controller number (kc) followed by a controller value (kv). The 5 controller numbers and values that work for STKVoicForm are:
-      <itemizedlist>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 2,   voiced/unvoiced mix.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 4,   vowel/phoneme selection.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 11,  speed of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 1,   depth of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 128, loudness (spectral tilt).</para></listitem>
-      </itemizedlist>
-    </para>
+<para><emphasis>kmix</emphasis> -- controller 2, voiced/unvoiced mix. Value range of kv1 is 0-127.</para>
+<para><emphasis>ksel</emphasis> -- controller 4, vowel/phoneme selection. Value range of kv2 is 0-127.</para>
+<para><emphasis>klfo</emphasis> -- controller 11, speed of low-frequency oscillator. Value range of kv3 is 0-127.</para>
+<para><emphasis>klfodepth</emphasis> -- controller 1, depth of low-frequency oscillator. Value range of kv4 is 0-127.</para>
+<para><emphasis>kloud</emphasis> -- controller 128, loudness (spectral tilt). Value range of kv5 is 0-127.</para>
   </refsect1>
  
     <refsect1>
@@ -58,6 +52,11 @@ Measured formant data is included, and enough data is there to support either pa
         The code for this opcode is taken directly from the VoicForm class in the Synthesis Toolkit in C++ by Perry R. Cook and Gary P. Scavone. More on the STK classes can be found here:  
 <ulink url="https://ccrma.stanford.edu/software/stk/classes.html"><citetitle>https://ccrma.stanford.edu/software/stk/classes.html</citetitle></ulink>
 </para>
+      <para>
+        <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
+      Each controller pair consists of a controller number (kc) followed by a controller value (kv). Both the controller numbers and the controller values are krate variables. However, during a performance, normally the controller numbers stay fixed while the corresponding controller values may change at any time.
+The order of the controller pair is arbitrary, as long as they are after <emphasis>iamplitude</emphasis>. Also, it is not needed that all controller pairs are used.
+</para>
     </note>
   </refsect1>
   
@@ -65,10 +64,7 @@ Measured formant data is included, and enough data is there to support either pa
     <title>Examples</title>
     <para>
       Here is an example of the STKVoicForm opcode. 
-      It uses the file <ulink url="examples/STKVoicForm.csd"><citetitle>STKVoicForm.csd</citetitle></ulink>
-, and <ulink url="examples/ahh.aiff"><citetitle>ahh.aiff</citetitle></ulink>
-, <ulink url="examples/eee.aiff"><citetitle>eee.aiff</citetitle></ulink>
-, <ulink url="examples/ooo.aiff"><citetitle>ooo.aiff</citetitle></ulink>.
+      It uses the file <ulink url="examples/STKVoicForm.csd"><citetitle>STKVoicForm.csd</citetitle></ulink>.
      
       <example>
         <title>Example of the STKVoicForm opcode.</title>
diff --git a/opcodes/STKWhistle.xml b/opcodes/STKWhistle.xml
old mode 100755
new mode 100644
index deed49e..bff671c
--- a/opcodes/STKWhistle.xml
+++ b/opcodes/STKWhistle.xml
@@ -20,7 +20,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asignal <command>STKWhistle</command> ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4[, kc5, kv5]]]]]</synopsis>
+    <synopsis>asignal <command>STKWhistle</command> ifrequency, iamplitude, [kmod, kv1[, knoise, kv2[, kfipfreq, kv3[, kfipgain, kv4[, kvol, kv5]]]]]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -36,17 +36,11 @@
  
   <refsect1>
     <title>Performance</title>
-    <para>
-      <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
-      Each controller pair consists of a controller number (kc) followed by a controller value (kv). The 5 controller numbers and values that work for STKWhistle are:
-      <itemizedlist>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 2,   blowing frequency modulation.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 4,   noise gain.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 11,  fipple modulation frequency.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 1,   fipple modulation gain.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 128, volume.</para></listitem>
-      </itemizedlist>
-    </para>
+<para><emphasis>kmod</emphasis> -- controller 2, blowing frequency modulation. Value range of kv1 is 0-127.</para>
+<para><emphasis>knoise</emphasis> -- controller 4, noise gain. Value range of kv2 is 0-127.</para>
+<para><emphasis>kfipfreq</emphasis> -- controller 11, fipple modulation frequency. Value range of kv3 is 0-127.</para>
+<para><emphasis>kfipgain</emphasis> -- controller 1, fipple modulation gain. Value range of kv4 is 0-127.</para>
+<para><emphasis>kvol</emphasis> -- controller 128, volume. Value range of kv5 is 0-127.</para>
   </refsect1>
  
     <refsect1>
@@ -56,6 +50,11 @@
          The code for this opcode is taken directly from the Whistle class in the Synthesis Toolkit in C++ by Perry R. Cook and Gary P. Scavone. More on the STK classes can be found here:  
 <ulink url="https://ccrma.stanford.edu/software/stk/classes.html"><citetitle>https://ccrma.stanford.edu/software/stk/classes.html</citetitle></ulink>
 </para>
+      <para>
+        <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
+      Each controller pair consists of a controller number (kc) followed by a controller value (kv). Both the controller numbers and the controller values are krate variables. However, during a performance, normally the controller numbers stay fixed while the corresponding controller values may change at any time.
+The order of the controller pair is arbitrary, as long as they are after <emphasis>iamplitude</emphasis>. Also, it is not needed that all controller pairs are used.
+</para>
     </note>
   </refsect1>
   
diff --git a/opcodes/STKWurley.xml b/opcodes/STKWurley.xml
old mode 100755
new mode 100644
index 7dba354..3ac5a9f
--- a/opcodes/STKWurley.xml
+++ b/opcodes/STKWurley.xml
@@ -21,7 +21,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asignal <command>STKWurley</command> ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4[, kc5, kv5]]]]]</synopsis>
+    <synopsis>asignal <command>STKWurley</command> ifrequency, iamplitude, [kmod, kv1[, kcross, kv2[, klfo, kv3[, klfodepth, kv4[, kadsr, kv5]]]]]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -37,17 +37,11 @@
  
   <refsect1>
     <title>Performance</title>
-    <para>
-      <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
-      Each controller pair consists of a controller number (kc) followed by a controller value (kv). The 5 controller numbers and values that work for STKWurley are:
-      <itemizedlist>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 2,   modulator index 1.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 4,   crossfade of outputs.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 11,  speed of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 1,   depth of low-frequency oscillator.</para></listitem>
-        <listitem><para><emphasis>kc, kv</emphasis> -- 128, ADSR 2 and 4 target.</para></listitem>
-      </itemizedlist>
-    </para>
+<para><emphasis>kmod</emphasis> -- controller 2, modulator index 1. Value range of kv1 is 0-127.</para>
+<para><emphasis>kcross</emphasis> -- controller 4, crossfade of outputs. Value range of kv2 is 0-127.</para>
+<para><emphasis>klfo</emphasis> -- controller 11, speed of low-frequency oscillator. Value range of kv3 is 0-127.</para>
+<para><emphasis>klfodepth</emphasis> -- controller1, depth of low-frequency oscillator. Value range of kv4 is 0-127.</para>
+<para><emphasis>kadsr</emphasis> -- controller 128, ADSR 2 and 4 target. Value range of kv5 is 0-127.</para>
   </refsect1>
  
     <refsect1>
@@ -57,13 +51,18 @@
         The code for this opcode is taken directly from the Wurley class in the Synthesis Toolkit in C++ by Perry R. Cook and Gary P. Scavone. More on the STK classes can be found here:  
 <ulink url="https://ccrma.stanford.edu/software/stk/classes.html"><citetitle>https://ccrma.stanford.edu/software/stk/classes.html</citetitle></ulink>
 </para>
+      <para>
+        <emphasis>kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8</emphasis> -- Up to 8 optional k-rate controller pairs for the STK opcodes.
+      Each controller pair consists of a controller number (kc) followed by a controller value (kv). Both the controller numbers and the controller values are krate variables. However, during a performance, normally the controller numbers stay fixed while the corresponding controller values may change at any time.
+The order of the controller pair is arbitrary, as long as they are after <emphasis>iamplitude</emphasis>. Also, it is not needed that all controller pairs are used.
+</para>
     </note>
   </refsect1>
   
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the STKWurley opcode. It uses the file <ulink url="examples/STKWurley.csd"><citetitle>STKWurley.csd</citetitle></ulink>, and <ulink url="examples/fwavblnk.aiff"><citetitle>fwavblnk.aiff</citetitle></ulink>.
+      Here is an example of the STKWurley opcode. It uses the file <ulink url="examples/STKWurley.csd"><citetitle>STKWurley.csd</citetitle></ulink>.
      
       <example>
         <title>Example of the STKWurley opcode.</title>
@@ -75,7 +74,7 @@
   <refsect1>
     <title>See Also</title>
     <para>
-      <link linkend="STKRhodey"><citetitle>STKRhodey</citetitle></link>,
+      <link linkend="STKRhodey"><citetitle>STKRhodey</citetitle></link>.
     </para>
   </refsect1>
  
@@ -92,5 +91,3 @@
   </refsect1>
 </refentry>
 
-
-
diff --git a/opcodes/active.xml b/opcodes/active.xml
index c0dc049..eae1f82 100644
--- a/opcodes/active.xml
+++ b/opcodes/active.xml
@@ -48,7 +48,16 @@
     </para>
 
     <para>
-      <emphasis>active</emphasis> returns the number of active instances of instrument number <emphasis>insnum/kinsnum</emphasis> (or named instrument <emphasis>Sinsname</emphasis>). As of Csound 4.17 the output is updated at k-rate (if input arg is k-rate), to allow running count of instr instances.
+      <emphasis>active</emphasis> returns the number of active
+      instances of instrument number
+      <emphasis>insnum/kinsnum</emphasis> (or named instrument
+      <emphasis>Sinsname</emphasis>). As of Csound 4.17 the output is
+      updated at k-rate (if input arg is k-rate), to allow running
+      count of instr instances. 
+    </para>
+    <para>
+      As of Csound 5.17 if the instrument number is given as zero then
+      all instruments are counted.
     </para>
   </refsect1>
  
@@ -56,12 +65,21 @@
     <title>Examples</title>
 
     <para>
-      Here is a simple example of the active opcode. It uses the file <ulink url="examples/active.csd"><citetitle>active.csd</citetitle></ulink>.
+      Here is a simple example of the active opcode. It uses the file
+      <ulink
+          url="examples/active.csd"><citetitle>active.csd</citetitle></ulink>. 
 
       <example>
         <title>Simple example of the active opcode.</title>
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/active.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+        <para>
+          See the sections <link linkend="UsingRealTime"><citetitle>Real-time
+          Audio</citetitle></link> and <link
+          linkend="CommandFlags"><citetitle>Command Line
+          Flags</citetitle></link> for more information on using command
+          line flags.
+        </para> 
+        <xi:include href="examples-xml/active.csd.xml"
+                    xmlns:xi="http://www.w3.org/2001/XInclude"/> 
       </example>
 
       Its output should include lines like this:
@@ -108,5 +126,6 @@ instr 2:  icount = 2.000
     <para>Examples written by &namekevin;.</para>
     <para>New in Csound version 3.57; named instruments added version 5.13</para>
     <para>Option for all ever active new in 5.13</para>
+    <para>Count of all instruments new in 5.17</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/adds.xml b/opcodes/adds.xml
index c542f52..baa24c9 100644
--- a/opcodes/adds.xml
+++ b/opcodes/adds.xml
@@ -1,106 +1,121 @@
-
-<refentry id="adds">
-<indexterm id="IndexPlus"><primary>+</primary></indexterm>
-  <refentryinfo><title>Mathematical Operations:Arithmetic and Logic Operations</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>+</refentrytitle>
-  </refmeta>
-
-
- 
-  <refnamediv>
-    <refname>+</refname>
-
-    <refpurpose>
-      Addition operator
-          </refpurpose>
-  </refnamediv>
- 
-  <refsect1>
-    <title>Description</title>
-    <para>
-      Arithmetic operators perform operations of change-sign (negate), don't-change-sign, logical AND logical OR, add, subtract, multiply and divide. Note that a value or an expression may fall between two of these operators, either of which could take it as its left or right argument, as in
-      <literallayout>
-a + b * c.
-      </literallayout>
-    </para>
-
-    <para>
-      In such cases three rules apply:
-    </para>
-
-    <para>
-      1. * and <emphasis>/</emphasis> bind to their neighbors more strongly than + and −. Thus the above expression is taken as
-      <literallayout>  
-a + (b * c)
-      </literallayout>
-      with * taking b and c and then + taking a and b * c.
-    </para>
-
-    <para>
-      2. <emphasis>+</emphasis> and <emphasis>−</emphasis> bind more strongly than &&, which in turn is stronger than ||:
-      <literallayout>  
-a && b - c || d
-      </literallayout>
-      is taken as
-      <literallayout>  
-(a && (b - c)) || d
-      </literallayout>
-    </para>
-
-    <para>
-      3. When both operators bind equally strongly, the operations are done left to right:
-      <literallayout>  
-a - b - c
-      </literallayout>
-      is taken as
-      <literallayout>  
-(a - b) - c
-      </literallayout>
-    </para>
-
-    <para>
-      Parentheses may be used as above to force particular groupings.
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis><command>+</command>a  (no rate restriction)</synopsis>
-    <synopsis>a <command>+</command> b  (no rate restriction)</synopsis>
-
-    <para>
-      where the arguments <emphasis>a</emphasis> and <emphasis>b</emphasis> may be further expressions.
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the + operator. It uses the file <ulink url="examples/adds.csd"><citetitle>adds.csd</citetitle></ulink>.
-
-      <example>
-        <title>Example of the + operator.</title>
-
-        
-
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/adds.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>See Also</title>
-    <para>
-      <link linkend="subtracts"><citetitle>-</citetitle></link>, 
-      <link linkend="opand"><citetitle>&&</citetitle></link>, 
-      <link linkend="opor"><citetitle>||</citetitle></link>, 
-      <link linkend="multiplies"><citetitle>*</citetitle></link>, 
-      <link linkend="divides"><citetitle>/</citetitle></link>, 
-      <link linkend="raises"><citetitle>ˆ</citetitle></link>, 
-      <link linkend="modulus"><citetitle>%</citetitle></link>
-    </para>
-  </refsect1>
-
-</refentry>
+
+<refentry id="adds">
+<indexterm id="IndexPlus"><primary>+</primary></indexterm>
+  <refentryinfo><title>Mathematical Operations:Arithmetic and Logic Operations</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>+</refentrytitle>
+  </refmeta>
+
+
+ 
+  <refnamediv>
+    <refname>+</refname>
+
+    <refpurpose>
+      Addition operator
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Arithmetic operators perform operations of change-sign (negate), do-no-change-sign, logical AND logical OR, add, subtract, multiply and divide. Note that a value or an expression may fall between two of these operators, either of which could take it as its left or right argument, as in
+      <literallayout>
+a + b * c.
+      </literallayout>
+    </para>
+
+    <para>
+      In such cases three rules apply:
+    </para>
+
+    <para>
+      1. * and <emphasis>/</emphasis> bind to their neighbors more strongly than + and −. Thus the above expression is taken as
+      <literallayout>  
+a + (b * c)
+      </literallayout>
+      with * taking b and c and then + taking a and b * c.
+    </para>
+
+    <para>
+      2. <emphasis>+</emphasis> and <emphasis>−</emphasis>
+      bind more strongly than &&, which in turn is stronger
+      than ||:
+      <literallayout>  
+a && b - c || d
+      </literallayout>
+      is taken as
+      <literallayout>  
+(a && (b - c)) || d
+      </literallayout>
+    </para>
+
+    <para>
+      3. When both operators bind equally strongly, the operations are done left to right:
+      <literallayout>  
+a - b - c
+      </literallayout>
+      is taken as
+      <literallayout>  
+(a - b) - c
+      </literallayout>
+    </para>
+
+    <para>
+      Parentheses may be used as above to force particular groupings.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>+</command>a  (no rate restriction)</synopsis>
+    <synopsis>a <command>+</command> b  (no rate restriction)</synopsis>
+
+    <para>
+      where the arguments <emphasis>a</emphasis> and <emphasis>b</emphasis> may be further expressions.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Arguments</title>
+    <para>
+      The arguments of + can be scalar values or k-rate one
+      dimensional arrays (vectors), or any combination.  If one of the
+      arguments is an array, so is the value.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the + operator. It uses the file <ulink url="examples/adds.csd"><citetitle>adds.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the + operator.</title>
+
+        
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/adds.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="subtracts"><citetitle>-</citetitle></link>, 
+      <link linkend="opand"><citetitle>&&</citetitle></link>, 
+      <link linkend="opor"><citetitle>||</citetitle></link>, 
+      <link linkend="multiplies"><citetitle>*</citetitle></link>, 
+      <link linkend="divides"><citetitle>/</citetitle></link>, 
+      <link linkend="raises"><citetitle>ˆ</citetitle></link>, 
+      <link linkend="modulus"><citetitle>%</citetitle></link>
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>Credits</title>
+    <para>Arithmetic on vectors is new in version 6.00</para>
+  </refsect1>
+
+</refentry>
diff --git a/opcodes/alpass.xml b/opcodes/alpass.xml
index f716b1a..ad6c84a 100644
--- a/opcodes/alpass.xml
+++ b/opcodes/alpass.xml
@@ -24,7 +24,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>ares <command>alpass</command> asig, krvt, ilpt [, iskip] [, insmps]</synopsis>
+    <synopsis>ares <command>alpass</command> asig, xrvt, ilpt [, iskip] [, insmps]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -45,11 +45,11 @@
   <refsect1>
     <title>Performance</title>
     <para>
-      <emphasis>krvt</emphasis> -- the reverberation time (defined as the time in seconds for a signal to decay to 1/1000, or 60dB down from its original amplitude).
+      <emphasis>xrvt</emphasis> -- the reverberation time (defined as the time in seconds for a signal to decay to 1/1000, or 60dB down from its original amplitude).
     </para>
 
     <para>
-      This filter reiterates the input with an echo density determined by loop time <emphasis>ilpt</emphasis>. The attenuation rate is independent and is determined by <emphasis>krvt</emphasis>, the reverberation time (defined as the time in seconds for a signal to decay to 1/1000, or 60dB down from its original amplitude). Output will begin to appear immediately.
+      This filter reiterates the input with an echo density determined by loop time <emphasis>ilpt</emphasis>. The attenuation rate is independent and is determined by <emphasis>xrvt</emphasis>, the reverberation time (defined as the time in seconds for a signal to decay to 1/1000, or 60dB down from its original amplitude). Output will begin to appear immediately.
     </para>
   </refsect1>
  
@@ -81,13 +81,15 @@
 
   <refsect1>
     <title>Credits</title>
-    <para>
-      <simplelist>
-        <member>Author: William <quote>Pete</quote> Moss (<emphasis>vcomb</emphasis> and <emphasis>valpass</emphasis>)</member>
-        <member>University of Texas at Austin</member>
-        <member>Austin, Texas USA</member>
-        <member>January 2002</member>
-      </simplelist>
-    </para>
+    <!-- <para> -->
+    <!--   <simplelist> -->
+    <!--     <member>Author: William <quote>Pete</quote> Moss (<emphasis>vcomb</emphasis> and <emphasis>valpass</emphasis>)</member> -->
+    <!--     <member>University of Texas at Austin</member> -->
+    <!--     <member>Austin, Texas USA</member> -->
+    <!--     <member>January 2002</member> -->
+    <!--   </simplelist> -->
+    <!-- </para> -->
+    <para>Audio rate parameter introduced in version 6.02</para>
+    <para>November 2013.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/areson.xml b/opcodes/areson.xml
index aead8e2..030b666 100644
--- a/opcodes/areson.xml
+++ b/opcodes/areson.xml
@@ -11,26 +11,41 @@
   <refnamediv>
     <refname>areson</refname>
     <refpurpose>
-      A notch filter whose transfer functions are the complements of the reson opcode.
-          </refpurpose>
+      A notch filter whose transfer functions are the complements of
+      the reson opcode. 
+    </refpurpose>
   </refnamediv>
  
   <refsect1>
     <title>Description</title>
     <para>
-      A notch filter whose transfer functions are the complements of the reson opcode.
+      A notch filter whose transfer functions are the complements of
+      the reson opcode. 
     </para>
   </refsect1>
  
   <refsect1>
     <title>Syntax</title>
     <synopsis>ares <command>areson</command> asig, kcf, kbw [, iscl] [, iskip]</synopsis>
+    <synopsis>ares <command>areson</command> asig, acf, kbw [, iscl] [, iskip]</synopsis>
+    <synopsis>ares <command>areson</command> asig, kcf, abw [, iscl] [, iskip]</synopsis>
+    <synopsis>ares <command>areson</command> asig, acf, abw [, iscl] [, iskip]</synopsis>
   </refsect1>
  
   <refsect1>
     <title>Initialization</title>
     <para>
-      <emphasis>iscl</emphasis> (optional, default=0) -- coded scaling factor for resonators. A value of 1 signifies a peak response factor of 1, i.e. all frequencies other than kcf are attenuated in accordance with the (normalized) response curve. A value of 2 raises the response factor so that its overall RMS value equals 1. (This intended equalization of input and output power assumes all frequencies are physically present; hence it is most applicable to white noise.) A zero value signifies no scaling of the signal, leaving that to some later adjustment (see <link linkend="balance"><citetitle>balance</citetitle></link>). The default value is 0.
+      <emphasis>iscl</emphasis> (optional, default=0) -- coded scaling
+      factor for resonators. A value of 1 signifies a peak response
+      factor of 1, i.e. all frequencies other than kcf/acf are attenuated
+      in accordance with the (normalized) response curve. A value of 2
+      raises the response factor so that its overall RMS value equals
+      1. (This intended equalization of input and output power assumes
+      all frequencies are physically present; hence it is most
+      applicable to white noise.) A zero value signifies no scaling of
+      the signal, leaving that to some later adjustment (see <link
+      linkend="balance"><citetitle>balance</citetitle></link>). The
+      default value is 0. 
     </para>
 
     <para>
@@ -49,19 +64,41 @@
     </para>
 
     <para>
-      <emphasis>kcf</emphasis> -- the center frequency of the filter, or frequency position of the peak response.
+      <emphasis>kcf</emphasis>/<emphasis>acf</emphasis>  -- the center
+      frequency of the filter, or frequency position of the peak
+      response. 
     </para>
 
     <para>
-      <emphasis>kbw</emphasis> -- bandwidth of the filter (the Hz difference between the upper and lower half-power points).
+      <emphasis>kbw</emphasis>/<emphasis>abw</emphasis> -- bandwidth
+      of the filter (the Hz difference between the upper and lower
+      half-power points). 
     </para>
 
     <para>
-      <emphasis>areson</emphasis> is a filter whose transfer functions is the complement of <link linkend="reson"><citetitle>reson</citetitle></link>. Thus <emphasis>areson</emphasis> is a notch filter whose transfer functions represents the <quote>filtered out</quote> aspects of their complements. However, power scaling is not normalized in <emphasis>areson</emphasis> but remains the true complement of the corresponding unit. Thus an audio signal, filtered by parallel matching <emphasis>reson</emphasis> and <emphasis>areson</emphasis> units, would under addition simply reconstruct the original spectrum. 
+      <emphasis>areson</emphasis> is a filter whose transfer functions
+      is the complement of <link
+      linkend="reson"><citetitle>reson</citetitle></link>. Thus
+      <emphasis>areson</emphasis> is a notch filter whose transfer
+      functions represents the <quote>filtered out</quote> aspects of
+      their complements. However, power scaling is not normalized in
+      <emphasis>areson</emphasis> but remains the true complement of
+      the corresponding unit. Thus an audio signal, filtered by
+      parallel matching <emphasis>reson</emphasis> and
+      <emphasis>areson</emphasis> units, would under addition simply
+      reconstruct the original spectrum.
     </para>
 
     <para>
-      This property is particularly useful for controlled mixing of different sources (see <link linkend="lpreson"><citetitle>lpreson</citetitle></link>). Complex response curves such as those with multiple peaks can be obtained by using a bank of suitable filters in series. (The resultant response is the product of the component responses.) In such cases, the combined attenuation may result in a serious loss of signal power, but this can be regained by the use of <link linkend="balance"><citetitle>balance</citetitle></link>.
+      This property is particularly useful for controlled mixing of
+      different sources (see <link
+      linkend="lpreson"><citetitle>lpreson</citetitle></link>). Complex
+      response curves such as those with multiple peaks can be
+      obtained by using a bank of suitable filters in series. (The
+      resultant response is the product of the component responses.)
+      In such cases, the combined attenuation may result in a serious
+      loss of signal power, but this can be regained by the use of
+      <link linkend="balance"><citetitle>balance</citetitle></link>.
     </para>
   </refsect1>
 
@@ -72,7 +109,6 @@
 
       <example>
         <title>Example of the areson opcode.</title>
-
         
 
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
@@ -95,4 +131,10 @@
       <link linkend="tonek"><citetitle>tonek</citetitle></link>
     </para>
   </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>Audio rate parameters introduced in version 6.02</para>
+    <para>October 2013.</para>
+  </refsect1>
 </refentry>
diff --git a/opcodes/array.xml b/opcodes/array.xml
new file mode 100644
index 0000000..a614246
--- /dev/null
+++ b/opcodes/array.xml
@@ -0,0 +1,67 @@
+
+<refentry id="array">
+<indexterm id="IndexArray"><primary>array</primary></indexterm>
+
+  <refentryinfo><title>Table Control:Table Queries</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>array</refentrytitle>
+  </refmeta>
+
+   <refnamediv>
+    <refname>array</refname>
+    <refpurpose>
+      Generate a vector with initial values.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Generate a vector (one-dimensional k-rate array) with initial values.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+      <synopsis>karray[] <command>array</command> ival1, ival2,.....ivaln</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ival1,...ivaln</emphasis> -- values to place in the vector.
+    </para>
+  </refsect1>
+
+ <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the array opcode. It uses the file <ulink url="examples/array.csd"><citetitle>array.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the array opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/array.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="vectorial"><citetitle></citetitle>Vectorial opcodes</link>
+      <link linkend="fillarray"><citetitle></citetitle>fillarray</link>
+</para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>Codemist Ltd</member>
+        <member>2013</member>
+      </simplelist>
+    </para>
+    <para>New in version 6.00</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/assign.xml b/opcodes/assign.xml
index 827023b..4a29dd9 100644
--- a/opcodes/assign.xml
+++ b/opcodes/assign.xml
@@ -23,6 +23,7 @@
     <synopsis>kres <command>=</command> karg</synopsis>
     <synopsis>ires, ... <command>=</command> iarg, ...</synopsis>
     <synopsis>kres, ... <command>=</command> karg, ...</synopsis>
+    <synopsis>table [ kval] <command>=</command> karg</synopsis>
   </refsect1>
 
   <refsect1>
@@ -43,6 +44,10 @@
       number of inputs.  If there are less the last value is repeated
       as necessary.
     </para>
+    <para>
+      From version 5.14 values can be assigned to elements of a vector
+      with the square bracket form.
+    </para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/atonex.xml b/opcodes/atonex.xml
index 7dffcfa..5405e1f 100644
--- a/opcodes/atonex.xml
+++ b/opcodes/atonex.xml
@@ -25,6 +25,7 @@
   <refsect1>
     <title>Syntax</title>
     <synopsis>ares <command>atonex</command> asig, khp [, inumlayer] [, iskip]</synopsis>
+    <synopsis>ares <command>atonex</command> asig, ahp [, inumlayer] [, iskip]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -45,7 +46,7 @@
     </para>
 
     <para>
-      <emphasis>khp</emphasis> -- the response curve's half-power point. Half power is defined as peak power / root 2.
+      <emphasis>khp</emphasis>/<emphasis>ahp</emphasis> -- the response curve's half-power point. Half power is defined as peak power / root 2.
     </para>
     
   </refsect1>
@@ -80,7 +81,8 @@
         <member>Italy</member>
       </simplelist>
     </para>
-    
-<para>New in Csound version 3.49</para>
+    <para>New in Csound version 3.49</para>
+    <para>Audio rate parameters introduced in version 6.02</para>
+    <para>October 2013.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/barmodel.xml b/opcodes/barmodel.xml
index b3ab441..d6ed290 100644
--- a/opcodes/barmodel.xml
+++ b/opcodes/barmodel.xml
@@ -1,121 +1,121 @@
-
-<refentry id="barmodel">
-<indexterm id="IndexBarmodel"><primary>barmodel</primary></indexterm>
-  <refentryinfo><title>Signal Generators:Models and Emulations</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>barmodel</refentrytitle>
-  </refmeta>
-
-
- 
-  <refnamediv>
-    <refname>barmodel</refname>
-    <refpurpose>
-      Creates a tone similar to a struck metal bar.
-    </refpurpose>
-  </refnamediv>
- 
-  <refsect1>
-    <title>Description</title>
-    <para>
-      Audio output is a tone similar to a struck metal bar, using a
-    physical model developed from solving the partial differential
-    equation.  There are controls over the boundary conditions as
-    well as the bar characteristics.
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis>ares <command>barmodel</command> kbcL, kbcR, iK, ib, kscan, iT30, ipos, ivel, iwid</synopsis>
-  </refsect1>
- 
-  <refsect1>
-    <title>Initialization</title>
-    <para>
-    <emphasis>iK</emphasis> -- dimensionless stiffness parameter.  If
-    this parameter is negative then the initialisation is skipped and
-    the previous state of the bar is continued.
-    </para>
-
-    <para>
-    <emphasis>ib</emphasis> -- high-frequency loss parameter (keep this small).
-    </para>
-
-    <para>
-    <emphasis>iT30</emphasis> -- 30 db decay time in seconds.
-    </para>
-
-    <para>
-    <emphasis>ipos</emphasis> -- position along the bar that the strike occurs.
-    </para>
-
-    <para>
-    <emphasis>ivel</emphasis> -- normalized strike velocity.
-    </para>
-
-    <para>
-    <emphasis>iwid</emphasis> -- spatial width of strike.
-    </para>
-
-  </refsect1>
- 
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      A note is played on a metalic bar, with the arguments as below.
-    </para>
-
-    <para>
-      <emphasis>kbcL</emphasis> -- Boundary condition at left end of
-    bar (1 is clamped, 2 pivoting and 3 free).
-    </para>
-
-    <para>
-      <emphasis>kbcR</emphasis> -- Boundary condition at right end of
-    bar (1 is clamped, 2 pivoting and 3 free).
-    </para>
-
-    <para>
-      <emphasis>kscan</emphasis> -- Speed of scanning the output location.
-    </para>
-
-    <para>
-      Note that changing the boundary conditions during playing may
-  lead to glitches and is made available as an experiment.  The use of
-  a non-zero <emphasis>kscan</emphasis> can give apparent re-introduction of sound due to
-  modulation.
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the barmodel opcode. It uses the file <ulink url="examples/barmodel.csd"><citetitle>barmodel.csd</citetitle></ulink>.
-
-      <example>
-        <title>Example of the barmodel opcode.</title>
-
-        
-
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/barmodel.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Credits</title>
-    <para>
-      <simplelist>
-        <member>Author: Stefan Bilbao </member>
-        <member>University of Edinburgh, UK</member>
-        <member>Author: &namejohn; </member>
-        <member>University of Bath, Codemist Ltd.</member>
-        <member>Bath, UK</member>
-      </simplelist>
-    </para>
-
-    <para>New in Csound version 5.01</para>
-  </refsect1>
-</refentry>
+
+<refentry id="barmodel">
+<indexterm id="IndexBarmodel"><primary>barmodel</primary></indexterm>
+  <refentryinfo><title>Signal Generators:Models and Emulations</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>barmodel</refentrytitle>
+  </refmeta>
+
+
+ 
+  <refnamediv>
+    <refname>barmodel</refname>
+    <refpurpose>
+      Creates a tone similar to a struck metal bar.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Audio output is a tone similar to a struck metal bar, using a
+    physical model developed from solving the partial differential
+    equation.  There are controls over the boundary conditions as
+    well as the bar characteristics.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>barmodel</command> kbcL, kbcR, iK, ib, kscan, iT30, ipos, ivel, iwid</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+    <emphasis>iK</emphasis> -- dimensionless stiffness parameter.  If
+    this parameter is negative then the initialisation is skipped and
+    the previous state of the bar is continued.
+    </para>
+
+    <para>
+    <emphasis>ib</emphasis> -- high-frequency loss parameter (keep this small).
+    </para>
+
+    <para>
+    <emphasis>iT30</emphasis> -- 30 db decay time in seconds.
+    </para>
+
+    <para>
+    <emphasis>ipos</emphasis> -- position along the bar that the strike occurs.
+    </para>
+
+    <para>
+    <emphasis>ivel</emphasis> -- normalized strike velocity.
+    </para>
+
+    <para>
+    <emphasis>iwid</emphasis> -- spatial width of strike.
+    </para>
+
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      A note is played on a metalic bar, with the arguments as below.
+    </para>
+
+    <para>
+      <emphasis>kbcL</emphasis> -- Boundary condition at left end of
+    bar (1 is clamped, 2 pivoting and 3 free).
+    </para>
+
+    <para>
+      <emphasis>kbcR</emphasis> -- Boundary condition at right end of
+    bar (1 is clamped, 2 pivoting and 3 free).
+    </para>
+
+    <para>
+      <emphasis>kscan</emphasis> -- Speed of scanning the output location.
+    </para>
+
+    <para>
+      Note that changing the boundary conditions during playing may
+  lead to glitches and is made available as an experiment.  The use of
+  a non-zero <emphasis>kscan</emphasis> can give apparent re-introduction of sound due to
+  modulation.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the barmodel opcode. It uses the file <ulink url="examples/barmodel.csd"><citetitle>barmodel.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the barmodel opcode.</title>
+
+        
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/barmodel.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: Stefan Bilbao </member>
+        <member>University of Edinburgh, UK</member>
+        <member>Author: &namejohn; </member>
+        <member>University of Bath, Codemist Ltd.</member>
+        <member>Bath, UK</member>
+      </simplelist>
+    </para>
+
+    <para>New in Csound version 5.01</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/bformdec1.xml b/opcodes/bformdec1.xml
index fc88f31..89330ef 100644
--- a/opcodes/bformdec1.xml
+++ b/opcodes/bformdec1.xml
@@ -33,7 +33,9 @@
     <synopsis>ao1, ao2, ao3, ao4, ao5 <command>bformdec1</command> isetup, aw, ax, ay, az [, ar, as, \
       at, au, av [, abk, al, am, an, ao, ap, aq]]</synopsis>
     <synopsis>ao1, ao2, ao3, ao4, ao5, ao6, ao7, ao8 <command>bformdec1</command> isetup, aw, ax, ay, az \
-      [, ar, as, at, au, av [, abk, al, am, an, ao, ap, aq]]]</synopsis>
+      [, ar, as, at, au, av [, abk, al, am, an, ao, ap,
+    aq]]]</synopsis>
+    <synopsis>aout[] <command>bformdec1</command> isetup, abform[]</synopsis>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/bformenc1.xml b/opcodes/bformenc1.xml
index 103ee44..e141dce 100644
--- a/opcodes/bformenc1.xml
+++ b/opcodes/bformenc1.xml
@@ -26,6 +26,7 @@
     <synopsis>aw, ax, ay, az, ar, as, at, au, av <command>bformenc1</command> asig, kalpha, kbeta</synopsis>
     <synopsis>aw, ax, ay, az, ar, as, at, au, av, ak, al, am, an, ao, ap, aq <command>bformenc1</command> \
       asig, kalpha, kbeta</synopsis>
+     <synopsis>aarray[] <command>bformenc1</command> asig, kalpha, kbeta</synopsis>
   </refsect1>
 
   <!-- <refsect1>
@@ -44,6 +45,11 @@
     </para>
 
     <para>
+      <emphasis>aarray</emphasis>
+      -- output array to hold cells of the B format.
+    </para>
+
+    <para>
       <emphasis>asig</emphasis> -- input signal.
     </para>
 
@@ -86,5 +92,7 @@
       </simplelist>
     </para>
     <para>New in version 5.09</para>
+    <para>Array output new in version 6.01</para>
+
   </refsect1>
 </refentry>
diff --git a/opcodes/buthp.xml b/opcodes/buthp.xml
index 70f7b2d..fd9b605 100644
--- a/opcodes/buthp.xml
+++ b/opcodes/buthp.xml
@@ -6,13 +6,11 @@
     <refentrytitle>buthp</refentrytitle>
   </refmeta>
 
-
-
   <refnamediv>
     <refname>buthp</refname>
     <refpurpose>
       Same as the butterhp opcode.
-          </refpurpose>
+    </refpurpose>
   </refnamediv>
   
   <refsect1>
@@ -25,5 +23,6 @@
   <refsect1>
     <title>Syntax</title>
     <synopsis>ares <command>buthp</command> asig, kfreq [, iskip]</synopsis>
+    <synopsis>ares <command>buthp</command> asig, afreq [, iskip]</synopsis>
   </refsect1>
 </refentry>
diff --git a/opcodes/butlp.xml b/opcodes/butlp.xml
index 6e52b8b..6e3f825 100644
--- a/opcodes/butlp.xml
+++ b/opcodes/butlp.xml
@@ -25,5 +25,6 @@
   <refsect1>
     <title>Syntax</title>
     <synopsis>ares <command>butlp</command> asig, kfreq [, iskip]</synopsis>
+    <synopsis>ares <command>butlp</command> asig, afreq [, iskip]</synopsis>
   </refsect1>
 </refentry>
diff --git a/opcodes/butterbp.xml b/opcodes/butterbp.xml
index d6b6f50..0386930 100644
--- a/opcodes/butterbp.xml
+++ b/opcodes/butterbp.xml
@@ -24,7 +24,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>ares <command>butterbp</command> asig, kfreq, kband [, iskip]</synopsis>
+    <synopsis>ares <command>butterbp</command> asig, xfreq, xband [, iskip]</synopsis>
   </refsect1>
 
   <refsect1>
@@ -45,11 +45,11 @@
     </para>
 
     <para>
-      <emphasis>kfreq</emphasis> -- Cutoff or center frequency for each of the filters.
+      <emphasis>xfreq</emphasis> -- Cutoff or center frequency for each of the filters.
     </para>
 
     <para>
-      <emphasis>kband</emphasis> -- Bandwidth of the bandpass and bandreject filters.
+      <emphasis>xband</emphasis> -- Bandwidth of the bandpass and bandreject filters.
     </para>
   </refsect1>
  
@@ -84,5 +84,7 @@
       </simplelist>
     </para>
     <para>Existed in 3.30</para>
+    <para>Audio rate parameters introduced in version 6.02</para>
+    <para>October 2013.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/butterbr.xml b/opcodes/butterbr.xml
index 99896d1..992015e 100644
--- a/opcodes/butterbr.xml
+++ b/opcodes/butterbr.xml
@@ -24,7 +24,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>ares <command>butterbr</command> asig, kfreq, kband [, iskip]</synopsis>
+    <synopsis>ares <command>butterbr</command> asig, xfreq, xband [, iskip]</synopsis>
   </refsect1>
 
   <refsect1>
@@ -45,11 +45,11 @@
     </para>
 
     <para>
-      <emphasis>kfreq</emphasis> -- Cutoff or center frequency for each of the filters.
+      <emphasis>xfreq</emphasis> -- Cutoff or center frequency for each of the filters.
     </para>
 
     <para>
-      <emphasis>kband</emphasis> -- Bandwidth of the bandpass and bandreject filters.
+      <emphasis>xband</emphasis> -- Bandwidth of the bandpass and bandreject filters.
     </para>
   </refsect1>
  
@@ -88,5 +88,7 @@
       </simplelist>
     </para>
     <para>Existed in 3.30</para>
+    <para>Audio rate parameters introduced in version 6.02</para>
+    <para>October 2013.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/butterhp.xml b/opcodes/butterhp.xml
index 065635f..021bac3 100644
--- a/opcodes/butterhp.xml
+++ b/opcodes/butterhp.xml
@@ -25,6 +25,7 @@
   <refsect1>
     <title>Syntax</title>
     <synopsis>ares <command>butterhp</command> asig, kfreq [, iskip]</synopsis>
+    <synopsis>ares <command>butterhp</command> asig, afreq [, iskip]</synopsis>
   </refsect1>
 
   <refsect1>
@@ -45,7 +46,7 @@
     </para>
 
     <para>
-      <emphasis>kfreq</emphasis> -- Cutoff or center frequency for each of the filters.
+      <emphasis>kfreq</emphasis>/<emphasis>afreq</emphasis> -- Cutoff or center frequency for each of the filters.
     </para>
   </refsect1>
  
@@ -84,5 +85,7 @@
       </simplelist>
     </para>
     <para>Existed in 3.30</para>
+    <para>Audio rate parameters introduced in version 6.02</para>
+    <para>October 2013.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/butterlp.xml b/opcodes/butterlp.xml
index a304e6b..5963622 100644
--- a/opcodes/butterlp.xml
+++ b/opcodes/butterlp.xml
@@ -12,7 +12,7 @@
     <refname>butterlp</refname>
     <refpurpose>
       A low-pass Butterworth filter.
-          </refpurpose>
+    </refpurpose>
   </refnamediv>
  
   <refsect1>
@@ -25,6 +25,7 @@
   <refsect1>
     <title>Syntax</title>
     <synopsis>ares <command>butterlp</command> asig, kfreq [, iskip]</synopsis>
+    <synopsis>ares <command>butterlp</command> asig, afreq [, iskip]</synopsis>
   </refsect1>
 
   <refsect1>
@@ -45,7 +46,7 @@
     </para>
 
     <para>
-      <emphasis>kfreq</emphasis> -- Cutoff or center frequency for each of the filters.
+      <emphasis>kfreq</emphasis>/<emphasis>afreq</emphasis> -- Cutoff or center frequency for each of the filters.
     </para>
   </refsect1>
  
@@ -84,5 +85,7 @@
       </simplelist>
     </para>
     <para>Existed in 3.30</para>
+    <para>Audio rate parameters introduced in version 6.02</para>
+    <para>October 2013.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/cauchyi.xml b/opcodes/cauchyi.xml
new file mode 100644
index 0000000..6057503
--- /dev/null
+++ b/opcodes/cauchyi.xml
@@ -0,0 +1,97 @@
+
+<refentry id="cauchyi">
+<indexterm id="IndexCauchyiXClass"><primary>x-class noise generators</primary></indexterm>
+
+<indexterm id="IndexCauchyi"><primary>cauchyi</primary></indexterm>
+  <refentryinfo><title>Signal Generators:Random (Noise) Generators</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>cauchyi</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>cauchyi</refname>
+    <refpurpose>
+      Cauchy distribution random number generator with
+      interpolation.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Cauchy distribution random number generator with controlled
+      interpolation between values. This is an x-class noise
+      generator.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>cauchyi</command> klambda, xamp, xcps</synopsis>
+    <synopsis>ires <command>cauchyi</command> klambda, xamp, xcps</synopsis>
+    <synopsis>kres <command>cauchyi</command> klambda, xamp, xcps</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kalpha</emphasis> -- controls the spread from zero (big <emphasis>kalpha</emphasis> = big spread). Outputs both positive and negative numbers.
+    </para>
+
+    <para>
+      For more detailed explanation of these distributions, see:
+      <orderedlist>
+        <listitem>
+          <para>C. Dodge - T.A. Jerse 1985. Computer music. Schirmer books. pp.265 - 286</para>
+        </listitem>
+
+        <listitem>
+          <para>D. Lorrain. A panoply of stochastic cannons. In C. Roads, ed. 1989. Music machine . Cambridge, Massachusetts: MIT press, pp. 351 - 379.</para>
+        </listitem>
+      </orderedlist>
+    </para>
+
+    <para>
+      <emphasis>xamp</emphasis> -- range over which random numbers are distributed.
+    </para>
+
+    <para>
+      <emphasis>xcps</emphasis> -- the frequency which new random
+      numbers are generated. 
+    </para>
+
+  </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the cauchyi opcode. It uses the file <ulink url="examples/cauchyi.csd"><citetitle>cauchyi.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the cauchyi opcode.</title>
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/cauchyi.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="cauchy"><citetitle>cauchy</citetitle></link>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>Bath</member>
+        <member>May 2011</member>
+        <member>New in version 5.14</member>
+      </simplelist>
+    </para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/ceil.xml b/opcodes/ceil.xml
index 449f828..906738d 100644
--- a/opcodes/ceil.xml
+++ b/opcodes/ceil.xml
@@ -38,13 +38,11 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the ceil opcode. It uses the file <ulink url="examples/ceil.csd"><citetitle>ceil.csd</citetitle></ulink>.
+      Here is an example of the ceil opcode. It uses the file <ulink
+      url="examples/ceil.csd"><citetitle>ceil.csd</citetitle></ulink>. 
 
       <example>
         <title>Example of the ceil opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/ceil.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
diff --git a/opcodes/cell.xml b/opcodes/cell.xml
new file mode 100644
index 0000000..1bcf9f2
--- /dev/null
+++ b/opcodes/cell.xml
@@ -0,0 +1,119 @@
+<refentry id="cell">
+<indexterm id="IndexCell"><primary>cell</primary></indexterm>
+  <refentryinfo><title>Vectorial:Cellular Automata</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>cell</refentrytitle>
+  </refmeta>
+
+
+
+  <refnamediv>
+    <refname>cell</refname>
+
+    <refpurpose>
+      Cellular Automaton
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+	 One-Dimensional Cellular Automaton. This opcode is the
+         modified version of <emphasis>vcella</emphasis> by Gabriel Maldonado.
+    </para>
+  </refsect1>
+
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>cell</command> ktrig, kreinit, ioutFunc, initStateFunc, iRuleFunc, ielements</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ioutFunc</emphasis> -- number of the table where the state of each cell is stored.
+    </para>
+
+    <para>
+      <emphasis>initStateFunc</emphasis> -- number of the table
+      containing the inital states of cells. 
+    </para>
+
+    <para>
+      <emphasis>iRuleFunc</emphasis> -- number of a lookup table
+      containing the 8-bit rule.
+    </para>
+
+    <para>
+      <emphasis>ielements</emphasis> -- total number of cells in a row. 
+    </para>
+
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>ktri</emphasis> -- trigger signal. Each time it is
+      non-zero, a new generation of cells is evaluated. 
+    </para>
+
+    <para>
+      <emphasis>kreinit</emphasis> -- reset signal. Each time it is
+      non-zero, state of all cells is forced to be that of
+      initStateFunc.
+    </para>
+
+    <para>
+      <emphasis>cell</emphasis> models a classical 1D cellular
+      automaton and stores the state of each cell in the table
+      identified by <emphasis>ioutFunc</emphasis>.
+    </para>
+    <para>
+      <emphasis>initStateFunc</emphasis> is an input vector containing
+      the inital value of the row of cells, while
+      <emphasis>iRuleFunc</emphasis> is an input vector containing the
+      chosen rule in the binary form (least significant bit first). 
+    </para>
+    <para>
+      A new generation of cells is evaluated each time
+      <emphasis>ktrig</emphasis> contains a non-zero value.  Also the
+      status of all cells can be forced to assume the status
+      corresponding to the contents of
+      <emphasis>initStateFunc</emphasis> each time
+      <emphasis>kreinit</emphasis> contains a non-zero value.
+    </para>
+    <para>
+      Note that each cell is supposed to be in one of two possible
+      states (1 = "alive", 0 = "dead"), although fractional values
+      should work too, because truncation is used. 
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is a simple example of the cell opcode. It uses the file
+      <ulink
+          url="examples/cell.csd"><citetitle>cell.csd</citetitle></ulink>. 
+      <example>
+        <title>A simple example of the cell opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/cell.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: Gleb Rogozinsky</member>
+        <member>October 2011</member>
+      </simplelist>
+    </para>
+
+    <para>New in Csound version 5.16.6</para>
+  </refsect1>
+</refentry>
+
diff --git a/opcodes/centroid.xml b/opcodes/centroid.xml
new file mode 100644
index 0000000..2e606e8
--- /dev/null
+++ b/opcodes/centroid.xml
@@ -0,0 +1,74 @@
+
+<refentry id="centroid">
+<indexterm id="IndexCentroid"><primary>centroid</primary></indexterm>
+  <refentryinfo><title>Spectral Processing:Other</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>centroid</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>centroid</refname>
+    <refpurpose>
+      Calculate the spectral centroid of a signal.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Calculate the spectral centroid of an audio signal on a given trigger.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>kcent <command>centroid</command> asig, ktrig, ifftsize</synopsis>
+  </refsect1>
+
+  <refsect1>
+     <title>Initialization</title>
+     <emphasis>ifftsize</emphasis>  -- fftsize. Non pow-of-two values are converted to the next pow-of-two not smaller than ifftsize. 
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kcent</emphasis> -- the spectral centroid in Hz
+    </para>
+    <para>
+      <emphasis>asig</emphasis> -- an input audio signal
+    </para>
+      <para>
+      <emphasis>ktrig</emphasis> -- 1 to calculate a new centroid, 0 to skip the process (and output previous value).
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the centroid opcode. It uses the file <ulink url="examples/centroid.csd"><citetitle>centroid.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the centroid opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/centroid.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="pvscent"><citetitle>pvscent</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: V Lazzarini;</member>
+        <member>August 2012</member>
+      </simplelist>
+    </para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/chn.xml b/opcodes/chn.xml
index 16e7355..089a2bc 100644
--- a/opcodes/chn.xml
+++ b/opcodes/chn.xml
@@ -1,4 +1,4 @@
-
+
 <refentry id="chn">
 <indexterm id="Indexchn"><primary>chn</primary></indexterm>
   <refentryinfo><title>Signal I/O:Software Bus</title></refentryinfo>
@@ -28,7 +28,7 @@
 
   <refsect1>
     <title>Syntax</title>
-      <synopsis> <command>chn_k</command> Sname, imode[, itype, idflt, imin, imax]</synopsis>
+      <synopsis> <command>chn_k</command> Sname, imode[, itype, idflt, imin, ima, ix, iy, iwidth, iheight, Sattributes]</synopsis>
       <synopsis> <command>chn_a</command> Sname, imode</synopsis>
       <synopsis> <command>chn_S</command> Sname, imode</synopsis>
   </refsect1>
@@ -83,6 +83,21 @@
       Must be greater than <emphasis>imin</emphasis>. In the case of exponential
       scale, it should also match the sign of <emphasis>imin</emphasis>.
     </para>
+    <para>
+      <emphasis>ix</emphasis> -- suggested x position for controller.
+    </para>
+    <para>
+      <emphasis>iy</emphasis> -- suggested y position for controller.
+    </para>
+    <para>
+      <emphasis>iwidth</emphasis> -- suggested width position for controller.
+    </para>
+    <para>
+      <emphasis>iheight</emphasis> -- suggested height position for controller.
+    </para>
+    <para>
+      <emphasis>Sattributes</emphasis> -- attributes for controller.
+    </para>
 
   </refsect1>
 
diff --git a/opcodes/chnclear.xml b/opcodes/chnclear.xml
index b7e8c4d..c37a966 100644
--- a/opcodes/chnclear.xml
+++ b/opcodes/chnclear.xml
@@ -34,7 +34,18 @@
       named channel of the software bus to clear.
     </para>
   </refsect1>
-
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the chnclear opcode. It uses the file <ulink url="examples/chnclear.csd"><citetitle>chnclear.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the chnclear opcode.</title>
+        <xi:include href="examples-xml/chnclear.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
   <refsect1>
     <title>Credits</title>
     <para>
diff --git a/opcodes/chnget.xml b/opcodes/chnget.xml
index 5c4bb52..d53ec29 100644
--- a/opcodes/chnget.xml
+++ b/opcodes/chnget.xml
@@ -75,9 +75,15 @@
                 <emphasis role="opc">out</emphasis>       a2
         <emphasis role="oblock">endin</emphasis>
       </programlisting>
-    </informalexample>
-
-  </refsect1>
+    </informalexample>
+    <para>
+      Here is another example of the chnget opcode. It uses the file <ulink url="examples/chnget.csd"><citetitle>chnget.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the chnget opcode.</title>
+        <xi:include href="examples-xml/chnget.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>Credits</title>
diff --git a/opcodes/chnmix.xml b/opcodes/chnmix.xml
index 6e7a262..3b55f89 100644
--- a/opcodes/chnmix.xml
+++ b/opcodes/chnmix.xml
@@ -43,7 +43,18 @@
       time.
     </para>
   </refsect1>
-
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the chnmix opcode. It uses the file <ulink url="examples/chnmix.csd"><citetitle>chnmix.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the chnmix opcode.</title>
+        <xi:include href="examples-xml/chnmix.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
   <refsect1>
     <title>Credits</title>
     <para>
diff --git a/opcodes/chnrecv.xml b/opcodes/chnrecv.xml
index 159a57e..5057389 100644
--- a/opcodes/chnrecv.xml
+++ b/opcodes/chnrecv.xml
@@ -19,6 +19,11 @@
       Receives data from a channel of the inward named software bus.
       Implies declaring the channel with imode=1 (see also chn_k, chn_a,
       and chn_S).
+      Note that 
+      chnsend/chnrecv (which in Csound6 work identically to invalue/outvalue) 
+      are usually used for the callback-based communication between Csound and 
+      an external host. Use the chnset/chnget opcodes for sending and receiving 
+      data inside Csound.
     </para>
   </refsect1>
 
diff --git a/opcodes/chnsend.xml b/opcodes/chnsend.xml
index fea00a9..d7f5bed 100644
--- a/opcodes/chnsend.xml
+++ b/opcodes/chnsend.xml
@@ -17,7 +17,11 @@
     <title>Description</title>
     <para>
       Send to a channel of the named software bus. Implies declaring the
-      channel with imode=2 (see also chn_k, chn_a, and chn_S).
+      channel with imode=2 (see also chn_k, chn_a, and chn_S). Note that 
+      chnsend/chnrecv (which in Csound6 work identically to invalue/outvalue) 
+      are usually used for the callback-based communication between Csound and 
+      an external host. Use the chnset/chnget opcodes for sending and receiving 
+      data inside Csound.
     </para>
   </refsect1>
 
diff --git a/opcodes/chnset.xml b/opcodes/chnset.xml
index 624532d..4f8d840 100644
--- a/opcodes/chnset.xml
+++ b/opcodes/chnset.xml
@@ -77,7 +77,13 @@
         <emphasis role="oblock">endin</emphasis>
       </programlisting>
     </informalexample>
-
+    <para>
+      Here is another example of the chnset opcode. It uses the file <ulink url="examples/chnset.csd"><citetitle>chnset.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the chnset opcode.</title>
+        <xi:include href="examples-xml/chnset.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/comb.xml b/opcodes/comb.xml
index 178338d..ce5d80e 100644
--- a/opcodes/comb.xml
+++ b/opcodes/comb.xml
@@ -30,7 +30,20 @@
   <refsect1>
     <title>Initialization</title>
     <para>
-      <emphasis>ilpt</emphasis> -- loop time in seconds, which determines the <quote>echo density</quote> of the reverberation. This in turn characterizes the <quote>color</quote> of the <emphasis>comb</emphasis> filter whose frequency response curve will contain <emphasis>ilpt</emphasis> * <emphasis>sr</emphasis>/2 peaks spaced evenly between 0 and <emphasis>sr</emphasis>/2 (the Nyquist frequency). Loop time can be as large as available memory will permit. The space required for an <emphasis>n</emphasis> second loop is 4<emphasis>n</emphasis>*<emphasis>sr</emphasis> bytes. Delay space is allocated and returned as in <link linkend="delay"><citetitle>delay</citetitle></link>.
+      <emphasis>ilpt</emphasis> -- loop time in seconds, which
+      determines the <quote>echo density</quote> of the
+      reverberation. This in turn characterizes the
+      <quote>color</quote> of the <emphasis>comb</emphasis> filter
+      whose frequency response curve will contain
+      <emphasis>ilpt</emphasis> * <emphasis>sr</emphasis>/2 peaks
+      spaced evenly between 0 and <emphasis>sr</emphasis>/2 (the
+      Nyquist frequency). Loop time can be as large as available
+      memory will permit. The space required for an
+      <emphasis>n</emphasis> second loop is
+      <emphasis>n</emphasis>*<emphasis>sr</emphasis> floating or
+      double numbers (usually 4 or 8 bytes). Delay space is allocated
+      and returned as in <link
+      linkend="delay"><citetitle>delay</citetitle></link>.
     </para>
 
     <para>
@@ -83,10 +96,7 @@
     <title>Credits</title>
     <para>
       <simplelist>
-        <member>Author: William <quote>Pete</quote> Moss (<emphasis>vcomb</emphasis> and <emphasis>valpass</emphasis>)</member>
-        <member>University of Texas at Austin</member>
-        <member>Austin, Texas USA</member>
-        <member>January 2002</member>
+        <member>&namebarry;</member>
       </simplelist>
     </para>
   </refsect1>
diff --git a/opcodes/combinv.xml b/opcodes/combinv.xml
new file mode 100644
index 0000000..682a734
--- /dev/null
+++ b/opcodes/combinv.xml
@@ -0,0 +1,110 @@
+
+<refentry id="combinv">
+<indexterm id="IndexCombinv"><primary>combinv</primary></indexterm>
+  <refentryinfo><title>Signal Modifiers:Reverberation</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>combinv</refentrytitle>
+  </refmeta>
+
+
+ 
+  <refnamediv>
+    <refname>combinv</refname>
+    <refpurpose>
+      Reverberates an input signal with a <quote>colored</quote> frequency response.
+          </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Reverberates an input signal with a <quote>colored</quote>
+      frequency response with a FIR filter.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>combinv</command> asig, krvt, ilpt [, iskip] [, insmps]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ilpt</emphasis> -- loop time in seconds, which
+      determines the <quote>echo density</quote> of the
+      reverberation. This in turn characterizes the
+      <quote>color</quote> of the <emphasis>combinv</emphasis> filter
+      whose frequency response curve will contain
+      <emphasis>ilpt</emphasis> * <emphasis>sr</emphasis>/2 peaks
+      spaced evenly between 0 and <emphasis>sr</emphasis>/2 (the
+      Nyquist frequency). Loop time can be as large as available
+      memory will permit. The space required for an
+      <emphasis>n</emphasis> second loop is
+      <emphasis>n</emphasis>*<emphasis>sr</emphasis> floating or
+      double numbers (usually 4 or 8 bytes). Delay space is allocated
+      and returned as in <link
+      linkend="delay"><citetitle>delay</citetitle></link>.
+    </para>
+
+    <para>
+      <emphasis>iskip</emphasis> (optional, default=0) -- initial disposition of delay-loop data space (cf. <link linkend="reson"><citetitle>reson</citetitle></link>). The default value is 0.
+    </para>
+
+    <para>
+      <emphasis>insmps</emphasis> (optional, default=0) -- delay amount, as a number of samples.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>krvt</emphasis> -- the reverberation time (defined as the time in seconds for a signal to decay to 1/1000, or 60dB down from its original amplitude).
+    </para>
+
+    <para>
+      This filter reiterates input with an echo density determined by
+      loop time <emphasis>ilpt</emphasis>. The attenuation rate is
+      independent and is determined by <emphasis>krvt</emphasis>, the
+      reverberation time (defined as the time in seconds for a signal
+      to decay to 1/1000, or 60dB down from its original amplitude).  Affect from a combinv filter will appear only after <emphasis>ilpt</emphasis> seconds.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the combinv opcode. It uses the file <ulink url="examples/combinv.csd"><citetitle>combinv.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the combinv opcode.</title>
+
+        
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/combinv.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="alpass"><citetitle>alpass</citetitle></link>,
+      <link linkend="comb"><citetitle>comb</citetitle></link>
+      <link linkend="reverb"><citetitle>reverb</citetitle></link>,
+      <link linkend="valpass"><citetitle>valpass</citetitle></link>,
+      <link linkend="vcomb"><citetitle>vcomb</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>October 2012</member>
+      </simplelist>
+    </para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/compileorc.xml b/opcodes/compileorc.xml
new file mode 100644
index 0000000..0a65206
--- /dev/null
+++ b/opcodes/compileorc.xml
@@ -0,0 +1,69 @@
+
+<refentry id="compileorc">
+<indexterm id="Indexcompileorc"><primary>compileorc</primary></indexterm>
+  <refentryinfo><title>Instrument Control:Compilation</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>compileorc</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>compileorc</refname>
+    <refpurpose>
+      compiles a new orchestra from an ASCII file
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Compileorc will compile one or more instruments at init time, which will be added to the running engine. In case of
+existing instrument numbers or names, these will be replaced, but any instance still running of the old instrument
+definition will still perform until it terminates.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ires <command>compileorc</command> Sfilename</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis><quote>Sfilename</quote></emphasis> --  a string containing the name of the file containing the orchestra.
+</para>    
+    <para>
+      <emphasis><quote>ires</quote></emphasis> --  returns 0 if compilation was successful, or -1 if not.
+</para>    
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the compileorc opcode. It uses the file <ulink url="examples/compileorc.csd"><citetitle>compileorc.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the compileorc opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/compileorc.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+
+  </refsect1>
+
+  <refsect1>
+    <title>See also</title>
+    <para>
+      <link linkend="event"><citetitle>event</citetitle></link>,
+      <link linkend="event_i"><citetitle>event_i</citetitle></link>,
+      <link linkend="schedule"><citetitle>schedule</citetitle></link>,
+      <link linkend="schedwhen"><citetitle>schedwhen</citetitle></link>,
+      <link linkend="schedkwhen"><citetitle>schedkwhen</citetitle></link>,
+      <link linkend="schedkwhennamed"><citetitle>schedkwhennamed</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>Author: &namevictor;, 2013 </para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/compilestr.xml b/opcodes/compilestr.xml
new file mode 100644
index 0000000..c7bf5e0
--- /dev/null
+++ b/opcodes/compilestr.xml
@@ -0,0 +1,70 @@
+
+<refentry id="compilestr">
+<indexterm id="Indexcompilestr"><primary>compilestr</primary></indexterm>
+  <refentryinfo><title>Instrument Control:Compilation</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>compilestr</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>compilestr</refname>
+    <refpurpose>
+      compiles a new orchestra passed in as an ASCII string
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Compilestr will compile one or more instruments at init time, which will be added to the running engine. In case of
+existing instrument numbers or names, these will be replaced, but any instance still running of the old instrument
+definition will still perform until it terminates. Only new instances will use the new definition.
+Multi-line strings are accepted, using {{  }} to enclose the string.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ires <command>compilestr</command> Sorch</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis><quote>Sorch</quote></emphasis> --  a string (in double-quotes or enclosed by {{ }}) containing one or more instruments.
+</para>    
+    <para>
+      <emphasis><quote>ires</quote></emphasis> --  returns 0 if compilation was successful, or -1 if not.
+</para>    
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the compilestr opcode. It uses the file <ulink url="examples/compilestr.csd"><citetitle>compilestr.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the compilestr opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/compilestr.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+
+  </refsect1>
+
+  <refsect1>
+    <title>See also</title>
+    <para>
+      <link linkend="event"><citetitle>event</citetitle></link>,
+      <link linkend="event_i"><citetitle>event_i</citetitle></link>,
+      <link linkend="schedule"><citetitle>schedule</citetitle></link>,
+      <link linkend="schedwhen"><citetitle>schedwhen</citetitle></link>,
+      <link linkend="schedkwhen"><citetitle>schedkwhen</citetitle></link>,
+      <link linkend="schedkwhennamed"><citetitle>schedkwhennamed</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>Author: &namevictor;, 2013 </para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/copya2ftab.xml b/opcodes/copya2ftab.xml
new file mode 100644
index 0000000..a5e0bb9
--- /dev/null
+++ b/opcodes/copya2ftab.xml
@@ -0,0 +1,74 @@
+
+<refentry id="copya2ftab">
+<indexterm id="IndexCopya2ftab"><primary>copya2ftab</primary></indexterm>
+  <refentryinfo><title>Array Opcodes</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>copya2ftab</refentrytitle>
+  </refmeta>
+
+
+ 
+  <refnamediv>
+    <refname>copya2ftab</refname>
+
+    <refpurpose>
+      Copy data from a vector to an f-table.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      The <emphasis>copya2ftab</emphasis> opcode takes a t-var and
+      copies the contents to an f-table.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>copya2ftab</command> tab, kftbl</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>tab</emphasis> --  tables for source.
+    </para>
+    <para>
+      <emphasis>kftbl</emphasis> --  f-tables for destination.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Example</title>
+    <para>
+      Here is an example of the copya2ftab opcode. It uses the file
+      <ulink url="examples/copya2ftab.csd"><citetitle>copya2ftab.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the copya2ftab opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/copya2ftab.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="copyf2array"><citetitle>copyf2array</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>October 2011</member>
+      </simplelist>
+    </para>
+
+    <para>New in Csound version 5.15</para>
+    <para>Renamed in Csound version 6.00</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/copyf2array.xml b/opcodes/copyf2array.xml
new file mode 100644
index 0000000..4c34452
--- /dev/null
+++ b/opcodes/copyf2array.xml
@@ -0,0 +1,73 @@
+
+<refentry id="copyf2array">
+<indexterm id="IndexCopyf2array"><primary>copyf2array</primary></indexterm>
+  <refentryinfo><title>Array Opcodes</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>copyf2array</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>copyf2array</refname>
+
+    <refpurpose>
+      Copy data from an f-table to a vector.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      The <emphasis>copyf2array</emphasis> opcode takes an f-table and
+      copies the contents to a t-var.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>copyf2array</command> tab, kftbl</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>tab</emphasis> --  tables for destination.
+    </para>
+    <para>
+      <emphasis>kftbl</emphasis> --  f-tables for source.
+    </para>
+
+  </refsect1>
+
+  <refsect1>
+    <title>Example</title>
+    <para>
+      Here is an example of the copyf2array opcode. It uses the file
+      <ulink url="examples/copyf2array.csd"><citetitle>copyf2array.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the copyf2array opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/copyf2array.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="copya2ftab"><citetitle>copya2ftab</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>October 2011</member>
+      </simplelist>
+    </para>
+
+    <para>New in Csound version 5.15</para>
+    <para>Renamed in Csound version 6.00</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/cosseg.xml b/opcodes/cosseg.xml
new file mode 100644
index 0000000..4679784
--- /dev/null
+++ b/opcodes/cosseg.xml
@@ -0,0 +1,110 @@
+
+<refentry id="cosseg">
+<indexterm id="IndexCosseg"><primary>cosseg</primary></indexterm>
+  <refentryinfo><title>Signal Generators:Linear and Exponential Generators</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>cosseg</refentrytitle>
+  </refmeta>
+
+
+ 
+  <refnamediv>
+    <refname>cosseg</refname>
+    <refpurpose>
+      Trace a series of line segments between specified points with
+      cosine interpolation.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Trace a series of line segments between specified points with
+      cosine interpolation.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>cosseg</command> ia, idur1, ib [, idur2] [, ic] [...]</synopsis>
+
+    <synopsis>kres <command>cosseg</command> ia, idur1, ib [, idur2] [, ic] [...]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ia</emphasis> -- starting value.
+    </para>
+
+    <para>
+      <emphasis>ib, ic</emphasis>, etc. -- value after
+      <emphasis>dur1</emphasis> seconds, etc. 
+    </para>
+
+    <para>
+      <emphasis>idur1</emphasis> -- duration in seconds of first
+      segment. A zero or negative value will cause all initialization
+      to be skipped. 
+    </para>
+
+    <para>
+      <emphasis>idur2, idur3</emphasis>, etc. -- duration in seconds
+      of subsequent segments. A zero or negative value will terminate
+      the initialization process with the preceding point, permitting
+      the last-defined line or curve to be continued indefinitely in
+      performance. The default is zero. 
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      These units generate control or audio signals whose values can
+      pass through 2 or more specified points. The sum of
+      <emphasis>dur</emphasis> values may or may not equal the
+      instrument's performance time: a shorter performance will
+      truncate the specified pattern, while a longer one will cause
+      the last value to be repeated until the end of the note. 
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the cosseg opcode. It uses the file <ulink url="examples/cosseg.csd"><citetitle>cosseg.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the cosseg opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/cosseg.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="expon"><citetitle>expon</citetitle></link>,
+      <link linkend="expseg"><citetitle>expseg</citetitle></link>,
+      <link linkend="expsegb"><citetitle>expsegb</citetitle></link>,
+      <link linkend="expsegr"><citetitle>expsegr</citetitle></link>,
+      <link linkend="line"><citetitle>line</citetitle></link>,
+      <link linkend="linseg"><citetitle>linseg</citetitle></link>,
+      <link linkend="linsegr"><citetitle>linsegr</citetitle></link>
+      <link linkend="transeg"><citetitle>transeg</citetitle></link>
+      <link linkend="transegb"><citetitle>transegb</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+       <simplelist>
+         <member>Author: &namejohn;</member>
+        <member>Aug 2012 </member>
+       </simplelist>
+    </para>
+    <para> New in version 5.18</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/cossegb.xml b/opcodes/cossegb.xml
new file mode 100644
index 0000000..5ffbe9c
--- /dev/null
+++ b/opcodes/cossegb.xml
@@ -0,0 +1,102 @@
+
+<refentry id="cossegb">
+<indexterm id="IndexCossegb"><primary>cossegb</primary></indexterm>
+  <refentryinfo><title>Signal Generators:Linear and Exponential Generators</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>cossegb</refentrytitle>
+  </refmeta>
+
+
+ 
+  <refnamediv>
+    <refname>cossegb</refname>
+    <refpurpose>
+      Trace a series of line segments between specified absolute points with
+      cosine interpolation.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Trace a series of line segments between specified absolute points with
+      cosine interpolation.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>cossegb</command> ia, itim1, ib [, itim2] [, ic] [...]</synopsis>
+
+    <synopsis>kres <command>cossegb</command> ia, itim1, ib [, itim2] [, ic] [...]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ia</emphasis> -- starting value.
+    </para>
+
+    <para>
+      <emphasis>ib, ic</emphasis>, etc. -- value at <emphasis>tim1</emphasis> seconds, etc.
+    </para>
+
+    <para>
+      <emphasis>itim1</emphasis> -- time in seconds of end of first
+      segment. A zero or negative value will cause all initialization
+      to be skipped.
+    </para>
+
+    <para>
+      <emphasis>itim2, itim3</emphasis>, etc. -- time in seconds at
+      the end of subsequent segments. 
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      These units generate control or audio signals whose values can pass through 2 or more specified points. The last <emphasis>tim</emphasis> value may or may not equal the instrument's performance time: a shorter performance will truncate the specified pattern, while a longer one will cause the last value to be repeated until the end of the note.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the cossegb opcode. It uses the file <ulink url="examples/cossegb.csd"><citetitle>cossegb.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the cossegb opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/cossegb.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="cosseg"><citetitle>cosseg</citetitle></link>,
+      <link linkend="expon"><citetitle>expon</citetitle></link>,
+      <link linkend="expseg"><citetitle>expseg</citetitle></link>,
+      <link linkend="expsegr"><citetitle>expsegr</citetitle></link>,
+      <link linkend="line"><citetitle>line</citetitle></link>,
+      <link linkend="linseg"><citetitle>linseg</citetitle></link>
+      <link linkend="linsegb"><citetitle>linsegb</citetitle></link>
+      <link linkend="linsegr"><citetitle>linsegr</citetitle></link>
+      <link linkend="transeg"><citetitle>transeg</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>Aug 2012 </member>
+      </simplelist>
+   </para>
+   <para>New in version 5.18</para>
+
+  </refsect1>
+</refentry>
diff --git a/opcodes/cossegr.xml b/opcodes/cossegr.xml
new file mode 100644
index 0000000..962f5c1
--- /dev/null
+++ b/opcodes/cossegr.xml
@@ -0,0 +1,110 @@
+
+<refentry id="cossegr">
+<indexterm id="IndexCossegr"><primary>cossegr</primary></indexterm>
+  <refentryinfo><title>Signal Generators:Linear and Exponential Generators</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>cossegr</refentrytitle>
+  </refmeta>
+
+
+ 
+  <refnamediv>
+    <refname>cossegr</refname>
+    <refpurpose>
+      Trace a series of line segments between specified points with
+      cosine interpolation, including a release segment.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Trace a series of line segments between specified points with
+      cosine interpolation, including a release segment.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>cossegr</command> ia, idur1, ib [, idur2] [, ic] [...], irel, iz</synopsis>
+
+    <synopsis>kres <command>cossegr</command> ia, idur1, ib [, idur2] [, ic] [...], irel, iz</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ia</emphasis> -- starting value.
+    </para>
+
+    <para>
+      <emphasis>ib, ic</emphasis>, etc. -- value after <emphasis>dur1</emphasis> seconds, etc.
+    </para>
+
+    <para>
+      <emphasis>idur1</emphasis> -- duration in seconds of first segment. A zero or negative value will cause all initialization to be skipped.
+    </para>
+
+    <para>
+      <emphasis>idur2, idur3</emphasis>, etc. -- duration in seconds of subsequent segments. A zero or negative value will terminate the initialization process with the preceding point, permitting the last-defined line or curve to be continued indefinitely in performance. The default is zero.
+    </para>
+
+    <para>
+      <emphasis>irel, iz</emphasis> -- duration in seconds and final value of a note releasing segment.
+    </para>
+
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      These units generate control or audio signals whose values can pass through 2 or more specified points. The sum of <emphasis>dur</emphasis> values may or may not equal the instrument's performance time: a shorter performance will truncate the specified pattern, while a longer one will cause the last-defined segment to continue on in the same direction.
+    </para>
+
+    <para>
+      <emphasis>cossegr</emphasis> is amongst the Csound <quote>r</quote> units that contain a note-off sensor and release time extender. When each senses an event termination or MIDI noteoff, it immediately extends the performance time of the current instrument by <emphasis>irel </emphasis>seconds, and sets out to reach the value <emphasis>iz</emphasis> by the end of that period (no matter which segment the unit is in). <quote>r</quote> units can also be modified by MIDI noteoff velocities. For two or more extenders in an instrument, extension is by the greatest period.
+    </para>
+    <para>
+      You can use other pre-made envelopes which start a release segment upon recieving a note off message, like <link linkend="linenr"><citetitle>linenr</citetitle></link> and <link linkend="expsegr"><citetitle>expsegr</citetitle></link>, or you can construct more complex envelopes using <link linkend="xtratim"><citetitle>xtratim</citetitle></link> and <link linkend="release"><citetitle>release</citetitle></link>. Note that you don't need to use <link linkend="xtratim"><citetitle>xtratim</citetitle></link> if you are using <emphasis>cossegr</emphasis>, since the time is extended automatically.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the cossegr opcode. It uses the file <ulink url="examples/cossegr.csd"><citetitle>cossegr.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the cossegr opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/cossegr.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="linenr"><citetitle>linenr</citetitle></link>,
+      <link linkend="linsegr"><citetitle>linsegr</citetitle></link>,
+      <link linkend="expsegr"><citetitle>expsegr</citetitle></link>,
+      <link linkend="envlpxr"><citetitle>envlpxr</citetitle></link>,
+      <link linkend="mxadsr"><citetitle>mxadsr</citetitle></link>,
+      <link linkend="madsr"><citetitle>madsr</citetitle></link>
+      <link linkend="expon"><citetitle>expon</citetitle></link>,
+      <link linkend="expseg"><citetitle>expseg</citetitle></link>,
+      <link linkend="expsega"><citetitle>expsega</citetitle></link>
+      <link linkend="line"><citetitle>line</citetitle></link>,
+      <link linkend="linseg"><citetitle>linseg</citetitle></link>,
+      <link linkend="xtratim"><citetitle>xtratim</citetitle></link>,
+      <link linkend="transegr"><citetitle>transegr</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>Author: &namejohn;</para>
+    <para>August 2012.</para>
+    <para>New in Csound 5.18</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/cpumeter.xml b/opcodes/cpumeter.xml
new file mode 100644
index 0000000..16479d9
--- /dev/null
+++ b/opcodes/cpumeter.xml
@@ -0,0 +1,81 @@
+
+<refentry id="cpumeter">
+<indexterm id="IndexCpumeter"><primary>cpumeter</primary></indexterm>
+  <refentryinfo><title>Instrument Control:Realtime Performance Control</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>cpumeter</refentrytitle>
+  </refmeta>
+ 
+  <refnamediv>
+    <refname>cpumeter</refname>
+    <refpurpose>
+      Reports the usage of cpu either total or per core.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Reports the usage of cpu either total or per core to monitor how
+      close to max-out the processing is.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ktot[,kcpu1, kcpu2,...]<command>cpumeter</command> ifreq</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ifreq</emphasis> is the time in seconds that the meter
+      is refreshed. If this is too low then mainly figures of zero or one
+      hundred occur. A value of 0.1 seems acceptable.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>cpumeter</emphasis> reads the total idle time in the
+      last <emphasis>ifreq</emphasis> seconds and reports it as a percentage usage.  If
+      more than just <emphasis>ktot</emphasis> results are requested these report the same value for
+      individual cores.
+    </para> 
+
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the cpumeter opcode. It uses the file <ulink url="examples/cpumeter.csd"><citetitle>cpumeter.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the cpumeter opcode.</title>
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/cpumeter.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="maxalloc"><citetitle>maxalloc</citetitle></link>, <link linkend="prealloc"><citetitle>prealloc</citetitle></link>,
+       <link linkend="cpuprc"><citetitle>cpuprc</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>May 2011</member>
+      </simplelist>
+    </para>
+    <para>New in Csound version 5.14, for Linux/Unix and OSX only</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/crossfm.xml b/opcodes/crossfm.xml
old mode 100755
new mode 100644
diff --git a/opcodes/ctrl7.xml b/opcodes/ctrl7.xml
index b8d225f..e9cd15f 100644
--- a/opcodes/ctrl7.xml
+++ b/opcodes/ctrl7.xml
@@ -96,6 +96,12 @@
       </example>
     </para>
   </refsect1>
+  
+  <note>
+    ctrl7 only outputs k values once the controller is first moved. To
+    set an initial k-value, a call to initc7 is required. Ctrlinit does not work
+    for this purpose.
+  </note>
 
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/cuserrnd.xml b/opcodes/cuserrnd.xml
index f6ca8d2..847e029 100644
--- a/opcodes/cuserrnd.xml
+++ b/opcodes/cuserrnd.xml
@@ -76,6 +76,46 @@
     </para>
   </refsect1>
 
+    <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the cuserrnd opcode. It uses the file <ulink url="examples/cuserrnd.csd"><citetitle>cuserrnd.csd</citetitle></ulink>.
+            <example>
+        <title>Example of the cuserrnd opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/cuserrnd.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>     
+      Its output should include lines like these:
+      <screen>
+ i   1 time     0.00067:    53.14918
+ i   1 time     0.20067:     0.00000
+ i   1 time     0.40067:     0.00000
+ i   1 time     0.60067:    96.80406
+ i   1 time     0.80067:    94.20729
+ i   1 time     1.00000:     0.00000
+ i   1 time     1.20067:    86.13032
+ i   1 time     1.40067:    31.37096
+ i   1 time     1.60067:    70.35889
+ i   1 time     1.80000:     0.00000
+ i   1 time     2.00000:    49.18914
+
+WARNING: Seeding from current time 2006647442
+
+ i   2 time     3.00067:    21.45002
+ i   2 time     3.20067:    44.32333
+ i   2 time     3.40067:    46.05420
+ i   2 time     3.60000:     0.00000
+ i   2 time     3.80067:    41.32175
+ i   2 time     4.00000:     0.00000
+ i   2 time     4.20000:    63.72019
+ i   2 time     4.40067:     0.00000
+ i   2 time     4.60067:     0.00000
+ i   2 time     4.80067:     0.00000
+ i   2 time     5.00000:    74.49330
+      </screen>
+    </para>
+  </refsect1>
+
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/date.xml b/opcodes/date.xml
index 1e1933a..df714c6 100644
--- a/opcodes/date.xml
+++ b/opcodes/date.xml
@@ -12,15 +12,16 @@
     <refname>date</refname>
 
     <refpurpose>
-      Returns the number seconds since 1 January 1970.
+      Returns the number seconds since a base date.
     </refpurpose>
   </refnamediv>
   
   <refsect1>
     <title>Description</title>
     <para>
-      Returns the number seconds since 1 January 1970, using the
-      operating system's clock.
+      Returns the number seconds since a base date, using the
+      operating system's clock.  The base is 1 January 1970 for Csound
+      using doubles, and 1 January 2010 for versions using floats.
 
     </para>
   </refsect1>
@@ -38,6 +39,13 @@
       in seconds since the start of the epoch.
     </para>
   </refsect1>
+  <refsect1>
+    <para>
+      Note that the base date was originally 1970 but since verson
+      5.14 it has been changed as single precission floating point
+      numbers are insufficient to indicate changes.
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>Examples</title>
@@ -79,5 +87,6 @@ Thu Jan  1 01:00:01 1970
     </para>
 
     <para>New in Csound version 5.05</para>
+    <para>Changed in Csound version 5.14</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/diskin.xml b/opcodes/diskin.xml
index f93d775..420e6a3 100644
--- a/opcodes/diskin.xml
+++ b/opcodes/diskin.xml
@@ -22,8 +22,13 @@
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis>ar1 [, ar2 [, ar3 [, ... ar24]]] <command>diskin</command> ifilcod, kpitch [, iskiptim] \
+    <synopsis>ar1 [, ar2 [, ar3 [, ... arN]]] <command>diskin</command> ifilcod, kpitch [, iskiptim] \
       [, iwraparound] [, iformat] [, iskipinit]</synopsis>
+<para> Note the N was 24 in versions before 5.14, and 40 after.</para>
+
+<synopsis>ar1[] <command>diskin2</command> ifilcod, kpitch[, iskiptim \
+      [, iwrap[, iformat [, iwsize[, ibufsize[, iskipinit]]]]]]</synopsis>
+<para> (in this version, the number of output channels is not limited.)</para>
   </refsect1>
 
   <refsect1>
@@ -96,8 +101,24 @@
 
   <refsect1>
     <title>Performance</title>
-    <note><simpara><emphasis>diskin</emphasis> is deprecated since it can crash easily under certain circumstances. Use <link linkend="diskin2"><citetitle>diskin2</citetitle></link> instead.</simpara></note>
-    <para>
+    	<para>
+	<emphasis>a1 ... a24</emphasis>
+	-- output signals, in the range -0dbfs to 0dbfs. Any samples
+    before the beginning (i.e. negative location) and after the end of
+    the file are assumed to be zero, unless <emphasis>iwrap</emphasis> is non-zero.
+    The number of output arguments must be the same as the number of sound
+    file channels - which can be determined with the
+    <link linkend="filenchnls"><citetitle>filenchnls</citetitle></link> opcode,
+    otherwise an init error will occur.
+</para>
+
+	<para>
+	<emphasis>ar1[]</emphasis>
+         --- output signals, in a-rate array of size N, where N is the number of
+             channels in the file. Arrays are automatically allocated to the correct
+             size.
+	</para>
+<para>
       <emphasis>kpitch</emphasis> -- can be any real number. A negative number signifies backwards playback. The given number is a pitch ratio, where:
       <itemizedlist>
         <listitem><para><emphasis>1</emphasis> = normal pitch</para></listitem>
@@ -110,10 +131,7 @@
       </itemizedlist>
     </para>
 
-    <para>
-      <emphasis>diskin</emphasis> is identical to <link linkend="soundin"><citetitle>soundin</citetitle></link> except that it can alter the pitch of the sound that is being read, and is capable of looping.
-    </para>
-
+  
     <caution>
       <title>Note to Windows users</title>
       <para>
diff --git a/opcodes/diskin2.xml b/opcodes/diskin2.xml
index ba6b19b..a93e8c5 100644
--- a/opcodes/diskin2.xml
+++ b/opcodes/diskin2.xml
@@ -18,12 +18,13 @@
   <refsect1>
     <title>Description</title>
     <para>
-	Reads audio data from a file, and can alter its pitch using one of several
-	available interpolation types, as well as convert the sample rate to match
-	the orchestra sr setting. <emphasis>diskin2</emphasis> can also read multichannel files with any
-	number of channels in the range 1 to 24.
-	<emphasis>diskin2</emphasis> allows more control and higher sound quality than <emphasis>diskin</emphasis>,
-	but there is also the disadvantage of higher CPU usage.
+	Reads audio data from a file, and can alter its pitch using
+	one of several available interpolation types, as well as
+	convert the sample rate to match the orchestra sr
+	setting. <emphasis>diskin2</emphasis> can also read
+	multichannel files with any number of channels in the range 1
+	to 24 in versions before 5.14, and 40 after. 
+	
     </para>
 
 
@@ -31,9 +32,14 @@
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis>a1[, a2[, ... a24]] <command>diskin2</command> ifilcod, kpitch[, iskiptim \
+    <synopsis>a1[, a2[, ... aN]] <command>diskin2</command> ifilcod, kpitch[, iskiptim \
       [, iwrap[, iformat [, iwsize[, ibufsize[, iskipinit]]]]]]</synopsis>
 
+       <synopsis>ar1[] <command>diskin2</command> ifilcod, kpitch[, iskiptim \
+      [, iwrap[, iformat [, iwsize[, ibufsize[, iskipinit]]]]]]</synopsis>
+
+<para> (in the array output version, the number of output channels does not have an upper limit.)</para>
+
   </refsect1>
 
   <refsect1>
@@ -49,7 +55,7 @@
    	environment variable <link linkend="CommandEnvironment"><citetitle>SSDIR</citetitle></link> (if defined) then by <link linkend="CommandEnvironment"><citetitle>SFDIR</citetitle></link>. See also
     <link linkend="GEN01"><citetitle>GEN01</citetitle></link>.
    	Note: files longer than 2<superscript>31</superscript>-1 sample frames may not be played correctly
-   	on 32 bit platforms; this means a maximum length about 3 hours with a
+   	on 32-bit platforms; this means a maximum length about 3 hours with a
    	sample rate of 192000 Hz.
    	</para>
 
@@ -208,7 +214,14 @@
     file channels - which can be determined with the
     <link linkend="filenchnls"><citetitle>filenchnls</citetitle></link> opcode,
     otherwise an init error will occur.
+</para>
 
+	<para>
+	<emphasis>ar1[]</emphasis>
+         --- output signals, in a-rate array of size N, where N is the number of
+             channels in the file. Arrays are automatically allocated to the correct
+             size.
+	</para>
     <note>
     <title>Note</title>
     <para>It is more efficient to read a single file with many channels,
@@ -217,7 +230,7 @@
 	</para>
 	</note>
 
-	</para>
+	
 
 	<para>
 	<emphasis>kpitch</emphasis>
diff --git a/opcodes/divides.xml b/opcodes/divides.xml
index faba997..69cb129 100644
--- a/opcodes/divides.xml
+++ b/opcodes/divides.xml
@@ -74,22 +74,28 @@ a - b - c
   </refsect1>
 
   <refsect1>
+    <title>Arguments</title>
+    <para>
+      The arguments of / can be scalar values or k-rate one
+      dimensional arrays (vectors), or any combination.  If one of the
+      arguments is an array, so is the value.
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>Examples</title>
     <para>
       Here is an example of the / operator. It uses the file <ulink url="examples/divides.csd"><citetitle>divides.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the / operator.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/divides.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-      Its output should include lines like this:
+      Its output should include lines like these:
       <screen>
-instr 1:  i1 = 3.000</screen>
+retrigger rate per note duration = 3.333333
+retrigger rate per note duration = 5.000000
+retrigger rate per note duration = 0.666667</screen>
     </para>
   </refsect1>
 
@@ -108,6 +114,7 @@ instr 1:  i1 = 3.000</screen>
 
   <refsect1>
     <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
+    <para>Arithmetic on vectors is new in version 6.00</para>
   </refsect1>
+
 </refentry>
diff --git a/opcodes/divz.xml b/opcodes/divz.xml
index 7f8f740..df9a635 100644
--- a/opcodes/divz.xml
+++ b/opcodes/divz.xml
@@ -21,6 +21,7 @@
     <synopsis>ares <command>divz</command> xa, xb, ksubst</synopsis>
     <synopsis>ires <command>divz</command> ia, ib, isubst</synopsis>
     <synopsis>kres <command>divz</command> ka, kb, ksubst</synopsis>
+    <synopsis>...<command>divz</command>(ka, kb, ksubst)... (no rate restriction)</synopsis>
   </refsect1>
 
   <refsect1>
@@ -72,5 +73,6 @@
     <title>Credits</title>
     <para>Author: &namejohn; after an idea by &namebarry;</para>
     <para>Example written by &namekevin;.</para>
+    <para>Functional form available in csound Version 6.00</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/dssiaudio.xml b/opcodes/dssiaudio.xml
index 9f44b43..7236141 100644
--- a/opcodes/dssiaudio.xml
+++ b/opcodes/dssiaudio.xml
@@ -12,7 +12,7 @@
   </refnamediv>
   <refsect1>
     <title>Syntax</title>
-    <synopsis>aout1 [, aout2, aout3, aout4] <command>dssiaudio</command> ihandle, ain1 [,ain2, ain3, ain4] </synopsis>
+    <synopsis>[aout1, aout2, ..., aout9] <command>dssiaudio</command> ihandle, [ain1, ain2, ..., ain9]</synopsis>
   </refsect1>
   <refsect1>
     <title>Description</title>
diff --git a/opcodes/dumpk.xml b/opcodes/dumpk.xml
index b4d3c94..40537df 100644
--- a/opcodes/dumpk.xml
+++ b/opcodes/dumpk.xml
@@ -79,6 +79,7 @@
       This opcode allows a generated control signal value to be saved in a named external file. The file contains no self-defining header information. But it contains a regularly sampled time series, suitable for later input or analysis. There may be any number of <emphasis>dumpk</emphasis> opcodes in an instrument or orchestra but each must write to a different file.
     </para>
   </refsect1>
+  
   <refsect1>
     <title>Examples</title>
     <para>
@@ -89,6 +90,30 @@
           <xi:include href="examples-xml/dumpk.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
     </para>
+        <para>
+      Here is another example of the dumpk opcode. It uses the file <ulink url="examples/dumpk-2.csd"><citetitle>dumpk-2.csd</citetitle></ulink>.
+      <example>
+        <title>Example 2 of the dumpk opcode.</title>
+        <xi:include href="examples-xml/dumpk-2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+      Its output should include lines like this:
+      <screen>
+WARNING: Seeding from current time 683384022
+
+ i   1 time     1.00033:   463.64510
+ i   1 time     2.00000:   463.64510
+ i   1 time     3.00000:   483.14200
+ i   1 time     4.00000:   567.55973
+ i   1 time     5.00000:   576.37060
+ i   1 time     6.00000:   460.66550
+
+ i   2 time     6.00033:   463.64510
+ i   2 time     7.00000:   463.64510
+ i   2 time     8.00000:   483.14200
+ i   2 time     9.00000:   567.55970
+ i   2 time    10.00000:   576.37060
+ i   2 time    11.00000:   460.66550</screen>
+    </para>
   </refsect1>
 <!--  <refsect1>
     <title>Examples</title>
diff --git a/opcodes/dumpk2.xml b/opcodes/dumpk2.xml
index 7c0113b..0695be4 100644
--- a/opcodes/dumpk2.xml
+++ b/opcodes/dumpk2.xml
@@ -80,18 +80,36 @@
     </para>
   </refsect1>
 
-  <refsect1>
+<refsect1>
     <title>Examples</title>
     <para>
-      See the example for <link linkend="dumpk"><citetitle>dumpk</citetitle></link>. The only difference between <link linkend="dumpk"><citetitle>dumpk</citetitle></link> and <emphasis>dumpk2</emphasis> is that <emphasis>dumpk2</emphasis> can write two values at a time from the file.
-<!--      <informalexample>
-        <programlisting>
-knum    <emphasis>=</emphasis>         knum+1                                               ; at each k-period
-ktemp   <emphasis>tempest</emphasis>   krms, .02, .1, 3, 2, 800, .005, 0, 60, 4, .1, .995   ;estimate the tempo
-koct    <emphasis>specptrk</emphasis>  wsig, 6, .9, 0                                       ;and the pitch
-        <emphasis>dumpk3</emphasis>    knum, ktemp, cpsoct(koct), "what happened when", 8 0 ;& save them
-        </programlisting>
-      </informalexample>-->
+      Here is an example of the dumpk2 opcode. It uses the file <ulink url="examples/dumpk2.csd"><citetitle>dumpk2.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the dumpk2 opcode.</title>
+
+        
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/dumpk2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+      The output should include lines like these:
+      <screen>
+kfreq = 429.202551, kdb = -20.495694
+kfreq = 429.202551, kdb = -20.495694
+kfreq = 407.275258, kdb = -23.123776
+kfreq = 475.264472, kdb = -9.300846
+kfreq = 569.979181, kdb = -7.315527
+kfreq = 440.103457, kdb = -0.058331
+
+kfreq = 429.202600, kdb = -20.495700
+kfreq = 429.202600, kdb = -20.495700
+kfreq = 407.275300, kdb = -23.123800
+kfreq = 475.264500, kdb = -9.300800
+kfreq = 569.979200, kdb = -7.315500
+kfreq = 440.103500, kdb = -0.058300
+      </screen>
     </para>
   </refsect1>
 
diff --git a/opcodes/dumpk3.xml b/opcodes/dumpk3.xml
index f6e9557..8849a35 100644
--- a/opcodes/dumpk3.xml
+++ b/opcodes/dumpk3.xml
@@ -80,18 +80,38 @@
     </para>
   </refsect1>
 
-  <refsect1>
+<refsect1>
     <title>Examples</title>
     <para>
-      See the example for <link linkend="dumpk"><citetitle>dumpk</citetitle></link>. The only difference between <link linkend="dumpk"><citetitle>dumpk</citetitle></link> and <emphasis>dumpk3</emphasis> is that <emphasis>dumpk3</emphasis> can write three values at a time from the file.
-<!--      <informalexample>
-        <programlisting>
-knum    <emphasis>=</emphasis>         knum+1                                               ; at each k-period
-ktemp   <emphasis>tempest</emphasis>   krms, .02, .1, 3, 2, 800, .005, 0, 60, 4, .1, .995   ;estimate the tempo
-koct    <emphasis>specptrk</emphasis>  wsig, 6, .9, 0                                       ;and the pitch
-        <emphasis>dumpk3</emphasis>    knum, ktemp, cpsoct(koct), "what happened when", 8 0 ;& save them
-        </programlisting>
-      </informalexample>-->
+      Here is an example of the dumpk3 opcode. It uses the file <ulink url="examples/dumpk3.csd"><citetitle>dumpk3.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the dumpk3 opcode.</title>
+
+        
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/dumpk3.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+      The output should include lines like these:
+      <screen>
+WRITING:
+kfreq = 473.352855, kdb = -15.197657, kpan = 0.366764
+kfreq = 473.352855, kdb = -15.197657, kpan = 0.366764
+kfreq = 441.426368, kdb = -19.026206, kpan = 0.207327
+kfreq = 452.965140, kdb = -21.447486, kpan = 0.553270
+kfreq = 585.106328, kdb = -11.903852, kpan = 0.815665
+kfreq = 482.056760, kdb = -4.046744, kpan = 0.876537
+
+READING:
+kfreq = 473.352900, kdb = -15.197700, kpan = 0.366800
+kfreq = 473.352900, kdb = -15.197700, kpan = 0.366800
+kfreq = 441.426400, kdb = -19.026200, kpan = 0.207300
+kfreq = 452.965100, kdb = -21.447500, kpan = 0.553300
+kfreq = 585.106300, kdb = -11.903900, kpan = 0.815700
+kfreq = 482.056800, kdb = -4.046700, kpan = 0.876500
+      </screen>
     </para>
   </refsect1>
 
diff --git a/opcodes/dumpk4.xml b/opcodes/dumpk4.xml
index ceb6900..f7fabaa 100644
--- a/opcodes/dumpk4.xml
+++ b/opcodes/dumpk4.xml
@@ -80,18 +80,40 @@
     </para>
   </refsect1>
 
-  <refsect1>
+<refsect1>
     <title>Examples</title>
     <para>
-      See the example for <link linkend="dumpk"><citetitle>dumpk</citetitle></link>. The only difference between <link linkend="dumpk"><citetitle>dumpk</citetitle></link> and <emphasis>dumpk4</emphasis> is that <emphasis>dumpk4</emphasis> can write four values at a time from the file.
-<!--      <informalexample>
-        <programlisting>
-knum    <emphasis>=</emphasis>         knum+1                                               ; at each k-period
-ktemp   <emphasis>tempest</emphasis>   krms, .02, .1, 3, 2, 800, .005, 0, 60, 4, .1, .995   ;estimate the tempo
-koct    <emphasis>specptrk</emphasis>  wsig, 6, .9, 0                                       ;and the pitch
-        <emphasis>dumpk3</emphasis>    knum, ktemp, cpsoct(koct), "what happened when", 8 0 ;& save them
-        </programlisting>
-      </informalexample>-->
+      Here is an example of the dumpk4 opcode. It uses the file <ulink url="examples/dumpk4.csd"><citetitle>dumpk4.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the dumpk4 opcode.</title>
+
+        
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/dumpk4.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+      The output should include lines like these:
+      <screen>
+WRITING:
+kcf = 1122.469723, kq = 11.762839, kdb = -14.313445, kpan = 0.538142
+kcf = 1122.469723, kq = 11.762839, kdb = -14.313445, kpan = 0.538142
+kcf = 1148.638412, kq = 12.040490, kdb = -14.061868, kpan = 0.552205
+kcf = 165.796855, kq = 18.523179, kdb = -15.816977, kpan = 0.901528
+kcf = 147.729960, kq = 13.071911, kdb = -11.924531, kpan = 0.982518
+kcf = 497.430113, kq = 13.605512, kdb = -21.586611, kpan = 0.179229
+
+READING:
+WARNING: Seeding from current time 3308160476
+
+kcf = 1122.469700, kq = 11.762800, kdb = -14.313400, kpan = 0.538100
+kcf = 1122.469700, kq = 11.762800, kdb = -14.313400, kpan = 0.538100
+kcf = 1148.638400, kq = 12.040500, kdb = -14.061900, kpan = 0.552200
+kcf = 165.796900, kq = 18.523200, kdb = -15.817000, kpan = 0.901500
+kcf = 147.730000, kq = 13.071900, kdb = -11.924500, kpan = 0.982500
+kcf = 497.430100, kq = 13.605500, kdb = -21.586600, kpan = 0.179200
+      </screen>
     </para>
   </refsect1>
 
diff --git a/opcodes/duserrnd.xml b/opcodes/duserrnd.xml
index d6e05e0..20f9c50 100644
--- a/opcodes/duserrnd.xml
+++ b/opcodes/duserrnd.xml
@@ -69,6 +69,30 @@
     </para>
   </refsect1>
 
+    <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the duserrnd opcode. It uses the file <ulink url="examples/duserrnd.csd"><citetitle>duserrnd.csd</citetitle></ulink>.
+            <example>
+        <title>Example of the duserrnd opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/duserrnd.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>     
+      Its output should include lines like these:
+      <screen>
+i   1 time     0.00067:     8.00000
+i   1 time     0.00133:     8.00000
+i   1 time     0.00200:     8.00000
+i   1 time     0.00267:     8.00000
+i   1 time     0.00333:     2.00000
+i   1 time     0.00400:     8.00000
+i   1 time     0.00533:     8.00000
+i   1 time     0.00600:     8.00000
+..........
+      </screen>
+    </para>
+  </refsect1>
+
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/dust.xml b/opcodes/dust.xml
new file mode 100644
index 0000000..954905d
--- /dev/null
+++ b/opcodes/dust.xml
@@ -0,0 +1,73 @@
+<refentry id="dust">
+  <indexterm id="IndexDust"><primary>dust</primary></indexterm>
+  <refentryinfo><title>Signal Generators:Random (Noise) Generators</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>dust</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>dust</refname>
+    <refpurpose>
+      Random impulses.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Generates random impulses from 0 to 1.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>dust</command> kamp, kdensity</synopsis>
+    <synopsis>kres <command>dust</command> kamp, kdensity</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kamp</emphasis> -- amplitude.
+    </para>
+
+    <para>
+      <emphasis>kdensity</emphasis> -- average number of impulses per second.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the dust opcode. It uses the file <ulink url="examples/dust.csd"><citetitle>dust.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the dust opcode.</title>
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/dust.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="dust2"><citetitle>dust2</citetitle></link>
+      <link linkend="gausstrig"><citetitle>gausstrig</citetitle></link>
+      <link linkend="mpulse"><citetitle>mpulse</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Based on James McCartney's Dust ugen (SuperCollider)</member>
+        <member>Author: &nametito;</member>
+        <member>January 2012</member>
+      </simplelist>
+    </para>
+    <para>New in Csound version 5.16</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/dust2.xml b/opcodes/dust2.xml
new file mode 100644
index 0000000..2c52ecc
--- /dev/null
+++ b/opcodes/dust2.xml
@@ -0,0 +1,73 @@
+<refentry id="dust2">
+  <indexterm id="IndexDust2"><primary>dust2</primary></indexterm>
+  <refentryinfo><title>Signal Generators:Random (Noise) Generators</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>dust2</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>dust2</refname>
+    <refpurpose>
+      Random impulses.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Generates random impulses from -1 to 1.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>dust2</command> kamp, kdensity</synopsis>
+    <synopsis>kres <command>dust2</command> kamp, kdensity</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kamp</emphasis> -- amplitude.
+    </para>
+
+    <para>
+      <emphasis>kdensity</emphasis> -- average number of impulses per second.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the dust2 opcode. It uses the file <ulink url="examples/dust2.csd"><citetitle>dust2.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the dust2 opcode.</title>
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/dust2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="dust"><citetitle>dust</citetitle></link>
+      <link linkend="gausstrig"><citetitle>gausstrig</citetitle></link>
+      <link linkend="mpulse"><citetitle>mpulse</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Based on James McCartney's Dust2 (SuperCollider)</member>
+        <member>Author: &nametito;</member>
+        <member>January 2012</member>
+      </simplelist>
+    </para>
+    <para>New in Csound version 5.16</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/equals.xml b/opcodes/equals.xml
index 96729d1..84d9798 100644
--- a/opcodes/equals.xml
+++ b/opcodes/equals.xml
@@ -61,21 +61,11 @@
     <title>Examples</title>
     <para>
       Here is an example of the == operator. It uses the file <ulink url="examples/equals.csd"><citetitle>equals.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the == operator.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/equals.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-      Its output should include lines like this:
-      <screen>
-k1 = 2.000000, k2 = 0.000000
-k1 = 3.000000, k2 = 1.000000
-k1 = 4.000000, k2 = 0.000000</screen>
     </para>
   </refsect1>
  
@@ -89,9 +79,5 @@ k1 = 4.000000, k2 = 0.000000</screen>
       <link linkend="notequal"><citetitle>!=</citetitle></link>
     </para>
   </refsect1>
-
-  <refsect1>
-    <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
-  </refsect1>
+s
 </refentry>
diff --git a/opcodes/evalstr.xml b/opcodes/evalstr.xml
new file mode 100644
index 0000000..f72a6c9
--- /dev/null
+++ b/opcodes/evalstr.xml
@@ -0,0 +1,64 @@
+
+<refentry id="evalstr">
+<indexterm id="Indexevalstr"><primary>evalstr</primary></indexterm>
+  <refentryinfo><title>Instrument Control:Compilation</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>evalstr</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>evalstr</refname>
+    <refpurpose>
+    Evalstrs evaluates a string containing Csound code, returning a value.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Evalstr compiles and runs Csound code and returns a value from the global space (instr 0). This opcode can be
+also used to compile new instruments (as compilestr).
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ires <command>evalstr</command> Scode </synopsis>
+    <synopsis>kres <command>evalstr</command> Scode, ktrig </synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis><quote>Scode</quote></emphasis> --  a string to be compiled and evaluated.
+</para>    
+
+  </refsect1>
+<refsect1>
+    <title>Performance</title>
+   	<para>
+      <emphasis><quote>ktrig</quote></emphasis> -- triggers the compilation/evaluation if non-zero.
+    </para>
+
+  </refsect1>
+
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the evalstr opcode in conjunction with return:
+      <example>
+   <para>   
+<programlisting>
+ival <emphasis role="op">evalstr</emphasis> "return 2 + 2"
+<emphasis role="op">print</emphasis> ival
+ </programlisting>
+    </para>
+      </example>
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>Credits</title>
+    <para>Author: &namevictor;, 2013 </para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/event.xml b/opcodes/event.xml
index ab4f0af..ba79958 100644
--- a/opcodes/event.xml
+++ b/opcodes/event.xml
@@ -55,7 +55,7 @@
       <emphasis>kp4, kp5, ...</emphasis> (optional) -- Parameters representing additional p-field in a score statement. It starts with the fourth p-field, p4.
     </para>
     <note>
-      <para> Note that the <emphasis>event_i</emphasis> opcode can't accept string p-fields. If you need to pass strings when instantiating an instrument, use the <link linkend="scoreline"><citetitle>scoreline</citetitle></link> or <link linkend="scoreline_i"><citetitle>scoreline_i</citetitle></link> opcode.</para>
+      <para> Note that the <emphasis>event</emphasis> opcode cannot accept string p-fields. If you need to pass strings when instantiating an instrument, use the <link linkend="scoreline"><citetitle>scoreline</citetitle></link> or <link linkend="scoreline_i"><citetitle>scoreline_i</citetitle></link> opcode.</para>
     </note>
   </refsect1>
 
diff --git a/opcodes/event_i.xml b/opcodes/event_i.xml
index facdb37..0fe033a 100644
--- a/opcodes/event_i.xml
+++ b/opcodes/event_i.xml
@@ -56,10 +56,22 @@
     <title>Performance</title>
     <para> The event is added to the queue at initialisation time.</para>
     <note>
-      <para> Note that the <emphasis>event_i</emphasis> opcode can't accept string p-fields. If you need to pass strings when instantiating an instrument, use the <link linkend="scoreline"><citetitle>scoreline</citetitle></link> or <link linkend="scoreline_i"><citetitle>scoreline_i</citetitle></link> opcode.</para>
+      <para> Note that the <emphasis>event_i</emphasis> opcode cannot accept string p-fields. If you need to pass strings when instantiating an instrument, use the <link linkend="scoreline"><citetitle>scoreline</citetitle></link> or <link linkend="scoreline_i"><citetitle>scoreline_i</citetitle></link> opcode.</para>
     </note>
   </refsect1>
-
+  
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the event_i opcode. It uses the file <ulink url="examples/event_i.csd"><citetitle>event_i.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the event_i opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/event_i.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+      
   <refsect1>
     <title>See also</title>
     <para><link linkend="event"><citetitle>event</citetitle></link>,
diff --git a/opcodes/exitnow.xml b/opcodes/exitnow.xml
index 4a5ea80..b671eba 100644
--- a/opcodes/exitnow.xml
+++ b/opcodes/exitnow.xml
@@ -25,11 +25,24 @@
     <title>Syntax</title>
     <synopsis><command>exitnow</command></synopsis>
   </refsect1>
- 
+
   <refsect1>
     <title>Performance</title>
     <para>
     Stops Csound on the initialisation cycle.
     </para>
   </refsect1>
+   
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the exitnow opcode. It uses the file <ulink url="examples/exitnow.csd"><citetitle>exitnow.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the exitnow opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/exitnow.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
 </refentry>
diff --git a/opcodes/exprandi.xml b/opcodes/exprandi.xml
new file mode 100644
index 0000000..d49afbf
--- /dev/null
+++ b/opcodes/exprandi.xml
@@ -0,0 +1,100 @@
+
+<refentry id="exprandi">
+<indexterm id="IndexExprandiXClass"><primary>x-class noise generators</primary></indexterm>
+
+<indexterm id="IndexExprandi"><primary>exprandi</primary></indexterm>
+  <refentryinfo><title>Signal Generators:Random (Noise) Generators</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>exprandi</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>exprandi</refname>
+    <refpurpose>
+      Exponential distribution random number generator with
+      interpolation (positive values only).
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Exponential distribution random number generator with controlled
+      interpolation between values (positive values only). This is an
+      x-class noise generator. 
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>exprandi</command> klambda, xamp, xcps</synopsis>
+    <synopsis>ires <command>exprandi</command> klambda, xamp, xcps</synopsis>
+    <synopsis>kres <command>exprandi</command> klambda, xamp, xcps</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>klambda</emphasis> -- lambda parameter for the exponential distribution.
+    </para>
+
+    <para>
+      The probablity density function of an exponential distribution is an exponential curve, whose mean is 0.69515/lambda.
+      For more detailed explanation of these distributions, see:
+      <orderedlist>
+        <listitem>
+          <para>C. Dodge - T.A. Jerse 1985. Computer music. Schirmer books. pp.265 - 286</para>
+        </listitem>
+
+        <listitem>
+          <para>D. Lorrain. A panoply of stochastic cannons. In
+          C. Roads, ed. 1989. Music machine . Cambridge,
+          Massachusetts: MIT press, pp. 351 - 379.</para> 
+        </listitem>
+      </orderedlist>
+    </para>
+
+    <para>
+      <emphasis>xamp</emphasis> -- range over which random numbers are distributed.
+    </para>
+
+    <para>
+      <emphasis>xcps</emphasis> -- the frequency which new random
+      numbers are generated. 
+    </para>
+
+  </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the exprandi opcode. It uses the file <ulink url="examples/exprandi.csd"><citetitle>exprandi.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the exprandi opcode.</title>
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/exprandi.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="exprand"><citetitle>exprand</citetitle></link>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>Bath</member>
+        <member>May 2011</member>
+        <member>New in version 5.14</member>
+      </simplelist>
+    </para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/expsegb.xml b/opcodes/expsegb.xml
new file mode 100644
index 0000000..6a09575
--- /dev/null
+++ b/opcodes/expsegb.xml
@@ -0,0 +1,105 @@
+
+<refentry id="expsegb">
+<indexterm id="IndexExpsegb"><primary>expsegb</primary></indexterm>
+  <refentryinfo><title>Signal Generators:Linear and Exponential Generators</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>expsegb</refentrytitle>
+  </refmeta>
+
+
+ 
+  <refnamediv>
+    <refname>expsegb</refname>
+    <refpurpose>
+      Trace a series of exponential segments between specified
+      absolute points.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Trace a series of exponential segments between specified
+      absolute points.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>expsegb</command> ia, itim1, ib [, itim2] [, ic] [...]</synopsis>
+
+    <synopsis>kres <command>expsegb</command> ia, itim1, ib [, itim2] [, ic] [...]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ia</emphasis> -- starting value. Zero is illegal for exponentials.
+    </para>
+
+    <para>
+      <emphasis>ib, ic</emphasis>, etc. -- value at <emphasis>tim1</emphasis> seconds, etc. For exponentials, must be non-zero and must agree in sign with <emphasis>ia</emphasis>.
+    </para>
+
+    <para>
+      <emphasis>itim1</emphasis> -- time in seconds of end of first segment.
+    </para>
+
+    <para>
+      <emphasis>itim2, itim3</emphasis>, etc. -- time in seconds of
+      subsequent ends of segments.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      These units generate control or audio signals whose values can pass through 2 or more specified points. The last <emphasis>tim</emphasis> value may or may not equal the instrument's performance time: a shorter performance will truncate the specified pattern, while a longer one will cause the last-defined segment to continue on in the same direction.
+    </para>
+ 
+    <para>
+      Note that the <emphasis>expsegb</emphasis> opcode does not operate correctly at audio rate when segments are shorter than a k-period. Try the <link linkend="expsegba"><citetitle>expsegba</citetitle></link> opcode instead.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the expsegb opcode. It uses the file <ulink url="examples/expsegb.csd"><citetitle>expsegb.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the expsegb opcode.</title>
+
+        
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/expsegb.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="expon"><citetitle>expon</citetitle></link>,
+      <link linkend="expseg"><citetitle>expseg</citetitle></link>,
+      <link linkend="expsega"><citetitle>expsega</citetitle></link>,
+      <link linkend="expsegr"><citetitle>expsegr</citetitle></link>,
+      <link linkend="line"><citetitle>line</citetitle></link>,
+      <link linkend="linseg"><citetitle>linseg</citetitle></link>,
+      <link linkend="linsegr"><citetitle>linsegr</citetitle></link>
+      <link linkend="transeg"><citetitle>transeg</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namevictor;</member>
+        <member>June 2011 </member>
+      </simplelist>
+   </para>
+   <para>New in version 5.14</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/expsegba.xml b/opcodes/expsegba.xml
new file mode 100644
index 0000000..3c030d2
--- /dev/null
+++ b/opcodes/expsegba.xml
@@ -0,0 +1,92 @@
+
+<refentry id="expsegba">
+<indexterm id="IndexExpsegba"><primary>expsegba</primary></indexterm>
+  <refentryinfo><title>Signal Generators:Linear and Exponential Generators</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>expsegba</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>expsegba</refname>
+    <refpurpose>
+      An exponential segment generator operating at a-rate with
+      absolute times.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      An exponential segment generator operating at a-rate. This unit
+      is almost identical to <link
+      linkend="expsegb"><citetitle>expsegb</citetitle></link>, but
+      more precise when defining segments with very short durations
+      (i.e., in a percussive attack phase) at audio rate. 
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>expsegba</command> ia, itim1, ib [, itim2] [, ic] [...]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ia</emphasis> -- starting value. Zero is illegal.
+    </para>
+
+    <para>
+      <emphasis>ib</emphasis>, <emphasis>ic</emphasis>, etc. -- value after <emphasis>itim1</emphasis> seconds, etc. must be non-zero and must agree in sign with <emphasis>ia</emphasis>.
+    </para>
+
+    <para>
+      <emphasis>itim1</emphasis> -- time in seconds at end of first segment.
+    </para>
+
+    <para>
+      <emphasis>itim2</emphasis>, <emphasis>itim3</emphasis>, etc. --
+      time in seconds at the end of subsequent segments.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      This unit generate audio signals whose values can pass through
+      two or more specified points. The final <emphasis>tim
+      </emphasis> value may or may not equal the instrument's
+      performance time. A shorter performance will truncate the
+      specified pattern, while a longer one will cause the last
+      defined segment to continue on in the same direction.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the expsegba opcode. It uses the file <ulink url="examples/expsegba.csd"><citetitle>expsegba.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the expsegba opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/expsegba.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="expsegb"><citetitle>expsegb</citetitle></link>, 
+      <link linkend="expsegr"><citetitle>expsegr</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>Author: &namejohn;</para>
+    <para>June 2011</para>
+    <para>New in Csound 5.14</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/fareylen.xml b/opcodes/fareylen.xml
index 54da2b0..34e8583 100644
--- a/opcodes/fareylen.xml
+++ b/opcodes/fareylen.xml
@@ -23,28 +23,98 @@ where phi(m) is Euler's totient function, which gives the number of integers &le
     </para>
     <para>
       Some values for the length of F<subscript>n</subscript> given n:
-      <itemizedlist>
-        <listitem>n	|F<subscript>n</subscript>|</listitem>
-        <listitem>1	2</listitem>
-        <listitem>2	3</listitem>
-        <listitem>3	5</listitem>
-        <listitem>4	7</listitem>
-        <listitem>5	11</listitem>
-        <listitem>6	13</listitem>
-        <listitem>7 	19</listitem>
-        <listitem>8	23</listitem>	
-        <listitem>9	29</listitem>
-        <listitem>10	33</listitem>
-        <listitem>11	43</listitem>	
-        <listitem>12	47</listitem>
-        <listitem>13	59</listitem>
-        <listitem>14	65</listitem>
-        <listitem>15	73</listitem>
-        <listitem>16	81</listitem>
-        <listitem>17	97</listitem>
-        <listitem>18	103</listitem>
-        <listitem>19	121</listitem>
-      </itemizedlist>
+      <informaltable>
+        <tgroup cols="2">
+          <thead>
+            <row>
+              <entry>n</entry>
+              <entry>F<subscript>n</subscript></entry>
+            </row>
+          </thead>
+          <tbody>
+            <row>
+              <entry>1</entry>
+              <entry>2</entry>
+            </row>
+            <row>
+              <entry>2</entry>
+              <entry>3</entry>
+            </row>
+            <row>
+              <entry>3</entry>
+              <entry>5</entry>
+            </row>
+            <row>
+              <entry>4</entry>
+              <entry>7</entry>
+            </row>
+            <row>
+              <entry>5</entry>
+              <entry>11</entry>
+            </row>
+            <row>
+              <entry>6</entry>
+              <entry>13</entry>
+            </row>
+            <row>
+              <entry>7</entry>
+              <entry>19</entry>
+            </row>
+            <row>
+              <entry>8</entry>
+              <entry>23</entry>
+            </row>
+            <row>
+              <entry>9</entry>
+              <entry>29</entry>
+            </row>
+            <row>
+              <entry>10</entry>
+              <entry>33</entry>
+            </row>
+            <row>
+              <entry>11</entry>
+              <entry>43</entry>
+            </row>
+            <row>
+              <entry>12</entry>
+              <entry>47</entry>
+            </row>
+            <row>
+              <entry>13</entry>
+              <entry>59</entry>
+            </row>
+            <row>
+              <entry>14</entry>
+              <entry>65</entry>
+            </row>
+            <row>
+              <entry>15</entry>
+              <entry>73</entry>
+            </row>
+            <row>
+              <entry>16</entry>
+              <entry>81</entry>
+            </row>
+            <row>
+              <entry>17</entry>
+              <entry>97</entry>
+            </row>
+            <row>
+              <entry>18</entry>
+              <entry>103</entry>
+            </row>
+            <row>
+              <entry>19</entry>
+              <entry>121</entry>
+            </row>
+            <row>
+              <entry>20</entry>
+              <entry>129</entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </informaltable>
     </para>
 
   </refsect1>
diff --git a/opcodes/fareyleni.xml b/opcodes/fareyleni.xml
index cea7abf..3a048db 100644
--- a/opcodes/fareyleni.xml
+++ b/opcodes/fareyleni.xml
@@ -23,28 +23,98 @@ where phi(m) is Euler's totient function, which gives the number of integers &le
     </para>
     <para>
       Some values for the length of F<subscript>n</subscript> given n:
-      <itemizedlist>
-        <listitem>n	|F<subscript>n</subscript>|</listitem>
-        <listitem>1	2</listitem>
-        <listitem>2	3</listitem>
-        <listitem>3	5</listitem>
-        <listitem>4	7</listitem>
-        <listitem>5	11</listitem>
-        <listitem>6	13</listitem>
-        <listitem>7 	19</listitem>
-        <listitem>8	23</listitem>	
-        <listitem>9	29</listitem>
-        <listitem>10	33</listitem>
-        <listitem>11	43</listitem>	
-        <listitem>12	47</listitem>
-        <listitem>13	59</listitem>
-        <listitem>14	65</listitem>
-        <listitem>15	73</listitem>
-        <listitem>16	81</listitem>
-        <listitem>17	97</listitem>
-        <listitem>18	103</listitem>
-        <listitem>19	121</listitem>
-      </itemizedlist>
+      <informaltable>
+        <tgroup cols="2">
+          <thead>
+            <row>
+              <entry>n</entry>
+              <entry>F<subscript>n</subscript></entry>
+            </row>
+          </thead>
+          <tbody>
+            <row>
+              <entry>1</entry>
+              <entry>2</entry>
+            </row>
+            <row>
+              <entry>2</entry>
+              <entry>3</entry>
+            </row>
+            <row>
+              <entry>3</entry>
+              <entry>5</entry>
+            </row>
+            <row>
+              <entry>4</entry>
+              <entry>7</entry>
+            </row>
+            <row>
+              <entry>5</entry>
+              <entry>11</entry>
+            </row>
+            <row>
+              <entry>6</entry>
+              <entry>13</entry>
+            </row>
+            <row>
+              <entry>7</entry>
+              <entry>19</entry>
+            </row>
+            <row>
+              <entry>8</entry>
+              <entry>23</entry>
+            </row>
+            <row>
+              <entry>9</entry>
+              <entry>29</entry>
+            </row>
+            <row>
+              <entry>10</entry>
+              <entry>33</entry>
+            </row>
+            <row>
+              <entry>11</entry>
+              <entry>43</entry>
+            </row>
+            <row>
+              <entry>12</entry>
+              <entry>47</entry>
+            </row>
+            <row>
+              <entry>13</entry>
+              <entry>59</entry>
+            </row>
+            <row>
+              <entry>14</entry>
+              <entry>65</entry>
+            </row>
+            <row>
+              <entry>15</entry>
+              <entry>73</entry>
+            </row>
+            <row>
+              <entry>16</entry>
+              <entry>81</entry>
+            </row>
+            <row>
+              <entry>17</entry>
+              <entry>97</entry>
+            </row>
+            <row>
+              <entry>18</entry>
+              <entry>103</entry>
+            </row>
+            <row>
+              <entry>19</entry>
+              <entry>121</entry>
+            </row>
+            <row>
+              <entry>20</entry>
+              <entry>129</entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </informaltable>
     </para>
 
   </refsect1>
@@ -66,6 +136,18 @@ where phi(m) is Euler's totient function, which gives the number of integers &le
   </refsect1>
  
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the fareyleni opcode. It uses the file <ulink url="examples/fareyleni.csd"><citetitle>fareyleni.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the fareyleni opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/fareyleni.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>Credits</title>
     <para>
       <simplelist>
diff --git a/opcodes/faustaudio.xml b/opcodes/faustaudio.xml
new file mode 100644
index 0000000..b20f0e4
--- /dev/null
+++ b/opcodes/faustaudio.xml
@@ -0,0 +1,67 @@
+
+<refentry id="faustaudio">
+<indexterm id="Indexfaustaudio"><primary>faustaudio</primary></indexterm>
+  <refentryinfo><title>Faust Opcodes</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>faustaudio</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>faustaudio</refname>
+    <refpurpose>
+      Instantiates and runs a compiled Faust program.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Faustaudio will instantiate and run a Faust program compiled with faustcompile.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>ihandle,a1[,a2,...] faustaudio</command> ifac[,ain1,...] </synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis><quote>ifac</quote></emphasis> --  a handle to a compiled Faust program, produced by faustcompile.
+</para>    
+    <para>
+      <emphasis><quote>ihandle</quote></emphasis> -- a handle to the Faust DSP instance, which can be used to access
+its controls with faustctl.
+</para>  
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+   	<para>
+      <emphasis><quote>ain1,...</quote></emphasis> -- input signals
+    </para>
+	<para>
+      <emphasis><quote>a1,...</quote></emphasis> -- output signals
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the faustaudio opcode, with a simple program that mixes two inputs:
+      <example>
+   <para>   
+<programlisting>
+ifac <emphasis role="op">faustcompile</emphasis> "process=+;", "-vec -lv 1"
+idsp,a1 <emphasis role="op">faustaudio</emphasis> ifac,ain1,ain2
+ </programlisting>
+    </para>
+      </example>
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>Credits</title>
+    <para>Author: &namevictor;, 2013 </para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/faustcompile.xml b/opcodes/faustcompile.xml
new file mode 100644
index 0000000..43f5bc0
--- /dev/null
+++ b/opcodes/faustcompile.xml
@@ -0,0 +1,56 @@
+
+<refentry id="faustcompile">
+<indexterm id="Indexfaustcompile"><primary>faustcompile</primary></indexterm>
+  <refentryinfo><title>Faust Opcodes</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>faustcompile</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>faustcompile</refname>
+    <refpurpose>
+      Invokes the just-in-time compiler to produce a instantiable DSP process from a Faust program.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Faustcompile will compile a Faust program from a string, controlled by various arguments.
+      Multi-line strings are accepted, using {{  }} to enclose the string.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>ihandle faustcompile</command> Scode, Sargs </synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis><quote>Scode</quote></emphasis> --  a string (in double-quotes or enclosed by {{ }}) containing a Faust program.
+</para>    
+    <para>
+      <emphasis><quote>Sargs</quote></emphasis> --  a string (in double-quotes or enclosed by {{ }}) containing Faust compiler args.
+</para>  
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the faustcompile opcode, with a simple program that mixes two inputs:
+      <example>
+   <para>   
+<programlisting>
+ihandle <emphasis role="op">faustcompile</emphasis> "process=+;", "-vec -lv 1"
+ </programlisting>
+    </para>
+      </example>
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>Credits</title>
+    <para>Author: &namevictor;, 2013 </para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/faustctl.xml b/opcodes/faustctl.xml
new file mode 100644
index 0000000..db23cd8
--- /dev/null
+++ b/opcodes/faustctl.xml
@@ -0,0 +1,67 @@
+
+<refentry id="faustctl">
+<indexterm id="Indexfaustctl"><primary>faustctl</primary></indexterm>
+  <refentryinfo><title>Faust Opcodes</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>faustctl</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>faustctl</refname>
+    <refpurpose>
+      Adjusts a given control in a Faust DSP instance.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Faustctl will set a given control in a running faust program
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>faustctl</command> idsp,Scontrol,kval </synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis><quote>Scontrol</quote></emphasis> --  a string containing the control name
+</para>    
+    <para>
+      <emphasis><quote>idsp</quote></emphasis> -- a handle to an existing Faust DSP instance
+</para>  
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+   	<para>
+      <emphasis><quote>kval</quote></emphasis> -- value to which the control will be set.
+    </para>
+
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the faustctl opcode, with a simple program that adjusts the gain of an input:
+      <example>
+   <para>   
+<programlisting>
+idsp,a1 <emphasis role="op">faustgen</emphasis> {{
+gain = hslider("vol",1,0,1,0.01);
+process = (_ * gain); 
+}}, ain1
+<emphasis role="op">faustctl</emphasis> idsp, "vol", 0.5
+ </programlisting>
+    </para>
+      </example>
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>Credits</title>
+    <para>Author: &namevictor;, 2013 </para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/faustgen.xml b/opcodes/faustgen.xml
new file mode 100644
index 0000000..2bbc978
--- /dev/null
+++ b/opcodes/faustgen.xml
@@ -0,0 +1,66 @@
+
+<refentry id="faustgen">
+<indexterm id="Indexfaustgen"><primary>faustgen</primary></indexterm>
+  <refentryinfo><title>Faust Opcodes</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>faustgen</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>faustgen</refname>
+    <refpurpose>
+      Compiles, Instantiates and runs a compiled Faust program.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Faustgen will invoke the just-in-time compiler, instantiate and run a Faust program.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>ihandle,a1[,a2,...] faustgen</command> SCode[,ain1,...] </synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis><quote>Scode</quote></emphasis> --  a string containing a Faust program.
+</para>    
+    <para>
+      <emphasis><quote>ihandle</quote></emphasis> -- a handle to the Faust DSP instance, which can be used to access
+its controls with faustctl.
+</para>  
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+   	<para>
+      <emphasis><quote>ain1,...</quote></emphasis> -- input signals
+    </para>
+	<para>
+      <emphasis><quote>a1,...</quote></emphasis> -- output signals
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the faustgen opcode, with a simple program that mixes two inputs:
+      <example>
+   <para>   
+<programlisting>
+idsp,a1 <emphasis role="op">faustgen</emphasis> "process=+;",ain1,ain2
+ </programlisting>
+    </para>
+      </example>
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>Credits</title>
+    <para>Author: &namevictor;, 2013 </para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/ficlose.xml b/opcodes/ficlose.xml
index 862c77a..b777426 100644
--- a/opcodes/ficlose.xml
+++ b/opcodes/ficlose.xml
@@ -53,11 +53,24 @@
       <para>This opcode should be used with care, as the file handle will become invalid, and will cause an init error when an opcode tries to access the closed file.</para>
     </warning>
   </refsect1>
+    
+    <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the ficlose opcode. It uses the file <ulink url="examples/ficlose.csd"><citetitle>ficlose.csd</citetitle></ulink>.
+            <example>
+        <title>Example of the ficlose opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/ficlose.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
  
   <refsect1>
     <title>See Also</title>
     <para>
-      <link linkend="fiopen"><citetitle>fout</citetitle></link>,
+      <link linkend="fiopen"><citetitle>fiopen</citetitle></link>,
       <link linkend="fout"><citetitle>fout</citetitle></link>, 
       <link linkend="fouti"><citetitle>fouti</citetitle></link>, 
       <link linkend="foutir"><citetitle>foutir</citetitle></link>, 
diff --git a/opcodes/filebit.xml b/opcodes/filebit.xml
index c4b3ce1..f0c2e33 100644
--- a/opcodes/filebit.xml
+++ b/opcodes/filebit.xml
@@ -65,7 +65,7 @@ and <ulink url="examples/mary.wav"><citetitle>mary.wav</citetitle></ulink>.
 
       The audio file <quote>mary.wav</quote> is in monoaural CD format, so <emphasis>filebit</emphasis>'s output should include a line like this:
       <screen>
-instr 1:  ibits = 8.000
+instr 1:  ibits = 16.000
       </screen>
     </para>
   </refsect1>
diff --git a/opcodes/filelen.xml b/opcodes/filelen.xml
index add285d..c97e8fc 100644
--- a/opcodes/filelen.xml
+++ b/opcodes/filelen.xml
@@ -47,20 +47,18 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the filelen opcode. It uses the file <ulink url="examples/filelen.csd"><citetitle>filelen.csd</citetitle></ulink>, and <ulink url="examples/mary.wav"><citetitle>mary.wav</citetitle></ulink>.
+      Here is an example of the filelen opcode. It uses the file <ulink url="examples/filelen.csd"><citetitle>filelen.csd</citetitle></ulink>, <ulink url="examples/fox.wav"><citetitle>fox.wav</citetitle></ulink>, and <ulink url="examples/kickroll.wav"><citetitle>kickroll.wav</citetitle></ulink>.
 
       <example>
         <title>Example of the filelen opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/filelen.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
 
-      The audio file <quote>mary.wav</quote> is 3.5 seconds long. So <emphasis>filelen</emphasis>'s output should include a line like this:
+      The mono audio file <quote>fox.wav</quote> is 2.8 seconds long, and the stereo file <quote>kickroll.wav</quote> is 0.9 seconds. So <emphasis>filelen</emphasis>'s output should include a line for the mono and the stereo file like this:
       <screen>
-instr 1:  ilen = 3.501
+instr 1:  ilen = 2.757
+instr 1:  ilen = 0.857
       </screen>
     </para>
   </refsect1>
@@ -83,7 +81,6 @@ instr 1:  ilen = 3.501
         <member>July 1999</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
 
     <para>New in Csound version 3.57</para>
   </refsect1>
diff --git a/opcodes/filenchnls.xml b/opcodes/filenchnls.xml
index c47c6ad..00f1e1d 100644
--- a/opcodes/filenchnls.xml
+++ b/opcodes/filenchnls.xml
@@ -47,9 +47,7 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the filenchnls opcode. It uses the file <ulink url="examples/filenchnls.csd"><citetitle>filenchnls.csd</citetitle></ulink>,
-and <ulink url="examples/mary.wav"><citetitle>mary.wav</citetitle></ulink>.
-
+      Here is an example of the filenchnls opcode. It uses the file <ulink url="examples/filenchnls.csd"><citetitle>filenchnls.csd</citetitle>, </ulink><ulink url="examples/fox.wav"><citetitle>fox.wav</citetitle></ulink>, and <ulink url="examples/kickroll.wav"><citetitle>kickroll.wav</citetitle></ulink>.
       <example>
         <title>Example of the filenchnls opcode.</title>
 
@@ -59,9 +57,10 @@ and <ulink url="examples/mary.wav"><citetitle>mary.wav</citetitle></ulink>.
           <xi:include href="examples-xml/filenchnls.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
 
-      The audio file <quote>mary.wav</quote> is monoaural (1 channel). So <emphasis>filenchnls</emphasis>'s output should include a line like this:
+      The audio file <quote>fox.wav</quote> is monoaural (1 channel), while <quote>kickroll.wav</quote> is stereo (2 channels) So <emphasis>filenchnls</emphasis>'s output should include lines like this:
       <screen>
-instr 1:  ichnls = 1.000
+instr 1:  ichn = 1.000
+instr 1:  ichn = 2.000
       </screen>
     </para>
   </refsect1>
@@ -84,7 +83,6 @@ instr 1:  ichnls = 1.000
         <member>July 1999</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
 
     <para>New in Csound version 3.57</para>
   </refsect1>
diff --git a/opcodes/filepeak.xml b/opcodes/filepeak.xml
index 487b3a6..e039704 100644
--- a/opcodes/filepeak.xml
+++ b/opcodes/filepeak.xml
@@ -56,7 +56,7 @@
     <title>Examples</title>
     <para>
       Here is an example of the filepeak opcode. It uses the file <ulink url="examples/filepeak.csd"><citetitle>filepeak.csd</citetitle></ulink>,
-and <ulink url="examples/mary.wav"><citetitle>mary.wav</citetitle></ulink>.
+and <ulink url="examples/Church.wav"><citetitle>Church.wav</citetitle></ulink>.
 
       <example>
         <title>Example of the filepeak opcode.</title>
@@ -65,9 +65,10 @@ and <ulink url="examples/mary.wav"><citetitle>mary.wav</citetitle></ulink>.
           <xi:include href="examples-xml/filepeak.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
 
-      The peak absolute value of the audio file <quote>mary.wav</quote> is 0.306902. So <emphasis>filepeak</emphasis>'s output should include a line like this:
+      The <emphasis>filepeak</emphasis>'s output should include lines like this:
       <screen>
-instr 1:  ipeak = 0.307
+Peak value in file 'Church.wav' is 0.909363 (-0.825 dB).
+Peak value in file 'Church_norm.wav' is 0.501190 (-6.000 dB).
       </screen>
     </para>
   </refsect1>
@@ -89,7 +90,6 @@ instr 1:  ipeak = 0.307
         <member>July 1999</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
 
     <para>New in Csound version 3.57</para>
   </refsect1>
diff --git a/opcodes/filesr.xml b/opcodes/filesr.xml
index de08652..1006702 100644
--- a/opcodes/filesr.xml
+++ b/opcodes/filesr.xml
@@ -46,7 +46,7 @@
     <title>Examples</title>
     <para>
       Here is an example of the filesr opcode. It uses the file <ulink url="examples/filesr.csd"><citetitle>filesr.csd</citetitle></ulink>,
-and <ulink url="examples/mary.wav"><citetitle>mary.wav</citetitle></ulink>.
+and <ulink url="examples/beats.wav"><citetitle>beats.wav</citetitle></ulink>.
 
       <example>
         <title>Example of the filesr opcode.</title>
@@ -54,9 +54,9 @@ and <ulink url="examples/mary.wav"><citetitle>mary.wav</citetitle></ulink>.
           <xi:include href="examples-xml/filesr.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
 
-      The audio file <quote>mary.wav</quote> was sampled at 44.1 KHz. So <emphasis>filesr</emphasis>'s output should include a line like this:
+      The audio file <quote>beats.wav</quote> was sampled at 44.1 KHz. So <emphasis>filesr</emphasis>'s output should include a line like this:
       <screen>
-instr 1:  isr = 44100.000
+sample rate = 44100.000000, size = 131072.000000
       </screen>
     </para>
   </refsect1>
@@ -79,7 +79,6 @@ instr 1:  isr = 44100.000
         <member>July 1999</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
 
     <para>New in Csound version 3.57</para>
   </refsect1>
diff --git a/opcodes/filevalid.xml b/opcodes/filevalid.xml
index 88aee36..873f386 100644
--- a/opcodes/filevalid.xml
+++ b/opcodes/filevalid.xml
@@ -6,13 +6,11 @@
     <refentrytitle>filevalid</refentrytitle>
   </refmeta>
 
-
- 
   <refnamediv>
     <refname>filevalid</refname>
     <refpurpose>
       Checks that a file can be used.
-          </refpurpose>
+    </refpurpose>
   </refnamediv>
  
   <refsect1>
@@ -44,7 +42,7 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the filevalid opcode. It uses the file <ulink url="examples/filevalid.csd"><citetitle>filevalid.csd</citetitle></ulink>, and <ulink url="examples/mary.wav"><citetitle>mary.wav</citetitle></ulink>.
+      Here is an example of the filevalid opcode. It uses the file <ulink url="examples/filevalid.csd"><citetitle>filevalid.csd</citetitle></ulink>.
 
       <example>
         <title>Example of the filevalid opcode.</title>
@@ -54,7 +52,10 @@
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/filevalid.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
+           The output should include a line like this:
+      <screen>
+Audiofile 'frox.wav' does not exist!
+      </screen>
     </para>
   </refsect1>
 
@@ -77,8 +78,7 @@
         <member>July 2010</member>
       </simplelist>
     </para>
-    <para>Example written by &namejohn;.</para>
 
-    <para>New in Csound version 4.13</para>
+    <para>New in Csound version 5.13</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/fillarray.xml b/opcodes/fillarray.xml
new file mode 100644
index 0000000..1d805c5
--- /dev/null
+++ b/opcodes/fillarray.xml
@@ -0,0 +1,68 @@
+
+<refentry id="fillarray">
+<indexterm id="IndexFillarray"><primary>fillarray</primary></indexterm>
+
+  <refentryinfo><title>Table Control:Table Queries</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>fillarray</refentrytitle>
+  </refmeta>
+
+   <refnamediv>
+    <refname>fillarray</refname>
+    <refpurpose>
+      Generate a vector with initial values.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Generate a vector (one-dimensional k-rate array) with a sequence
+      of numeric values.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+      <synopsis>karray[] <command>fillarray</command> ival1, ival2,.....ivaln</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ival1,...ivaln</emphasis> -- values to place in the vector.
+    </para>
+  </refsect1>
+
+ <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the fillarray opcode. It uses the file <ulink url="examples/fillarray.csd"><citetitle>fillarray.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the fillarray opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/fillarray.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="vectorial"><citetitle></citetitle>Vectorial opcodes</link>
+      <link linkend="array"><citetitle></citetitle>array</link>
+</para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>Codemist Ltd</member>
+        <member>2013</member>
+      </simplelist>
+    </para>
+    <para>New in version 6.00</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/filter2.xml b/opcodes/filter2.xml
index 5f1eb41..78a5fec 100644
--- a/opcodes/filter2.xml
+++ b/opcodes/filter2.xml
@@ -67,6 +67,14 @@
 k1 <emphasis role="opc">filter2</emphasis> ksig, 2, 0, 0.5, 0.5   <emphasis role="comment">;; k-rate FIR filter</emphasis></programlisting>
       </informalexample>
     </para>
+    <para>
+      Here is another example of the filter2 opcode. It uses the file <ulink url="examples/filter2.csd"><citetitle>filter2.csd</citetitle></ulink>.
+            <example>
+        <title>Example of the filter2 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/filter2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
   </refsect1>
  
   <refsect1>
diff --git a/opcodes/fin.xml b/opcodes/fin.xml
index 0021b4e..d819eb1 100644
--- a/opcodes/fin.xml
+++ b/opcodes/fin.xml
@@ -23,6 +23,7 @@
   <refsect1>
     <title>Syntax</title>
     <synopsis><command>fin</command> ifilename, iskipframes, iformat, ain1 [, ain2] [, ain3] [,...]</synopsis>
+    <synopsis><command>fin</command> ifilename, iskipframes, iformat, arr[]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -58,7 +59,19 @@
       <para>Please note that since this opcode generates its output using input parameters (on the right side of the opcode), these variables must be initialized before use, otherwise a 'used before defined' error will occur. You can use the <link linkend="init"><citetitle>init</citetitle></link> opcode for this.</para>
     </note>
   </refsect1>
-
+  
+    <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the fin opcode. It uses the file <ulink url="examples/fin.csd"><citetitle>fin.csd</citetitle></ulink> and <ulink url="examples/fox.wav"><citetitle>fox.wav</citetitle></ulink>.
+            <example>
+        <title>Example of the fin opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/fin.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
   <refsect1>
     <title>See Also</title>
     <para>
@@ -74,9 +87,12 @@
         <member>Author: &namegabriel;</member>
         <member>Italy</member>
         <member>1999</member>
+        <member>Author: &namejohn;</member>
+        <member>NUIM, 2013</member>
       </simplelist>
     </para>
 
     <para>New in Csound version 3.56</para>
+    <para>Array version new in 6.01</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/fiopen.xml b/opcodes/fiopen.xml
index d2d4f19..2e84554 100644
--- a/opcodes/fiopen.xml
+++ b/opcodes/fiopen.xml
@@ -72,7 +72,19 @@
       Notice that <link linkend="fout"><citetitle>fout</citetitle></link> and <link linkend="foutk"><citetitle>foutk</citetitle></link> can use either a string containing a file pathname, or a handle-number generated by <emphasis>fiopen</emphasis>. Whereas, with <link linkend="fouti"><citetitle>fouti</citetitle></link> and <link linkend="foutir"><citetitle>foutir</citetitle></link>, the target file can be only specified by means of a handle-number.
     </para>
   </refsect1>
- 
+   
+    <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the fiopen opcode. It uses the file <ulink url="examples/fiopen.csd"><citetitle>fiopen.csd</citetitle></ulink>.
+            <example>
+        <title>Example of the fiopen opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/fiopen.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/flanger.xml b/opcodes/flanger.xml
index 1f5a1b0..45f0821 100644
--- a/opcodes/flanger.xml
+++ b/opcodes/flanger.xml
@@ -1,80 +1,81 @@
-
-<refentry id="flanger">
-<indexterm id="IndexFlanger"><primary>flanger</primary></indexterm>
-  <refentryinfo><title>Signal Modifiers:Special Effects</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>flanger</refentrytitle>
-  </refmeta>
-
-
- 
-  <refnamediv>
-    <refname>flanger</refname>
-    <refpurpose>
-      A user controlled flanger.
-          </refpurpose>
-  </refnamediv>
- 
-  <refsect1>
-    <title>Description</title>
-    <para>
-      A user controlled flanger.
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis>ares <command>flanger</command> asig, adel, kfeedback [, imaxd]</synopsis>
-  </refsect1>
- 
-  <refsect1>
-    <title>Initialization</title>
-    <para>
-      <emphasis>imaxd</emphasis>(optional) -- maximum delay in seconds (needed for inital memory allocation)
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      <emphasis>asig</emphasis> -- input signal
-    </para>
-
-    <para>
-      <emphasis>adel</emphasis> -- delay in seconds
-    </para>
-
-    <para>
-      <emphasis>kfeedback</emphasis> -- feedback amount (in normal tasks this should not exceed 1, even if bigger values are allowed)
-    </para>
-
-    <para>
-      This unit is useful for generating choruses and flangers. The delay must be varied at a-rate connecting <emphasis>adel</emphasis> to an oscillator output. Also the feedback can vary at k-rate.  This opcode is implemented to allow <emphasis>kr</emphasis> different than <emphasis>sr</emphasis> (else delay could not be lower than <emphasis>ksmps</emphasis>) enhancing realtime performance. This unit is very similar to <link linkend="wguide1"><citetitle>wguide1</citetitle></link>, the only difference is <emphasis>flanger</emphasis> does not have the lowpass filter.
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the flanger opcode. It uses the file <ulink url="examples/flanger.csd"><citetitle>flanger.csd</citetitle></ulink>, and <ulink url="examples/beats.wav"><citetitle>beats.wav</citetitle></ulink>.
-      <example>
-        <title>Example of the flanger opcode.</title>
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/flanger.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Credits</title>
-    <para>
-      <simplelist>
-        <member>Author: &namegabriel;</member>
-        <member>Italy</member>
-      </simplelist>
-    </para>
-    <para>Example written by &namekevin;.</para>
-
-    <para>New in Csound version 3.49</para>
-  </refsect1>
-</refentry>
+
+<refentry id="flanger">
+<indexterm id="IndexFlanger"><primary>flanger</primary></indexterm>
+  <refentryinfo><title>Signal Modifiers:Special Effects</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>flanger</refentrytitle>
+  </refmeta>
+ 
+  <refnamediv>
+    <refname>flanger</refname>
+    <refpurpose>
+      A user controlled flanger.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      A user controlled flanger.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>flanger</command> asig, adel, kfeedback [, imaxd]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>imaxd</emphasis>(optional) -- maximum delay in seconds (needed for inital memory allocation)
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>asig</emphasis> -- input signal
+    </para>
+
+    <para>
+      <emphasis>adel</emphasis> -- delay in seconds
+    </para>
+
+    <para>
+      <emphasis>kfeedback</emphasis> -- feedback amount (in normal tasks this should not exceed 1, even if bigger values are allowed)
+    </para>
+
+    <para>
+      This unit is useful for generating choruses and flangers. The delay must be varied at a-rate, for example by connecting <emphasis>adel</emphasis> to an oscillator output. The feedback can vary at k-rate.  This opcode is implemented to allow <emphasis>kr</emphasis> different than <emphasis>sr</emphasis> (else delay could not be lower than <emphasis>ksmps</emphasis>) enhancing realtime performance. This unit is very similar to <link linkend="wguide1"><citetitle>wguide1</citetitle></link>, the only difference is <emphasis>flanger</emphasis> does not have the lowpass filter or the requirement that the delay be varied at a-rate.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the flanger opcode. It uses the file <ulink url="examples/flanger.csd"><citetitle>flanger.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the flanger opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/flanger.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+    <refsect1>
+    <title>See Also</title>
+    <para> More information on flanging on Wikipedia: <ulink url="http://en.wikipedia.org/wiki/Flanger"><citetitle>http://en.wikipedia.org/wiki/Flanger</citetitle></ulink></para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namegabriel;</member>
+        <member>Italy</member>
+      </simplelist>
+      </para>
+    <para>New in Csound version 3.49</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/flooper.xml b/opcodes/flooper.xml
index b88d15d..954ce4f 100644
--- a/opcodes/flooper.xml
+++ b/opcodes/flooper.xml
@@ -51,18 +51,16 @@
       <emphasis>asig</emphasis> -- output sig
     </para>
     <para>
-      <emphasis>kon</emphasis> -- amplitude control </para>
+      <emphasis>kamp</emphasis> -- amplitude control </para>
     <para>
       <emphasis>kpitch</emphasis> -- pitch control (transposition ratio); negative values play the loop back in reverse
     </para>
-
   </refsect1>
 
   <refsect1>
     <title>Examples</title>
     <para>
       <example>
-        <title>Example</title>
         <programlisting>
 aout <emphasis role="opc">flooper</emphasis> 16000, 1, 1, 4, 0.05, 1  <emphasis role="comment">; loop starts at 1 sec, for 4 secs, 0.05 crossfade</emphasis>
      <emphasis role="opc">out</emphasis>     aout</programlisting>
@@ -76,8 +74,17 @@ table 1 to contain at least 5.05 seconds of audio (4 secs loop duration,
 starting 1 sec into the table, using 0.05 secs after the loop end for the
 crossfade).
     </para>
-  </refsect1>
 
+    <para>
+      Here is another example of the flooper opcode. It uses the file <ulink url="examples/flooper.csd"><citetitle>flooper.csd</citetitle></ulink> and <ulink url="examples/fox.wav"><citetitle>fox.wav</citetitle></ulink>.
+      <example>
+       
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/flooper.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
   <refsect1>
     <title>Credits</title>
     <para>
diff --git a/opcodes/flooper2.xml b/opcodes/flooper2.xml
index 679dfef..54d9d37 100644
--- a/opcodes/flooper2.xml
+++ b/opcodes/flooper2.xml
@@ -81,7 +81,6 @@ loop length.</para>
     <title>Examples</title>
     <para>
       <example>
-        <title>Example</title>
         <programlisting>
 aout <emphasis role="opc">flooper2</emphasis> 16000, 1, 1, 5, 0.05, 1  <emphasis role="comment">; loop starts at 1 sec, for 4 secs, 0.05 crossfade</emphasis>
      <emphasis role="opc">out</emphasis>      aout</programlisting>
@@ -97,6 +96,14 @@ starting 1 sec into the table, using 0.05 secs after the loop end for the
 crossfade). Looping is in mode 0 (normal forward loop).
     </para>
 
+    <para>
+      Here is another example of the flooper2 opcode. It uses the file <ulink url="examples/flooper2.csd"><citetitle>flooper2.csd</citetitle></ulink> and <ulink url="examples/fox.wav"><citetitle>fox.wav</citetitle></ulink>.
+      <example>
+        
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/flooper2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/floor.xml b/opcodes/floor.xml
index 7e160fd..ca1dd34 100644
--- a/opcodes/floor.xml
+++ b/opcodes/floor.xml
@@ -34,7 +34,36 @@
     	further expression.
     </para>
   </refsect1>
-
+   
+    <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the floor opcode. It uses the file <ulink url="examples/floor.csd"><citetitle>floor.csd</citetitle></ulink>.
+            <example>
+        <title>Example of the floor opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/floor.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+    <refsect1>
+          <para>
+      The output should include lines like these:
+      <screen>
+instr 1:  inumber = 9.000  idiv = 1.000  ifl = 9.000
+instr 1:  inumber = 9.000  idiv = 2.000  ifl = 4.000
+instr 1:  inumber = 9.000  idiv = 3.000  ifl = 3.000
+instr 1:  inumber = 9.000  idiv = 4.000  ifl = 2.000
+instr 1:  inumber = 9.000  idiv = 5.000  ifl = 1.000
+instr 1:  inumber = 9.000  idiv = 6.000  ifl = 1.000
+instr 1:  inumber = 9.000  idiv = 7.000  ifl = 1.000
+instr 1:  inumber = 9.000  idiv = 8.000  ifl = 1.000
+instr 1:  inumber = 9.000  idiv = 9.000  ifl = 1.000
+instr 1:  inumber = 9.000  idiv = 10.000  ifl = 0.000
+      </screen>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/fluidAllOut.xml b/opcodes/fluidAllOut.xml
index bbadbd0..823f547 100644
--- a/opcodes/fluidAllOut.xml
+++ b/opcodes/fluidAllOut.xml
@@ -42,19 +42,17 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the fluidsynth opcodes. It uses the file <ulink url="examples/fluidAllOut.orc"><citetitle>fluidAllOut.orc</citetitle></ulink>.
+      Here is an example of the fluidAllOut opcodes. It uses the file <ulink url="examples/fluidAllOut.csd"><citetitle>fluidAllOut.csd</citetitle></ulink>.
     </para>
-    <xi:include href="examples-xml/fluidAllOut.orc.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-    <para>
-      Here is another more complex example of the fluidsynth opcodes written by Istvan Varga. It uses the file <ulink url="examples/fluidcomplex.csd"><citetitle>fluidcomplex.csd</citetitle></ulink>.
-    </para>
-    <xi:include href="examples-xml/fluidcomplex.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-
+    <xi:include href="examples-xml/fluidAllOut.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
   </refsect1>
+  
   <refsect1>
     <title>See Also</title>
     <para><link linkend="fluidEngine"><citetitle>fluidEngine</citetitle></link>, <link linkend="fluidNote"><citetitle>fluidNote</citetitle></link>, <link linkend="fluidLoad"><citetitle>fluidLoad</citetitle></link></para>
-  </refsect1>
+            <para> More information on soundfonts in the Floss Manuals: <ulink url="http://en.flossmanuals.net/csound/ch048_d-reading-midi-files"><citetitle>http://en.flossmanuals.net/csound/ch048_d-reading-midi-files</citetitle></ulink></para>
+        <para> Other information on soundfonts on Wikipedia: <ulink url="http://en.wikipedia.org/wiki/Soundfont"><citetitle>http://en.wikipedia.org/wiki/Soundfont</citetitle></ulink></para>   
+    </refsect1>
   <refsect1>
     <title>Credits</title>
     <para>Opcode by Michael Gogins (gogins at pipeline dot
diff --git a/opcodes/fluidCCi.xml b/opcodes/fluidCCi.xml
index e9e898c..af36032 100644
--- a/opcodes/fluidCCi.xml
+++ b/opcodes/fluidCCi.xml
@@ -42,10 +42,21 @@
     <para>This opcode is useful for setting controller values at init time. For 
     continous changes, use fluidCCk.</para>
   </refsect1>
+  
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the fluidCCi opcodes. It uses the file <ulink url="examples/fluidCCi.csd"><citetitle>fluidCCi.csd</citetitle></ulink>.
+    </para>
+    <xi:include href="examples-xml/fluidCCi.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+  </refsect1>
+  
   <refsect1>
     <title>See Also</title>
     <para><link linkend="fluidEngine"><citetitle>fluidEngine</citetitle></link>, <link linkend="fluidNote"><citetitle>fluidNote</citetitle></link>, <link linkend="fluidLoad"><citetitle>fluidLoad</citetitle></link>, <link linkend="fluidCCk"><citetitle>fluidCCk</citetitle></link></para>
-  </refsect1>
+            <para> More information on soundfonts in the Floss Manuals: <ulink url="http://en.flossmanuals.net/csound/ch048_d-reading-midi-files"><citetitle>http://en.flossmanuals.net/csound/ch048_d-reading-midi-files</citetitle></ulink></para>
+        <para> Other information on soundfonts on Wikipedia: <ulink url="http://en.wikipedia.org/wiki/Soundfont"><citetitle>http://en.wikipedia.org/wiki/Soundfont</citetitle></ulink></para>   
+    </refsect1>
   <refsect1>
     <title>Credits</title>
     <para>Michael Gogins (gogins at pipeline dot com), Steven Yi. 
diff --git a/opcodes/fluidCCk.xml b/opcodes/fluidCCk.xml
index 2f25753..254a7ac 100644
--- a/opcodes/fluidCCk.xml
+++ b/opcodes/fluidCCk.xml
@@ -41,11 +41,22 @@
   <para><emphasis>kValue </emphasis> -- value to set for controller (usually
   0-127)</para>
   </refsect1>
+    
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the fluidCCk opcodes. It uses the file <ulink url="examples/fluidCCk.csd"><citetitle>fluidCCk.csd</citetitle></ulink>.
+    </para>
+    <xi:include href="examples-xml/fluidCCk.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+  </refsect1>
+  
   <refsect1>
     <title>See Also</title>
     <para><link linkend="fluidEngine"><citetitle>fluidEngine</citetitle></link>, <link linkend="fluidNote"><citetitle>fluidNote</citetitle></link>, <link linkend="fluidLoad"><citetitle>fluidLoad</citetitle></link>, <link linkend="fluidCCi"><citetitle>fluidCCi</citetitle></link></para>
+            <para> More information on soundfonts in the Floss Manuals: <ulink url="http://en.flossmanuals.net/csound/ch048_d-reading-midi-files"><citetitle>http://en.flossmanuals.net/csound/ch048_d-reading-midi-files</citetitle></ulink></para>
+        <para> Other information on soundfonts on Wikipedia: <ulink url="http://en.wikipedia.org/wiki/Soundfont"><citetitle>http://en.wikipedia.org/wiki/Soundfont</citetitle></ulink></para>   
   </refsect1>
-
+  
   <refsect1>
     <title>Credits</title>
     <para>Michael Gogins (gogins at pipeline dot com), Steven Yi. 
diff --git a/opcodes/fluidControl.xml b/opcodes/fluidControl.xml
index b7d4df0..cf6699b 100644
--- a/opcodes/fluidControl.xml
+++ b/opcodes/fluidControl.xml
@@ -73,15 +73,20 @@ parameters, from Csound.</para>
 
 </refsect1>
 
-<!--  <refsect1>
+  <refsect1>
     <title>Examples</title>
-
-    <xi:include href="examples-xml/fluid.orc.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-  </refsect1>-->
+        <para>
+      Here is a more complex example of the fluidsynth opcodes written by Istvan Varga. It uses the file <ulink url="examples/fluidcomplex.csd"><citetitle>fluidcomplex.csd</citetitle></ulink>.
+    </para>
+    <xi:include href="examples-xml/fluidcomplex.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+  </refsect1>
+  
   <refsect1>
     <title>See Also</title>
     <para><link linkend="fluidEngine"><citetitle>fluidEngine</citetitle></link>, <link linkend="fluidNote"><citetitle>fluidNote</citetitle></link>, <link linkend="fluidLoad"><citetitle>fluidLoad</citetitle></link></para>
-  </refsect1>
+            <para> More information on soundfonts in the Floss Manuals: <ulink url="http://en.flossmanuals.net/csound/ch048_d-reading-midi-files"><citetitle>http://en.flossmanuals.net/csound/ch048_d-reading-midi-files</citetitle></ulink></para>
+        <para> Other information on soundfonts on Wikipedia: <ulink url="http://en.wikipedia.org/wiki/Soundfont"><citetitle>http://en.wikipedia.org/wiki/Soundfont</citetitle></ulink></para>    
+    </refsect1>
   <refsect1>
     <title>Credits</title>
     <para>Opcodes by Michael Gogins (gogins at pipeline dot
diff --git a/opcodes/fluidEngine.xml b/opcodes/fluidEngine.xml
index e708cc4..b4b0ddc 100644
--- a/opcodes/fluidEngine.xml
+++ b/opcodes/fluidEngine.xml
@@ -41,23 +41,18 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the fluidsynth opcodes. It uses the file <ulink url="examples/fluidAllOut.orc"><citetitle>fluidAllOut.orc</citetitle></ulink>.
+      Here is example of the fluidsynth opcodes using 2 engines. It uses the file <ulink url="examples/fluidEngine.csd"><citetitle>fluidEngine.csd</citetitle></ulink> and <ulink url="examples/midichn_advanced.mid"><citetitle>midichn_advanced.mid</citetitle></ulink>.
     </para>
-    <xi:include href="examples-xml/fluidAllOut.orc.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-    <para>
-      Here is another example of the fluidsynth opcodes using 2 engines. It uses the file <ulink url="examples/fluid-2.orc"><citetitle>fluid-2.orc</citetitle></ulink>.
-    </para>
-    <xi:include href="examples-xml/fluid-2.orc.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-    <para>
-      Here is another more complex example of the fluidsynth opcodes written by Istvan Varga. It uses the file <ulink url="examples/fluidcomplex.csd"><citetitle>fluidcomplex.csd</citetitle></ulink>.
-    </para>
-    <xi:include href="examples-xml/fluidcomplex.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-
+    <xi:include href="examples-xml/fluidEngine.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
   </refsect1>
+  
   <refsect1>
     <title>See Also</title>
     <para><link linkend="fluidNote"><citetitle>fluidNote</citetitle></link>, <link linkend="fluidLoad"><citetitle>fluidLoad</citetitle></link></para>
-  </refsect1>
+             <para> More information on soundfonts in the Floss Manuals: <ulink url="http://en.flossmanuals.net/csound/ch048_d-reading-midi-files"><citetitle>http://en.flossmanuals.net/csound/ch048_d-reading-midi-files</citetitle></ulink></para>
+        <para> Other information on soundfonts on Wikipedia: <ulink url="http://en.wikipedia.org/wiki/Soundfont"><citetitle>http://en.wikipedia.org/wiki/Soundfont</citetitle></ulink></para>   
+   </refsect1>
+   
   <refsect1>
     <title>Credits</title>
     <para>Michael Gogins (gogins at pipeline dot com), Steven Yi. 
diff --git a/opcodes/fluidLoad.xml b/opcodes/fluidLoad.xml
index 0b19114..81c6ada 100644
--- a/opcodes/fluidLoad.xml
+++ b/opcodes/fluidLoad.xml
@@ -49,20 +49,29 @@
     channels any number of times; the SoundFont is only loaded the first
     time.</para>
   </refsect1>
+
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the fluidsynth opcodes. It uses the file <ulink url="examples/fluid.orc"><citetitle>fluid.orc</citetitle></ulink>.
-    </para>
-    <xi:include href="examples-xml/fluid.orc.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-    <para>
-      See <link linkend="fluidEngine"><citetitle>fluidEngine</citetitle></link> for more examples.
+      Here is an example of the fluidLoad opcode. It uses the file <ulink url="examples/fluidLoad.csd"><citetitle>fluidLoad.csd</citetitle></ulink> and <ulink url="examples/07AcousticGuitar.sf2"><citetitle>07AcousticGuitar.sf2</citetitle></ulink>.
+      <example>
+        <title>Example of the fluidLoad opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/fluidLoad.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+The output should include a line like this:
+      <screen>
+SoundFont:   1  Bank:   0  Preset:   0  Seagul Acoustic Git
+      </screen>
     </para>
   </refsect1>
+  
   <refsect1>
     <title>See Also</title>
     <para><link linkend="fluidEngine"><citetitle>fluidEngine</citetitle></link>, <link linkend="fluidNote"><citetitle>fluidNote</citetitle></link></para>
-  </refsect1>
+            <para> More information on soundfonts in the Floss Manuals: <ulink url="http://en.flossmanuals.net/csound/ch048_d-reading-midi-files"><citetitle>http://en.flossmanuals.net/csound/ch048_d-reading-midi-files</citetitle></ulink></para>
+        <para> Other information on soundfonts on Wikipedia: <ulink url="http://en.wikipedia.org/wiki/Soundfont"><citetitle>http://en.wikipedia.org/wiki/Soundfont</citetitle></ulink></para>    
+    </refsect1>
   <refsect1>
     <title>Credits</title>
     <para>Michael Gogins (gogins at pipeline dot
diff --git a/opcodes/fluidNote.xml b/opcodes/fluidNote.xml
index 3cfa8cc..55a92d0 100644
--- a/opcodes/fluidNote.xml
+++ b/opcodes/fluidNote.xml
@@ -42,20 +42,27 @@ on in the given fluidEngine</para>
 
   </refsect1>
 
-
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the fluidsynth opcodes. It uses the file <ulink url="examples/fluid.orc"><citetitle>fluid.orc</citetitle></ulink>.
-    </para>
-    <xi:include href="examples-xml/fluid.orc.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-    <para>
-      See <link linkend="fluidEngine"><citetitle>fluidEngine</citetitle></link> for more examples.
+      Here is an example of the fluidNote opcode. It uses the file <ulink url="examples/fluidNote.csd"><citetitle>fluidNote.csd</citetitle></ulink> and <ulink url="examples/19Trumpet.sf2"><citetitle>19Trumpet.sf2</citetitle></ulink>.
+      <example>
+        <title>Example of the fluidNote opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/fluidNote.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+The output should include a line like this:
+      <screen>
+SoundFont:   1  Bank:   0  Preset:  56  Trumpet metallic
+      </screen>
     </para>
   </refsect1>
+ 
   <refsect1>
     <title>See Also</title>
     <para><link linkend="fluidEngine"><citetitle>fluidEngine</citetitle></link>, <link linkend="fluidLoad"><citetitle>fluidLoad</citetitle></link></para>
+             <para> More information on soundfonts in the Floss Manuals: <ulink url="http://en.flossmanuals.net/csound/ch048_d-reading-midi-files"><citetitle>http://en.flossmanuals.net/csound/ch048_d-reading-midi-files</citetitle></ulink></para>
+        <para> Other information on soundfonts on Wikipedia: <ulink url="http://en.wikipedia.org/wiki/Soundfont"><citetitle>http://en.wikipedia.org/wiki/Soundfont</citetitle></ulink></para>   
   </refsect1>
   <refsect1>
     <title>Credits</title>
diff --git a/opcodes/fluidOut.xml b/opcodes/fluidOut.xml
index a63c46c..fcb60f6 100644
--- a/opcodes/fluidOut.xml
+++ b/opcodes/fluidOut.xml
@@ -49,17 +49,29 @@ fluidEngine</para>
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the fluidsynth opcodes. It uses the file <ulink url="examples/fluid.orc"><citetitle>fluid.orc</citetitle></ulink>.
-    </para>
-    <xi:include href="examples-xml/fluid.orc.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-    <para>
-      See <link linkend="fluidEngine"><citetitle>fluidEngine</citetitle></link> for more examples.
+      Here is an example of the fluidOut opcode with two fluidOuts. It uses the file <ulink url="examples/fluidOut.csd"><citetitle>fluidOut.csd</citetitle>,  <ulink url="examples/01hpschd.sf2"><citetitle>01hpschd.sf2</citetitle></ulink> and </ulink><ulink url="examples/22Bassoon.sf2"><citetitle>22Bassoon.sf2</citetitle></ulink>.
+      <example>
+        <title>Example of the fluidOut opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/fluidOut.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+The output should include lines like these:
+      <screen>
+chnl 1 using instr 1
+chnl 2 using instr 2
+
+SoundFont:   1  Bank:   0  Preset:   0  Harpsichord I-8
+SoundFont:   1  Bank:   0  Preset:  70  Ethan Bassoon mono
+      </screen>
     </para>
   </refsect1>
+    
   <refsect1>
     <title>See Also</title>
     <para><link linkend="fluidEngine"><citetitle>fluidEngine</citetitle></link>, <link linkend="fluidNote"><citetitle>fluidNote</citetitle></link>, <link linkend="fluidLoad"><citetitle>fluidLoad</citetitle></link></para>
-  </refsect1>
+            <para> More information on soundfonts in the Floss Manuals: <ulink url="http://en.flossmanuals.net/csound/ch048_d-reading-midi-files"><citetitle>http://en.flossmanuals.net/csound/ch048_d-reading-midi-files</citetitle></ulink></para>
+        <para> Other information on soundfonts on Wikipedia: <ulink url="http://en.wikipedia.org/wiki/Soundfont"><citetitle>http://en.wikipedia.org/wiki/Soundfont</citetitle></ulink></para>     
+    </refsect1>
   <refsect1>
     <title>Credits</title>
     <para>Michael Gogins (gogins at pipeline dot com), Steven Yi. 
diff --git a/opcodes/fluidProgramSelect.xml b/opcodes/fluidProgramSelect.xml
index 2fef61c..d2f0a08 100644
--- a/opcodes/fluidProgramSelect.xml
+++ b/opcodes/fluidProgramSelect.xml
@@ -37,17 +37,22 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the fluidsynth opcodes. It uses the file <ulink url="examples/fluid.orc"><citetitle>fluid.orc</citetitle></ulink>.
+      Here is an example of the fluidProgramSelect opcode. It uses the file <ulink url="examples/fluidProgramSelect.csd"><citetitle>fluidProgramSelect.csd</citetitle></ulink>.
     </para>
-    <xi:include href="examples-xml/fluid.orc.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-    <para>
-      See <link linkend="fluidEngine"><citetitle>fluidEngine</citetitle></link> for more examples.
+    <xi:include href="examples-xml/fluidProgramSelect.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+        <para>
+      Here is another more complex example of the fluidsynth opcodes written by Istvan Varga. It uses the file <ulink url="examples/fluidcomplex.csd"><citetitle>fluidcomplex.csd</citetitle></ulink>.
     </para>
+    <xi:include href="examples-xml/fluidcomplex.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
   </refsect1>
+  
   <refsect1>
     <title>See Also</title>
     <para><link linkend="fluidEngine"><citetitle>fluidEngine</citetitle></link>, <link linkend="fluidNote"><citetitle>fluidNote</citetitle></link>, <link linkend="fluidLoad"><citetitle>fluidLoad</citetitle></link></para>
-  </refsect1>
+            <para> More information on soundfonts in the Floss Manuals: <ulink url="http://en.flossmanuals.net/csound/ch048_d-reading-midi-files"><citetitle>http://en.flossmanuals.net/csound/ch048_d-reading-midi-files</citetitle></ulink></para>
+        <para> Other information on soundfonts on Wikipedia: <ulink url="http://en.wikipedia.org/wiki/Soundfont"><citetitle>http://en.wikipedia.org/wiki/Soundfont</citetitle></ulink></para>   
+</refsect1>
+
   <refsect1>
     <title>Credits</title>
     <para>Michael Gogins (gogins at pipeline dot com), Steven Yi. 
diff --git a/opcodes/fluidSetInterpMethod.xml b/opcodes/fluidSetInterpMethod.xml
index cbc2cef..da6fef3 100644
--- a/opcodes/fluidSetInterpMethod.xml
+++ b/opcodes/fluidSetInterpMethod.xml
@@ -62,11 +62,26 @@
     </para>
 
   </refsect1>
-
+  
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the fluidSetInterpMethod opcode. It uses the file <ulink url="examples/fluidSetInterpMethod.csd"><citetitle>fluidSetInterpMethod.csd</citetitle></ulink> and <ulink url="examples/07AcousticGuitar.sf2"><citetitle>07AcousticGuitar.sf2</citetitle></ulink>.
+      <example>
+        <title>Example of the fluidSetInterpMethod opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/fluidSetInterpMethod.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
   <refsect1>
     <title>See Also</title>
     <para><link linkend="fluidEngine"><citetitle>fluidEngine</citetitle></link></para>
+            <para> More information on soundfonts in the Floss Manuals: <ulink url="http://en.flossmanuals.net/csound/ch048_d-reading-midi-files"><citetitle>http://en.flossmanuals.net/csound/ch048_d-reading-midi-files</citetitle></ulink></para>
+        <para> Other information on soundfonts on Wikipedia: <ulink url="http://en.wikipedia.org/wiki/Soundfont"><citetitle>http://en.wikipedia.org/wiki/Soundfont</citetitle></ulink></para>   
   </refsect1>
+  
   <refsect1>
     <title>Credits</title>
     <para>Author: &namesteven;</para>
diff --git a/opcodes/fmb3.xml b/opcodes/fmb3.xml
index 973b1b1..c9070d5 100644
--- a/opcodes/fmb3.xml
+++ b/opcodes/fmb3.xml
@@ -24,14 +24,17 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>ares <command>fmb3</command> kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, \
-      ifn4, ivfn</synopsis>
+    <synopsis>ares <command>fmb3</command> kamp, kfreq, kc1, kc2, kvdepth, kvrate[, ifn1, ifn2, ifn3, \
+      ifn4, ivfn]</synopsis>
   </refsect1>
  
   <refsect1>
     <title>Initialization</title>
     <para>
-      <emphasis>fmb3</emphasis> takes 5 tables for initialization. The first 4 are the basic inputs and the last is the low frequency oscillator (LFO) used for vibrato. The last table should usually be a sine wave.
+      <emphasis>fmb3</emphasis> takes 5 tables for initialization. The
+      first 4 are the basic inputs and the last is the low frequency
+      oscillator (LFO) used for vibrato. The last table should usually
+      be a sine wave.  These all default to a sine wave table.
     </para>
 
     <para>
@@ -109,7 +112,6 @@
         <member>Bath, UK</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
 
     <para>New in Csound version 3.47</para>
   </refsect1>
diff --git a/opcodes/fmbell.xml b/opcodes/fmbell.xml
index 24e1888..4ea2b79 100644
--- a/opcodes/fmbell.xml
+++ b/opcodes/fmbell.xml
@@ -24,14 +24,17 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>ares <command>fmbell</command> kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, \
-      ifn4, ivfn</synopsis>
+    <synopsis>ares <command>fmbell</command> kamp, kfreq, kc1, kc2, kvdepth, kvrate[, ifn1, ifn2, ifn3, \
+      ifn4, ivfn, isus]</synopsis>
   </refsect1>
  
   <refsect1>
     <title>Initialization</title>
     <para>
-      All these opcodes take 5 tables for initialization. The first 4 are the basic inputs and the last is the low frequency oscillator (LFO) used for vibrato. The last table should usually be a sine wave.
+      All these opcodes take 5 tables for initialization. The first 4
+      are the basic inputs and the last is the low frequency
+      oscillator (LFO) used for vibrato. These all default to a
+      siewave table.
     </para>
 
     <para>
@@ -43,6 +46,11 @@
         <listitem><para><emphasis>ifn4</emphasis> -- sine wave</para></listitem>
       </itemizedlist>
     </para>
+
+    <para>
+      The optional argument <emphasis>isus</emphasis> controls how long the
+      sound lasts, or how quickly it decays.  It defaults to 4.
+    </para>
   </refsect1>
  
   <refsect1>
@@ -109,8 +117,9 @@
         <member>Bath, UK</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
 
     <para>New in Csound version 3.47</para>
+    <para>Optional argument new in 5.16</para>
+    <para>More optional argument new in 6.0</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/fmmetal.xml b/opcodes/fmmetal.xml
index 4751285..92f1f0e 100644
--- a/opcodes/fmmetal.xml
+++ b/opcodes/fmmetal.xml
@@ -116,7 +116,6 @@
         <member>Bath, UK</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
 
     <para>New in Csound version 3.47</para>
   </refsect1>
diff --git a/opcodes/fmpercfl.xml b/opcodes/fmpercfl.xml
index 2d817c6..46bea9d 100644
--- a/opcodes/fmpercfl.xml
+++ b/opcodes/fmpercfl.xml
@@ -24,14 +24,17 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>ares <command>fmpercfl</command> kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, \
-      ifn3, ifn4, ivfn</synopsis>
+    <synopsis>ares <command>fmpercfl</command> kamp, kfreq, kc1, kc2, kvdepth, kvrate[, ifn1, ifn2, \
+      ifn3, ifn4, ivfn]</synopsis>
   </refsect1>
  
   <refsect1>
     <title>Initialization</title>
     <para>
-      All these opcodes take 5 tables for initialization. The first 4 are the basic inputs and the last is the low frequency oscillator (LFO) used for vibrato. The last table should usually be a sine wave.
+      All these opcodes take 5 tables for initialization. The first 4
+      are the basic inputs and the last is the low frequency
+      oscillator (LFO) used for vibrato. These all default to a sine
+      wave table.
     </para>
 
     <para>
@@ -109,7 +112,6 @@
         <member>Bath, UK</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
 
     <para>New in Csound version 3.47</para>
   </refsect1>
diff --git a/opcodes/fmrhode.xml b/opcodes/fmrhode.xml
index 8a590b0..9061cbb 100644
--- a/opcodes/fmrhode.xml
+++ b/opcodes/fmrhode.xml
@@ -116,7 +116,6 @@
         <member>Bath, UK</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
 
     <para>New in Csound version 3.47</para>
   </refsect1>
diff --git a/opcodes/fmvoice.xml b/opcodes/fmvoice.xml
index 2031c5b..641ba18 100644
--- a/opcodes/fmvoice.xml
+++ b/opcodes/fmvoice.xml
@@ -24,14 +24,15 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>ares <command>fmvoice</command> kamp, kfreq, kvowel, ktilt, kvibamt, kvibrate, ifn1, \
-      ifn2, ifn3, ifn4, ivibfn</synopsis>
+    <synopsis>ares <command>fmvoice</command> kamp, kfreq, kvowel, ktilt, kvibamt, kvibrate[, ifn1, \
+      ifn2, ifn3, ifn4, ivibfn]</synopsis>
   </refsect1>
  
   <refsect1>
     <title>Initialization</title>
     <para>
-      <emphasis>ifn1, ifn2, ifn3,ifn3</emphasis> -- Tables, usually of sinewaves.
+      <emphasis>ifn1, ifn2, ifn3,ifn3, ivibfn</emphasis> -- Tables,
+      usually of sinewaves.  The last is for vibrato
     </para>
   </refsect1>
  
diff --git a/opcodes/fmwurlie.xml b/opcodes/fmwurlie.xml
index 5189da5..314d610 100644
--- a/opcodes/fmwurlie.xml
+++ b/opcodes/fmwurlie.xml
@@ -116,7 +116,6 @@
         <member>Bath, UK</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
 
     <para>New in Csound version 3.47</para>
   </refsect1>
diff --git a/opcodes/fofilter.xml b/opcodes/fofilter.xml
index 33c28e9..3c17726 100644
--- a/opcodes/fofilter.xml
+++ b/opcodes/fofilter.xml
@@ -29,7 +29,7 @@ in SuperCollider, but this is possibly implemented differently(?).
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asig <command>fofilter</command> ain, kcf, kris, kdec[, istor]</synopsis>
+    <synopsis>asig <command>fofilter</command> ain, xcf, xris, xdec[, istor]</synopsis>
   </refsect1>
 
   <refsect1>
@@ -49,29 +49,29 @@ previous information to remain. The default value is 0.
       <emphasis>asig</emphasis> -- input signal.
     </para>
     <para>
-      <emphasis>kcf</emphasis> -- filter centre frequency
+      <emphasis>xcf</emphasis> -- filter centre frequency
     </para>
 
     <para>
-      <emphasis>kris</emphasis> -- impulse response attack time (secs). 
+      <emphasis>xris</emphasis> -- impulse response attack time (secs). 
     </para>
   <para>
-      <emphasis>kdec</emphasis> -- impulse response decay time (secs). 
+      <emphasis>xdec</emphasis> -- impulse response decay time (secs). 
     </para>
   </refsect1>
   
   <refsect1>
     <title>Examples</title>
     <para>
+      Here is an example of the fofilter opcode. It uses the file <ulink url="examples/fofilter.csd"><citetitle>fofilter.csd</citetitle></ulink>.
+
       <example>
-        <title>Example</title>
-        <programlisting>
-kfe         <emphasis role="opc">expseg</emphasis>    10, p3<emphasis role="op">*</emphasis>0.9, 180, p3<emphasis role="op">*</emphasis>0.1, 175
-kenv        <emphasis role="opc">linen</emphasis>     1000, 0.05, p3, 0.05
-asig        <emphasis role="opc">buzz</emphasis>      kenv, kfe, sr<emphasis role="op">/</emphasis>(2<emphasis role="op">*</emphasis>kfe), 1
-afil        <emphasis role="opc">fofilter</emphasis>  asig, 900, 0.007, 0.04
-             
-            <emphasis role="opc">out</emphasis>       afil</programlisting>
+        <title>Example of the fofilter opcode.</title>
+
+        
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/fofilter.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
     </para>
   </refsect1>
@@ -85,5 +85,7 @@ afil        <emphasis role="opc">fofilter</emphasis>  asig, 900, 0.007, 0.04
       </simplelist>
     </para>
     <para>New plugin in version 5</para>
+    <para>Audio rate parameters introduced in version 6.02</para>
+    <para>November 2013.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/fog.xml b/opcodes/fog.xml
index 34c7867..cc4ed1a 100644
--- a/opcodes/fog.xml
+++ b/opcodes/fog.xml
@@ -85,22 +85,21 @@
     </para>
 
   </refsect1>
- 
+  
   <refsect1>
     <title>Examples</title>
     <para>
-      <informalexample>
-        <programlisting>
-;p4 = transposition factor
-;p5 = speed factor
-;p6 = function table for grain data
-i1  = <emphasis role="ohdr">sr</emphasis><emphasis role="op">/</emphasis><emphasis role="opc">ftlen</emphasis>(p6) ;scaling to reflect sample rate and table length
-a1 <emphasis role="opc">phasor</emphasis> i1*p5 ;index for speed
-a2 <emphasis role="opc">fog</emphasis>    5000, 100, p4, a1, 0, 0, , .01, .02, .01, 2, p6, 1, p3, 0, 1 </programlisting>
-      </informalexample>
+      Here is an example of the fog opcode. It uses the file <ulink url="examples/fog.csd"><citetitle>fog.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the fog opcode.</title>
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/fog.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
     </para>
   </refsect1>
- 
+
   <refsect1>
     <title>Credits</title>
     <para>
diff --git a/opcodes/follow2.xml b/opcodes/follow2.xml
index e8205f1..f64f94d 100644
--- a/opcodes/follow2.xml
+++ b/opcodes/follow2.xml
@@ -67,7 +67,6 @@
         <member>February 2000</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
 
     <para>New in Csound version 4.03</para>
     <para>Added notes by &namerasmus; on September 2002.</para>
diff --git a/opcodes/foscil.xml b/opcodes/foscil.xml
index fb89cb2..c22e285 100644
--- a/opcodes/foscil.xml
+++ b/opcodes/foscil.xml
@@ -107,9 +107,9 @@
       </example>
     </para>
   </refsect1>
-
+      
   <refsect1>
-    <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
+    <title>See Also</title>
+    <para> More information about frequency modulation on Wikipedia: <ulink url="http://en.wikipedia.org/wiki/Frequency_modulation_synthesis"><citetitle>http://en.wikipedia.org/wiki/Frequency_modulation_synthesis</citetitle></ulink></para>
   </refsect1>
 </refentry>
diff --git a/opcodes/foscili.xml b/opcodes/foscili.xml
index 2fd9303..629b0bb 100644
--- a/opcodes/foscili.xml
+++ b/opcodes/foscili.xml
@@ -72,17 +72,14 @@
 
       <example>
         <title>Example of the foscili opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/foscili.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
     </para>
   </refsect1>
-
+      
   <refsect1>
-    <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
+    <title>See Also</title>
+    <para> More information about frequency modulation on Wikipedia: <ulink url="http://en.wikipedia.org/wiki/Frequency_modulation_synthesis"><citetitle>http://en.wikipedia.org/wiki/Frequency_modulation_synthesis</citetitle></ulink></para>
   </refsect1>
 </refentry>
diff --git a/opcodes/fout.xml b/opcodes/fout.xml
index afe8d41..45b0d37 100644
--- a/opcodes/fout.xml
+++ b/opcodes/fout.xml
@@ -23,7 +23,8 @@
   <refsect1>
     <title>Syntax</title>
     <synopsis><command>fout</command> ifilename, iformat, aout1 [, aout2, aout3,...,aoutN]</synopsis>
-  </refsect1>
+     <synopsis><command>fout</command> ifilename, iformat, array[]</synopsis>
+ </refsect1>
 
   <refsect1>
     <title>Initialization</title>
@@ -115,16 +116,6 @@
     </para>
 
     <para>
-      Here is an example of the fout opcode with a polyphonic score. It uses the file <ulink url="examples/fout_poly.csd"><citetitle>fout_poly.csd</citetitle></ulink> and <ulink url="examples/beats.wav"><citetitle>beats.wav</citetitle></ulink>.
-
-      <example>
-        <title>Example of the fout opcode with a polyphonic score.</title>
-
-          <xi:include href="examples-xml/fout_poly.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-
-    <para>
       Here is another example of <emphasis>fout</emphasis>, using it to save the contents of a table to an audio file. It uses the file <ulink url="examples/fout_ftable.csd"><citetitle>fout_ftable.csd</citetitle></ulink> and <ulink url="examples/beats.wav"><citetitle>beats.wav</citetitle></ulink>.
 
       <example>
@@ -153,11 +144,13 @@
         <member>Author: &namegabriel;</member>
         <member>Italy</member>
         <member>1999</member>
+        <member>Author: &namejohn;</member>
+        <member>NUIM, 2013</member>
       </simplelist>
     </para>
-    <para>The simple example was written by &namekevin;.</para>
 
     <para>New in Csound version 3.56</para>
     <para>October 2002. Added a note from Richard Dobson.</para>
+    <para>Array version new in 6.01</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/fouti.xml b/opcodes/fouti.xml
index eac44c1..4a9810d 100644
--- a/opcodes/fouti.xml
+++ b/opcodes/fouti.xml
@@ -78,6 +78,18 @@
       Notice that <link linkend="fout"><citetitle>fout</citetitle></link> and <link linkend="foutk"><citetitle>foutk</citetitle></link> can use either a string containing a file pathname, or a handle-number generated by <link linkend="fiopen"><citetitle>fiopen</citetitle></link>. Whereas, with <emphasis>fouti</emphasis> and <link linkend="foutir"><citetitle>foutir</citetitle></link>, the target file can be only specified by means of a handle-number.
     </para>
   </refsect1>
+  
+    <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the fouti opcode. It uses the file <ulink url="examples/fouti.csd"><citetitle>fouti.csd</citetitle></ulink>.
+            <example>
+        <title>Example of the fouti opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/fouti.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/foutir.xml b/opcodes/foutir.xml
index a9890e4..5efaf21 100644
--- a/opcodes/foutir.xml
+++ b/opcodes/foutir.xml
@@ -82,6 +82,18 @@
       Notice that <link linkend="fout"><citetitle>fout</citetitle></link> and <link linkend="foutk"><citetitle>foutk</citetitle></link> can use either a string containing a file pathname, or a handle-number generated by <link linkend="fiopen"><citetitle>fiopen</citetitle></link>. Whereas, with <link linkend="fouti"><citetitle>fouti</citetitle></link> and <emphasis>foutir</emphasis>, the target file can be only specified by means of a handle-number.
     </para>
   </refsect1>
+    
+    <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the foutir opcode. It uses the file <ulink url="examples/foutir.csd"><citetitle>foutir.csd</citetitle></ulink>and creates a list "foutir.sco". It can be used as a score file.
+      <example>
+        <title>Example of the foutir opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/foutir.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/fractalnoise.xml b/opcodes/fractalnoise.xml
new file mode 100644
index 0000000..8953a81
--- /dev/null
+++ b/opcodes/fractalnoise.xml
@@ -0,0 +1,97 @@
+<refentry id="fractalnoise">
+  <indexterm id="IndexFractalNoise"><primary>fractalnoise</primary></indexterm>
+  <refentryinfo><title>Signal Generators:Random (Noise) Generators</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>fractalnoise</refentrytitle>
+  </refmeta>
+ 
+  <refnamediv>
+    <refname>fractalnoise</refname>
+    <refpurpose>
+      A fractal noise generator.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      A fractal noise generator implemented as a white noise filtered
+      by a cascade of 15 first-order filters.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>fractalnoise</command> kamp, kbeta</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kamp</emphasis> -- amplitude.
+    </para>
+
+    <para>
+      <emphasis>kbeta</emphasis> -- spectral parameter related to the fractal dimension
+      <itemizedlist>
+        <listitem><para>0 - white</para></listitem>
+        <listitem><para>1 - pink</para></listitem>
+        <listitem><para>2 - brown</para></listitem>
+      </itemizedlist>
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the fractalnoise opcode. It uses the file <ulink url="examples/fractalnoise.csd"><citetitle>fractalnoise.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the fractalnoise opcode.</title>
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/fractalnoise.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>References</title>
+    <para>
+      <orderedlist>
+        <listitem>
+          <para>
+            R. Saletti. A comparison between two methods to generate
+            1/(f^gamma) noise. In Proc. IEEE, volume 74,
+            pp. 1595-1596, November 1986.
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            G. Corsini and R. Saletti. A 1/(f^gamma) power spectrum
+            noise sequence generator. IEEE Trans. on Instrumentation
+            and Measurement, 37(4):615-619, December 1988.
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            The Sounding Object, edited by Davide Rocchesso and
+            Federico Fontana, Edizioni di Mondo Estremo. Chapter 8 by
+            Federico Avanzini, pp. 154-157.
+          </para>
+        </listitem>
+      </orderedlist>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &nametito;</member>
+        <member>January 2012</member>
+      </simplelist>
+    </para>
+    <para>New in Csound version 5.16</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/ftchnls.xml b/opcodes/ftchnls.xml
index 8ec5056..1e49149 100644
--- a/opcodes/ftchnls.xml
+++ b/opcodes/ftchnls.xml
@@ -1,79 +1,74 @@
-
-<refentry id="ftchnls">
-<indexterm id="IndexFtchnls"><primary>ftchnls</primary></indexterm>
-  <refentryinfo><title>Table Control:Table Queries</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>ftchnls</refentrytitle>
-  </refmeta>
-
-
- 
-  <refnamediv>
-    <refname>ftchnls</refname>
-    <refpurpose>
-      Returns the number of channels in a stored function table.
-          </refpurpose>
-  </refnamediv>
- 
-  <refsect1>
-    <title>Description</title>
-    <para>
-      Returns the number of channels in a stored function table.
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis><command>ftchnls</command>(x) (init-rate args only)</synopsis>
-  </refsect1>
- 
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      Returns the number of channels of a <link linkend="GEN01"><citetitle>GEN01</citetitle></link> table, determined from the header of the original file.  If the original file has no header or the table was not created by these GEN01, <emphasis>ftchnls</emphasis> returns -1.
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the ftchnls opcode. It uses the file <ulink url="examples/ftchnls.csd"><citetitle>ftchnls.csd</citetitle></ulink>, and <ulink url="examples/mary.wav"><citetitle>mary.wav</citetitle></ulink>.
-
-      <example>
-        <title>Example of the ftchnls opcode.</title>
-
-        
-
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/ftchnls.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-
-      Since the audio file <quote>mary.wav</quote> is monophonic (1 channel), its output should include a line like this:
-      <screen>
-instr 1:  ichnls = 1.000
-      </screen>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>See Also</title>
-    <para>
-      <link linkend="ftlen"><citetitle>ftlen</citetitle></link>,
-      <link linkend="ftlptim"><citetitle>ftlptim</citetitle></link>,
-      <link linkend="ftsr"><citetitle>ftsr</citetitle></link>,
-      <link linkend="nsamp"><citetitle>nsamp</citetitle></link>
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Credits</title>
-    <para>
-      <simplelist>
-        <member>Author: Chris McCormick</member>
-        <member>Perth, Australia</member>
-        <member>December 2001</member>
-      </simplelist>
-    </para>
-    <para>Example written by &namekevin;.</para>
-  </refsect1>
-</refentry>
+
+<refentry id="ftchnls">
+<indexterm id="IndexFtchnls"><primary>ftchnls</primary></indexterm>
+  <refentryinfo><title>Table Control:Table Queries</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>ftchnls</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>ftchnls</refname>
+    <refpurpose>
+      Returns the number of channels in a stored function table.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Returns the number of channels in a stored function table.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>ftchnls</command>(x) (init-rate args only)</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      Returns the number of channels of a <link linkend="GEN01"><citetitle>GEN01</citetitle></link> table, determined from the header of the original file.  If the original file has no header or the table was not created by these GEN01, <emphasis>ftchnls</emphasis> returns -1.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the ftchnls opcode. It uses the files <ulink url="examples/ftchnls.csd"><citetitle>ftchnls.csd</citetitle></ulink>, <ulink url="examples/mary.wav"><citetitle>mary.wav</citetitle></ulink>, and <ulink url="examples/kickroll.wav"><citetitle>kickroll.wav</citetitle></ulink>.
+
+      <example>
+        <title>Example of the ftchnls opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/ftchnls.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+      The audio file <quote>mary.wav</quote> is monophonic, the audio file <quote>kickroll.wav</quote> is stereophonic, so its output should include lines like these:
+      <screen>
+instr 1:  ichnls = 1.000
+instr 1:  ichnls = 2.000
+      </screen>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="ftlen"><citetitle>ftlen</citetitle></link>,
+      <link linkend="ftlptim"><citetitle>ftlptim</citetitle></link>,
+      <link linkend="ftsr"><citetitle>ftsr</citetitle></link>,
+      <link linkend="nsamp"><citetitle>nsamp</citetitle></link>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: Chris McCormick</member>
+        <member>Perth, Australia</member>
+        <member>December 2001</member>
+      </simplelist>
+    </para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/ftfree.xml b/opcodes/ftfree.xml
index a36b30c..1ea7263 100644
--- a/opcodes/ftfree.xml
+++ b/opcodes/ftfree.xml
@@ -39,12 +39,29 @@
     </para>
 
   </refsect1>
-<!--
-  <refsect1>
-    <title>Performance</title>
-  </refsect1>-->
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the ftfree opcode. It uses the file <ulink url="examples/ftfree.csd"><citetitle>ftfree.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the ftfree opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/ftfree.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+      <screen>
+instr 1:  gitempTable = 101.000
+B  0.000 ..  3.000 T  3.000 TT  3.000 M:  0.50000  0.50000
+INIT ERROR in instr 1: Invalid ftable no. 101.000000
+instr 1:  gitempTable = 101.000
+Error deleting ftable 101
+	  B  3.000 - note deleted.  i1 had 1 init errors
+B  3.000 ..  5.000 T  5.000 TT  5.000 M:  0.00000  0.00000
+      </screen>
+    </para>
+  </refsect1>
+  
+  <refsect1>
     <title>Credits</title>
     <para>
       <simplelist>
diff --git a/opcodes/ftgen.xml b/opcodes/ftgen.xml
index 1b75cab..0ccc937 100644
--- a/opcodes/ftgen.xml
+++ b/opcodes/ftgen.xml
@@ -104,7 +104,6 @@
         <member>1997</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
 
     <para>Added warning April 2002 by &namerasmus;</para>
   </refsect1>
diff --git a/opcodes/ftgenonce.xml b/opcodes/ftgenonce.xml
index 3a209c9..e83ce4c 100644
--- a/opcodes/ftgenonce.xml
+++ b/opcodes/ftgenonce.xml
@@ -8,7 +8,7 @@
   <refnamediv>
     <refname>ftgenonce</refname>
     <refpurpose>
-       Generate a score function table from within the orchestra, which is deleted at the end of the note.
+       Generate a function table from within an instrument definition, without duplication of data.
     </refpurpose>
   </refnamediv>
 
@@ -75,7 +75,19 @@
   <refsect1>
     <title>Performance</title>
   </refsect1>-->
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the ftgenonce opcode. It uses the file <ulink url="examples/ftgenonce.csd"><citetitle>ftgenonce.csd</citetitle></ulink>.
 
+      <example>
+        <title>Example of the ftgenonce opcode.</title>
+          <xi:include href="examples-xml/ftgenonce.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+    </refsect1>
+   
 
   <refsect1>
     <title>Credits</title>
diff --git a/opcodes/ftlen.xml b/opcodes/ftlen.xml
index ba841f4..6766982 100644
--- a/opcodes/ftlen.xml
+++ b/opcodes/ftlen.xml
@@ -40,7 +40,7 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the ftlen opcode. It uses the file <ulink url="examples/ftlen.csd"><citetitle>ftlen.csd</citetitle></ulink>, and <ulink url="examples/mary.wav"><citetitle>mary.wav</citetitle></ulink>.
+      Here is an example of the ftlen opcode. It uses the file <ulink url="examples/ftlen.csd"><citetitle>ftlen.csd</citetitle></ulink>, <ulink url="examples/fox.wav"><citetitle>fox.wav</citetitle></ulink> and <ulink url="examples/beats.wav"><citetitle>beats.wav</citetitle></ulink>.
 
       <example>
         <title>Example of the ftlen opcode.</title>
@@ -51,9 +51,10 @@
           <xi:include href="examples-xml/ftlen.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
 
-      The audio file <quote>mary.wav</quote> is 154390 samples long. The ftlen opcode reports it as 154389 samples long because it reserves 1 point for the guard point. Its output should include a line like this:
+      The audio file <quote>fox.wav</quote> is 121569 samples long, <quote>beats.wav</quote> has a length of 88200 samples. The ftlen opcode reports them as 121568 and 88199 samples, because it reserves 1 point for the guard point. Its output should include lines like these:
       <screen>
-instr 1:  ilen = 154389.000
+instr 1:  ift = 121568.000
+instr 1:  ift = 88199.000
       </screen>
     </para>
   </refsect1>
@@ -78,6 +79,5 @@ instr 1:  ilen = 154389.000
         <member>1997</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/ftlptim.xml b/opcodes/ftlptim.xml
index 7f7b3cb..fc1bac7 100644
--- a/opcodes/ftlptim.xml
+++ b/opcodes/ftlptim.xml
@@ -1,81 +1,81 @@
-
-<refentry id="ftlptim">
-<indexterm id="IndexFtlptim"><primary>ftlptim</primary></indexterm>
-  <refentryinfo><title>Table Control:Table Queries</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>ftlptim</refentrytitle>
-  </refmeta>
-
-
- 
-  <refnamediv>
-    <refname>ftlptim</refname>
-    <refpurpose>
-      Returns the loop segment start-time of a stored function table number.
-          </refpurpose>
-  </refnamediv>
- 
-  <refsect1>
-    <title>Description</title>
-    <para>
-      Returns the loop segment start-time of a stored function table number.
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis><command>ftlptim</command>(x) (init-rate args only)</synopsis>
-  </refsect1>
- 
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      Returns the loop segment start-time (in seconds) of stored function table number <emphasis>x</emphasis>. This reports the duration of the direct recorded attack and decay parts of a sound sample, prior to its looped segment. Returns zero (and a warning message) if the sample does not contain loop points.
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the ftlptim opcode. It uses the file <ulink url="examples/ftlptim.csd"><citetitle>ftlptim.csd</citetitle></ulink>, and <ulink url="examples/mary.wav"><citetitle>mary.wav</citetitle></ulink>.
-
-      <example>
-        <title>Example of the ftlptim opcode.</title>
-
-        
-
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/ftlptim.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-
-      Since the audio file <quote>mary.wav</quote> is non-looping, its output should include lines like this:
-      <screen>
-WARNING: non-looping sample
-instr 1:  itim = 0.000
-      </screen>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>See Also</title>
-    <para>
-      <link linkend="ftchnls"><citetitle>ftchnls</citetitle></link>,
-      <link linkend="ftlen"><citetitle>ftlen</citetitle></link>,
-      <link linkend="ftsr"><citetitle>ftsr</citetitle></link>,
-      <link linkend="nsamp"><citetitle>nsamp</citetitle></link>
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Credits</title>
-    <para>
-      <simplelist>
-        <member>Author: &namebarry;</member>
-        <member>MIT</member>
-        <member>Cambridge, Massachussetts</member>
-        <member>1997</member>
-      </simplelist>
-    </para>
-    <para>Example written by &namekevin;.</para>
-  </refsect1>
-</refentry>
+
+<refentry id="ftlptim">
+<indexterm id="IndexFtlptim"><primary>ftlptim</primary></indexterm>
+  <refentryinfo><title>Table Control:Table Queries</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>ftlptim</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>ftlptim</refname>
+    <refpurpose>
+      Returns the loop segment start-time of a stored function table number.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Returns the loop segment start-time of a stored function table number.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>ftlptim</command>(x) (init-rate args only)</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      Returns the loop segment start-time (in seconds) of stored function table number <emphasis>x</emphasis>. This reports the duration of the direct recorded attack and decay parts of a sound sample, prior to its looped segment. Returns zero (and a warning message) if the sample does not contain loop points.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the ftlptim opcode. It uses the files <ulink url="examples/ftlptim.csd"><citetitle>ftlptim.csd</citetitle></ulink>, and <ulink url="examples/Church.wav"><citetitle>Church.wav</citetitle></ulink>.
+
+      <example>
+        <title>Example of the ftlptim opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/ftlptim.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+      The audio file <quote>Church.wav</quote> is a looped sample, its output should include lines like these:
+      <screen>
+Base Note : 60	Detune    : 0
+Low  Note : 0	High Note : 127
+Low  Vel. : 0	High Vel. : 127
+Gain      : 1	Count     : 1
+mode      : 801
+start     : 4529	end       : 4912	count  :0
+mode      : 0
+start     : 0	end       : 0	count  :0
+      </screen>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="ftchnls"><citetitle>ftchnls</citetitle></link>,
+      <link linkend="ftlen"><citetitle>ftlen</citetitle></link>,
+      <link linkend="ftsr"><citetitle>ftsr</citetitle></link>,
+      <link linkend="nsamp"><citetitle>nsamp</citetitle></link>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namebarry;</member>
+        <member>MIT</member>
+        <member>Cambridge, Massachussetts</member>
+        <member>1997</member>
+      </simplelist>
+    </para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/ftmorf.xml b/opcodes/ftmorf.xml
index fe6f989..f386f87 100644
--- a/opcodes/ftmorf.xml
+++ b/opcodes/ftmorf.xml
@@ -30,7 +30,7 @@
   <refsect1>
     <title>Initialization</title>
     <para>
-      <emphasis>iftfn</emphasis> -- The ftable function. The list of values are expected to be pre-existing ftable numbers.
+      <emphasis>iftfn</emphasis> -- The table containing the numbers of any existing tables which are used for the morphing.
     </para>
 
     <para>
diff --git a/opcodes/ftsr.xml b/opcodes/ftsr.xml
index a7aad35..51e0529 100644
--- a/opcodes/ftsr.xml
+++ b/opcodes/ftsr.xml
@@ -37,20 +37,18 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the ftsr opcode. It uses the file <ulink url="examples/ftsr.csd"><citetitle>ftsr.csd</citetitle></ulink>, and <ulink url="examples/mary.wav"><citetitle>mary.wav</citetitle></ulink>.
-
+      Here is an example of the ftsr opcode. It uses the file <ulink url="examples/ftsr.csd"><citetitle>ftsr.csd</citetitle></ulink>.
       <example>
         <title>Example of the ftsr opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/ftsr.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-      Since the audio file <quote>mary.wav</quote> uses a 44.1 Khz sampling rate, its output should a line like this:
+its output should a line like these:
       <screen>
-instr 1:  isr = 44100.000
+sampling-rate of table number 1 = 44100
+sampling-rate of table number 2 = 22050
+sampling-rate of table number 3 = 44100
+sampling-rate of table number 4 = 44100
       </screen>
     </para>
   </refsect1>
@@ -74,6 +72,5 @@ instr 1:  isr = 44100.000
         <member>October 1998</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/gaussi.xml b/opcodes/gaussi.xml
new file mode 100644
index 0000000..7763634
--- /dev/null
+++ b/opcodes/gaussi.xml
@@ -0,0 +1,102 @@
+
+<refentry id="gaussi">
+<indexterm id="IndexGaussiXClass"><primary>x-class noise generators</primary></indexterm>
+
+<indexterm id="IndexGaussi"><primary>gaussi</primary></indexterm>
+  <refentryinfo><title>Signal Generators:Random (Noise) Generators</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>gaussi</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>gaussi</refname>
+    <refpurpose>
+      Gaussian distribution random number generator with
+      interpolation.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Gaussian distribution random number generator with controlled
+      interpolation between values. This is an
+      x-class noise generator. 
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>gaussi</command> krange, xamp, xcps</synopsis>
+    <synopsis>ires <command>gaussi</command> krange, xamp, xcps</synopsis>
+    <synopsis>kres <command>gaussi</command> krange, xamp, xcps</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>krange</emphasis> -- the range of the random numbers (-<emphasis>krange</emphasis> to +<emphasis>krange</emphasis>). Outputs both positive and negative numbers.
+    </para>
+    <para>
+      <emphasis>gauss</emphasis> returns random numbers following a normal distribution centered around 0.0 (mu = 0.0) with a variance (sigma) of <emphasis>krange</emphasis> / 3.83. Thus more than 99.99%
+      of the random values generated are in the range -<emphasis>krange</emphasis> to +<emphasis>krange</emphasis>. If a mean value different of 0.0 is desired, this mean value has to
+      be added to the generated numbers (see example below).
+    </para>
+
+    <para>
+      For more detailed explanation of these distributions, see:
+      <orderedlist>
+        <listitem>
+          <para>C. Dodge - T.A. Jerse 1985. Computer music. Schirmer books. pp.265 - 286</para>
+        </listitem>
+
+        <listitem>
+          <para>D. Lorrain. A panoply of stochastic cannons. In C. Roads, ed. 1989. Music machine . Cambridge, Massachusetts: MIT press, pp. 351 - 379.</para>
+        </listitem>
+      </orderedlist>
+    </para>
+
+    <para>
+      <emphasis>xamp</emphasis> -- range over which random numbers are distributed.
+    </para>
+
+    <para>
+      <emphasis>xcps</emphasis> -- the frequency which new random
+      numbers are generated. 
+    </para>
+
+  </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the gaussi opcode. It uses the file <ulink url="examples/gaussi.csd"><citetitle>gaussi.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the gaussi opcode.</title>
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/gaussi.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="gauss"><citetitle>gauss</citetitle></link>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>Bath</member>
+        <member>May 2011</member>
+        <member>New in version 5.14</member>
+      </simplelist>
+    </para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/gausstrig.xml b/opcodes/gausstrig.xml
new file mode 100644
index 0000000..d0268a6
--- /dev/null
+++ b/opcodes/gausstrig.xml
@@ -0,0 +1,99 @@
+<refentry id="gausstrig">
+  <indexterm id="IndexGausstrig"><primary>gausstrig</primary></indexterm>
+  <refentryinfo><title>Signal Generators:Random (Noise) Generators</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>gausstrig</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>gausstrig</refname>
+    <refpurpose>
+      Random impulses around a certain frequency.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Generates random impulses around a certain frequency.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>gausstrig</command> kamp, kcps, kdev [, imode]</synopsis>
+    <synopsis>kres <command>gausstrig</command> kamp, kcps, kdev [, imode]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>imode</emphasis> (optional, default=0) -- imode > 0
+      means better frequency modulation. If the frequency changes, the
+      delay before the next impulse is calculed again. With the
+      default mode we have the classic behavior of the GaussTrig ugen
+      in SuperCollider, where the frequency modulation is bypassed
+      during the delay time that precedes the next impulse.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kamp</emphasis> -- amplitude.
+    </para>
+
+    <para>
+      <emphasis>kcps</emphasis> -- the mean frequency over which random impulses are distributed.
+    </para>
+
+    <para>
+      <emphasis>kdev</emphasis> -- random deviation from mean (0 <= dev < 1).
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the gausstrig opcode. It uses the file <ulink url="examples/gausstrig.csd"><citetitle>gausstrig.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the gausstrig opcode.</title>
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/gausstrig.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+
+    <para>
+      Here is an example of the gausstrig opcode with imode = 1. It uses the file <ulink url="examples/gausstrig-2.csd"><citetitle>gausstrig-2.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the gausstrig opcode with imode = 1.</title>
+
+          <xi:include href="examples-xml/gausstrig-2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="dust"><citetitle>dust</citetitle></link>
+      <link linkend="dust2"><citetitle>dust2</citetitle></link>
+      <link linkend="mpulse"><citetitle>mpulse</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Based on Bhob Rainey's GaussTrig ugen (SuperCollider)</member>
+        <member>Author: &nametito;</member>
+        <member>January 2012</member>
+      </simplelist>
+    </para>
+    <para>New in Csound version 5.16</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/gbuzz.xml b/opcodes/gbuzz.xml
index 4e9c4b8..1f68a56 100644
--- a/opcodes/gbuzz.xml
+++ b/opcodes/gbuzz.xml
@@ -89,7 +89,6 @@
 
   <refsect1>
     <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
     <para>September 2003. Thanks to &namekanata; for correcting the mentions of the <emphasis>kmul</emphasis> parameter.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/genarray.xml b/opcodes/genarray.xml
new file mode 100644
index 0000000..ebeed2b
--- /dev/null
+++ b/opcodes/genarray.xml
@@ -0,0 +1,75 @@
+
+<refentry id="genarray">
+<indexterm id="IndexGenarray"><primary>genarray</primary></indexterm>
+
+  <refentryinfo><title>Table Control:Table Queries</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>genarray</refentrytitle>
+  </refmeta>
+
+   <refnamediv>
+    <refname>genarray</refname>
+    <refpurpose>
+      Generate a vector with an arithmetic sequence.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Generate a vector (one-dimensional k-rate or i-rate array) with an arithmetic sequence.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+      <synopsis>karray <command>genarray</command> kstart, kens[, inc]</synopsis>
+      <synopsis>iarray <command>genarray</command> istart, iens[, inc]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>istart</emphasis> -- value to place in first element.
+    </para>
+    <para>
+      <emphasis>iend</emphasis> -- last value to place in array.
+    </para>
+    <para>
+      <emphasis>inc</emphasis> -- amount to add to previous value
+      (default 1).
+    </para>
+  </refsect1>
+
+
+ <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the genarray opcode. It uses the file <ulink url="examples/genarray.csd"><citetitle>genarray.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the genarray opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/genarray.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="vectorial"><citetitle></citetitle>Vectorial opcodes</link>
+</para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>Codemist Ltd</member>
+        <member>2013</member>
+      </simplelist>
+    </para>
+    <para>New in version 6.00</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/genarray_i.xml b/opcodes/genarray_i.xml
new file mode 100644
index 0000000..b23429d
--- /dev/null
+++ b/opcodes/genarray_i.xml
@@ -0,0 +1,77 @@
+
+<refentry id="genarray_i">
+<indexterm id="IndexGenarray_i"><primary>genarray_i</primary></indexterm>
+
+  <refentryinfo><title>Table Control:Table Queries</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>genarray_i</refentrytitle>
+  </refmeta>
+
+   <refnamediv>
+    <refname>genarray_i</refname>
+    <refpurpose>
+      Generate a vector with an arithmetic sequence.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Generate a vector (one-dimensional k-rate) with an arithmetic
+      sequence at initialisation time.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+      <synopsis>karray <command>genarray_i</command> istart, iend [,inc]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>istart</emphasis> -- value to place in first element.
+    </para>
+    <para>
+      <emphasis>iend</emphasis> -- last value to place in array.
+    </para>
+    <para>
+      <emphasis>inc</emphasis> -- amount to add to previous value
+      (default 1).
+    </para>
+  </refsect1>
+
+
+ <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the genarray_i opcode. It uses the file <ulink url="examples/genarray_i.csd"><citetitle>genarray_i.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the genarray_i opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/genarray_i.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="vectorial"><citetitle></citetitle>Vectorial
+      opcodes</link>
+      <link linkend="fillarray"><citetitle>fillarray</citetitle></link>
+</para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>Codemist Ltd</member>
+        <member>2013</member>
+      </simplelist>
+    </para>
+    <para>New in version 6.00</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/gendy.xml b/opcodes/gendy.xml
new file mode 100644
index 0000000..613842f
--- /dev/null
+++ b/opcodes/gendy.xml
@@ -0,0 +1,171 @@
+<refentry id="gendy">
+  <indexterm id="IndexGendy"><primary>gendy</primary></indexterm>
+  <refentryinfo><title>Signal Generators:Models and Emulations</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>gendy</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>gendy</refname>
+    <refpurpose>
+      Dynamic stochastic approach to waveform synthesis conceived by Iannis Xenakis.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Implementation of the <emphasis>Génération Dynamique Stochastique</emphasis>
+      (GENDYN), a dynamic stochastic approach to waveform synthesis conceived
+      by Iannis Xenakis.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>gendy</command> kamp, kampdist, kdurdist, kadpar, kddpar, kminfreq, kmaxfreq, \
+           kampscl, kdurscl [, initcps] [, knum]</synopsis>
+    <synopsis>kres <command>gendy</command> kamp, kampdist, kdurdist, kadpar, kddpar, kminfreq, kmaxfreq, \
+           kampscl, kdurscl [, initcps] [, knum]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>initcps</emphasis> (optional, default=12) -- max number of
+      control points.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kamp</emphasis> -- amplitude.
+    </para>
+    <para>
+      <emphasis>kampdist</emphasis> -- choice of probability
+      distribution for the next perturbation of the amplitude of a
+      control point. The valid distributions are:
+      <itemizedlist>
+        <listitem><para>0 - LINEAR</para></listitem>
+        <listitem><para>1 - CAUCHY</para></listitem>
+        <listitem><para>2 - LOGIST</para></listitem>
+        <listitem><para>3 - HYPERBCOS</para></listitem>
+        <listitem><para>4 - ARCSINE</para></listitem>
+        <listitem><para>5 - EXPON</para></listitem>
+        <listitem><para>6 - SINUS (external k-rate signal)</para></listitem>
+      </itemizedlist>
+      If <emphasis>kampdist</emphasis>=6, the user can use an external
+      k-rate signal through <emphasis>kadpar</emphasis>.
+    </para>
+    <para>
+      <emphasis>kdurdist</emphasis> -- choice of distribution for the
+              perturbation of the current inter control point
+              duration. See <emphasis>kampdist</emphasis> for the valid distributions.
+      If <emphasis>kdurdist</emphasis>=6, the user can use an external
+      k-rate signal through <emphasis>kddpar</emphasis>.
+    </para>
+    <para>
+      <emphasis>kadpar</emphasis> -- parameter for the <emphasis>kampdist</emphasis>
+      distribution. Should be in the range of 0.0001 to 1.
+    </para>
+    <para>
+      <emphasis>kddpar</emphasis> -- parameter for the <emphasis>kdurdist</emphasis>
+      distribution. Should be in the range of 0.0001 to 1.
+    </para>
+    <para>
+      <emphasis>kminfreq</emphasis> -- minimum allowed frequency of oscillation.
+    </para>
+    <para>
+      <emphasis>kmaxfreq</emphasis> -- maximum allowed frequency of oscillation.
+    </para>
+    <para>
+      <emphasis>kampscl</emphasis> -- multiplier for the
+      distribution's delta value for amplitude (1.0 is full range).
+    </para>
+    <para>
+      <emphasis>kdurscl</emphasis> -- multiplier for the distribution's delta value for duration.
+    </para>
+    <para>
+      <emphasis>knum</emphasis> (optional,
+      default=<emphasis>initcps</emphasis>) -- current number of utilized control points.
+    </para>
+
+    <para>
+      The waveform is generated by <emphasis>knum</emphasis> - 1
+      segments and is repeated in the time. The vertexes (control points)
+      are moved according to a stochastic action and they are limited
+      within the boundaries of a mirror formed by an amplitude barrier
+      and a time barrier.
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gendy.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>[A repetition of the generated waveform with <emphasis>knum</emphasis>=12.]</phrase>
+        </textobject>
+
+        <caption>
+          <para>A repetition of the generated waveform with <emphasis>knum</emphasis>=12.</para>
+        </caption>
+      </mediaobject>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the gendy opcode. It uses the file
+      <ulink url="examples/gendy.csd"><citetitle>gendy.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the gendy opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/gendy.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+    <para>
+      Here is an example of the gendy opcode with some modulations. It uses the file
+      <ulink url="examples/gendy-2.csd"><citetitle>gendy-2.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the gendy opcode with some modulations.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/gendy-2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>References</title>
+    <para>
+      <orderedlist>
+        <listitem>
+          <para>
+            Formalized Music (1992, Stuyvesant, NY: Pendragon Press),
+            pp. 246 - 254, 289 - 322.
+          </para>
+        </listitem>
+      </orderedlist>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="gendyc"><citetitle>gendyc</citetitle></link>
+      <link linkend="gendyx"><citetitle>gendyx</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Based on Nick Collins's Gendy1 ugen (SuperCollider)</member>
+        <member>Author: &nametito;</member>
+        <member>January 2012</member>
+      </simplelist>
+    </para>
+    <para>New in Csound version 5.16</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/gendyc.xml b/opcodes/gendyc.xml
new file mode 100644
index 0000000..50e8102
--- /dev/null
+++ b/opcodes/gendyc.xml
@@ -0,0 +1,150 @@
+<refentry id="gendyc">
+  <indexterm id="IndexGendyc"><primary>gendyc</primary></indexterm>
+  <refentryinfo><title>Signal Generators:Models and Emulations</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>gendyc</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>gendyc</refname>
+    <refpurpose>
+      Dynamic stochastic approach to waveform synthesis using cubic interpolation.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Implementation with cubic interpolation of the
+      <emphasis>Génération Dynamique Stochastique</emphasis> (GENDYN),
+      a dynamic stochastic approach to waveform synthesis conceived by
+      Iannis Xenakis.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>gendyc</command> kamp, kampdist, kdurdist, kadpar, kddpar, kminfreq, kmaxfreq, \
+            kampscl, kdurscl [, initcps] [, knum]</synopsis>
+    <synopsis>kres <command>gendyc</command> kamp, kampdist, kdurdist, kadpar, kddpar, kminfreq, kmaxfreq, \
+            kampscl, kdurscl [, initcps] [, knum]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>initcps</emphasis> (optional, default=12) -- max number of
+      control points.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kamp</emphasis> -- amplitude.
+    </para>
+    <para>
+      <emphasis>kampdist</emphasis> -- choice of probability
+      distribution for the next perturbation of the amplitude of a
+      control point. The valid distributions are:
+      <itemizedlist>
+        <listitem><para>0 - LINEAR</para></listitem>
+        <listitem><para>1 - CAUCHY</para></listitem>
+        <listitem><para>2 - LOGIST</para></listitem>
+        <listitem><para>3 - HYPERBCOS</para></listitem>
+        <listitem><para>4 - ARCSINE</para></listitem>
+        <listitem><para>5 - EXPON</para></listitem>
+        <listitem><para>6 - SINUS (external k-rate signal)</para></listitem>
+      </itemizedlist>
+      If <emphasis>kampdist</emphasis>=6, the user can use an external
+      k-rate signal through <emphasis>kadpar</emphasis>.
+    </para>
+    <para>
+      <emphasis>kdurdist</emphasis> -- choice of distribution for the
+              perturbation of the current inter control point
+              duration. See <emphasis>kampdist</emphasis> for the valid distributions.
+      If <emphasis>kdurdist</emphasis>=6, the user can use an external
+      k-rate signal through <emphasis>kddpar</emphasis>.
+    </para>
+    <para>
+      <emphasis>kadpar</emphasis> -- parameter for the <emphasis>kampdist</emphasis>
+      distribution. Should be in the range of 0.0001 to 1.
+    </para>
+    <para>
+      <emphasis>kddpar</emphasis> -- parameter for the <emphasis>kdurdist</emphasis>
+      distribution. Should be in the range of 0.0001 to 1.
+    </para>
+    <para>
+      <emphasis>kminfreq</emphasis> -- minimum allowed frequency of oscillation.
+    </para>
+    <para>
+      <emphasis>kmaxfreq</emphasis> -- maximum allowed frequency of oscillation.
+    </para>
+    <para>
+      <emphasis>kampscl</emphasis> -- multiplier for the
+      distribution's delta value for amplitude (1.0 is full range).
+    </para>
+    <para>
+      <emphasis>kdurscl</emphasis> -- multiplier for the distribution's delta value for duration.
+    </para>
+    <para>
+      <emphasis>knum</emphasis> (optional,
+      default=<emphasis>initcps</emphasis>) -- current number of utilized control points.
+    </para>
+
+    <para>
+      The waveform is generated by <emphasis>knum</emphasis> - 1
+      segments and is repeated in the time. The vertexes (control points)
+      are moved according to a stochastic action and they are limited
+      within the boundaries of a mirror formed by an amplitude barrier
+      and a time barrier.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the gendyc opcode. It uses the file
+      <ulink url="examples/gendyc.csd"><citetitle>gendyc.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the gendyc opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/gendyc.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>References</title>
+    <para>
+      <orderedlist>
+        <listitem>
+          <para>
+            Formalized Music (1992, Stuyvesant, NY: Pendragon Press),
+            pp. 246 - 254, 289 - 322.
+          </para>
+        </listitem>
+      </orderedlist>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="gendy"><citetitle>gendy</citetitle></link>
+      <link linkend="gendyx"><citetitle>gendyx</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Based on Nick Collins's Gendy1 and Bhob Rainey's Gendy4 (SuperCollider)</member>
+        <member>Author: &nametito;</member>
+        <member>January 2012</member>
+      </simplelist>
+    </para>
+    <para>New in Csound version 5.16</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/gendyx.xml b/opcodes/gendyx.xml
new file mode 100644
index 0000000..cf435af
--- /dev/null
+++ b/opcodes/gendyx.xml
@@ -0,0 +1,192 @@
+<refentry id="gendyx">
+  <indexterm id="IndexGendyx"><primary>gendyx</primary></indexterm>
+  <refentryinfo><title>Signal Generators:Models and Emulations</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>gendyx</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>gendyx</refname>
+    <refpurpose>
+      Variation of the dynamic stochastic approach to waveform
+      synthesis conceived by Iannis Xenakis.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      <emphasis>gendyx</emphasis> (gendy eXtended) is an implementation
+      of the <emphasis>Génération Dynamique Stochastique</emphasis>
+      (GENDYN), a dynamic stochastic approach to waveform synthesis
+      conceived by Iannis Xenakis, using curves instead of segments.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>gendyx</command> kamp, kampdist, kdurdist, kadpar, kddpar, kminfreq, kmaxfreq, \
+            kampscl, kdurscl, kcurveup, kcurvedown [, initcps] [, knum]</synopsis>
+    <synopsis>kres <command>gendyx</command> kamp, kampdist, kdurdist, kadpar, kddpar, kminfreq, kmaxfreq, \
+            kampscl, kdurscl, kcurveup, kcurvedown [, initcps] [, knum]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>initcps</emphasis> (optional, default=12) -- max number of
+      control points.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kamp</emphasis> -- amplitude.
+    </para>
+    <para>
+      <emphasis>kampdist</emphasis> -- choice of probability
+      distribution for the next perturbation of the amplitude of a
+      control point. The valid distributions are:
+      <itemizedlist>
+        <listitem><para>0 - LINEAR</para></listitem>
+        <listitem><para>1 - CAUCHY</para></listitem>
+        <listitem><para>2 - LOGIST</para></listitem>
+        <listitem><para>3 - HYPERBCOS</para></listitem>
+        <listitem><para>4 - ARCSINE</para></listitem>
+        <listitem><para>5 - EXPON</para></listitem>
+        <listitem><para>6 - SINUS (external k-rate signal)</para></listitem>
+      </itemizedlist>
+      If <emphasis>kampdist</emphasis>=6, the user can use an external
+      k-rate signal through <emphasis>kadpar</emphasis>.
+    </para>
+    <para>
+      <emphasis>kdurdist</emphasis> -- choice of distribution for the
+              perturbation of the current inter control point
+              duration. See <emphasis>kampdist</emphasis> for the valid distributions.
+      If <emphasis>kdurdist</emphasis>=6, the user can use an external
+      k-rate signal through <emphasis>kddpar</emphasis>.
+    </para>
+    <para>
+      <emphasis>kadpar</emphasis> -- parameter for the <emphasis>kampdist</emphasis>
+      distribution. Should be in the range of 0.0001 to 1.
+    </para>
+    <para>
+      <emphasis>kddpar</emphasis> -- parameter for the <emphasis>kdurdist</emphasis>
+      distribution. Should be in the range of 0.0001 to 1.
+    </para>
+    <para>
+      <emphasis>kminfreq</emphasis> -- minimum allowed frequency of oscillation.
+    </para>
+    <para>
+      <emphasis>kmaxfreq</emphasis> -- maximum allowed frequency of oscillation.
+    </para>
+    <para>
+      <emphasis>kampscl</emphasis> -- multiplier for the
+      distribution's delta value for amplitude (1.0 is full range).
+    </para>
+    <para>
+      <emphasis>kdurscl</emphasis> -- multiplier for the distribution's delta value for duration.
+    </para>
+    <para>
+      <emphasis>kcurveup</emphasis> -- controls the curve for the increasing
+      amplitudes between two points; it has to be non negative.
+      <itemizedlist>
+        <listitem><para>0: step function (like a sample & hold)</para></listitem>
+        <listitem><para><1: concave</para></listitem>
+        <listitem><para>1: linear (like gendy)</para></listitem>
+        <listitem><para>>1: convex</para></listitem>
+      </itemizedlist>
+    </para>
+    <para>
+      <emphasis>kcurvedown</emphasis> -- controls the curve for the decreasing
+      amplitudes between two points; it has to be non negative.
+      <itemizedlist>
+        <listitem><para>0: step function</para></listitem>
+        <listitem><para><1: convex</para></listitem>
+        <listitem><para>1: linear</para></listitem>
+        <listitem><para>>1: concave</para></listitem>
+      </itemizedlist>
+    </para>
+    <para>
+      <emphasis>knum</emphasis> (optional,
+      default=<emphasis>initcps</emphasis>) -- current number of utilized control points.
+    </para>
+    <para>
+      The waveform is generated by <emphasis>knum</emphasis> - 1
+      curves and is repeated in the time. The vertexes (control points)
+      are moved according to a stochastic action and they are limited
+      within the boundaries of a mirror formed by an amplitude barrier
+      and a time barrier.
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gendyx.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>[Extract of a waveform generated with <emphasis>gendyx</emphasis>.]</phrase>
+        </textobject>
+
+        <caption>
+          <para>Extract of a waveform generated with <emphasis>gendyx</emphasis>.</para>
+        </caption>
+      </mediaobject>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the gendyx opcode. It uses the file
+      <ulink url="examples/gendyx.csd"><citetitle>gendyx.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the gendyx opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/gendyx.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+    <para>
+      Here is an example of the gendyx opcode with some modulations. It uses the file
+      <ulink url="examples/gendyx-2.csd"><citetitle>gendyx-2.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the gendyx opcode with some modulations.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/gendyx-2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>References</title>
+    <para>
+      <orderedlist>
+        <listitem>
+          <para>
+            Formalized Music (1992, Stuyvesant, NY: Pendragon Press),
+            pp. 246 - 254, 289 - 322.
+          </para>
+        </listitem>
+      </orderedlist>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="gendy"><citetitle>gendy</citetitle></link>
+      <link linkend="gendyc"><citetitle>gendyc</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Variation of the Nick Collins's Gendy1 ugen (SuperCollider)</member>
+        <member>Author: &nametito;</member>
+        <member>January 2012</member>
+      </simplelist>
+    </para>
+    <para>New in Csound version 5.16</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/getcfg.xml b/opcodes/getcfg.xml
index 2e895c6..d68152d 100644
--- a/opcodes/getcfg.xml
+++ b/opcodes/getcfg.xml
@@ -66,6 +66,35 @@
     </para>
   </refsect1>
 
+<refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the getcfg opcode. It uses the file <ulink url="examples/getcfg.csd"><citetitle>getcfg.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the getcfg opcode.</title>
+
+        
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/getcfg.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+      The output should include lines like these:
+      <screen>
+------------------------------
+Max string len : 255
+Input file name (-i) : adc
+Output file name (-o) : dac
+RTaudio (-odac) : 1
+Beat mode (-t)? : 0
+Host Op. Sys. : Linux
+Callback ? : 0
+------------------------------
+      </screen>
+    </para>
+  </refsect1>
+
   <refsect1>
     <title>Credits</title>
     <para>
diff --git a/opcodes/grain.xml b/opcodes/grain.xml
index a1f4ea1..cc29576 100644
--- a/opcodes/grain.xml
+++ b/opcodes/grain.xml
@@ -86,7 +86,7 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      This example generates a texture with gradually shorter grains and wider amp and pitch spread. It uses the file <ulink url="examples/grain.csd"><citetitle>grain.csd</citetitle></ulink>, and <ulink url="examples/mary.wav"><citetitle>mary.wav</citetitle></ulink>.
+      This example generates a texture with gradually shorter grains and wider amp and pitch spread. It uses the file <ulink url="examples/grain.csd"><citetitle>grain.csd</citetitle></ulink>, and <ulink url="examples/beats.wav"><citetitle>beats.wav</citetitle></ulink>.
 
       <example>
         <title>Example of the grain opcode.</title>
diff --git a/opcodes/guiro.xml b/opcodes/guiro.xml
index 4ffcb8a..3b830d4 100644
--- a/opcodes/guiro.xml
+++ b/opcodes/guiro.xml
@@ -46,11 +46,11 @@
     </para>
 
     <para>
-      <emphasis>ifreq</emphasis> (optional) -- the main resonant frequency. The default value is 2500.
+      <emphasis>ifreq</emphasis> (optional) -- the main resonant frequency. The default value is 2500 Hz.
     </para>
 
     <para>
-      <emphasis>ifreq1</emphasis> (optional) -- the first resonant frequency.
+      <emphasis>ifreq1</emphasis> (optional) -- the first resonant frequency. Default value here is 4000 Hz
     </para>
  </refsect1>
  
diff --git a/opcodes/harmon.xml b/opcodes/harmon.xml
index 2b91434..09cb004 100644
--- a/opcodes/harmon.xml
+++ b/opcodes/harmon.xml
@@ -100,6 +100,5 @@
       </simplelist>
     </para>
     <para>New in version 3.47</para>
-    <para>Example written by &namekevin;.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/harmon234.xml b/opcodes/harmon234.xml
index cb5e222..ec5b3e5 100644
--- a/opcodes/harmon234.xml
+++ b/opcodes/harmon234.xml
@@ -116,6 +116,14 @@ a4         <emphasis role="opc">harmon2</emphasis>   a3, koct, 1.25, 0.75, 0, 6.
            <emphasis role="opc">outs</emphasis>      a3, a4                        <emphasis role="comment">; as well as the original</emphasis></programlisting>
       </example>
     </para>
+    <para>
+      Here is a complete example of the harmon3 opcode. It uses the file <ulink url="examples/harmon3.csd"><citetitle>harmon3.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the harmon3 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/harmon3.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
   </refsect1>
  
   <refsect1>
diff --git a/opcodes/hilbert.xml b/opcodes/hilbert.xml
index ec24257..f9424ec 100644
--- a/opcodes/hilbert.xml
+++ b/opcodes/hilbert.xml
@@ -64,7 +64,7 @@
     </para>
 
     <para>
-      Here is the first example of the hilbert opcode. It uses the file <ulink url="examples/hilbert.csd"><citetitle>hilbert.csd</citetitle></ulink>, and <ulink url="examples/mary.wav"><citetitle>mary.wav</citetitle></ulink>.
+      Here is the first example of the hilbert opcode. It uses the file <ulink url="examples/hilbert.csd"><citetitle>hilbert.csd</citetitle></ulink>, and <ulink url="examples/beats.wav"><citetitle>beats.wav</citetitle></ulink>.
 
       <example>
         <title>Example of the hilbert opcode implementing frequency shifting.</title>
@@ -79,7 +79,7 @@
     </para>
 
     <para>
-      Here is the second example of the hilbert opcode. It uses the file <ulink url="examples/hilbert_barberpole.csd"><citetitle>hilbert_barberpole.csd</citetitle></ulink>, and <ulink url="examples/mary.wav"><citetitle>mary.wav</citetitle></ulink>.
+      Here is the second example of the hilbert opcode. It uses the file <ulink url="examples/hilbert_barberpole.csd"><citetitle>hilbert_barberpole.csd</citetitle></ulink>.
 
       <example>
         <title>Example of the hilbert opcode sounding like a <quote>barberpole phaser</quote>.</title>
diff --git a/opcodes/hrtfearly.xml b/opcodes/hrtfearly.xml
new file mode 100644
index 0000000..bcbe0ec
--- /dev/null
+++ b/opcodes/hrtfearly.xml
@@ -0,0 +1,171 @@
+
+<refentry id="hrtfearly">
+<indexterm id="IndexHrtfearly"><primary>hrtfearly</primary></indexterm>
+  <refentryinfo><title>Signal Modifiers:Panning and Spatialization</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>hrtfearly</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>hrtfearly</refname>
+    <refpurpose>
+      Generates 3D binaural audio with high-fidelity early reflections in a parametric room using a Phase Truncation algorithm.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      This opcode essentially nests the <link linkend="hrtfmove"><citetitle>hrtfmove</citetitle></link> opcode in an image model for a user-definable shoebox-shaped room. A default room can be selected, or advanced room parameters can be used. Room surfaces can be controlled with high and low-frequency absorption coefficients and gain factors of a three-band equaliser.
+    </para>
+    <para>
+      Although valid as a stand alone opcode, <emphasis>hrtfearly</emphasis> is designed to work with <link linkend="hrtfreverb"><citetitle>hrtfreverb</citetitle></link> to provide spatially accurate, dynamic binaural reverberation. A number of sources can be processed dynamically using a number of <emphasis>hrtfearly</emphasis> instances. All can then be processed with one instance of <link linkend="hrtfreverb"><citetitle>hrtfreverb</citetitle></link>.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>aleft, aright, irt60low, irt60high, imfp <command>hrtfearly</command> asrc, ksrcx, ksrcy, ksrcz, klstnrx, klstnry, klstnrz, \
+      ifilel, ifiler, idefroom [,ifade, isr, iorder, ithreed, kheadrot, iroomx, iroomy, iroomz, iwallhigh, \
+      iwalllow, iwallgain1, iwallgain2, iwallgain3, ifloorhigh, ifloorlow, ifloorgain1, ifloorgain2, \
+      ifloorgain3, iceilinghigh, iceilinglow, iceilinggain1, iceilinggain2, iceilinggain3]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ifilel</emphasis> - left HRTF spectral data file.
+    </para>
+    <para>
+      <emphasis>ifiler</emphasis> - right HRTF spectral data file.
+    </para>
+    <note>
+      <para>Spectral datafiles (based on the MIT HRTF database) are available in 3 different sampling rates: 44.1, 48 and 96 kHz and are labelled accordingly. Input and processing <emphasis>sr</emphasis> should match datafile <emphasis>sr</emphasis>. Files should be in the current directory or the SADIR (see <link linkend="CommandEnvironment"><citetitle>Environment Variables</citetitle></link>).
+      </para>
+    </note>
+     <note>
+      <para>HRTF Data files for use with 
+      <link linkend="hrtfmove"><citetitle>hrtfmove</citetitle></link>,
+      <link linkend="hrtfmove2"><citetitle>hrtfmove2</citetitle></link>,
+      <link linkend="hrtfstat"><citetitle>hrtfstat</citetitle></link>,
+      <link linkend="hrtfearly"><citetitle>hrtfearly</citetitle></link>,
+      <link linkend="hrtfreverb"><citetitle>hrtfreverb</citetitle></link>
+       were updated for Csound 5.15 and later (the code was updated and is more efficient). Old datafiles are now deprecated.
+      </para>
+    </note>
+    <para>
+      <emphasis>idefroom</emphasis> - default room, medium (1: 10*10*3), small (2: 3*4*3) or large (3: 20*25*7). Wall details (high coef, low coef, gain1, gain2, gain3): .3, .1, .75, .95, .9. Floor: .6, .1, .95, .6, .35. Ceiling: .2, .1, 1, 1, 1. If 0 is entered, optional room parameters will be read.   
+    </para>
+    <para>
+      <emphasis>ifade</emphasis> - optional, number of processing buffers for phase change crossfade (default 8). Legal range is 1-24. See <link linkend="hrtfmove"><citetitle>hrtfmove</citetitle></link>.
+    </para>
+    <para>
+<emphasis>isr</emphasis> - optional, default 44.1kHz, legal values: 44100, 48000 and 96000.
+ </para>
+  <para>
+      <emphasis>iorder</emphasis> - optional, order of images processed: higher order: more reflections. Defaults to 1, legal range: 0-4.
+  </para>
+   <para>
+      <emphasis>ithreed</emphasis> - optional, process image sources in three dimensions (1) or two (0: default).
+  </para>
+   <para>
+      <emphasis>iroomx</emphasis> - optional, x room size in metres, will be read if no valid default room is entered (all below parameters behave similarly). Minimum room size is 2*2*2.
+  </para>
+   <para>
+      <emphasis>iroomy</emphasis> - optional, y room size.
+  </para>
+   <para>
+      <emphasis>iroomz</emphasis> - optional, z room size.
+  </para>
+   <para>
+      <emphasis>iwallhigh</emphasis> - optional, high frequency wall absorption coefficient (all 4 walls are assumed identical). Absorption coefficients will affect reverb time output. 
+  </para>
+   <para>
+      <emphasis>iwalllow</emphasis> - optional, low frequency wall absorption coefficient.
+  </para>
+   <para>
+      <emphasis>iwallgain1</emphasis> - optional, gain on filter centred at 250 Hz (all filters have a Q implying 4 octaves).
+  </para>
+   <para>
+      <emphasis>iwallgain2</emphasis> - optional, as above, centred on 1000 Hz.
+  </para>
+   <para>
+      <emphasis>iwallgain3</emphasis> - optional, as above, centred on 4000 Hz.
+  </para>
+   <para>
+      <emphasis>ifloorhigh, ifloorlow, ifloorgain1, ifloorgain2, ifloorgain3
+</emphasis> - as above for floor.
+  </para>
+  <para>
+      <emphasis>
+iceilinghigh, iceilinglow, iceilinggain1, iceilinggain2, iceilinggain3
+</emphasis> - as above for ceiling.
+  </para>
+  
+ <title>Performance</title>
+    <para>
+      <emphasis>ksrcx</emphasis>  source x location, must be 10 cm inside room. Also, near-field HRTFs are not processed, so source will not change spatially within a 45 cm radius of the listener. These restrictions also apply to location parameters below. 
+    </para>
+    <para>
+      <emphasis>ksrcy</emphasis>  source y location.
+    </para>
+    <para>
+      <emphasis>ksrcz</emphasis>  source z location.
+    </para>
+    <para>
+      <emphasis>klstnrx, klstnry, klstnrz</emphasis>  listener location, as above.
+    </para>
+    <para>
+      <emphasis>kheadrot</emphasis> - optional, angular value for head rotation. 
+    </para>
+    <para>
+      <emphasis>asrc</emphasis> - Input/source signal.
+    </para>
+    
+    <title>Output</title>
+    <para>
+      <emphasis>irt60low</emphasis> - suggested low frequency reverb time for later binaural reverb.
+    </para>
+     <para>
+      <emphasis>irt60high</emphasis> - as above, for high frequency.
+    </para>
+     <para>
+      <emphasis>imfp</emphasis> - mean free path of room, to be used with later reverb. 
+    </para>
+    
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the hrtfearly and hrtfreverb opcodes. It uses the file <ulink url="examples/hrtfearly.csd"><citetitle>hrtfearly.csd</citetitle></ulink>. 
+    </para>
+    <example>
+      <title>Example of the htrfearly opcode.</title>
+<xi:include href="examples-xml/hrtfearly.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+    </example>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="hrtfreverb"><citetitle>hrtfreverb</citetitle></link>
+      <link linkend="hrtfmove"><citetitle>hrtfmove</citetitle></link>,
+      <link linkend="hrtfmove2"><citetitle>hrtfmove2</citetitle></link>,
+      <link linkend="hrtfstat"><citetitle>hrtfstat</citetitle></link>,
+      <link linkend="hrtfer"><citetitle>hrtfer</citetitle></link>.
+    </para>
+          
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: Brian Carty</member>
+        <member>Maynooth</member>
+        <member>2011</member>
+      </simplelist>
+    </para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/hrtfmove.xml b/opcodes/hrtfmove.xml
index 81e7c85..b3ba9cc 100644
--- a/opcodes/hrtfmove.xml
+++ b/opcodes/hrtfmove.xml
@@ -38,6 +38,17 @@
       <para>Spectral datafiles (based on the MIT HRTF database) are available in 3 different sampling rates: 44.1, 48 and 96 khz and are labelled accordingly. Input and processing <emphasis>sr</emphasis> should match datafile <emphasis>sr</emphasis>. Files should be in the current directory or the SADIR (see <link linkend="CommandEnvironment"><citetitle>Environment Variables</citetitle></link>).
       </para>
     </note>
+ <note>
+      <para>
+       HRTF Data files for use with 
+      <link linkend="hrtfmove"><citetitle>hrtfmove</citetitle></link>,
+      <link linkend="hrtfmove2"><citetitle>hrtfmove2</citetitle></link>,
+      <link linkend="hrtfstat"><citetitle>hrtfstat</citetitle></link>,
+      <link linkend="hrtfearly"><citetitle>hrtfearly</citetitle></link>,
+      <link linkend="hrtfreverb"><citetitle>hrtfreverb</citetitle></link>
+       were updated for Csound 5.15 and later (the code was updated and is more efficient). Old datafiles are now deprecated.
+      </para>
+</note>
     <para>
       <emphasis>imode</emphasis> -- optional, default 0 for phase truncation, 1 for minimum phase
     </para>
@@ -89,6 +100,7 @@
       <link linkend="hrtfstat"><citetitle>hrtfstat</citetitle></link>,
       <link linkend="hrtfer"><citetitle>hrtfer</citetitle></link>.
     </para>
+            <para> More information on this opcode: <ulink url="http://www.csounds.com/journal/issue9/newHRTFOpcodes.html"><citetitle>http://www.csounds.com/journal/issue9/newHRTFOpcodes.html</citetitle></ulink>  , written by Brian Carty </para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/hrtfmove2.xml b/opcodes/hrtfmove2.xml
index e53eab7..ee9cc81 100644
--- a/opcodes/hrtfmove2.xml
+++ b/opcodes/hrtfmove2.xml
@@ -40,6 +40,17 @@
         Spectral datafiles (based on the MIT HRTF database) are available in 3 different sampling rates: 44.1, 48 and 96 khz and are labelled accordingly. Input and processing <emphasis>sr</emphasis> should match datafile <emphasis>sr</emphasis>. Files should be in the current directory or the SADIR (see <link linkend="CommandEnvironment"><citetitle>Environment Variables</citetitle></link>).
       </para>
     </note>
+<note>
+      <para>
+       HRTF Data files for use with 
+      <link linkend="hrtfmove"><citetitle>hrtfmove</citetitle></link>,
+      <link linkend="hrtfmove2"><citetitle>hrtfmove2</citetitle></link>,
+      <link linkend="hrtfstat"><citetitle>hrtfstat</citetitle></link>,
+      <link linkend="hrtfearly"><citetitle>hrtfearly</citetitle></link>,
+      <link linkend="hrtfreverb"><citetitle>hrtfreverb</citetitle></link>
+       were updated for Csound 5.15 and later (the code was updated and is more efficient). Old datafiles are now deprecated.
+      </para>
+</note>
     <para>
       <emphasis>ioverlap</emphasis> -- optional, number of overlaps for STFT processing (default 4). See STFT section of manual.
     </para>
@@ -92,6 +103,7 @@
       <link linkend="hrtfstat"><citetitle>hrtfstat</citetitle></link>,
       <link linkend="hrtfer"><citetitle>hrtfer</citetitle></link>.
     </para>
+            <para> More information on this opcode: <ulink url="http://www.csounds.com/journal/issue9/newHRTFOpcodes.html"><citetitle>http://www.csounds.com/journal/issue9/newHRTFOpcodes.html</citetitle></ulink>  , written by Brian Carty </para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/hrtfreverb.xml b/opcodes/hrtfreverb.xml
new file mode 100644
index 0000000..d46013a
--- /dev/null
+++ b/opcodes/hrtfreverb.xml
@@ -0,0 +1,110 @@
+
+<refentry id="hrtfreverb">
+<indexterm id="Indexhrtfreverb"><primary>hrtfreverb</primary></indexterm>
+  <refentryinfo><title>Signal Modifiers:Panning and Spatialization</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>hrtfreverb</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>hrtfreverb</refname>
+    <refpurpose>
+      A binaural, dynamic FDN based diffuse-field reverberator. The opcode works independently as an efficient, flexible reverberator.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+     A frequency-dependent, efficient reverberant field is created based on low and high frequency desired reverb times. The opcode is designed to work with <link linkend="hrtfearly"><citetitle>hrtfearly</citetitle></link>, ideally using its outputs as inputs. However, <link linkend="hrtfreverb"><citetitle>hrtfreverb</citetitle></link> can be used as a standalone tool. Stability is enforced.
+    </para>
+    <para>
+      It is, however, designed for use with <link linkend="hrtfearly"><citetitle>hrtfearly</citetitle></link> to provide spatially accurate reverberation with user definable source trajectories. Accurate interaural coherence is also provided.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>aleft, aright, idel <command>hrtfreverb</command> asrc, ilowrt60, ihighrt60, ifilel, ifiler [,isr, imfp, iorder]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ilowrt60</emphasis> - low frequency reverb time. 
+    </para>
+    <para>
+      <emphasis>ihighrt60</emphasis> - high frequency reverb time.
+    </para>
+    <para>
+      <emphasis>ifilel</emphasis> - left HRTF spectral data file.
+    </para>
+    <para>
+      <emphasis>ifiler</emphasis> - right HRTF spectral data file.
+    </para>
+    <note>
+      <para>Spectral datafiles (based on the MIT HRTF database) are available in 3 different sampling rates: 44.1, 48 and 96 kHz and are labelled accordingly. Input and processing <emphasis>sr</emphasis> should match datafile <emphasis>sr</emphasis>. Files should be in the current directory or the SADIR (see <link linkend="CommandEnvironment"><citetitle>Environment Variables</citetitle></link>).
+      </para>
+    </note>
+     <note>
+      <para>HRTF Data files for use with 
+      <link linkend="hrtfmove"><citetitle>hrtfmove</citetitle></link>,
+      <link linkend="hrtfmove2"><citetitle>hrtfmove2</citetitle></link>,
+      <link linkend="hrtfstat"><citetitle>hrtfstat</citetitle></link>,
+      <link linkend="hrtfreverb"><citetitle>hrtfreverb</citetitle></link>,
+      <link linkend="hrtfreverb"><citetitle>hrtfreverb</citetitle></link>
+       were updated for Csound 5.15 and later (the code was updated and is more efficient). Old datafiles are now deprecated.
+      </para>
+    </note>
+    <para>
+<emphasis>isr</emphasis> - optional, default 44.1kHz, legal values: 44100, 48000 and 96000.
+ </para>
+ <para>
+      <emphasis>imfp</emphasis> - optional, mean free path, defaults to that of a medium room. If used with <link linkend="hrtfearly"><citetitle>hrtfearly</citetitle></link>, the mean free path of the room can be used to calculate the appropriate delay for the later reverb. Legal range: the mean free path of the smallest room allowed by hrtfearly (0.003876)  1.
+  </para>
+  <para>
+      <emphasis>iorder</emphasis> - optional, order of early reflection processing. If used with <link linkend="hrtfearly"><citetitle>hrtfearly</citetitle></link>, the order of early reflections can be used to calculate the appropriate delay on the later reverb. 
+  </para>
+   
+  
+ <title>Performance</title>
+    <para>
+      <emphasis>asrc</emphasis> - Input/source signal.
+    </para>
+    
+    <title>Output</title>
+    <para>
+      <emphasis>idel</emphasis> - if used with <link linkend="hrtfearly"><citetitle>hrtfearly</citetitle></link>, the appropriate delay for the later reverb, based on the room and order of processing.
+    </para>
+    
+  </refsect1>
+
+  <refsect1>  
+    <title>Example</title>
+    <para>
+      See the <link linkend="hrtfearly"><citetitle>hrtfearly</citetitle></link> manual page for a simple example of the <link linkend="hrtfearly"><citetitle>hrtfearly</citetitle></link> and <emphasis>hrtfreverb</emphasis> opcodes.
+    </para>
+   </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="hrtfearly"><citetitle>hrtfearly</citetitle></link>
+      <link linkend="hrtfmove"><citetitle>hrtfmove</citetitle></link>,
+      <link linkend="hrtfmove2"><citetitle>hrtfmove2</citetitle></link>,
+      <link linkend="hrtfstat"><citetitle>hrtfstat</citetitle></link>,
+      <link linkend="hrtfer"><citetitle>hrtfer</citetitle></link>.
+    </para>        
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: Brian Carty</member>
+        <member>Maynooth</member>
+        <member>2011</member>
+      </simplelist>
+    </para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/hrtfstat.xml b/opcodes/hrtfstat.xml
index 84799df..66b0d22 100644
--- a/opcodes/hrtfstat.xml
+++ b/opcodes/hrtfstat.xml
@@ -57,6 +57,18 @@
         current directory or the SADIR (see <link linkend="CommandEnvironment"><citetitle>Environment Variables</citetitle></link>).
       </para>
     </note>
+<note>
+      <para>
+       HRTF Data files for use with 
+      <link linkend="hrtfmove"><citetitle>hrtfmove</citetitle></link>,
+      <link linkend="hrtfmove2"><citetitle>hrtfmove2</citetitle></link>,
+      <link linkend="hrtfstat"><citetitle>hrtfstat</citetitle></link>,
+      <link linkend="hrtfearly"><citetitle>hrtfearly</citetitle></link>,
+      <link linkend="hrtfreverb"><citetitle>hrtfreverb</citetitle></link>
+       were updated for Csound 5.15 and later (the code was updated and is more efficient). Old datafiles are now deprecated.
+      </para>
+</note>
+
     <para>
       <emphasis>iradius</emphasis> --  optional, head radius used for
       phase spectra calculation in centimeters (default 9.0)
@@ -86,17 +98,28 @@
       <link linkend="hrtfmove"><citetitle>hrtfmove</citetitle></link>, but cannot generate moving sources. 
     </para>
   </refsect1>
+  
   <refsect1>
     <title>Examples</title>
     <para>
-      It can be found in the file <ulink url="examples/htrfstat.csd"><citetitle>htrfstat.csd</citetitle></ulink>. 
+      Here is an example of the hrtfstat opcode. It uses the file <ulink url="examples/hrtfstat.csd"><citetitle>hrtfstat.csd</citetitle></ulink>. 
     </para>
 
     <example>
-      <title>Example of the htrfstat opcode.
+      <title>Example of the hrtfstat opcode.
       </title>
+              <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
 <xi:include href="examples-xml/hrtfstat.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
     </example>
+        <para>
+      Here is another example of the hrtfstat opcode. It uses the file <ulink url="examples/hrtfstat-2.csd"><citetitle>htrfstat-2.csd</citetitle></ulink>, and <ulink url="examples/Church.wav"><citetitle>Church.wav</citetitle></ulink>, which is a looped sample.
+
+      <example>
+        <title>Example two of the hrtfstat opcode</title>
+
+          <xi:include href="examples-xml/hrtfstat-2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
   </refsect1>
 
   <refsect1>
@@ -106,6 +129,7 @@
       <link linkend="hrtfmove2"><citetitle>hrtfmove2</citetitle></link>,
       <link linkend="hrtfer"><citetitle>hrtfer</citetitle></link>.
     </para>
+        <para> More information on this opcode: <ulink url="http://www.csounds.com/journal/issue9/newHRTFOpcodes.html"><citetitle>http://www.csounds.com/journal/issue9/newHRTFOpcodes.html</citetitle></ulink>  , written by Brian Carty </para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/hvs2.xml b/opcodes/hvs2.xml
index 7b1e09d..a34cb43 100644
--- a/opcodes/hvs2.xml
+++ b/opcodes/hvs2.xml
@@ -22,16 +22,16 @@
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis><command>hvs2</command> kx, ky, inumParms, inumPointsX, iOutTab, iPositionsTab, iSnapTab [, iConfigTab]</synopsis>
+    <synopsis><command>hvs2</command> kx, ky, inumParms, inumPointsX, inumPointsY, iOutTab, iPositionsTab, iSnapTab [, iConfigTab]</synopsis>
   </refsect1>
 
   <refsect1>
     <title>Initialization</title>
     <para>
-      <emphasis>inumParms</emphasis> - number of parameters controlled by the HVS. Each HVS snapshot is made up of inumParms elements.
+      <emphasis>inumParms</emphasis> - number of parameters controlled by the HVS. Each HVS snapshot is made up of <emphasis>inumParms</emphasis> elements.
     </para>
     <para>
-      <emphasis>inumPointsX</emphasis> - number of points that each dimension of the HVS cube (or square in case of two-dimensional HVS; or line in case of one-dimensional HVS) is made up.
+      <emphasis>inumPointsX</emphasis>, <emphasis>inumPointsY</emphasis> - number of points that each dimension of the HVS cube (or square in case of two-dimensional HVS; or line in case of one-dimensional HVS) is made up.
     </para>
     <para>
       <emphasis>iOutTab</emphasis> - number of the table receiving the set of output-parameter instant values of the HVS. The total amount of parameters is defined by the <emphasis>inumParms</emphasis> argument.
@@ -132,9 +132,9 @@
       </example>
     </para>
     <para>
-      Here is second example of the hvs2 opcode. It uses the file <ulink url="examples/hvs2-2.csd"><citetitle>hvs2.csd</citetitle></ulink>.
+      Here is second example of the hvs2 opcode. It uses the file <ulink url="examples/hvs2-2.csd"><citetitle>hvs2-2.csd</citetitle></ulink>.
       <example>
-        <title>Example of the hvs2 opcode.</title>
+        <title>Second example of the hvs2 opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
         <xi:include href="examples-xml/hvs2-2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
diff --git a/opcodes/hvs3.xml b/opcodes/hvs3.xml
index e5134e1..dac2017 100644
--- a/opcodes/hvs3.xml
+++ b/opcodes/hvs3.xml
@@ -22,16 +22,16 @@
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis><command>hvs3</command> kx, ky, kz, inumParms, inumPointsX, iOutTab, iPositionsTab, iSnapTab [, iConfigTab]</synopsis>
+    <synopsis><command>hvs3</command> kx, ky, kz, inumParms, inumPointsX, inumPointsY, inumPointsZ, iOutTab, iPositionsTab, iSnapTab [, iConfigTab]</synopsis>
   </refsect1>
 
   <refsect1>
     <title>Initialization</title>
     <para>
-      <emphasis>inumParms</emphasis> - number of parameters controlled by the HVS. Each HVS snapshot is made up of inumParms elements.
+      <emphasis>inumParms</emphasis> - number of parameters controlled by the HVS. Each HVS snapshot is made up of <emphasis>inumParms</emphasis> elements.
     </para>
     <para>
-      <emphasis>inumPointsX</emphasis> - number of points that each dimension of the HVS cube (or square in case of two-dimensional HVS; or line in case of one-dimensional HVS) is made up.
+      <emphasis>inumPointsX</emphasis>, <emphasis>inumPointsY</emphasis>, <emphasis>inumPointsZ</emphasis> - number of points that each dimension of the HVS cube (or square in case of two-dimensional HVS; or line in case of one-dimensional HVS) is made up.
     </para>
     <para>
       <emphasis>iOutTab</emphasis> - number of the table receiving the set of output-parameter instant values of the HVS. The total amount of parameters is defined by the <emphasis>inumParms</emphasis> argument.
diff --git a/opcodes/imagesetpixel.xml b/opcodes/imagesetpixel.xml
index 1b9cadd..963290e 100644
--- a/opcodes/imagesetpixel.xml
+++ b/opcodes/imagesetpixel.xml
@@ -19,8 +19,8 @@
   </refsect1>
   <refsect1>
     <title>Syntax</title>
-    <synopsis><command>imagegetpixel</command> iimagenum, ax, ay, ared, agreen, ablue</synopsis>
-    <synopsis><command>imagegetpixel</command> iimagenum, kx, ky, kred, kgreen, kblue</synopsis>
+    <synopsis><command>imagesetpixel</command> iimagenum, ax, ay, ared, agreen, ablue</synopsis>
+    <synopsis><command>imagesetpixel</command> iimagenum, kx, ky, kred, kgreen, kblue</synopsis>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/imagesize.xml b/opcodes/imagesize.xml
index 98588d8..2b01cd9 100644
--- a/opcodes/imagesize.xml
+++ b/opcodes/imagesize.xml
@@ -44,7 +44,11 @@
       <example>
         <title>Example of the imagesize opcode.</title>
         <xi:include href="examples-xml/imageopcodes.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
+      </example>      
+      Its output should include a line like this:
+      <screen>
+imagewidth = 180.000000 pixels, imageheigth = 135.000000 pixels
+      </screen>
     </para>
   </refsect1>
 
diff --git a/opcodes/in.xml b/opcodes/in.xml
index e88a8f3..91c744c 100644
--- a/opcodes/in.xml
+++ b/opcodes/in.xml
@@ -18,28 +18,54 @@
   <refsect1>
     <title>Description</title>
     <para>
-      Reads mono audio data from an external device or stream.
+      Reads audio data from an external device or stream.
     </para>
 
     <warning>
       <title>Warning</title>
       <para>
-        This opcode is designed to be used only with orchestras that have
-        nchnls=1. Doing so with orchestras with nchnls > 1 will
+        There are two versions of this opcode.  The first is designed
+        to be used only with orchestras that have 
+        inchnls=1. Doing so with orchestras with inchnls > 1 will
         cause incorrect audio input.
       </para>
+      <para>
+        The second form will read multiple channels into an array.
+      </para>
     </warning>
   </refsect1>
 
   <refsect1>
     <title>Syntax</title>
     <synopsis>ar1 <command>in</command></synopsis>
+    <synopsis>aarray <command>in</command></synopsis>
   </refsect1>
 
   <refsect1>
     <title>Performance</title>
     <para>
-      Reads mono audio data from an external device or stream. If the command-line <link linkend="FlagsMinusLowerI"><citetitle>-i</citetitle></link> flag is set, sound is read continuously from the audio input stream (e.g. <emphasis>stdin</emphasis> or a soundfile) into an internal buffer. Any number of these opcodes can read freely from this buffer.
+      Form 1 reads mono audio data from an external device or
+      stream. If the command-line <link
+      linkend="FlagsMinusLowerI"><citetitle>-i</citetitle></link> flag
+      is set, sound is read continuously from the audio input stream
+      (e.g. <emphasis>stdin</emphasis> or a soundfile) into an
+      internal buffer. Any number of these opcodes can read freely
+      from this buffer.
+    </para>
+    <para>
+      The second format will read upto ichnls of audio into an audio
+      array, which must be initialised.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the in opcode. It uses the file <ulink url="examples/in.csd"><citetitle>in.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the in opcode.</title>
+        <xi:include href="examples-xml/in.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>      
     </para>
   </refsect1>
 
@@ -63,8 +89,11 @@
         <member>Authors: &namebarry;, &namematt;/&namemike;</member>
         <member>MIT, Mills College</member>
         <member>1993-1997</member>
+        <member>Authors: &namejohn;</member>
+        <member>NUIM, 2013</member>
       </simplelist>
     </para>
     <para>Already in version 3.30</para>
+    <para>Array version in versio 6.01</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/inch.xml b/opcodes/inch.xml
index e7ca9d9..a161e86 100644
--- a/opcodes/inch.xml
+++ b/opcodes/inch.xml
@@ -46,6 +46,17 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the inch opcode. It uses the file <ulink url="examples/inch.csd"><citetitle>inch.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the inch opcode.</title>
+        <xi:include href="examples-xml/inch.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>      
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="in32"><citetitle>in32</citetitle></link>,
diff --git a/opcodes/include.xml b/opcodes/include.xml
index a62a7fc..b9ed25a 100644
--- a/opcodes/include.xml
+++ b/opcodes/include.xml
@@ -67,6 +67,13 @@ $BASSOON(3)</programlisting>
 
       It must be stressed that these changes are at the textual level and so take no cognizance of any meaning.
     </para>
+    <para>
+      If the version of Csound is built with the CURL library the
+      filename in an <emphasis>#include</emphasis> statement can
+      be an URL, recognised by including the substring "://" in the
+      name.  This will include text via protocols such as http, https,
+      and ftp.
+    </para>
   </refsect1>
 
   <refsect1>
@@ -98,5 +105,6 @@ $BASSOON(3)</programlisting>
     <para>Example written by &namekevin;.</para>
 
     <para>New in Csound version 3.48</para>
+    <para>URLs available from Csound 6.02</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/init.xml b/opcodes/init.xml
index c066b67..24892ef 100644
--- a/opcodes/init.xml
+++ b/opcodes/init.xml
@@ -9,7 +9,7 @@
   <refnamediv>
     <refname>init</refname>
     <refpurpose>
-       Puts the value of the i-time expression into a k- or a-rate variable.
+       Puts the value of the i-time expression into a k-, a-rate or t- variable.
     </refpurpose>
   </refnamediv>
 
@@ -20,7 +20,8 @@
     <synopsis>kres <command>init</command> iarg</synopsis>
     <synopsis>ares, ...  <command>init</command> iarg, ...</synopsis>
     <synopsis>ires, ... <command>init</command> iarg, ...</synopsis>
-    <synopsis>kres, ...<command>init</command> iarg, ...</synopsis>
+    <synopsis>kres, ... <command>init</command> iarg, ...</synopsis>
+    <synopsis>tab <command>init</command> isize[, ival]</synopsis>
   </refsect1>
 
   <refsect1>
@@ -34,7 +35,7 @@
     <title>Initialization</title>
     <para>
       Puts the value of the i-time expression
-      <emphasis>iarg</emphasis> into a k- or a-rate variable, i.e.,
+      <emphasis>iarg</emphasis> into a k-, a-rate or t- variable, i.e.,
       initialize the result. Note that <emphasis
       role="strong">init</emphasis> provides the only case of an
       init-time statement being permitted to write into a perf-time
@@ -47,15 +48,57 @@
       output variables than input expressions then the last one is
       repeated.  It is an error to have more inputs than outputs.
     </para>
+    <para>
+      The t-variable form was introduced in 5.14 and allocated space
+      for a vector or the given size, initialised to the given value
+      (default value is zero).
+    </para>
   </refsect1>
+  
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the init opcode. It uses the file <ulink url="examples/init.csd"><citetitle>init.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the init opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/init.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+            Its output should include lines like these:
+      <screen>
+ i   1 time     0.00073:     1.00000
+ i   1 time     0.10014:   138.00000
+ i   1 time     0.20027:   276.00000
+ i   1 time     0.30041:   414.00000
+ i   1 time     0.40054:   552.00000
+ i   1 time     0.50068:   690.00000
+ i   1 time     0.60009:   827.00000
+ i   1 time     0.70023:   965.00000
+ i   1 time     0.80036:  1103.00000
+ i   1 time     0.90050:  1241.00000
 
+ i   2 time     2.00054:     1.00000
+ i   2 time     2.09995:     1.00000
+ i   2 time     2.20009:     1.00000
+ i   2 time     2.30023:     1.00000
+ i   2 time     2.40036:     1.00000
+ i   2 time     2.50050:     1.00000
+ i   2 time     2.59991:     1.00000
+ i   2 time     2.70005:     1.00000
+ i   2 time     2.80018:     1.00000
+ i   2 time     2.90032:     1.00000
+      </screen>
+    </para>
+  </refsect1>
+      
   <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="assign"><citetitle>=</citetitle></link>,
       <link linkend="divz"><citetitle>divz</citetitle></link>,
       <link linkend="tival"><citetitle>tival</citetitle></link>
-    </para>
+    </para>             
+        <para> Other information on this opcode in the Floss Manuals: <ulink url="http://www.flossmanuals.net/csound/ch016_a-initialization-and-performance-pass"><citetitle>http://www.flossmanuals.net/csound/ch016_a-initialization-and-performance-pass</citetitle></ulink></para>   
   </refsect1>
 
   <refsect1>
@@ -69,7 +112,7 @@
         <member>Bath, UK</member>
         <member>February 2010</member>
       </simplelist>
-    <para>New in version 5.13</para>
     </para>
+    <para>Multiple form new in version 5.13; t-variable form new in 5.14.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/initc7.xml b/opcodes/initc7.xml
index 516d95b..a46df8d 100644
--- a/opcodes/initc7.xml
+++ b/opcodes/initc7.xml
@@ -55,6 +55,18 @@ ivalue = (initial_value - min) / (max - min)
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the initc7 opcode. It uses the file <ulink url="examples/initc7.csd"><citetitle>initc7.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the initc7 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/initc7.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="ctrl7"><citetitle>ctrl7</citetitle></link>,
diff --git a/opcodes/inleta.xml b/opcodes/inleta.xml
index aa22a7c..c946a15 100644
--- a/opcodes/inleta.xml
+++ b/opcodes/inleta.xml
@@ -46,19 +46,34 @@
       The signals of all the outlets connected to an inlet are summed in the inlet.
     </para>
   </refsect1>
-  
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the inleta opcode. It uses the file <ulink url="examples/inleta.csd"><citetitle>inleta.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the inleta opcode.</title>
+          <xi:include href="examples-xml/inleta.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+    </refsect1>
+   
   <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="outleta"><citetitle>outleta</citetitle></link>
       <link linkend="outletk"><citetitle>outletk</citetitle></link>
+      <link linkend="outletkid"><citetitle>outletkid</citetitle></link>
       <link linkend="outletf"><citetitle>outletf</citetitle></link>
       <link linkend="inletk"><citetitle>inletk</citetitle></link>
+      <link linkend="inletkid"><citetitle>inletkid</citetitle></link>
       <link linkend="inletf"><citetitle>inletf</citetitle></link>
       <link linkend="connect"><citetitle>connect</citetitle></link>
       <link linkend="alwayson"><citetitle>alwayson</citetitle></link>
       <link linkend="ftgenonce"><citetitle>ftgenonce</citetitle></link>
     </para>
+        <para> More information on this opcode: <ulink url="http://www.csounds.com/journal/issue13/signalFlowGraphOpcodes.html"><citetitle>http://www.csounds.com/journal/issue13/signalFlowGraphOpcodes.html</citetitle></ulink>  , written by Michael Gogins </para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/inletf.xml b/opcodes/inletf.xml
index 978d872..e218cb7 100644
--- a/opcodes/inletf.xml
+++ b/opcodes/inletf.xml
@@ -52,9 +52,11 @@
     <para>
       <link linkend="outleta"><citetitle>outleta</citetitle></link>
       <link linkend="outletk"><citetitle>outletk</citetitle></link>
+      <link linkend="outletkid"><citetitle>outletkid</citetitle></link>
       <link linkend="outletf"><citetitle>outletf</citetitle></link>
       <link linkend="inleta"><citetitle>inleta</citetitle></link>
       <link linkend="inletk"><citetitle>inletk</citetitle></link>
+      <link linkend="inletkid"><citetitle>inletkid</citetitle></link>
       <link linkend="connect"><citetitle>connect</citetitle></link>
       <link linkend="alwayson"><citetitle>alwayson</citetitle></link>
       <link linkend="ftgenonce"><citetitle>ftgenonce</citetitle></link>
diff --git a/opcodes/inletk.xml b/opcodes/inletk.xml
index 5396701..1f6c9db 100644
--- a/opcodes/inletk.xml
+++ b/opcodes/inletk.xml
@@ -42,16 +42,30 @@
 
     <para>
       During performance, the krate inlet signal is received from each instance of an instrument
-      containing an outlet port to which this inlet has been connected using the <link linkend="connect">connect</link> opcode.
+      containing an outlet port to which this inlet has been connected using the 
+      <link linkend="connect">connect</link> opcode.
       The signals of all the outlets connected to an inlet are summed in the inlet.
     </para>
   </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the inletk opcode. It uses the file <ulink url="examples/inletk.csd"><citetitle>inletk.csd</citetitle></ulink>.
 
+      <example>
+        <title>Example of the inletk opcode.</title>
+          <xi:include href="examples-xml/inletk.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+    </refsect1>
+   
   <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="outleta"><citetitle>outleta</citetitle></link>
       <link linkend="outletk"><citetitle>outletk</citetitle></link>
+      <link linkend="outletkid"><citetitle>outletkid</citetitle></link>
       <link linkend="outletf"><citetitle>outletf</citetitle></link>
       <link linkend="inleta"><citetitle>inleta</citetitle></link>
       <link linkend="inletf"><citetitle>inletf</citetitle></link>
diff --git a/opcodes/inletkid.xml b/opcodes/inletkid.xml
new file mode 100644
index 0000000..6e1cd8d
--- /dev/null
+++ b/opcodes/inletkid.xml
@@ -0,0 +1,81 @@
+<refentry id="inletkid">
+<indexterm id="Indexinletkid"><primary>inletkid</primary></indexterm>
+<refentryinfo><title>Signal Flow Graph Opcodes</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>inletkid</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>inletkid</refname>
+    <refpurpose>
+      Receives a krate signal into an instrument from a named port.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Receives a krate signal into an instrument from a named port.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ksignal <command>inletkid </command>Sname, SinstanceID</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>Sname</emphasis> -- String name of the inlet port.       
+      The name of the inlet is implicitly qualified by the instrument name 
+      or number, so it is valid to use the same inlet name in more than one 
+      instrument (but not to use the same inlet name twice in one instrument).
+    </para>
+    <para>
+      <emphasis>SinstanceID</emphasis> -- String name of the outlet port's 
+      instance ID. This enables the inlet to discriminate between different 
+      instances of the outlet, e,g. one instance of the outlet might be created by a note 
+      specifying one instance ID, and another instance might be created by a note 
+      specifying another ID. This might be used, e.g., to situate difference instances 
+      of an instrument at different points in an Ambisonic space in a spatializing 
+      effects processor.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>ksignal</emphasis> -- krate input signal
+    </para>
+
+    <para>
+      During performance, the krate inlet signal is received from each instance of an instrument
+      containing an outlet port to which this inlet has been connected using the 
+      <link linkend="connect">connect</link> opcode. The signals of all the outlets that 
+      are connected to an inlet, but only those share the specified instance ID, are summed in the inlet.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="outleta"><citetitle>outleta</citetitle></link>
+      <link linkend="outletk"><citetitle>outletk</citetitle></link>
+      <link linkend="outletkid"><citetitle>outletkid</citetitle></link>
+      <link linkend="outletf"><citetitle>outletf</citetitle></link>
+      <link linkend="inleta"><citetitle>inleta</citetitle></link>
+      <link linkend="inletf"><citetitle>inletf</citetitle></link>
+      <link linkend="connect"><citetitle>connect</citetitle></link>
+      <link linkend="alwayson"><citetitle>alwayson</citetitle></link>
+      <link linkend="ftgenonce"><citetitle>ftgenonce</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>By: &namemichael; 2009</para>
+  </refsect1>
+
+
+</refentry>
diff --git a/opcodes/inq.xml b/opcodes/inq.xml
index 91aef53..7c5d13a 100644
--- a/opcodes/inq.xml
+++ b/opcodes/inq.xml
@@ -43,6 +43,17 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the inq opcode. It uses the file <ulink url="examples/inq.csd"><citetitle>inq.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the inq opcode.</title>
+        <xi:include href="examples-xml/inq.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>      
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="diskin"><citetitle>diskin</citetitle></link>,
diff --git a/opcodes/ins.xml b/opcodes/ins.xml
index deb3ea5..014929b 100644
--- a/opcodes/ins.xml
+++ b/opcodes/ins.xml
@@ -43,6 +43,17 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the ins opcode. It uses the file <ulink url="examples/ins.csd"><citetitle>ins.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the ins opcode.</title>
+        <xi:include href="examples-xml/ins.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>      
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="diskin"><citetitle>diskin</citetitle></link>,
diff --git a/opcodes/insglobal.xml b/opcodes/insglobal.xml
index 9136963..f42b9b6 100644
--- a/opcodes/insglobal.xml
+++ b/opcodes/insglobal.xml
@@ -8,14 +8,31 @@
   <refnamediv>
     <refname>insglobal</refname>
     <refpurpose>
-      An opcode which can be used to implement a remote orchestra. This opcode will send note events from a source machine to many destinations.
-          </refpurpose>
+      An opcode which can be used to implement a remote
+      orchestra. This opcode will send note events from a source
+      machine to many destinations.
+    </refpurpose>
   </refnamediv>
 
   <refsect1>
     <title>Description</title>
     <para>
-      With the <link linkend="insremot"><citetitle>insremot</citetitle></link> and <emphasis>insglobal</emphasis> opcodes you are able to perform instruments on remote machines and control them from a master machine. The remote opcodes are implemented using the master/client model. All the machines involved contain the same orchestra but only the master machine contains the information of the score. During the performance the master machine sends the note events to the clients. The <emphasis>insglobal</emphasis> opcode sends the events to all the machines involved in the remote concert. These machines are determined by the <link linkend="insremot"><citetitle>insremot</citetitle></link> definitions made above the <emphasis>insglobal</emphasis> command. To send events to only one machine use <link linkend="insremot"><citetitle>insremot</citetitle></link>.
+      With the <link
+      linkend="insremot"><citetitle>insremot</citetitle></link> and
+      <emphasis>insglobal</emphasis> opcodes you are able to perform
+      instruments on remote machines and control them from a master
+      machine. The remote opcodes are implemented using the
+      master/client model. All the machines involved contain the same
+      orchestra but only the master machine contains the information
+      of the score. During the performance the master machine sends
+      the note events to the clients. The
+      <emphasis>insglobal</emphasis> opcode sends the events to all
+      the machines involved in the remote concert. These machines are
+      determined by the <link
+      linkend="insremot"><citetitle>insremot</citetitle></link>
+      definitions made above the <emphasis>insglobal</emphasis>
+      command. To send events to only one machine use <link
+      linkend="insremot"><citetitle>insremot</citetitle></link>. 
     </para>
   </refsect1>
 
@@ -28,7 +45,7 @@
     <title>Initialization</title>    
     <para>
       <emphasis>isource</emphasis>
-      -- a string that is the intended host computer (e.g. 192.168.0.100). This is the source host which generates the events of the given instrument(s) and sends it to all the machines involved in the remote concert.
+      -- a string that is the intended server computer (e.g. 192.168.0.100). This is the source host which generates the events of the given instrument(s) and sends it to all the machines involved in the remote concert.
     </para>
 
     <para>
@@ -38,10 +55,26 @@
 
   </refsect1>
 
-<!--  <refsect1>
+  <refsect1>
     <title>Performance</title>
-    
-  </refsect1>-->
+    <note>
+      If is essential the computers using this opcode have the same
+      byte-order, data size (double or float) and pointer size.  One
+      cannot use it with mixed 32 and 64 computers for instance.
+    </note>    
+    <note>
+      Internally this opcode makes use of the gethostname and
+      gethostbyname functions to determine the client's and server's
+      IP address for checking which messages are for which machine.
+      If a computer has more than one IP address there is no way to
+      control which IP address is found.
+    </note>
+    <note>
+      The remote operation does not allow the sending of strings at
+      all.
+    </note>
+  </refsect1>
+  
   <refsect1>
     <title>Examples</title>
     <para>
diff --git a/opcodes/insremot.xml b/opcodes/insremot.xml
index aea7032..ee15d8e 100644
--- a/opcodes/insremot.xml
+++ b/opcodes/insremot.xml
@@ -8,14 +8,28 @@
   <refnamediv>
     <refname>insremot</refname>
     <refpurpose>
-      An opcode which can be used to implement a remote orchestra. This opcode will send note events from a source machine to one destination.
-          </refpurpose>
+      An opcode which can be used to implement a remote
+      orchestra. This opcode will send note events from a source
+      machine to one destination. 
+    </refpurpose>
   </refnamediv>
 
   <refsect1>
     <title>Description</title>
     <para>
-      With the insremot and insglobal opcodes you are able to perform instruments on remote machines and control them from a master machine. The remote opcodes are implemented using the master/client model. All the machines involved contain the same orchestra but only the master machine contains the information of the score. During the performance the master machine sends the note events to the clients. The insremot opcode will send events from a source machine to one destination if you want to send events to many destinations (broadcast) use the insglobal opcode instead. These two opcodes can be used in combination.     
+      With the <emphasis>insremot</emphasis> and <link
+      linkend="insglobal"><citetitle>insglobal</citetitle></link>
+      opcodes you are able to perform instruments on remote machines
+      and control them from a master machine. The remote opcodes are
+      implemented using the master/client model. All the machines
+      involved contain the same orchestra but only the master machine
+      contains the information of the score. During the performance
+      the master machine sends the note events to the clients. The
+      <emphasis>insremot</emphasis> opcode will send events from a
+      source machine to one destination if you want to send events to
+      many destinations (broadcast) use the <link
+      linkend="insglobal"><citetitle>insglobal</citetitle></link>
+      opcode instead. These two opcodes can be used in combination.
     </para>
   </refsect1>
 
@@ -28,12 +42,12 @@
     <title>Initialization</title>
     <para>
       <emphasis>idestination</emphasis>
-      -- a string that is the intended host computer (e.g. 192.168.0.100). This is the destination host which receives the events from the given instrument.
+      -- a string that is the intended client computer (e.g. 192.168.0.100). This is the destination host which receives the events from the given instrument.
     </para>
 
     <para>
       <emphasis>isource</emphasis>
-      -- a string that is the intended host computer (e.g. 192.168.0.100). This is the source host which generates the events of the given instrument and sends it to the address given by idestination.
+      -- a string that is the intended server computer (e.g. 192.168.0.100). This is the source host which generates the events of the given instrument and sends it to the address given by idestination.
     </para>
 
     <para>
@@ -43,10 +57,25 @@
 
   </refsect1>
 
-<!--  <refsect1>
+  <refsect1>
     <title>Performance</title>
-    
-  </refsect1>-->
+    <note>
+      If is essential the computers using this opcode have the same
+      byte-order, data size (double or float) and pointer size.  One
+      cannot use it with mixed 32 and 64 computers for instance.
+    </note>    
+    <note>
+      Internally this opcode makes use of the gethostname and
+      gethostbyname functions to determine the client's and server's
+      IP address for checking which messages are for which machine.
+      If a computer has more than one IP address there is no way to
+      control which IP address is found.
+    </note>
+    <note>
+      The remote operation does not allow the sending of strings at
+      all.
+    </note>
+  </refsect1>
   <refsect1>
     <title>Examples</title>
     <para>
diff --git a/opcodes/instance.xml b/opcodes/instance.xml
new file mode 100644
index 0000000..d578a0e
--- /dev/null
+++ b/opcodes/instance.xml
@@ -0,0 +1,116 @@
+
+<refentry id="instance">
+<indexterm id="IndexSchedule"><primary>instance</primary></indexterm>
+  <refentryinfo><title>Instrument Control:Invocation</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>instance</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>instance</refname>
+    <refpurpose>
+      Schedules a new instrument instance, storing the instance handle in a variable.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+       Schedules a new instrument instance, returning a handle that can be used later to
+refer directly to the running instance. This opcode is similar to schedule, but has the added
+facility of retrieving the instance handle.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>iHandle <command>instance</command> insnum, iwhen, idur [, ip4] [, ip5] [...]</synopsis>
+    <synopsis>iHandle <command>instance</command> "insname", iwhen, idur [, ip4] [, ip5] [...]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>iHandle</emphasis> -- this variable will contain a handle to the event instance. It can be used, for example, to
+stop the given instrument instance via the kill opcode. Note that the instance handle is only valid once the instrument is initialised.
+    </para>
+    <para>
+      <emphasis>insnum</emphasis> -- instrument number. Equivalent to p1 in a score <link linkend="i"><citetitle>i statement</citetitle></link>. <emphasis>insnum</emphasis> must be a number greater than the number of the calling instrument.
+    </para>
+
+    <para>
+      <emphasis><quote>insname</quote></emphasis> -- A string (in double-quotes) representing a named instrument.
+    </para>
+
+    <para>
+      <emphasis>iwhen</emphasis> -- start time of the new event. Equivalent to p2 in a score <link linkend="i"><citetitle>i statement</citetitle></link>. <emphasis>iwhen</emphasis> must be nonnegative. If <emphasis>iwhen</emphasis> is zero, <emphasis>insum</emphasis> must be greater than or equal to the p1 of the current instrument.
+    </para>
+
+    <para>
+      <emphasis>idur</emphasis> -- duration of event. Equivalent to p3 in a score <link linkend="i"><citetitle>i statement</citetitle></link>.
+    </para>
+
+    <para>
+      <emphasis>ip4, ip5, ...</emphasis> -- Equivalent to p4, p5, etc., in a score <link linkend="i"><citetitle>i statement</citetitle></link>.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>instance</emphasis> adds a new score event. The arguments, including options, are the same as in a score. The <emphasis>iwhen</emphasis> time (p2) is measured from the time of this event. 
+    </para>
+
+    <para>
+      If the duration is zero or negative the new event is of MIDI type, and inherits the release sub-event from the scheduling instruction.
+    </para>
+    <note>
+      <para> Note that the <emphasis>instance</emphasis> opcode can't accept string p-fields. If you need to pass strings when instantiating an instrument, use the <link linkend="scoreline"><citetitle>scoreline</citetitle></link> or <link linkend="scoreline_i"><citetitle>scoreline_i</citetitle></link> opcode.</para>
+    </note>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the instance opcode. It uses the file <ulink url="examples/instance.csd"><citetitle>instance.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the instance opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/instance.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="schedwhen"><citetitle>schedwhen</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See also</title>
+    <para><link linkend="event"><citetitle>event</citetitle></link>,
+    <link linkend="event_i"><citetitle>event_i</citetitle></link>,
+    <link linkend="schedwhen"><citetitle>schedwhen</citetitle></link>,
+    <link linkend="schedkwhen"><citetitle>schedkwhen</citetitle></link>,
+    <link linkend="schedkwhennamed"><citetitle>schedkwhennamed</citetitle></link>,
+    <link linkend="scoreline"><citetitle>scoreline</citetitle></link>,
+    <link linkend="scoreline_i"><citetitle>scoreline_i</citetitle></link></para>
+    <para> More information on this opcode: <ulink url="http://www.csounds.com/journal/issue15/phrase_loops.html"><citetitle>http://www.csounds.com/journal/issue15/phrase_loops.html</citetitle></ulink>  , written by Jim Aikin </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namevictor;</member>
+        <member>November 2013</member>
+      </simplelist>
+    </para>
+
+    <para>New in Csound version 3.491</para>
+    <para>Based on work by &namegabriel;</para>
+    <para>Thanks goes to David Gladstein, for clarifying the <emphasis>iwhen</emphasis> parameter.</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/int.xml b/opcodes/int.xml
index 2a5eecc..69213dc 100644
--- a/opcodes/int.xml
+++ b/opcodes/int.xml
@@ -39,16 +39,21 @@
 
       <example>
         <title>Example of the int opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/int.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-      Its output should include a line like this:
+      Its output should include lines like these:
       <screen>
-instr 1:  i2 = 3.000
+integer (0.000000/3) = 0.000000
+integer (1.000000/3) = 0.000000
+integer (2.000000/3) = 0.000000
+integer (3.000000/3) = 1.000000
+integer (4.000000/3) = 1.000000
+integer (5.000000/3) = 1.000000
+integer (6.000000/3) = 2.000000
+integer (7.000000/3) = 2.000000
+integer (8.000000/3) = 2.000000
+integer (9.000000/3) = 3.000000
       </screen>
     </para>
   </refsect1>
@@ -68,6 +73,5 @@ instr 1:  i2 = 3.000
 
   <refsect1>
     <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/interp.xml b/opcodes/interp.xml
index 3bcdd04..c4b1f48 100644
--- a/opcodes/interp.xml
+++ b/opcodes/interp.xml
@@ -96,9 +96,6 @@
 
       <example>
         <title>Example of the interp opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/interp.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
@@ -114,11 +111,11 @@
       <link linkend="samphold"><citetitle>samphold</citetitle></link>,
       <link linkend="upsamp"><citetitle>upsamp</citetitle></link>
     </para>
+            <para> More information on this opcode: <ulink url="http://www.csounds.com/journal/issue10/CsoundRates.html"><citetitle>http://www.csounds.com/journal/issue10/CsoundRates.html</citetitle></ulink>  , written by Andrés Cabrera </para>
   </refsect1>
 
   <refsect1>
     <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
     <para>Updated November 2002, thanks to a note from both &namerasmus; and &nameistvan;.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/invalue.xml b/opcodes/invalue.xml
index 3769384..a088758 100644
--- a/opcodes/invalue.xml
+++ b/opcodes/invalue.xml
@@ -42,6 +42,18 @@
       <emphasis>"channel name"</emphasis> -- An integer, string (in double-quotes), or string variable identifying the channel.
     </para>
   </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the invalue opcode. It uses the file <ulink url="examples/invalue.csd"><citetitle>invalue.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the invalue opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/invalue.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/jitter.xml b/opcodes/jitter.xml
index e3a37bd..f316e04 100644
--- a/opcodes/jitter.xml
+++ b/opcodes/jitter.xml
@@ -78,7 +78,6 @@
   <refsect1>
     <title>Credits</title>
     <para>Author: &namegabriel;</para>
-    <para>Example written by &namekevin;.</para>
     <para>New in Version 4.15</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/jitter2.xml b/opcodes/jitter2.xml
index 1f3acc1..56a1f73 100644
--- a/opcodes/jitter2.xml
+++ b/opcodes/jitter2.xml
@@ -94,7 +94,6 @@
   <refsect1>
     <title>Credits</title>
     <para>Author: &namegabriel;</para>
-    <para>Example written by &namekevin;.</para>
     <para>New in Version 4.15</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/joystick.xml b/opcodes/joystick.xml
new file mode 100644
index 0000000..96bb8a8
--- /dev/null
+++ b/opcodes/joystick.xml
@@ -0,0 +1,75 @@
+
+<refentry id="joystick">
+<indexterm id="Indexjoystick"><primary>joystick</primary></indexterm>
+  <refentryinfo><title>Instrument Control:Sensing and Control</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>joystick</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>joystick</refname>
+    <refpurpose>
+      Reads data from a joystick controller.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+       Reads data from a Linux joystick controller
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>kres <command>joystick</command> kdevice ktab</synopsis>
+  </refsect1>
+ 
+ <refsect1>
+   <title>Performance</title>
+   <note>
+     <para>
+       Please note that this opcode is currently only supported on
+       Linux.
+     </para>
+   </note>
+   <para>
+     <emphasis>kdevice</emphasis> -- the index of the joystick device, either /dev/js<emphasis>N</emphasis> or
+            /dev/input/js<emphasis>N</emphasis>.
+   </para>
+   <para>
+     <emphasis>ktab</emphasis> -- A table to hold input results,
+     should be at least enough elements to store one value for each
+     stick axis and one for each button + 2.  The first two elements
+     of the table are initialized with the number of axes and the
+     number of buttons, respectively, when a joystick is opened. If a
+     joystick is unplugged during performance, the opcode will
+     repeatedly attempt to reopen the device with a delay between
+     attempts.
+   </para>
+  </refsect1>
+
+   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the joystick opcode. It uses the file <ulink url="examples/joystick.csd"><citetitle>joystick.csd</citetitle></ulink>.
+    <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+    </para>
+    <xi:include href="examples-xml/joystick.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+        <para>
+      Here is another example of the joystick opcode. It uses the file <ulink url="examples/joystick-2.csd"><citetitle>joystick-2.csd</citetitle></ulink>.
+    </para>
+    <xi:include href="examples-xml/joystick-2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: Justin Glenn Smith</member>
+        <member>2010</member>
+      </simplelist>
+    </para>
+    <para>New in version 5.17.12</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/jspline.xml b/opcodes/jspline.xml
index 73bdfdf..5fe66de 100644
--- a/opcodes/jspline.xml
+++ b/opcodes/jspline.xml
@@ -61,6 +61,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the jspline opcode. It uses the file <ulink url="examples/jspline.csd"><citetitle>jspline.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the jspline opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/jspline.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>Credits</title>
     <para>Author: &namegabriel;</para>
     <para>New in Version 4.15</para>
diff --git a/opcodes/kgoto.xml b/opcodes/kgoto.xml
index 55b1fde..e61fd84 100644
--- a/opcodes/kgoto.xml
+++ b/opcodes/kgoto.xml
@@ -10,7 +10,7 @@
     <refname>kgoto</refname>
 
     <refpurpose>
-      Transfer control during the p-time passes.
+      Transfer control during the performance-time passes.
     </refpurpose>
   </refnamediv>
  
diff --git a/opcodes/kill.xml b/opcodes/kill.xml
new file mode 100644
index 0000000..0028aa9
--- /dev/null
+++ b/opcodes/kill.xml
@@ -0,0 +1,61 @@
+
+<refentry id="kill">
+<indexterm id="IndexTurnoff"><primary>kill</primary></indexterm>
+  <refentryinfo><title>Instrument Control:Duration Control</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>kill</refentrytitle>
+  </refmeta>
+
+
+ 
+  <refnamediv>
+    <refname>kill</refname>
+
+    <refpurpose>
+     Stops a given instrument instance.
+          </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Given a valid instrument instance, this opcode stops it.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>kill</command> kinstance</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kinstance</emphasis> -- a valid instrument instance. Whether of finite duration or <quote>held</quote>, the instance currently being performed is immediately removed from the active instance list. No other instances are affected.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      The following example uses the kill opcode. It uses the file <ulink url="examples/kill.csd"><citetitle>kill.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the kill opcode.</title>
+
+        
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/kill.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="ihold"><citetitle>ihold</citetitle></link>,
+      <link linkend="turnon"><citetitle>turnon</citetitle></link>
+    </para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/kr.xml b/opcodes/kr.xml
index eeb44cb..bf34160 100644
--- a/opcodes/kr.xml
+++ b/opcodes/kr.xml
@@ -31,7 +31,7 @@
   <refsect1>
     <title>Initialization</title>
     <para>
-      <emphasis>kr</emphasis> = (optional) -- set control rate to <emphasis>iarg</emphasis> samples per second. The default value is 1000.
+      <emphasis>kr</emphasis> = (optional) -- set control rate to <emphasis>iarg</emphasis> samples per second. The default value is 4410.
     </para>
 
     <para>
diff --git a/opcodes/lenarray.xml b/opcodes/lenarray.xml
new file mode 100644
index 0000000..7c56acd
--- /dev/null
+++ b/opcodes/lenarray.xml
@@ -0,0 +1,71 @@
+
+<refentry id="lenarray">
+<indexterm id="IndexLenarray"><primary>lenarray</primary></indexterm>
+
+  <refentryinfo><title>Table Control:Table Queries</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>lenarray</refentrytitle>
+  </refmeta>
+
+   <refnamediv>
+    <refname>lenarray</refname>
+    <refpurpose>
+      Calculate the length of a vector.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Calculate the length of a vector (one-dimensionly k-rate array).
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+      <synopsis>ir <command>lenarray</command> karray</synopsis>
+      <synopsis>kr <command>lenarray</command> karray</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kr</emphasis> -- length of vector.
+    </para>
+    <para>
+      <emphasis>karray</emphasis> -- array to query.
+
+    </para>
+  </refsect1>
+
+ <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the lenarray opcode. It uses the file <ulink url="examples/lenarray.csd"><citetitle>lenarray.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the lenarray opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/lenarray.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="vectorial"><citetitle></citetitle>Vectorial opcodes</link>
+</para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>Codemist Ltd</member>
+        <member>2013</member>
+      </simplelist>
+    </para>
+    <para>New in version 6.00</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/lessequal.xml b/opcodes/lessequal.xml
index f2d14c8..df49dc3 100644
--- a/opcodes/lessequal.xml
+++ b/opcodes/lessequal.xml
@@ -73,9 +73,14 @@
 
       Its output should include lines like this:
       <screen>
-k1 = 2.000000, k2 = 1.000000
-k1 = 3.000000, k2 = 1.000000
-k1 = 4.000000, k2 = 0.000000</screen>
+random number = 1.035781, result = 3.000000
+random number = 0.134037, result = 1.000000
+random number = 0.130742, result = 1.000000
+random number = 1.002550, result = 3.000000
+random number = 0.370565, result = 1.000000
+random number = 0.655759, result = 2.000000
+random number = 0.676154, result = 2.000000
+......</screen>
     </para>
   </refsect1>
 
@@ -90,8 +95,4 @@ k1 = 4.000000, k2 = 0.000000</screen>
     </para>
   </refsect1>
 
-  <refsect1>
-    <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
-  </refsect1>
 </refentry>
diff --git a/opcodes/lessthan.xml b/opcodes/lessthan.xml
index 999e0ee..377343e 100644
--- a/opcodes/lessthan.xml
+++ b/opcodes/lessthan.xml
@@ -73,9 +73,8 @@
 
       Its output should include lines like this:
       <screen>
-k1 = 2.000000, k2 = 1.000000
-k1 = 3.000000, k2 = 0.000000
-k1 = 4.000000, k2 = 0.000000</screen>
+ipitch = 261.626
+ipitch = 800.00</screen>
     </para>
   </refsect1>
 
@@ -90,8 +89,4 @@ k1 = 4.000000, k2 = 0.000000</screen>
     </para>
   </refsect1>
 
-  <refsect1>
-    <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
-  </refsect1>
 </refentry>
diff --git a/opcodes/limit.xml b/opcodes/limit.xml
index e188ab4..fa9da5e 100644
--- a/opcodes/limit.xml
+++ b/opcodes/limit.xml
@@ -70,6 +70,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the limit opcode. It uses the file <ulink url="examples/limit.csd"><citetitle>limit.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the limit opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/limit.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="mirror"><citetitle>mirror</citetitle></link>,
diff --git a/opcodes/line.xml b/opcodes/line.xml
index 9f7a786..7639d91 100644
--- a/opcodes/line.xml
+++ b/opcodes/line.xml
@@ -89,6 +89,5 @@
 
   <refsect1>
     <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/linen.xml b/opcodes/linen.xml
index 33a19ff..27503f5 100644
--- a/opcodes/linen.xml
+++ b/opcodes/linen.xml
@@ -79,6 +79,19 @@
       </note>
     </para>
   </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the linen opcode. It uses the file <ulink url="examples/linen.csd"><citetitle>linen.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the linen opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/linen.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/linenr.xml b/opcodes/linenr.xml
index f62fca8..cc0d306 100644
--- a/opcodes/linenr.xml
+++ b/opcodes/linenr.xml
@@ -61,6 +61,18 @@
     </para>
 
   </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the linenr opcode. It uses the file <ulink url="examples/linenr.csd"><citetitle>linenr.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the linenr opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/linenr.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/lineto.xml b/opcodes/lineto.xml
index a903363..5d8dd5b 100644
--- a/opcodes/lineto.xml
+++ b/opcodes/lineto.xml
@@ -48,6 +48,18 @@
     </para>
     <note><para>No new value for <emphasis>ksig</emphasis> or <emphasis>ktime</emphasis> will have effect until the previous <emphasis>ktime</emphasis> has elapsed.</para></note>
   </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the lineto opcode. It uses the file <ulink url="examples/lineto.csd"><citetitle>lineto.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the lineto opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/lineto.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/linrand.xml b/opcodes/linrand.xml
index dd1627a..f7e35fa 100644
--- a/opcodes/linrand.xml
+++ b/opcodes/linrand.xml
@@ -60,16 +60,35 @@
 
       <example>
         <title>Example of the linrand opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/linrand.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
 
       Its output should include a line like this:
       <screen>
-instr 1:  i1 = 0.394
+ i   1 time     0.00033:    13.54770
+ i   1 time     0.20033:    32.38746
+ i   1 time     0.40033:    47.69304
+ i   1 time     0.60033:    19.82218
+ i   1 time     0.80033:    42.98293
+ i   1 time     1.00000:    81.13174
+ i   1 time     1.20033:    47.39585
+ i   1 time     1.40033:    12.53248
+ i   1 time     1.60033:    35.70722
+ i   1 time     1.80000:    65.25774
+ i   1 time     2.00000:    23.24811
+Seeding from current time 392575384
+ i   2 time     3.00033:    23.05609
+ i   2 time     3.20033:    76.15114
+ i   2 time     3.40033:    22.78861
+ i   2 time     3.60000:     0.79064
+ i   2 time     3.80033:    43.49438
+ i   2 time     4.00000:    34.10963
+ i   2 time     4.20000:    31.88702
+ i   2 time     4.40033:    59.78054
+ i   2 time     4.60033:     4.96821
+ i   2 time     4.80033:    24.69674
+ i   2 time     5.00000:    21.88815
       </screen>
     </para>
   </refsect1>
@@ -100,6 +119,5 @@ instr 1:  i1 = 0.394
         <member>1995</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/linseg.xml b/opcodes/linseg.xml
index a82aef3..f908423 100644
--- a/opcodes/linseg.xml
+++ b/opcodes/linseg.xml
@@ -1,104 +1,94 @@
-
-<refentry id="linseg">
-<indexterm id="IndexLinseg"><primary>linseg</primary></indexterm>
-  <refentryinfo><title>Signal Generators:Linear and Exponential Generators</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>linseg</refentrytitle>
-  </refmeta>
-
-
- 
-  <refnamediv>
-    <refname>linseg</refname>
-    <refpurpose>
-      Trace a series of line segments between specified points.
-    </refpurpose>
-  </refnamediv>
- 
-  <refsect1>
-    <title>Description</title>
-    <para>
-      Trace a series of line segments between specified points.
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis>ares <command>linseg</command> ia, idur1, ib [, idur2] [, ic] [...]</synopsis>
-
-    <synopsis>kres <command>linseg</command> ia, idur1, ib [, idur2] [, ic] [...]</synopsis>
-  </refsect1>
- 
-  <refsect1>
-    <title>Initialization</title>
-    <para>
-      <emphasis>ia</emphasis> -- starting value.
-    </para>
-
-    <para>
-      <emphasis>ib, ic</emphasis>, etc. -- value after <emphasis>dur1</emphasis> seconds, etc.
-    </para>
-
-    <para>
-      <emphasis>idur1</emphasis> -- duration in seconds of first segment. A zero or negative value will cause all initialization to be skipped.
-    </para>
-
-    <para>
-      <emphasis>idur2, idur3</emphasis>, etc. -- duration in seconds of subsequent segments. A zero or negative value will terminate the initialization process with the preceding point, permitting the last-defined line or curve to be continued indefinitely in performance. The default is zero.
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      These units generate control or audio signals whose values can pass through 2 or more specified points. The sum of <emphasis>dur</emphasis> values may or may not equal the instrument's performance time: a shorter performance will truncate the specified pattern, while a longer one will cause the last-defined segment to continue on in the same direction.
-    </para>
-    <para>
-      <note>
-	<para>
-	  A common error with this opcode is to assume that the last value
-	  is held after the total duration. <emphasis>linseg</emphasis> does not
-	  automatically end or stop at the end of the total duration. If your
-	  note length is longer than the sum of all <emphasis>idur</emphasis>
-	  values, <emphasis>kres</emphasis> (or <emphasis>ares</emphasis>) will
-	  not come to rest at the last given value, but will instead continue to
-	  rise or fall with the current rate. You can add a final segment at the
-	  same previous value to create a held final value.
-	</para>
-      </note>
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the linseg opcode. It uses the file <ulink url="examples/linseg.csd"><citetitle>linseg.csd</citetitle></ulink>.
-
-      <example>
-        <title>Example of the linseg opcode.</title>
-
-        
-
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/linseg.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>See Also</title>
-    <para>
-      <link linkend="expon"><citetitle>expon</citetitle></link>,
-      <link linkend="expseg"><citetitle>expseg</citetitle></link>,
-      <link linkend="expsegr"><citetitle>expsegr</citetitle></link>,
-      <link linkend="line"><citetitle>line</citetitle></link>,
-      <link linkend="linsegr"><citetitle>linsegr</citetitle></link>
-      <link linkend="transeg"><citetitle>transeg</citetitle></link>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
-  </refsect1>
-</refentry>
+
+<refentry id="linseg">
+<indexterm id="IndexLinseg"><primary>linseg</primary></indexterm>
+  <refentryinfo><title>Signal Generators:Linear and Exponential Generators</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>linseg</refentrytitle>
+  </refmeta>
+
+
+ 
+  <refnamediv>
+    <refname>linseg</refname>
+    <refpurpose>
+      Trace a series of line segments between specified points.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Trace a series of line segments between specified points.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>linseg</command> ia, idur1, ib [, idur2] [, ic] [...]</synopsis>
+
+    <synopsis>kres <command>linseg</command> ia, idur1, ib [, idur2] [, ic] [...]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ia</emphasis> -- starting value.
+    </para>
+
+    <para>
+      <emphasis>ib, ic</emphasis>, etc. -- value after <emphasis>dur1</emphasis> seconds, etc.
+    </para>
+
+    <para>
+      <emphasis>idur1</emphasis> -- duration in seconds of first segment. A zero or negative value will cause all initialization to be skipped.
+    </para>
+
+    <para>
+      <emphasis>idur2, idur3</emphasis>, etc. -- duration in seconds of subsequent segments. A zero or negative value will terminate the initialization process with the preceding point, permitting the last-defined line or curve to be continued indefinitely in performance. The default is zero.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      These units generate control or audio signals whose values can pass through 2 or more specified points. The sum of <emphasis>dur</emphasis> values may or may not equal the instrument's performance time: a shorter performance will truncate the specified pattern, while a longer one will cause the last value to be repeated until the end of the note.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the linseg opcode. It uses the file <ulink url="examples/linseg.csd"><citetitle>linseg.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the linseg opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/linseg.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="expon"><citetitle>expon</citetitle></link>,
+      <link linkend="expseg"><citetitle>expseg</citetitle></link>,
+      <link linkend="expsegb"><citetitle>expsegb</citetitle></link>,
+      <link linkend="expsegr"><citetitle>expsegr</citetitle></link>,
+      <link linkend="cosseg"><citetitle>cosseg</citetitle></link>,
+      <link linkend="line"><citetitle>line</citetitle></link>,
+      <link linkend="linsegr"><citetitle>linsegr</citetitle></link>
+      <link linkend="transeg"><citetitle>transeg</citetitle></link>
+      <link linkend="transegb"><citetitle>transegb</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+       <simplelist>
+         <member>Author: &namebarry;</member>
+       </simplelist>
+    </para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/linsegb.xml b/opcodes/linsegb.xml
new file mode 100644
index 0000000..c389e8f
--- /dev/null
+++ b/opcodes/linsegb.xml
@@ -0,0 +1,98 @@
+
+<refentry id="linsegb">
+<indexterm id="IndexLinsegb"><primary>linsegb</primary></indexterm>
+  <refentryinfo><title>Signal Generators:Linear and Exponential Generators</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>linsegb</refentrytitle>
+  </refmeta>
+
+
+ 
+  <refnamediv>
+    <refname>linsegb</refname>
+    <refpurpose>
+      Trace a series of line segments between specified absolute points.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Trace a series of line segments between specified absolute points.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>linsegb</command> ia, itim1, ib [, itim2] [, ic] [...]</synopsis>
+
+    <synopsis>kres <command>linsegb</command> ia, itim1, ib [, itim2] [, ic] [...]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ia</emphasis> -- starting value.
+    </para>
+
+    <para>
+      <emphasis>ib, ic</emphasis>, etc. -- value at <emphasis>tim1</emphasis> seconds, etc.
+    </para>
+
+    <para>
+      <emphasis>itim1</emphasis> -- time in seconds of end of first
+      segment. A zero or negative value will cause all initialization
+      to be skipped.
+    </para>
+
+    <para>
+      <emphasis>itim2, itim3</emphasis>, etc. -- time in seconds at
+      the end of subsequent segments. 
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      These units generate control or audio signals whose values can pass through 2 or more specified points. The last <emphasis>tim</emphasis> value may or may not equal the instrument's performance time: a shorter performance will truncate the specified pattern, while a longer one will cause the last value to be repeated until the end of the note.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the linsegb opcode. It uses the file <ulink url="examples/linsegb.csd"><citetitle>linsegb.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the linsegb opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/linsegb.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="expon"><citetitle>expon</citetitle></link>,
+      <link linkend="expseg"><citetitle>expseg</citetitle></link>,
+      <link linkend="expsegr"><citetitle>expsegr</citetitle></link>,
+      <link linkend="line"><citetitle>line</citetitle></link>,
+      <link linkend="linseg"><citetitle>linseg</citetitle></link>
+      <link linkend="linsegr"><citetitle>linsegr</citetitle></link>
+      <link linkend="transeg"><citetitle>transeg</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namevictor;</member>
+        <member>June 2011 </member>
+      </simplelist>
+   </para>
+   <para>New in version 5.14</para>
+
+  </refsect1>
+</refentry>
diff --git a/opcodes/linsegr.xml b/opcodes/linsegr.xml
index 24e953b..9b77e47 100644
--- a/opcodes/linsegr.xml
+++ b/opcodes/linsegr.xml
@@ -104,7 +104,6 @@
   <refsect1>
     <title>Credits</title>
     <para>Author: &namebarry;</para>
-    <para>Example written by &namekevin;.</para>
     <para>December 2002, December 2006. Thanks to &nameistvan;, added documentation about the maximum release time.</para>
     <para>New in Csound 3.47</para>
   </refsect1>
diff --git a/opcodes/locsend.xml b/opcodes/locsend.xml
index 44da6af..9b76675 100644
--- a/opcodes/locsend.xml
+++ b/opcodes/locsend.xml
@@ -59,28 +59,18 @@
 
     <para>
       In the above example, the signal, <emphasis>asig</emphasis>, is sent around a complete circle once during the duration of a note while at the same time it becomes more and more <quote>distant</quote> from the listeners' location. <emphasis>locsig</emphasis> sends the appropriate amount of the signal internally to <emphasis>locsend</emphasis>. The outputs of the <emphasis>locsend</emphasis> are added to global accumulators in a common Csound style and the global signals are used as inputs to the reverb units in a separate instrument.
-    </para>
+ For an example, see <link linkend="locsig"><citetitle>locsig</citetitle></link>.  
+      </para>
 
     <para>
       <emphasis>locsig</emphasis> is useful for quad and stereo panning as well as fixed placed of sounds anywhere between two loudspeakers. Below is an example of the fixed placement of sounds in a stereo field.
-    </para>
-
-    <para>
-      <informalexample>
-        <programlisting>
-<emphasis role="oblock">instr</emphasis> 1
-  a1, a2             <emphasis role="opc">locsig</emphasis>  asig, p4, p5, .1
-  ar1, ar2           <emphasis role="opc">locsend</emphasis>
-  ga1 <emphasis role="op">=</emphasis> ga1<emphasis role="op">+</emphasis>ar1
-  ga2 <emphasis role="op">=</emphasis> ga2<emphasis role="op">+</emphasis>ar2
-                     <emphasis role="opc">outs</emphasis> a1, a
-<emphasis role="oblock">endin</emphasis>
-<emphasis role="oblock">instr</emphasis> 99 
-  <emphasis role="comment">; reverb....</emphasis>
-<emphasis role="oblock">endin</emphasis></programlisting>
-      </informalexample>
-    </para>
-
+It uses the file <ulink url="examples/locsend_stereo.csd"><citetitle>locsend_stereo.csd</citetitle></ulink>.
+      <example>
+	        <title>Example of the locsend opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/locsend_stereo.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+</para>
     <para>
       A few notes:
       <informalexample>
diff --git a/opcodes/locsig.xml b/opcodes/locsig.xml
index 292c53b..c1ee71b 100644
--- a/opcodes/locsig.xml
+++ b/opcodes/locsig.xml
@@ -45,35 +45,17 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      <informalexample>
-        <programlisting>
-  asig some audio signal
-  kdegree            <emphasis role="opc">line</emphasis>    0, p3, 360
-  kdistance          <emphasis role="opc">line</emphasis>    1, p3, 10
-  a1, a2, a3, a4     <emphasis role="opc">locsig</emphasis>  asig, kdegree, kdistance, .1
-  ar1, ar2, ar3, ar4 <emphasis role="opc">locsend</emphasis>
-  ga1 <emphasis role="op">=</emphasis> ga1<emphasis role="op">+</emphasis>ar1
-  ga2 <emphasis role="op">=</emphasis> ga2<emphasis role="op">+</emphasis>ar2
-  ga3 <emphasis role="op">=</emphasis> ga3<emphasis role="op">+</emphasis>ar3
-  ga4 <emphasis role="op">=</emphasis> ga4<emphasis role="op">+</emphasis>ar4
-                     <emphasis>outq</emphasis>    a1, a2, a3, a4
-<emphasis role="oblock">endin</emphasis>
+      Here is an example of the locsig opcode. It uses the file <ulink url="examples/locsig_quad.csd"><citetitle>locsig_quad.csd</citetitle></ulink>.
 
-<emphasis role="oblock">instr</emphasis> 99 <emphasis role="comment">; reverb instrument</emphasis>
-  a1                 <emphasis role="opc">reverb2</emphasis> ga1, 2.5, .5
-  a2                 <emphasis role="opc">reverb2</emphasis> ga2, 2.5, .5
-  a3                 <emphasis role="opc">reverb2</emphasis> ga3, 2.5, .5
-  a4                 <emphasis role="opc">reverb2</emphasis> ga4, 2.5, .5
-                     <emphasis role="opc">outq</emphasis>    a1, a2, a3, a4
-  ga1<emphasis role="op">=</emphasis>0
-  ga2<emphasis role="op">=</emphasis>0
-  ga3<emphasis role="op">=</emphasis>0
-  ga4<emphasis role="op">=</emphasis>0</programlisting>
-      </informalexample>
+      <example>
+        <title>Example of the locsig opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/locsig_quad.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
     </para>
 
     <para>
-      In the above example, the signal, <emphasis>asig</emphasis>, is sent around a complete circle once during the duration of a note while at the same time it becomes more and more "distant" from the listeners' location. <emphasis>locsig</emphasis> sends the appropriate amount of the signal internally to <emphasis>locsend</emphasis>. The outputs of the <emphasis>locsend</emphasis> are added to global accumulators in a common Csound style and the global signals are used as inputs to the reverb units in a separate instrument.
+      In the above example, the signal, <emphasis>aout</emphasis>, is sent around a complete circle once during the duration of a note while at the same time it becomes more and more "distant" from the listeners' location. <emphasis>locsig</emphasis> sends the appropriate amount of the signal internally to <emphasis>locsend</emphasis>. The outputs of the <emphasis>locsend</emphasis> are added to global accumulators in a common Csound style and the global signals are used as inputs to the reverb units in a separate instrument.
     </para>
 
     <para>
diff --git a/opcodes/log10.xml b/opcodes/log10.xml
index e9e5ecb..b2296cb 100644
--- a/opcodes/log10.xml
+++ b/opcodes/log10.xml
@@ -64,6 +64,7 @@
       <link linkend="frac"><citetitle>frac</citetitle></link>,
       <link linkend="int"><citetitle>int</citetitle></link>,
       <link linkend="log"><citetitle>log</citetitle></link>,
+      <link linkend="log2"><citetitle>log</citetitle></link>,
       <link linkend="opi"><citetitle>i</citetitle></link>,
       <link linkend="sqrt"><citetitle>sqrt</citetitle></link>
     </para>
diff --git a/opcodes/log2.xml b/opcodes/log2.xml
new file mode 100644
index 0000000..7f905a6
--- /dev/null
+++ b/opcodes/log2.xml
@@ -0,0 +1,72 @@
+
+<refentry id="log2">
+<indexterm id="IndexLog2"><primary>log2</primary></indexterm>
+  <refentryinfo><title>Mathematical Operations:Mathematical Functions</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>log2</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>log2</refname>
+    <refpurpose>
+      Returns a base 2 log.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Returns the base 2 log of <emphasis>x</emphasis> (<emphasis>x</emphasis> positive only).
+    </para>
+
+    <para>
+      The argument value is restricted for <link linkend="log"><citetitle>log</citetitle></link>,
+      <emphasis>log2</emphasis>, and <link linkend="sqrt"><citetitle>sqrt</citetitle></link>.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>log2</command>(x) (no rate restriction)</synopsis>
+
+    <para>
+      where the argument within the parentheses may be an expression. Value converters perform arithmetic translation from units of one kind to units of another. The result can then be a term in a further expression.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the log2 opcode. It uses the file <ulink url="examples/log2.csd"><citetitle>log2.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the log2 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/log2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+      Its output should include a line like this:
+      <screen>instr 1:  i1 = 3.000</screen>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="abs"><citetitle>abs</citetitle></link>,
+      <link linkend="exp"><citetitle>exp</citetitle></link>,
+      <link linkend="frac"><citetitle>frac</citetitle></link>,
+      <link linkend="int"><citetitle>int</citetitle></link>,
+      <link linkend="log"><citetitle>log</citetitle></link>,
+      <link linkend="log10"><citetitle>log</citetitle></link>,
+      <link linkend="opi"><citetitle>i</citetitle></link>,
+      <link linkend="sqrt"><citetitle>sqrt</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>Written by &namejohn;.</para>
+    <para>New in version 5.17.12</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/loop_ge.xml b/opcodes/loop_ge.xml
index f923f35..3071a44 100644
--- a/opcodes/loop_ge.xml
+++ b/opcodes/loop_ge.xml
@@ -74,6 +74,8 @@
       <link linkend="loop_le"><citetitle>loop_le</citetitle></link> and
       <link linkend="loop_lt"><citetitle>loop_lt</citetitle></link>.
     </para>
+	    <para> More information on this opcode: <ulink url="http://www.csounds.com/journal/2006summer/controlFlow_part2.html"><citetitle>http://www.csounds.com/journal/2006summer/controlFlow_part2.html</citetitle></ulink>  , written by Steven Yi. 
+ And in the Floss Manuals: <ulink url="http://en.flossmanuals.net/csound/ch018_c-control-structures"><citetitle> http://en.flossmanuals.net/csound/ch018_c-control-structures</citetitle></ulink></para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/loop_gt.xml b/opcodes/loop_gt.xml
index f17605d..74a114e 100644
--- a/opcodes/loop_gt.xml
+++ b/opcodes/loop_gt.xml
@@ -72,7 +72,10 @@
       <link linkend="loop_le"><citetitle>loop_le</citetitle></link> and
       <link linkend="loop_lt"><citetitle>loop_lt</citetitle></link>.
     </para>
+	    <para> More information on this opcode: <ulink url="http://www.csounds.com/journal/2006summer/controlFlow_part2.html"><citetitle>http://www.csounds.com/journal/2006summer/controlFlow_part2.html</citetitle></ulink>  , written by Steven Yi. 
+ And in the Floss Manuals: <ulink url="http://en.flossmanuals.net/csound/ch018_c-control-structures"><citetitle> http://en.flossmanuals.net/csound/ch018_c-control-structures</citetitle></ulink></para>
   </refsect1>
+  
   <refsect1>
     <title>Credits</title>
     <para>&nameistvan;.</para>
diff --git a/opcodes/loop_le.xml b/opcodes/loop_le.xml
index 6c5b1a8..48e7b76 100644
--- a/opcodes/loop_le.xml
+++ b/opcodes/loop_le.xml
@@ -67,6 +67,28 @@
          <emphasis role="opc">if</emphasis> (kndx <emphasis role="op"><=</emphasis> kmax) <emphasis role="opc">kgoto</emphasis> label</programlisting>
     </para>
   </refsect1>
+    
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the loop_le opcode. It uses the file <ulink url="examples/loop_le.csd"><citetitle>loop_le.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the loop_le opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/loop_le.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+            Its output should include a line like this:
+      <screen>
+play instance 0
+play instance 1
+play instance 2
+play instance 3
+play instance 4
+play instance 5
+      </screen>
+    </para>
+  </refsect1>
+      
   <refsect1>
     <title>See Also</title>
     <para>
@@ -74,7 +96,9 @@
       <link linkend="loop_gt"><citetitle>loop_gt</citetitle></link> and
       <link linkend="loop_lt"><citetitle>loop_lt</citetitle></link>.
     </para>
-  </refsect1>
+	    <para> More information on this opcode: <ulink url="http://www.csounds.com/journal/2006summer/controlFlow_part2.html"><citetitle>http://www.csounds.com/journal/2006summer/controlFlow_part2.html</citetitle></ulink>  , written by Steven Yi. 
+ And in the Floss Manuals: <ulink url="http://en.flossmanuals.net/csound/ch018_c-control-structures"><citetitle> http://en.flossmanuals.net/csound/ch018_c-control-structures</citetitle></ulink></para>
+	    </refsect1>
 
   <refsect1>
     <title>Credits</title>
diff --git a/opcodes/loop_lt.xml b/opcodes/loop_lt.xml
index 19e2dce..7c26e9f 100644
--- a/opcodes/loop_lt.xml
+++ b/opcodes/loop_lt.xml
@@ -66,7 +66,27 @@
          kndx  <emphasis role="op">=</emphasis>  kndx <emphasis role="op">+</emphasis> kncr
          <emphasis role="opc">if</emphasis> (kndx <emphasis role="op"><</emphasis> kmax) <emphasis role="opc">kgoto</emphasis> label</programlisting>
     </para>
-
+  
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the loop_lt opcode. It uses the file <ulink url="examples/loop_lt.csd"><citetitle>loop_lt.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the loop_lt opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/loop_lt.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+            Its output should include a line like this:
+      <screen>
+play instance 0
+play instance 1
+play instance 2
+play instance 3
+play instance 4
+      </screen>
+    </para>
+  </refsect1>
+      
   </refsect1>
   <refsect1>
     <title>See Also</title>
@@ -75,6 +95,9 @@
       <link linkend="loop_gt"><citetitle>loop_gt</citetitle></link> and
       <link linkend="loop_le"><citetitle>loop_le</citetitle></link>.
     </para>
+    
+	    <para> More information on this opcode: <ulink url="http://www.csounds.com/journal/2006summer/controlFlow_part2.html"><citetitle>http://www.csounds.com/journal/2006summer/controlFlow_part2.html</citetitle></ulink>  , written by Steven Yi. 
+ And in the Floss Manuals: <ulink url="http://en.flossmanuals.net/csound/ch018_c-control-structures"><citetitle> http://en.flossmanuals.net/csound/ch018_c-control-structures</citetitle></ulink></para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/loopseg.xml b/opcodes/loopseg.xml
index 3e6524f..aa78e47 100644
--- a/opcodes/loopseg.xml
+++ b/opcodes/loopseg.xml
@@ -1,99 +1,102 @@
-
-<refentry id="loopseg">
-<indexterm id="IndexLoopseg"><primary>loopseg</primary></indexterm>
-  <refentryinfo><title>Signal Generators:Linear and Exponential Generators</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>loopseg</refentrytitle>
-  </refmeta>
-
-
-
-  <refnamediv>
-    <refname>loopseg</refname>
-    <refpurpose>
-      Generate control signal consisting of linear segments delimited by two or more specified points.
-          </refpurpose>
-  </refnamediv>
-  
-  <refsect1>
-    <title>Description</title>
-    <para>
-      Generate control signal consisting of linear segments delimited by two or more specified points. The entire envelope is looped at <emphasis>kfreq</emphasis> rate. Each parameter can be varied at k-rate.
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis>ksig <command>loopseg</command> kfreq, ktrig, ktime0, kvalue0 [, ktime1] [, kvalue1] \
-      [, ktime2] [, kvalue2] [...]</synopsis>
-  </refsect1>
-
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      <emphasis>ksig</emphasis> -- Output signal.
-    </para>
-
-    <para>
-      <emphasis>kfreq</emphasis> -- Repeat rate in Hz or fraction of Hz.
-    </para>
-
-    <para>
-      <emphasis>ktrig</emphasis> -- If non-zero, retriggers the envelope from start (see <link linkend="trigger"><citetitle>trigger opcode</citetitle></link>), before the envelope cycle is completed.
-    </para>
-
-    <para>
-      <emphasis>ktime0...ktimeN</emphasis> -- Times of points; expressed in fraction of a cycle.
-    </para>
-
-    <para>
-      <emphasis>kvalue0...kvalueN</emphasis> -- Values of points
-    </para>
-
-    <para>
-      <emphasis>loopseg</emphasis> opcode is similar to <link linkend="linseg"><citetitle>linseg</citetitle></link>, but the entire envelope is looped at <emphasis>kfreq</emphasis> rate. Notice that times are not expressed in seconds but in fraction of a cycle. Actually each duration represent is proportional to the other, and the entire cycle duration is proportional to the sum of all duration values.  
-    </para>
-
-    <para>
-      The sum of all duration is then rescaled according to <emphasis>kfreq</emphasis> argument. For example, considering an envelope made up of 3 segments, each segment having 100 as duration value, their sum will be 300. This value represents the total duration of the envelope, and is actually divided into 3 equal parts, a part for each segment.
-    </para>
-
-    <para>
-      Actually, the real envelope duration in seconds is determined by <emphasis>kfreq</emphasis>. Again, if the envelope is made up of 3 segments, but this time the first and last segments have a duration of 50, whereas the central segment has a duration of 100 again, their sum will be 200. This time 200 represent the total duration of the 3 segments, so the central segment will be twice as long as the other segments.
-    </para>
-
-    <para>
-      All parameters can be varied at k-rate.  Negative frequency values are allowed, reading the envelope backward.  <emphasis>ktime0</emphasis> should always be set to 0, except if the user wants some special effect.
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the loopseg opcode. It uses the file <ulink url="examples/loopseg.csd"><citetitle>loopseg.csd</citetitle></ulink>.
-
-      <example>
-        <title>Example of the loopseg opcode.</title>
-
-        
-
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/loopseg.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>See Also</title>
-    <para>
-      <link linkend="lpshold"><citetitle>lpshold</citetitle></link>
-      <link linkend="loopxseg"><citetitle>loopxseg</citetitle></link>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Credits</title>
-    <para>Author: &namegabriel;</para>
-    <para>New in Version 4.13</para>
-  </refsect1>
-</refentry>
+
+<refentry id="loopseg">
+<indexterm id="IndexLoopseg"><primary>loopseg</primary></indexterm>
+  <refentryinfo><title>Signal Generators:Linear and Exponential Generators</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>loopseg</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>loopseg</refname>
+    <refpurpose>
+      Generate control signal consisting of linear segments delimited by two or more specified points.
+    </refpurpose>
+  </refnamediv>
+  
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Generate control signal consisting of linear segments delimited by two or more specified points. The entire envelope is looped at <emphasis>kfreq</emphasis> rate. Each parameter can be varied at k-rate.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ksig <command>loopseg</command> kfreq, ktrig, iphase, kvalue0, ktime0 [, kvalue1] [, ktime1] \
+[, kvalue2] [, ktime2][...]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>iphase</emphasis> -- A value between 0 and 1 to say
+      where to start the loop.  Zero, the commonest value, indicates
+      the beginning.
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>ksig</emphasis> -- Output signal.
+    </para>
+
+    <para>
+      <emphasis>kfreq</emphasis> -- Repeat rate in Hz or fraction of Hz.
+    </para>
+
+    <para>
+      <emphasis>ktrig</emphasis> -- If non-zero, retriggers the envelope from start (see <link linkend="trigger"><citetitle>trigger opcode</citetitle></link>), before the envelope cycle is completed.
+    </para>
+
+    <para>
+      <emphasis>kvalue0...kvalueN</emphasis> -- Values of points
+    </para>
+
+    <para>
+      <emphasis>ktime0...ktimeN</emphasis> -- Times between points; expressed in fractions of a cycle (see below). The final time designates a ramp between the final value and the first value. 
+    </para>
+
+    <para>
+      <emphasis>loopseg</emphasis> opcode is similar to <link linkend="linseg"><citetitle>linseg</citetitle></link>, but the entire envelope is looped at <emphasis>kfreq</emphasis> rate. Notice that times are not expressed in seconds but in fraction of a cycle. Actually each duration represent is proportional to the other, and the entire cycle duration is proportional to the sum of all duration values.  
+    </para>
+
+    <para>
+      The sum of all duration is then rescaled according to <emphasis>kfreq</emphasis> argument. For example, considering an envelope made up of 3 segments, each segment having 100 as duration value, their sum will be 300. This value represents the total duration of the envelope, and is actually divided into 3 equal parts, a part for each segment.
+    </para>
+
+    <para>
+      Actually, the real envelope duration in seconds is determined by <emphasis>kfreq</emphasis>. Again, if the envelope is made up of 3 segments, but this time the first and last segments have a duration of 50, whereas the central segment has a duration of 100 again, their sum will be 200. This time 200 represent the total duration of the 3 segments, so the central segment will be twice as long as the other segments.
+    </para>
+
+    <para>
+      All parameters can be varied at k-rate.  Negative frequency values are allowed, reading the envelope backward.  <emphasis>ktime0</emphasis> should always be set to 0, except if the user wants some special effect.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the loopseg opcode. It uses the file <ulink url="examples/loopseg.csd"><citetitle>loopseg.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the loopseg opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/loopseg.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="lpshold"><citetitle>lpshold</citetitle></link>
+      <link linkend="loopxseg"><citetitle>loopxseg</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>Author: &namegabriel;</para>
+    <para>New in Version 4.13</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/looptseg.xml b/opcodes/looptseg.xml
index 3b988e3..208140d 100644
--- a/opcodes/looptseg.xml
+++ b/opcodes/looptseg.xml
@@ -1,4 +1,4 @@
-
+
 <refentry id="looptseg">
 <indexterm id="IndexLooptseg"><primary>looptseg</primary></indexterm>
   <refentryinfo><title>Signal Generators:Linear and Exponential Generators</title></refentryinfo>
@@ -24,8 +24,17 @@
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis>ksig <command>looptseg</command> kfreq, ktrig, ktime0, kvalue0, ktype, [, ktime1] [,ktype1] [, kvalue1] \
-      [, ktime2] [,ktype2] [, kvalue2] [...]</synopsis>
+    <synopsis>ksig <command>looptseg</command> kfreq, ktrig, iphase, kvalue0, ktype0, ktime0, [, kvalue1] [,ktype1] [, ktime1] \
+      [, kvalue2] [,ktype2] [, ktime2] [...] [, kvalueN] [,ktypeN] [, ktimeN]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>iphase</emphasis> -- A value between 0 and 1 to say
+      where to start the loop.  Zero, the commonest value, indicates
+      the beginning.
+    </para>
   </refsect1>
 
   <refsect1>
@@ -43,11 +52,11 @@
     </para>
 
     <para>
-      <emphasis>ktime0...ktimeN</emphasis> -- Times of points; expressed in fraction of a cycle.
+      <emphasis>kvalue0...kvalueN</emphasis> -- Values of points
     </para>
 
     <para>
-      <emphasis>kvalue0...kvalueN</emphasis> -- Values of points
+      <emphasis>ktime0...ktimeN</emphasis> -- Times between points; expressed in fractions of a cycle (see below). The final time designates a ramp between the final value and the first value. 
     </para>
 
     <para>
diff --git a/opcodes/loopxseg.xml b/opcodes/loopxseg.xml
index b6531b9..580c896 100644
--- a/opcodes/loopxseg.xml
+++ b/opcodes/loopxseg.xml
@@ -1,99 +1,100 @@
-
-<refentry id="loopxseg">
-<indexterm id="IndexLoopxseg"><primary>loopxseg</primary></indexterm>
-  <refentryinfo><title>Signal Generators:Linear and Exponential Generators</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>loopxseg</refentrytitle>
-  </refmeta>
-
-
-
-  <refnamediv>
-    <refname>loopxseg</refname>
-    <refpurpose>
-      Generate control signal consisting of exponential segments delimited by two or more specified points.
-          </refpurpose>
-  </refnamediv>
-  
-  <refsect1>
-    <title>Description</title>
-    <para>
-      Generate control signal consisting of exponential segments delimited by two or more specified points. The entire envelope is looped at <emphasis>kfreq</emphasis> rate. Each parameter can be varied at k-rate.
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis>ksig <command>loopxseg</command> kfreq, ktrig, ktime0, kvalue0 [, ktime1] [, kvalue1] \
-      [, ktime2] [, kvalue2] [...]</synopsis>
-  </refsect1>
-
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      <emphasis>ksig</emphasis> -- Output signal.
-    </para>
-
-    <para>
-      <emphasis>kfreq</emphasis> -- Repeat rate in Hz or fraction of Hz.
-    </para>
-
-    <para>
-      <emphasis>ktrig</emphasis> -- If non-zero, retriggers the envelope from start (see <link linkend="trigger"><citetitle>trigger opcode</citetitle></link>), before the envelope cycle is completed.
-    </para>
-
-    <para>
-      <emphasis>ktime0...ktimeN</emphasis> -- Times of points; expressed in fraction of a cycle.
-    </para>
-
-    <para>
-      <emphasis>kvalue0...kvalueN</emphasis> -- Values of points
-    </para>
-
-    <para>
-      <emphasis>loopxseg</emphasis> opcode is similar to <link linkend="expseg"><citetitle>expseg</citetitle></link>, but the entire envelope is looped at <emphasis>kfreq</emphasis> rate. Notice that times are not expressed in seconds but in fraction of a cycle. Actually each duration represent is proportional to the other, and the entire cycle duration is proportional to the sum of all duration values.  
-    </para>
-
-    <para>
-      The sum of all duration is then rescaled according to <emphasis>kfreq</emphasis> argument. For example, considering an envelope made up of 3 segments, each segment having 100 as duration value, their sum will be 300. This value represents the total duration of the envelope, and is actually divided into 3 equal parts, a part for each segment.
-    </para>
-
-    <para>
-      Actually, the real envelope duration in seconds is determined by <emphasis>kfreq</emphasis>. Again, if the envelope is made up of 3 segments, but this time the first and last segments have a duration of 50, whereas the central segment has a duration of 100 again, their sum will be 200. This time 200 represent the total duration of the 3 segments, so the central segment will be twice as long as the other segments.
-    </para>
-
-    <para>
-      All parameters can be varied at k-rate.  Negative frequency values are allowed, reading the envelope backward.  <emphasis>ktime0</emphasis> should always be set to 0, except if the user wants some special effect.
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the loopxseg opcode. It uses the file <ulink url="examples/loopxseg.csd"><citetitle>loopxseg.csd</citetitle></ulink>.
-
-      <example>
-        <title>Example of the loopxseg opcode.</title>
-
-        
-
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/loopxseg.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>See Also</title>
-    <para>
-      <link linkend="lpshold"><citetitle>lpshold</citetitle></link>
-      <link linkend="loopseg"><citetitle>loopseg</citetitle></link>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Credits</title>
-    <para>Author: &namejohn;</para>
-    <para>New in Version 5.12</para>
-  </refsect1>
-</refentry>
+
+<refentry id="loopxseg">
+<indexterm id="IndexLoopxseg"><primary>loopxseg</primary></indexterm>
+  <refentryinfo><title>Signal Generators:Linear and Exponential Generators</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>loopxseg</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>loopxseg</refname>
+    <refpurpose>
+      Generate control signal consisting of exponential segments delimited by two or more specified points.
+    </refpurpose>
+  </refnamediv>
+  
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Generate control signal consisting of exponential segments delimited by two or more specified points. The entire envelope is looped at <emphasis>kfreq</emphasis> rate. Each parameter can be varied at k-rate.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ksig <command>loopxseg</command> kfreq, ktrig, iphase, ktime0, kvalue0 [, ktime1] [, kvalue1] \
+      [, ktime2] [, kvalue2] [...]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>ksig</emphasis> -- Output signal.
+    </para>
+
+    <para>
+      <emphasis>kfreq</emphasis> -- Repeat rate in Hz or fraction of Hz.
+    </para>
+
+    <para>
+      <emphasis>ktrig</emphasis> -- If non-zero, retriggers the envelope from start (see <link linkend="trigger"><citetitle>trigger opcode</citetitle></link>), before the envelope cycle is completed.
+    </para>
+
+    <para>
+      <emphasis>iphase</emphasis> -- A value between 0 and 1 to say
+      where to start the loop.  Zero, the commonest value, indicates
+      the beginning.
+    </para>
+
+    <para>
+      <emphasis>ktime0...ktimeN</emphasis> -- Times of points; expressed in fraction of a cycle.
+    </para>
+
+    <para>
+      <emphasis>kvalue0...kvalueN</emphasis> -- Values of points
+    </para>
+
+    <para>
+      <emphasis>loopxseg</emphasis> opcode is similar to <link linkend="expseg"><citetitle>expseg</citetitle></link>, but the entire envelope is looped at <emphasis>kfreq</emphasis> rate. Notice that times are not expressed in seconds but in fraction of a cycle. Actually each duration represent is proportional to the other, and the entire cycle duration is proportional to the sum of all duration values.  
+    </para>
+
+    <para>
+      The sum of all duration is then rescaled according to <emphasis>kfreq</emphasis> argument. For example, considering an envelope made up of 3 segments, each segment having 100 as duration value, their sum will be 300. This value represents the total duration of the envelope, and is actually divided into 3 equal parts, a part for each segment.
+    </para>
+
+    <para>
+      Actually, the real envelope duration in seconds is determined by <emphasis>kfreq</emphasis>. Again, if the envelope is made up of 3 segments, but this time the first and last segments have a duration of 50, whereas the central segment has a duration of 100 again, their sum will be 200. This time 200 represent the total duration of the 3 segments, so the central segment will be twice as long as the other segments.
+    </para>
+
+    <para>
+      All parameters can be varied at k-rate.  Negative frequency values are allowed, reading the envelope backward.  <emphasis>ktime0</emphasis> should always be set to 0, except if the user wants some special effect.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the loopxseg opcode. It uses the file <ulink url="examples/loopxseg.csd"><citetitle>loopxseg.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the loopxseg opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/loopxseg.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="lpshold"><citetitle>lpshold</citetitle></link>
+      <link linkend="loopseg"><citetitle>loopseg</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>Author: &namejohn;</para>
+    <para>New in Version 5.12</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/lorismorph.xml b/opcodes/lorismorph.xml
index 58e6b03..b4707da 100644
--- a/opcodes/lorismorph.xml
+++ b/opcodes/lorismorph.xml
@@ -72,6 +72,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the lorismorph opcode. It uses the file <ulink url="examples/lorismorph.csd"><citetitle>lorismorph.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the lorismorph opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/lorismorph.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>Credits</title>
     <para>This implementation of the Loris unit generators was written by Kelly
     Fitz (<ulink
diff --git a/opcodes/lorisplay.xml b/opcodes/lorisplay.xml
index 70c98cd..42243f6 100644
--- a/opcodes/lorisplay.xml
+++ b/opcodes/lorisplay.xml
@@ -59,6 +59,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the lorisplay opcode. It uses the file <ulink url="examples/lorisplay.csd"><citetitle>lorisplay.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the lorisplay opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/lorisplay.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>Credits</title>
     <para>This implementation of the Loris unit generators was written by Kelly
     Fitz (<ulink
diff --git a/opcodes/lorisread.xml b/opcodes/lorisread.xml
index c5244b4..bb33d97 100644
--- a/opcodes/lorisread.xml
+++ b/opcodes/lorisread.xml
@@ -105,6 +105,18 @@ bandwidth-enhanced partial data is stored in memory with a specified
 label for future access by another generator.</para>
 
 </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the lorisread opcode. It uses the file <ulink url="examples/lorisread.csd"><citetitle>lorisread.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the lorisread opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/lorisread.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
   
 <refsect1>
     
diff --git a/opcodes/loscil.xml b/opcodes/loscil.xml
index bd88cef..afb0d69 100644
--- a/opcodes/loscil.xml
+++ b/opcodes/loscil.xml
@@ -110,7 +110,7 @@ a1, a2 <emphasis role="opc">loscil</emphasis> 10000, 1, 1, 1 ,1</programlisting>
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the loscil opcode. It uses the file <ulink url="examples/loscil.csd"><citetitle>loscil.csd</citetitle></ulink>, and <ulink url="examples/beats.wav"><citetitle>beats.wav</citetitle></ulink>.
+      Here is an example of the loscil opcode. It uses the file <ulink url="examples/loscil.csd"><citetitle>loscil.csd</citetitle></ulink>, <ulink url="examples/mary.wav"><citetitle>mary.wav</citetitle></ulink> and <ulink url="examples/kickroll.wav"><citetitle>kickroll.wav</citetitle></ulink>.
       <example>
         <title>Example of the loscil opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
@@ -130,6 +130,5 @@ a1, a2 <emphasis role="opc">loscil</emphasis> 10000, 1, 1, 1 ,1</programlisting>
   <refsect1>
     <title>Credits</title>
     <para>Note about the mono/stereo difference was contributed by &namerasmus;.</para>
-    <para>Example written by &namekevin;.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/loscil3.xml b/opcodes/loscil3.xml
index 7c3bf27..e1ce32b 100644
--- a/opcodes/loscil3.xml
+++ b/opcodes/loscil3.xml
@@ -100,7 +100,7 @@ a1, a2 <emphasis role="opc">loscil3</emphasis> 10000, 1, 1, 1, 1</programlisting
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the loscil3 opcode. It uses the file <ulink url="examples/loscil3.csd"><citetitle>loscil3.csd</citetitle></ulink>, and <ulink url="examples/beats.wav"><citetitle>beats.wav</citetitle></ulink>.
+      Here is an example of the loscil3 opcode. It uses the file <ulink url="examples/loscil3.csd"><citetitle>loscil3.csd</citetitle></ulink>, <ulink url="examples/mary.wav"><citetitle>mary.wav</citetitle></ulink> and <ulink url="examples/kickroll.wav"><citetitle>kickroll.wav</citetitle></ulink>.
       <example>
         <title>Example of the loscil3 opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
@@ -119,6 +119,5 @@ a1, a2 <emphasis role="opc">loscil3</emphasis> 10000, 1, 1, 1, 1</programlisting
   <refsect1>
     <title>Credits</title>
     <para>Note about the mono/stereo difference was contributed by &namerasmus;.</para>
-    <para>Example written by &namekevin;.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/lowres.xml b/opcodes/lowres.xml
index 008bd75..1789e6d 100644
--- a/opcodes/lowres.xml
+++ b/opcodes/lowres.xml
@@ -56,7 +56,7 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the lowres opcode. It uses the file <ulink url="examples/lowres.csd"><citetitle>lowres.csd</citetitle></ulink> and <ulink url="examples/beats.wav"><citetitle>beats.wav</citetitle></ulink>.
+      Here is an example of the lowres opcode. It uses the file <ulink url="examples/lowres.csd"><citetitle>lowres.csd</citetitle></ulink>.
       <example>
         <title>Example of the lowres opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
@@ -80,8 +80,6 @@
         <member>Italy</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
-
     <para>New in Csound version 3.49</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/lowresx.xml b/opcodes/lowresx.xml
index 03e2109..3ab2eaa 100644
--- a/opcodes/lowresx.xml
+++ b/opcodes/lowresx.xml
@@ -12,7 +12,7 @@
     <refname>lowresx</refname>
     <refpurpose>
       Simulates layers of serially connected resonant lowpass filters.
-          </refpurpose>
+    </refpurpose>
   </refnamediv>
  
   <refsect1>
@@ -24,17 +24,22 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>ares <command>lowresx</command> asig, kcutoff, kresonance [, inumlayer] [, iskip]</synopsis>
+    <synopsis>ares <command>lowresx</command> asig, xcutoff, xresonance [, inumlayer] [, iskip]</synopsis>
   </refsect1>
  
   <refsect1>
     <title>Initialization</title>
     <para>
-      <emphasis>inumlayer</emphasis> -- number of elements in a <emphasis>lowresx</emphasis> stack. Default value is 4. There is no maximum.
+      <emphasis>inumlayer</emphasis> -- number of elements in a
+      <emphasis>lowresx</emphasis> stack. Default value is 4. There is
+      no maximum. 
     </para>
 
     <para>
-      <emphasis>iskip</emphasis> -- initial disposition of internal data space. A zero value will clear the space; a non-zero value will allow previous information to remain. The default value is 0.
+      <emphasis>iskip</emphasis> -- initial disposition of internal
+      data space. A zero value will clear the space; a non-zero value
+      will allow previous information to remain. The default value is
+      0. 
     </para>
   </refsect1>
  
@@ -45,22 +50,30 @@
     </para>
 
     <para>
-      <emphasis>kcutoff</emphasis> -- filter cutoff frequency point
+      <emphasis>xcutoff</emphasis> -- filter cutoff frequency point
     </para>
 
     <para>
-      <emphasis>kresonance</emphasis> -- resonance amount
+      <emphasis>xresonance</emphasis> -- resonance amount
     </para>
 
     <para>
-      <emphasis>lowresx</emphasis> is equivalent to more layer of <link linkend="lowres"><citetitle>lowres</citetitle></link> with the same arguments serially connected. Using a stack of a larger number of filters allows a sharper cutoff. This is faster than using a larger number of instances of <emphasis>lowres</emphasis> in a Csound orchestra because only one initialization and k cycle are needed at time and the audio loop falls entirely inside the cache memory of processor. Based on an orchestra by &namehans;
+      <emphasis>lowresx</emphasis> is equivalent to more layer of
+      <link linkend="lowres"><citetitle>lowres</citetitle></link> with
+      the same arguments serially connected. Using a stack of a larger
+      number of filters allows a sharper cutoff. This is faster than
+      using a larger number of instances of
+      <emphasis>lowres</emphasis> in a Csound orchestra because only
+      one initialization and k cycle are needed at time and the audio
+      loop falls entirely inside the cache memory of processor. Based
+      on an orchestra by &namehans; 
     </para>
   </refsect1>
 
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the lowresx opcode. It uses the file <ulink url="examples/lowresx.csd"><citetitle>lowresx.csd</citetitle></ulink>, and <ulink url="examples/beats.wav"><citetitle>beats.wav</citetitle></ulink>.
+      Here is an example of the lowresx opcode. It uses the file <ulink url="examples/lowresx.csd"><citetitle>lowresx.csd</citetitle></ulink>.
       <example>
         <title>Example of the lowresx opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
@@ -86,5 +99,7 @@
     </para>
 
     <para>New in Csound version 3.49</para>
+    <para>Audio rate parameters introduced in version 6.02</para>
+    <para>November 2013.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/lpf18.xml b/opcodes/lpf18.xml
index 6d9347b..c91be56 100644
--- a/opcodes/lpf18.xml
+++ b/opcodes/lpf18.xml
@@ -20,23 +20,30 @@
     </para>
   </refsect1>
  
-  <refsect1>
+ <refsect1>
     <title>Syntax</title>
-    <synopsis>ares <command>lpf18</command> asig, kfco, kres, kdist</synopsis>
+    <synopsis>ares <command>lpf18</command> asig, xfco, xres, xdist [, iskip]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>iskip</emphasis> (optional, default=0) -- Skip initialization if present and non-zero.
+    </para>
   </refsect1>
  
   <refsect1>
     <title>Performance</title>
     <para>
-      <emphasis>kfco</emphasis> -- the filter cutoff frequency in Hz. Should be in the range 0 to <emphasis>sr</emphasis>/2.
+      <emphasis>xfco</emphasis> -- the filter cutoff frequency in Hz. Should be in the range 0 to <emphasis>sr</emphasis>/2.
     </para>
 
     <para>
-      <emphasis>kres</emphasis> -- the amount of resonance. Self-oscillation occurs when <emphasis>kres</emphasis> is approximately 1. Should usually be in the range 0 to 1, however, values slightly greater than 1 are possible for more sustained oscillation and an <quote>overdrive</quote> effect.
+      <emphasis>xres</emphasis> -- the amount of resonance. Self-oscillation occurs when <emphasis>xres</emphasis> is approximately 1. Should usually be in the range 0 to 1, however, values slightly greater than 1 are possible for more sustained oscillation and an <quote>overdrive</quote> effect.
     </para>
 
     <para>
-      <emphasis>kdist</emphasis> -- amount of distortion. <emphasis>kdist</emphasis> = 0 gives a clean output. <emphasis>kdist</emphasis> > 0 adds <emphasis>tanh</emphasis>() distortion controlled by the filter parameters, in such a way that both low cutoff and high resonance increase the distortion amount. Some experimentation is encouraged.
+      <emphasis>xdist</emphasis> -- amount of distortion. <emphasis>kdist</emphasis> = 0 gives a clean output. <emphasis>xdist</emphasis> > 0 adds <emphasis>tanh</emphasis>() distortion controlled by the filter parameters, in such a way that both low cutoff and high resonance increase the distortion amount. Some experimentation is encouraged.
     </para>
 
     <para>
@@ -74,5 +81,7 @@
     </para>
     <para>Example written by &namekevin; with help from Iain Duncan. Thanks goes to Iain for helping with the example.</para>
     <para>New in Csound version 4.10</para>
+    <para>Audio rate parameters introduced in version 6.02</para>
+    <para>October 2013.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/lpfreson.xml b/opcodes/lpfreson.xml
index e65d574..c907761 100644
--- a/opcodes/lpfreson.xml
+++ b/opcodes/lpfreson.xml
@@ -6,19 +6,17 @@
     <refentrytitle>lpfreson</refentrytitle>
   </refmeta>
 
-
- 
   <refnamediv>
     <refname>lpfreson</refname>
     <refpurpose>
       Resynthesises a signal from the data passed internally by a previous lpread, applying formant shifting.
-          </refpurpose>
+    </refpurpose>
   </refnamediv>
  
   <refsect1>
     <title>Description</title>
     <para>
-      Resynthesises a signal from the data passed internally by a previous lpread, applying formant shifting.
+      Resynthesises a signal from the data passed internally by a previous <emphasis>lpread</emphasis>, applying formant shifting.
     </para>
   </refsect1>
  
@@ -40,15 +38,34 @@
     <para>
       <emphasis>lpfreson</emphasis> receives values internally produced by a leading <emphasis>lpread</emphasis>.<emphasis>lpread</emphasis> gets its values from the control file according to the input value <emphasis>ktimpnt</emphasis> (in seconds). If <emphasis>ktimpnt</emphasis> proceeds at the analysis rate, time-normal synthesis will result; proceeding at a faster, slower, or variable rate will result in time-warped synthesis. At each k-period, <emphasis>lpread</emphasis> interpolates between adjacent frames to more accurately determine the parameter values (presented as output) and the filter coefficient settings (passed internally to a subsequent <emphasis>lpreson</emphasis>).
     </para>
+    
     <para>The error signal <emphasis>kerr</emphasis> (between 0 and 1) derived during predictive analysis reflects the deterministic/random nature of the analyzed source. This will emerge low for pitched (periodic) material and higher for noisy material. The transition from voiced to unvoiced speech, for example, produces an error signal value of about .3. During synthesis, the error signal value can be used to determine the nature of the <link linkend="lpreson"><citetitle>lpreson</citetitle></link> driving function: for example, by arbitrating between pitched and non-pitched input, or even by determining a mix of the two. In normal speech resynthesis, the pitched input to <link linkend="lpreson"><citetitle>lpreson</citetitle></link> is a wideband periodic signal or pulse train derived from a unit such as <link linkend="buzz"><citetitle>buzz</citetitle></link>, and the nonpitched source is usually derived from <link linkend="rand"><citetitle>rand</citetitle></link>. However, any audio signal can be used as the driving function, the only assumption of the analysis being that it has a flat response.
     </para>
-    <para><link linkend="lpfreson"><citetitle>lpfreson</citetitle></link> is a formant shifted <link linkend="lpreson"><citetitle>lpreson</citetitle></link>, in which <emphasis>kfrqratio</emphasis> is the (cps) ratio of shifted to original formant positions. This permits synthesis in which the source object changes its apparent acoustic size. <link linkend="lpfreson"><citetitle>lpfreson</citetitle></link> with <emphasis>kfrqratio</emphasis> = 1 is equivalent to <link linkend="lpreson"><citetitle>lpreson</citetitle></link>.
+    
+    <para><emphasis>lpfreson</emphasis> is a formant shifted <link linkend="lpreson"><citetitle>lpreson</citetitle></link>, in which <emphasis>kfrqratio</emphasis> is the (cps) ratio of shifted to original formant positions. This permits synthesis in which the source object changes its apparent acoustic size. <emphasis>lpfreson</emphasis> with <emphasis>kfrqratio</emphasis> = 1 is equivalent to <link linkend="lpreson"><citetitle>lpreson</citetitle></link>.
     </para>
-    <para>Generally, <link linkend="lpreson"><citetitle>lpreson</citetitle></link> provides a means whereby the time-varying content and spectral shaping of a composite audio signal can be controlled by the dynamic spectral content of another. There can be any number of lpread/lpreson (or lpfreson) pairs in an instrument or in an orchestra; they can read from the same or different control files independently.
+    
+    <para>Generally, <link linkend="lpreson"><citetitle>lpreson</citetitle></link> provides a means whereby the time-varying content and spectral shaping of a composite audio signal can be controlled by the dynamic spectral content of another. There can be any number of <emphasis>lpread/lpreson</emphasis> (or <emphasis>lpfreson</emphasis>) pairs in an instrument or in an orchestra; they can read from the same or different control files independently.
     </para>
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the lpfreson opcode. It uses the file <ulink url="examples/lpfreson.csd"><citetitle>lpfreson.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the lpfreson opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/lpfreson.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+      The audio file <quote>fox.wav</quote> is 2.8 seconds long. So <emphasis>filelen</emphasis>'s output should be a line like this:
+      <screen>
+fox.wav = 2.756667 seconds
+      </screen>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="lpread"><citetitle>lpread</citetitle></link>,
diff --git a/opcodes/lpinterp.xml b/opcodes/lpinterp.xml
index 0d680c4..9e5a38a 100644
--- a/opcodes/lpinterp.xml
+++ b/opcodes/lpinterp.xml
@@ -6,14 +6,12 @@
     <refentrytitle>lpinterp</refentrytitle>
   </refmeta>
 
-
- 
   <refnamediv>
     <refname>lpslot</refname>
     <refname>lpinterp</refname>
     <refpurpose>
       Computes a new set of poles from the interpolation between two analysis.
-          </refpurpose>
+    </refpurpose>
   </refnamediv>
  
   <refsect1>
@@ -53,21 +51,20 @@
       Here is a typical orc using the opcodes:
       <informalexample>
         <programlisting>
-ipower <emphasis>init</emphasis> 50000  ; Define sound generator
-ifreq  <emphasis>init</emphasis> 440 
-asrc   <emphasis>buzz</emphasis> ipower,ifreq,10,1
+ipower <emphasis role="opc">init</emphasis> 50000  <emphasis role="comment">; Define sound generator</emphasis>
+ifreq  <emphasis role="opc">init</emphasis> 440 
+asrc   <emphasis role="opc">buzz</emphasis> ipower, ifreq, 10, 1
   
-ktime  <emphasis>line</emphasis> 0,p3,p3          ; Define time lin
-       <emphasis>lpslot</emphasis> 0              ; Read square data poles
-krmsr,krmso,kerr,kcps <emphasis>lpread</emphasis>    ktime,"square.pol"                     
-       <emphasis>lpslot</emphasis> 1              ; Read triangle data poles
-krmsr,krmso,kerr,kcps <emphasis>lpread</emphasis>    ktime,"triangle.pol"
-kmix   <emphasis>line</emphasis> 0,p3,1           ; Compute result of mixing
-       <emphasis>lpinterp</emphasis> 0,1,kmix     ; and balance power
-ares   <emphasis>lpreson</emphasis> asrc
-aout   <emphasis>balance</emphasis> ares,asrc
-       <emphasis>out</emphasis> aout
-        </programlisting>
+ktime  <emphasis role="opc">line</emphasis> 0, p3, p3              <emphasis role="comment">; Define time lin</emphasis>
+       <emphasis role="opc">lpslot</emphasis> 0                    <emphasis role="comment">; Read square data poles</emphasis>
+krmsr, krmso, kerr, kcps <emphasis role="opc">lpread</emphasis> ktime,"square.pol"                     
+       <emphasis role="opc">lpslot</emphasis> 1                    <emphasis role="comment">; Read triangle data poles</emphasis>
+krmsr, krmso, kerr, kcps <emphasis role="opc">lpread</emphasis> ktime,"triangle.pol"
+kmix   <emphasis role="opc">line</emphasis> 0, p3, 1               <emphasis role="comment">; Compute result of mixing</emphasis>
+       <emphasis role="opc">lpinterp</emphasis> 0, 1, kmix         <emphasis role="comment">; and balance power</emphasis>
+ares   <emphasis role="opc">lpreson</emphasis> asrc
+aout   <emphasis role="opc">balance</emphasis> ares, asrc
+       <emphasis role="opc">out</emphasis> aout</programlisting>
       </informalexample>
     </para>
   </refsect1>
diff --git a/opcodes/lposcil.xml b/opcodes/lposcil.xml
index 74c0bb2..0dc3ef7 100644
--- a/opcodes/lposcil.xml
+++ b/opcodes/lposcil.xml
@@ -54,6 +54,20 @@
       <emphasis>lposcil</emphasis> (looping precise oscillator) allows varying at k-rate, the starting and ending point of a sample contained in a table (<link linkend="GEN01"><citetitle>GEN01</citetitle></link>). This can be useful when reading a sampled loop of a wavetable, where repeat speed can be varied during the performance.
     </para>
   </refsect1>
+   
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the lposcil opcode. It uses the file <ulink url="examples/lposcil.csd"><citetitle>lposcil.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the lposcil opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/lposcil.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
 
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/lposcil3.xml b/opcodes/lposcil3.xml
index b3bc43c..578277f 100644
--- a/opcodes/lposcil3.xml
+++ b/opcodes/lposcil3.xml
@@ -54,6 +54,19 @@
       <emphasis>lposcil3</emphasis> (looping precise oscillator) allows varying at k-rate, the starting and ending point of a sample contained in a table (<link linkend="GEN01"><citetitle>GEN01</citetitle></link>). This can be useful when reading a sampled loop of a wavetable, where repeat speed can be varied during the performance.
     </para>
   </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the lposcil3 opcode. It uses the file <ulink url="examples/lposcil3.csd"><citetitle>lposcil3.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the lposcil3 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/lposcil3.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/lposcila.xml b/opcodes/lposcila.xml
index 3632197..4cfaa46 100644
--- a/opcodes/lposcila.xml
+++ b/opcodes/lposcila.xml
@@ -59,19 +59,18 @@
       <emphasis>lposcila</emphasis> is the same as <link linkend="lposcil"><citetitle>lposcil</citetitle></link>, but has an audio-rate amplitude argument (instead of k-rate) to allow fast envelope transients.
     </para>
   </refsect1>
-<!--
+
   <refsect1>
     <title>Examples</title>
     <para>
       Here is an example of the lposcila opcode. It uses the file <ulink url="examples/lposcila.csd"><citetitle>lposcila.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the lposcila opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/lposcila.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
     </para>
-  </refsect1>-->
+  </refsect1>
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/lposcilsa.xml b/opcodes/lposcilsa.xml
index 5204d30..56fa08f 100644
--- a/opcodes/lposcilsa.xml
+++ b/opcodes/lposcilsa.xml
@@ -59,19 +59,19 @@
       <emphasis>lposcilsa</emphasis> is the same as <link linkend="lposcila"><citetitle>lposcila</citetitle></link>, but works with stereo files loaded with <link linkend="GEN01"><citetitle>GEN01</citetitle></link>.
     </para>
   </refsect1>
-<!--
+
   <refsect1>
     <title>Examples</title>
     <para>
       Here is an example of the lposcilsa opcode. It uses the file <ulink url="examples/lposcilsa.csd"><citetitle>lposcilsa.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the lposcilsa opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/lposcilsa.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
     </para>
-  </refsect1>-->
+  </refsect1>
+
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/lposcilsa2.xml b/opcodes/lposcilsa2.xml
index 6ebe954..e38fa5a 100644
--- a/opcodes/lposcilsa2.xml
+++ b/opcodes/lposcilsa2.xml
@@ -59,19 +59,19 @@
       <emphasis>lposcilsa2</emphasis> is the same as <link linkend="lposcilsa"><citetitle>lposcilsa</citetitle></link>, but no interpolation is implemented and only works with integer <emphasis>kfreqratio</emphasis> values. Much faster than <link linkend="lposcilsa"><citetitle>lposcilsa</citetitle></link>, it is mainly intended to be used with <emphasis>kfreqratio</emphasis> = 1, being in this case a fast substitute of <link linkend="soundin"><citetitle>soundin</citetitle></link>, since the soundfile must be entirely loaded in memory.
     </para>
   </refsect1>
-<!--
+
   <refsect1>
     <title>Examples</title>
     <para>
       Here is an example of the lposcilsa2 opcode. It uses the file <ulink url="examples/lposcilsa2.csd"><citetitle>lposcilsa2.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the lposcilsa2 opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/lposcilsa2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
     </para>
-  </refsect1>-->
+  </refsect1>
+
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/lpread.xml b/opcodes/lpread.xml
index d9c882d..731c1fa 100644
--- a/opcodes/lpread.xml
+++ b/opcodes/lpread.xml
@@ -80,6 +80,22 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the lpread opcode. It uses the file <ulink url="examples/lpread.csd"><citetitle>lpread.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the lpread opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/lpread.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+      The audio file <quote>fox.wav</quote> is 2.8 seconds long. So <emphasis>filelen</emphasis>'s output should be a line like this:
+      <screen>
+fox.wav = 2.756667 seconds
+      </screen>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="lpfreson"><citetitle>lpfreson</citetitle></link>, 
diff --git a/opcodes/lpreson.xml b/opcodes/lpreson.xml
index 5dceb57..f259787 100644
--- a/opcodes/lpreson.xml
+++ b/opcodes/lpreson.xml
@@ -6,19 +6,17 @@
     <refentrytitle>lpreson</refentrytitle>
   </refmeta>
 
-
- 
   <refnamediv>
     <refname>lpreson</refname>
     <refpurpose>
       Resynthesises a signal from the data passed internally by a previous lpread.
-          </refpurpose>
+    </refpurpose>
   </refnamediv>
  
   <refsect1>
     <title>Description</title>
     <para>
-      Resynthesises a signal from the data passed internally by a previous lpread.
+      Resynthesises a signal from the data passed internally by a previous <emphasis>lpread</emphasis>.
     </para>
   </refsect1>
  
@@ -36,16 +34,45 @@
     <para>
       <emphasis>lpreson</emphasis> receives values internally produced by a leading <emphasis>lpread</emphasis>.<emphasis>lpread</emphasis> gets its values from the control file according to the input value <emphasis>ktimpnt</emphasis> (in seconds). If <emphasis>ktimpnt</emphasis> proceeds at the analysis rate, time-normal synthesis will result; proceeding at a faster, slower, or variable rate will result in time-warped synthesis. At each k-period, <emphasis>lpread</emphasis> interpolates between adjacent frames to more accurately determine the parameter values (presented as output) and the filter coefficient settings (passed internally to a subsequent <emphasis>lpreson</emphasis>).
     </para>
-<para>The error signal <emphasis>kerr</emphasis> (between 0 and 1) derived during predictive analysis reflects the deterministic/random nature of the analyzed source. This will emerge low for pitched (periodic) material and higher for noisy material. The transition from voiced to unvoiced speech, for example, produces an error signal value of about .3. During synthesis, the error signal value can be used to determine the nature of the <link linkend="lpreson"><citetitle>lpreson</citetitle></link> driving function: for example, by arbitrating between pitched and non-pitched input, or even by determining a mix of the two. In normal speech resynthesis, the pitched input to <link linkend="lpreson"><citetitle>lpreson</citetitle></link> is a wideband periodic signal or pulse train derived from a unit such as <link linkend="buzz"><citetitle>buzz</citetitle></link>, and the nonpitched source is usually derived from <link linkend="rand"><citetitle>rand</citetitle></link>. However, any audio signal can be used as the driving function, the only assumption of the analysis being that it has a flat response.
+    
+    <para>
+      The error signal <emphasis>kerr</emphasis> (between 0 and 1) derived during predictive analysis reflects the deterministic/random nature of the analyzed source. This will emerge low for pitched (periodic) material and higher for noisy material. The transition from voiced to unvoiced speech, for example, produces an error signal value of about .3. During synthesis, the error signal value can be used to determine the nature of the  <emphasis>lpreson</emphasis> driving function: for example, by arbitrating between pitched and non-pitched input, or even by determining a mix of the two. In normal speech resynthesis, the pitched input to <emphasis>lpreson</emphasis> is a wideband periodic signal or pulse train derived from a unit such as <link linkend="buzz"><citetitle>buzz</citetitle></link>, and the nonpitched source is usually derived from <link linkend="rand"><citetitle>rand</citetitle></link>. However, any audio signal can be used as the driving function, the only assumption of the analysis being that it has a flat response.
     </para>
-    <para><link linkend="lpfreson"><citetitle>lpfreson</citetitle></link> is a formant shifted <link linkend="lpreson"><citetitle>lpreson</citetitle></link>, in which <emphasis>kfrqratio</emphasis> is the (cps) ratio of shifted to original formant positions. This permits synthesis in which the source object changes its apparent acoustic size. <link linkend="lpfreson"><citetitle>lpfreson</citetitle></link> with <emphasis>kfrqratio</emphasis> = 1 is equivalent to <link linkend="lpreson"><citetitle>lpreson</citetitle></link>.
+    
+    <para>
+      <link linkend="lpfreson"><citetitle>lpfreson</citetitle></link> is a formant shifted <emphasis>lpreson</emphasis>, in which <emphasis>kfrqratio</emphasis> is the (cps) ratio of shifted to original formant positions. This permits synthesis in which the source object changes its apparent acoustic size. <link linkend="lpfreson"><citetitle>lpfreson</citetitle></link> with <emphasis>kfrqratio</emphasis> = 1 is equivalent to <emphasis>lpreson</emphasis>.
     </para>
-    <para>Generally, <link linkend="lpreson"><citetitle>lpreson</citetitle></link> provides a means whereby the time-varying content and spectral shaping of a composite audio signal can be controlled by the dynamic spectral content of another. There can be any number of lpread/lpreson (or lpfreson) pairs in an instrument or in an orchestra; they can read from the same or different control files independently.
+    
+    <para>
+      Generally, <emphasis>lpreson</emphasis> provides a means whereby the time-varying content and spectral shaping of a composite audio signal can be controlled by the dynamic spectral content of another. There can be any number of <emphasis>lpread/lpreson</emphasis> (or <emphasis>lpfreson</emphasis>) pairs in an instrument or in an orchestra; they can read from the same or different control files independently.
     </para>
-
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the lpreson opcode. It uses the file <ulink url="examples/lpreson.csd"><citetitle>lpreson.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the lpreson opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/lpreson.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+      The audio file <quote>fox.wav</quote> is 2.8 seconds long. So <emphasis>filelen</emphasis>'s output should be a line like this:
+      <screen>
+fox.wav = 2.756667 seconds
+      </screen>
+    </para>
+       <para>
+      Here is another example of the lpreson opcode. It uses the file <ulink url="examples/lpreson-2.csd"><citetitle>lpreson-2.csd</citetitle></ulink>.
+      <example>
+        <title>Another example of the lpreson opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/lpreson-2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="lpfreson"><citetitle>lpfreson</citetitle></link>,
diff --git a/opcodes/lpshold.xml b/opcodes/lpshold.xml
index 4f44b61..b5ec5f6 100644
--- a/opcodes/lpshold.xml
+++ b/opcodes/lpshold.xml
@@ -24,8 +24,7 @@
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis>ksig <command>lpshold</command> kfreq, ktrig, ktime0, kvalue0  [, ktime1] [, kvalue1] \
-      [, ktime2] [, kvalue2] [...]</synopsis>
+    <synopsis>ksig <command>lpshold</command> kfreq, ktrig, iphase, ktime0, kvalue0  [, kvalue1] [, ktime1] [, kvalue2] [, ktime2] [...]</synopsis>
   </refsect1>
 
   <refsect1>
@@ -43,7 +42,9 @@
     </para>
 
     <para>
-      <emphasis>ktime0...ktimeN</emphasis> -- Times of points; expressed in fraction of a cycle
+      <emphasis>iphase</emphasis> -- A vaue between 0 and 1 to say
+      where to start the loop.  Zero, the commonest value, indicates
+      the beginning.
     </para>
 
     <para>
@@ -51,6 +52,10 @@
     </para>
 
     <para>
+      <emphasis>ktime0...ktimeN</emphasis> -- Times between points; expressed in fractions of a cycle (see below). The final time designates a ramp between the final value and the first value. 
+    </para>
+
+    <para>
       <emphasis>lpshold</emphasis> is similar to <link linkend="loopseg"><citetitle>loopseg</citetitle></link>, but can generate only horizontal segments, i.e. holds values for each time interval placed between <emphasis>ktimeN</emphasis> and <emphasis>ktimeN+1</emphasis>. It can be useful, among other things, for melodic control, like old analog sequencers.
     </para>
   </refsect1>
diff --git a/opcodes/lpsholdp.xml b/opcodes/lpsholdp.xml
index 13c88fe..2391a59 100644
--- a/opcodes/lpsholdp.xml
+++ b/opcodes/lpsholdp.xml
@@ -26,8 +26,8 @@
   </refsect1>
   <refsect1>
     <title>Syntax</title>
-    <synopsis>ksig <command>lpsholdp</command>  kphase, ktrig, ktime0, kvalue0  [, ktime1] [, kvalue1] \
-      [, ktime2] [, kvalue2] [...]</synopsis>
+    <synopsis>ksig <command>lpsholdp</command>  kphase, kvalue0, ktime0  [, kvalue1] [, ktime1] \
+      [, kvalue2] [, ktime2] [...]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -36,13 +36,13 @@
       <emphasis>ksig</emphasis> - output signal
     </para>
     <para>
-      <emphasis>kphase</emphasis> - 
+      <emphasis>kphase</emphasis> -- point of the sequence read, expressed as a fraction of a cycle (0 to 1) 
     </para>
     <para>
-      <emphasis>kvalue0</emphasis> ...<emphasis>kvalueN</emphasis>  - values of points
+      <emphasis>kvalue0...kvalueN</emphasis> -- Values of points
     </para>
     <para>
-      <emphasis>ktime0</emphasis> ...<emphasis>ktimeN</emphasis>  -  times of points expessed in fraction of a cycle
+      <emphasis>ktime0...ktimeN</emphasis> -- Times between points; expressed in fractions of a cycle (see below). The final time designates a ramp between the final value and the first value. 
     </para>
     <para>
     <emphasis>lpsholdp</emphasis> opcode is similar to
diff --git a/opcodes/lpslot.xml b/opcodes/lpslot.xml
index 31d640f..6d4ccfd 100644
--- a/opcodes/lpslot.xml
+++ b/opcodes/lpslot.xml
@@ -6,13 +6,11 @@
     <refentrytitle>lpslot</refentrytitle>
   </refmeta>
 
-
- 
   <refnamediv>
     <refname>lpslot</refname>
     <refpurpose>
       Selects the slot to be use by further lp opcodes.
-          </refpurpose>
+    </refpurpose>
   </refnamediv>
  
   <refsect1>
@@ -47,21 +45,20 @@
       Here is a typical orc using the opcodes:
       <informalexample>
         <programlisting>
-ipower <emphasis>init</emphasis> 50000  ; Define sound generator
-ifreq  <emphasis>init</emphasis> 440 
-asrc   <emphasis>buzz</emphasis> ipower,ifreq,10,1
+ipower <emphasis role="opc">init</emphasis> 50000  <emphasis role="comment">; Define sound generator</emphasis>
+ifreq  <emphasis role="opc">init</emphasis> 440 
+asrc   <emphasis role="opc">buzz</emphasis> ipower, ifreq, 10, 1
   
-ktime  <emphasis>line</emphasis> 0,p3,p3          ; Define time lin
-       <emphasis>lpslot</emphasis> 0              ; Read square data poles
-krmsr,krmso,kerr,kcps <emphasis>lpread</emphasis>    ktime,"square.pol"                     
-       <emphasis>lpslot</emphasis> 1              ; Read triangle data poles
-krmsr,krmso,kerr,kcps <emphasis>lpread</emphasis>    ktime,"triangle.pol"
-kmix   <emphasis>line</emphasis> 0,p3,1           ; Compute result of mixing
-       <emphasis>lpinterp</emphasis> 0,1,kmix     ; and balance power
-ares   <emphasis>lpreson</emphasis> asrc
-aout   <emphasis>balance</emphasis> ares,asrc
-       <emphasis>out</emphasis> aout
-        </programlisting>
+ktime  <emphasis role="opc">line</emphasis> 0, p3, p3              <emphasis role="comment">; Define time lin</emphasis>
+       <emphasis role="opc">lpslot</emphasis> 0                    <emphasis role="comment">; Read square data poles</emphasis>
+krmsr, krmso, kerr, kcps <emphasis role="opc">lpread</emphasis> ktime,"square.pol"                     
+       <emphasis role="opc">lpslot</emphasis> 1                    <emphasis role="comment">; Read triangle data poles</emphasis>
+krmsr, krmso, kerr, kcps <emphasis role="opc">lpread</emphasis> ktime,"triangle.pol"
+kmix   <emphasis role="opc">line</emphasis> 0, p3, 1               <emphasis role="comment">; Compute result of mixing</emphasis>
+       <emphasis role="opc">lpinterp</emphasis> 0, 1, kmix         <emphasis role="comment">; and balance power</emphasis>
+ares   <emphasis role="opc">lpreson</emphasis> asrc
+aout   <emphasis role="opc">balance</emphasis> ares, asrc
+       <emphasis role="opc">out</emphasis> aout</programlisting>
       </informalexample>
     </para>
   </refsect1>
diff --git a/opcodes/lua_exec.xml b/opcodes/lua_exec.xml
new file mode 100644
index 0000000..7af0d92
--- /dev/null
+++ b/opcodes/lua_exec.xml
@@ -0,0 +1,101 @@
+<refentry id="lua_exec">
+    <indexterm id="Indexlua_exec">
+        <primary>
+            lua_exec
+        </primary>
+    </indexterm>
+    <refentryinfo><title>Lua Opcodes</title></refentryinfo>
+    <refmeta>
+        <refentrytitle>
+            lua_exec
+        </refentrytitle>
+    </refmeta>
+
+    <refnamediv>
+        <refname>
+            lua_exec
+        </refname>
+        <refpurpose>
+            Executes an arbitrary block of Lua code from the Csound orchestra.
+        </refpurpose>
+    </refnamediv>
+
+    <refsect1>
+        <title>
+            Description
+        </title>
+        <para>
+            Executes an arbitrary block of Lua code from the Csound orchestra. 
+            The code is executed at initialization time, typically from the 
+            orchestra header. 
+        </para>
+    </refsect1>
+
+    <refsect1>
+        <title>
+            Syntax
+        </title>
+        <synopsis><command>lua_exec</command> Sluacode</synopsis>
+    </refsect1>
+
+    <refsect1>
+        <title>
+            Initialization
+        </title>
+        <para>
+            <emphasis>Sluacode</emphasis> -- A block of Lua code, of any 
+            length. Multi-line blocks may be enclosed in 
+            double braces (i.e. <literal>{{ }}</literal>). This code is 
+            evaluated once at initialization time, typically from the 
+            orchestra header. Global and local variables, functions, 
+            tables, and classes may be declared and defined. Objects defined 
+            at global Lua scope remain in scope throughout the performance, 
+            and are visible to any other Lua code in the same Csound thread.
+        </para>
+        <para>
+            The running instance of Csound is stored as a 
+            Lua lightuserdata in a global variable <literal>csound</literal>. 
+            This can be passed to any Csound API function.  One use of this 
+            would be to generate a score using Lua in the orchestra header, 
+            and schedule the events for performance using <literal>csoundInputMessage</literal>.
+        </para>
+        <note>
+            <para>
+               By default, all objects defined in Lua are defined at global 
+               scope. In order to ensure that objects are confined to their 
+               own block of code, that is to ensure that the object is visible 
+               only in lexical scope, the object must be declared as local. 
+               This is the feature of Lua that beginners tend to find the most 
+               troublesome.
+            </para> 
+            <para>
+               Another thing to look out for is that Lua arrays use 1-based 
+               indexing, not the 0-based indexing used in C and many other 
+               programming languages.
+            </para>
+        </note>
+
+    </refsect1>
+
+    <refsect1>
+        <title>
+            See Also
+        </title>
+        <para>
+            <link linkend="lua_opdef"><citetitle>lua_opdef</citetitle></link>, 
+            <link linkend="lua_opcall"><citetitle>lua_opcall</citetitle></link>. 
+        </para>
+    </refsect1>
+    
+    <refsect1>
+        <title>
+            Credits
+        </title>
+        <para>
+            By: &namemichael; 2011
+        </para>
+        <para>
+            New in Csound version 5.13.2
+        </para>
+    </refsect1>
+</refentry>
diff --git a/opcodes/lua_opcall.xml b/opcodes/lua_opcall.xml
new file mode 100644
index 0000000..6cef916
--- /dev/null
+++ b/opcodes/lua_opcall.xml
@@ -0,0 +1,137 @@
+ <refentry id="lua_opcall">
+    <indexterm id="Indexlua_opcall">
+        <primary>
+            lua_opcall
+        </primary>
+    </indexterm>
+    <refentryinfo><title>Lua Opcodes</title></refentryinfo>
+    <refmeta>
+        <refentrytitle>
+            lua_opcall
+        </refentrytitle>
+    </refmeta>
+
+    <refnamediv>
+        <refname>
+            lua_opcall
+        </refname>
+        <refpurpose>
+            Calls a Lua opcode at i-rate only. Any number of output and/or 
+            input arguments may be passed. All arguments must be passed on 
+            the right-hand side. Outputs are returned in the argument.        
+        </refpurpose>
+    </refnamediv>
+    
+    <refsect1>
+        <title>
+            Syntax
+        </title>
+        <synopsis><command>lua_iopcall</command> Sname, ...</synopsis>
+        <synopsis><command>lua_ikopcall</command> Sname, ...</synopsis>
+        <synopsis><command>lua_iaopcall</command> Sname, ...</synopsis>
+        <synopsis><command>lua_iopcall_off</command> Sname, ...</synopsis>
+        <synopsis><command>lua_ikopcall_off</command> Sname, ...</synopsis>
+        <synopsis><command>lua_iaopcall_off</command> Sname, ...</synopsis>
+    </refsect1>
+
+    <refsect1>
+        <title>
+            Initialization and Performance
+        </title>
+        <para>
+            <emphasis>Sname</emphasis> -- The name of the opcode.
+        </para>
+        <para>
+            <emphasis>...</emphasis> -- An arbitrary list of any number of 
+            output and input arguments, of any type. The number, sequence, 
+            and types of these arguments must agree with the cdef of the 
+            arguments structure that is declared in the corresponding 
+            <literal>lua_opdef</literal> opcode.
+        </para>
+        <para>
+            <literal>lua_iopcall</literal> calls a Lua opcode at i-rate only. 
+            Requires <literal>opname_init</literal> to be defined in Lua.
+        </para>
+            <literal>lua_ikopcall</literal> calls a Lua opcode at i-rate and 
+            k-rate. Requires <literal>opname_init</literal> and 
+            <literal>opname_kontrol</literal> to be defined in Lua.
+        <para>
+            <literal>lua_iaopcall</literal> calls a Lua opcode at i-rate and a-rate. 
+            Requires <literal>opname_init</literal> and 
+            <literal>opname_audio</literal> to be defined in Lua.
+        </para>
+        <para>
+            <literal>lua_iopcall_off</literal> calls a Lua opcode at i-rate only. 
+            Requires <literal>opname_init</literal> and 
+            <literal>opname_noteoff</literal> to be defined in Lua. 
+        </para>
+            <literal>lua_ikopcall_off</literal> calls a Lua opcode at i-rate and 
+            k-rate. Requires <literal>opname_init</literal>, 
+            <literal>opname_kontrol</literal>, and <literal>opname_noteoff</literal> 
+            to be defined in Lua.
+        <para>
+            <literal>lua_iaopcall_off</literal> calls a Lua opcode at i-rate 
+            and a-rate. Requires <literal>opname_init</literal>, 
+            <literal>opname_audio</literal>, and <literal>opname_noteoff</literal> 
+            to be defined in Lua.
+        </para>
+        <para>
+            Lua code accesses elements of arguments as follows (pointers 
+            to both scalars and arrays are dereferenced by the Lua array access 
+            operator):
+        </para>
+        <programlisting>
+            ffi.cdef(' struct arguments_t { double *a_out, double *i_in, double *i_txt, double *f_sig };');
+            local arguments = ffi.cast("struct arguments_t *", carguments_lightuserdata)
+            for i = 0, ksmps -1 do begin carguments.a_out[i] = carguments.i_in[0] * 3 end end
+        </programlisting>
+        <para>
+            The "off" variants of the opcode always schedule a "note off" event 
+            that is called when the intrument instance is removed from the 
+            active list, and which can be used to release unneeded resources, 
+            reschedule the instrument to render a reverb tail, and so on.
+        </para>
+    </refsect1>
+
+    <refsect1>
+        <!--To add examples, create the csd file in the examples directory, then run:-->
+        <!--python csd2docbook.py -f newopcodename.csd-->
+        <!--to generate the xml highlighted version used below-->
+        <title>
+            Example
+        </title>
+        <para>
+            Here is an example of a Lua opcode, showing how to pass strings 
+            back and forth between Lua opcodes and Csound orchestra code. 
+            The example uses the file <ulink url="examples/luaopcode.csd">
+            <citetitle>luaopcode.csd</citetitle></ulink>.
+            <example>
+                <title>
+                    Example of a Lua opcode.
+                </title>
+                <xi:include href="examples-xml/luaopcode.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+            </example>
+        </para>
+    </refsect1>
+    <refsect1>
+        <title>
+            See Also
+        </title>
+        <para>
+            <link linkend="lua_exec"><citetitle>lua_exec</citetitle></link>, 
+            <link linkend="lua_opdef"><citetitle>lua_opdef</citetitle></link>. 
+        </para>
+    </refsect1>
+    
+    <refsect1>
+        <title>
+            Credits
+        </title>
+        <para>
+            By: &namemichael; 2011
+        </para>
+        <para>
+            New in Csound version 5.13.2
+        </para>
+    </refsect1>
+</refentry>
diff --git a/opcodes/lua_opdef.xml b/opcodes/lua_opdef.xml
new file mode 100644
index 0000000..d24ae9c
--- /dev/null
+++ b/opcodes/lua_opdef.xml
@@ -0,0 +1,157 @@
+<refentry id="lua_opdef">
+    <indexterm id="Indexlua_opdef">
+        <primary>
+            lua_opdef
+        </primary>
+    </indexterm>
+    <refentryinfo><title>Lua Opcodes</title></refentryinfo>
+    <refmeta>
+        <refentrytitle>
+            lua_opdef
+        </refentrytitle>
+    </refmeta>
+
+    <refnamediv>
+        <refname>
+            lua_opdef
+        </refname>
+        <refpurpose>
+             Define an opcode in Lua at i-rate. The opcode can take any 
+             number of output and/or input arguments of any type. 
+        </refpurpose>
+    </refnamediv>
+
+    <refsect1>
+        <title>
+            Description
+        </title>
+        <para>
+            Define an opcode in Lua at i-rate. The opcode can take any 
+            number of output and/or input arguments of any type. 
+            The code is executed at initialization time, typically from the 
+            orchestra header. Global and local variables, functions, 
+            tables, and classes may be declared and defined. Objects defined 
+            at global Lua scope remain in scope throughout the performance, 
+            and are visible to any other Lua code in the same Csound thread.
+        </para>
+        <note>
+            <para>
+               By default, all objects defined in Lua are defined at global 
+               scope. In order to ensure that objects are confined to their 
+               own block of code, that is to ensure that the object is visible 
+               only in lexical scope, the object must be declared as local. 
+               This is the feature of Lua that beginners tend to find the most 
+               troublesome.
+            </para> 
+            <para>
+               Another thing to look out for is that Lua arrays use 1-based 
+               indexing, not the 0-based indexing used in C and many other 
+               programming languages.
+            </para>
+        </note>
+    </refsect1>
+
+    <refsect1>
+        <title>
+            Syntax
+        </title>
+        <synopsis><command>lua_opdef</command> Sname, Sluacode</synopsis>
+    </refsect1>
+
+    <refsect1>
+        <title>
+            Initialization
+        </title>
+        <para>
+            <emphasis>Sname</emphasis> -- The name of the opcode.
+        </para>
+        <para>
+            <emphasis>Sluacode</emphasis> -- A block of Lua code, of any 
+            length. Multi-line blocks may be enclosed in double braces
+            (i.e. <literal>{{ }}</literal>). This code is 
+            evaluated once at initialization time.  
+        </para>
+        <para>
+            The Lua code must define all functions that will be called from Csound,
+            using the following naming convention, where opcodename
+            stands for the actual opcode name:
+        </para>        
+        <itemizedlist>
+            <listitem><simpara>
+                <literal>opcodename_init</literal> for the i-rate opcode subroutine.
+            </simpara></listitem>
+            <listitem><simpara>
+                <literal>opcodename_kontrol</literal> for the k-rate opcode subroutine.
+            </simpara></listitem>
+            <listitem><simpara>
+                <literal>opcodename_audio</literal> for the a-rate opcode subroutine.
+            </simpara></listitem>
+            <listitem><simpara>
+                <literal>opcodename_noteoff</literal> for the note-off subroutine.
+            </simpara></listitem>
+        </itemizedlist>
+        <para>
+            Each of these Lua functions will receive three lightuserdata
+            (i.e. pointer) arguments: the CSOUND object, the opcode instance,
+            and a pointer to the opcode arguments, which the Lua code must be type cast
+            to a LuaJIT FFI ctype structure containing the opcode output arguments,
+            input arguments, and state variables. Using LuaJIT FFI, the elements of
+            this structure will be accessible as though they were Lua types.
+        </para>
+        <para>
+            Each of these Lua functions must return 0 for success
+            or 1 for failure.
+        </para>
+        <para>
+            The Lua functions may do absolutely anything, although of
+            course if real-time performance is expected, care must be
+            taken to disable Lua garbage collection and observe other
+            recommendations for real-time code.
+        </para>
+    </refsect1>
+
+    <refsect1>
+        <!--To add examples, create the csd file in the examples directory, then run:-->
+        <!--python csd2docbook.py -f newopcodename.csd-->
+        <!--to generate the xml highlighted version used below-->
+        <title>
+            Example
+        </title>
+        <para>
+            Here is an example of a Lua opcode, implementing a Moog 
+            ladder filter. For purposes of comparison, a user-defined 
+            opcode and the native Csound opcode that compute the same 
+            sound using the same algorithm also are shown, and timed. 
+            The example uses the file <ulink url="examples/luamoog.csd">
+            <citetitle>luamoog.csd</citetitle></ulink>.
+            <example>
+                <title>
+                    Example of a Lua opcode.
+                </title>
+                <xi:include href="examples-xml/luamoog.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+            </example>
+        </para>
+    </refsect1>
+
+    <refsect1>
+        <title>
+            See Also
+        </title>
+        <para>
+            <link linkend="lua_exec"><citetitle>lua_exec</citetitle></link>, 
+            <link linkend="lua_opcall"><citetitle>lua_opcall</citetitle></link>. 
+        </para>
+    </refsect1>
+    
+    <refsect1>
+        <title>
+            Credits
+        </title>
+        <para>
+            By: &namemichael; 2011
+        </para>
+        <para>
+            New in Csound version 5.13.2
+        </para>
+    </refsect1>
+</refentry>
diff --git a/opcodes/mac.xml b/opcodes/mac.xml
index 689bfbb..3e1bb61 100644
--- a/opcodes/mac.xml
+++ b/opcodes/mac.xml
@@ -25,7 +25,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>ares <command>mac</command> asig1, ksig1 [, asig2] [, ksig2] [, asig3] [, ksig3] [...]</synopsis>
+    <synopsis>ares <command>mac</command> ksig1, asig1 [, ksig2] [, asig2] [, ksig3] [, asig3] [...]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -45,6 +45,18 @@
       </literallayout>
     </para>
   </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the mac opcode. It uses the file <ulink url="examples/mac.csd"><citetitle>mac.csd</citetitle></ulink>. It is written for *NIX systems, and will generate errors on Windows.
+      <example>
+        <title>Example of the mac opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/mac.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/maca.xml b/opcodes/maca.xml
index 6df04da..5df46fc 100644
--- a/opcodes/maca.xml
+++ b/opcodes/maca.xml
@@ -8,7 +8,6 @@
 
   <refnamediv>
     <refname>maca</refname>
-
     <refpurpose>
       Multiply and accumulate a-rate signals only.
     </refpurpose>
@@ -41,6 +40,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the maca opcode. It uses the file <ulink url="examples/maca.csd"><citetitle>maca.csd</citetitle></ulink>. It is written for *NIX systems, and will generate errors on Windows.
+      <example>
+        <title>Example of the maca opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/maca.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="mac"><citetitle>mac</citetitle></link>
diff --git a/opcodes/madsr.xml b/opcodes/madsr.xml
index 7a24013..de4a769 100644
--- a/opcodes/madsr.xml
+++ b/opcodes/madsr.xml
@@ -99,7 +99,14 @@
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/madsr.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-    </para>
+
+      Here is another example of the madsr opcode, using midi input. It uses the file <ulink url="examples/madsr-2.csd"><citetitle>madsr-2.csd</citetitle></ulink>.
+
+      <example>
+        <title>second example of the madsr opcode.</title>
+	  <xi:include href="examples-xml/madsr-2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+     </para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/mandel.xml b/opcodes/mandel.xml
index 5691ca4..24df9e0 100644
--- a/opcodes/mandel.xml
+++ b/opcodes/mandel.xml
@@ -52,6 +52,26 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the mandel opcode. It uses the file <ulink url="examples/mandel.csd"><citetitle>mandel.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the mandel opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/mandel.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+     </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      More information on this opcode: <ulink url="http://mymbs.mbs.net/~pfisher/FOV2-0010016C/FOV2-0010016E/FOV2-001001A3/chapters/35evans/intro.html"><citetitle>Composing Fractal Music with Csound</citetitle></ulink>, by Brian Evans
+    </para>
+  </refsect1>
+
+
+  <refsect1>
     <title>Credits</title>
     <para>Written by &namegabriel;.</para>
     <para>New in Csound 5 (Previously available only on CsoundAV)</para>
diff --git a/opcodes/mandol.xml b/opcodes/mandol.xml
index 1b6a360..374261e 100644
--- a/opcodes/mandol.xml
+++ b/opcodes/mandol.xml
@@ -91,7 +91,6 @@ url="ftp://ftp.cs.bath.ac.uk/pub/dream/documentation/sounds/modelling/"><citetit
         <member>Bath, UK</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
 
     <para>New in Csound version 3.47</para>
   </refsect1>
diff --git a/opcodes/maparray.xml b/opcodes/maparray.xml
new file mode 100644
index 0000000..3b81c1f
--- /dev/null
+++ b/opcodes/maparray.xml
@@ -0,0 +1,79 @@
+
+<refentry id="maparray">
+<indexterm id="IndexMaparray"><primary>maparray</primary></indexterm>
+
+  <refentryinfo><title>Table Control:Table Queries</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>maparray</refentrytitle>
+  </refmeta>
+
+   <refnamediv>
+    <refname>maparray</refname>
+    <refpurpose>
+      Apply a function to every element of a vector.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Apply a function of one argument to every element of a vector (one-dimensional k-rate array).
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+      <synopsis>karray <command>maparray</command> kinarray, String</synopsis>
+       <synopsis>karray <command>maparray_i</command> kinarray, String</synopsis>
+ </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>String</emphasis> -- a string that names an opcode
+      function, at i-rate for maparray_i or k-rate for maparray.
+    </para>
+  </refsect1>
+
+   <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>karray</emphasis> --  array for answers.
+    </para>
+    <para>
+      <emphasis>kinarray</emphasis> --  array for arguments to the function.
+    </para>
+
+  </refsect1>
+
+<refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the maparray opcode. It uses the file <ulink url="examples/maparray.csd"><citetitle>maparray.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the maparray opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/maparray.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="vectorial"><citetitle></citetitle>Vectorial opcodes</link>
+</para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>Codemist Ltd</member>
+        <member>2013</member>
+      </simplelist>
+    </para>
+    <para>New in version 6.00</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/massign.xml b/opcodes/massign.xml
index ff4784c..b02f853 100644
--- a/opcodes/massign.xml
+++ b/opcodes/massign.xml
@@ -65,6 +65,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the massign opcode. It uses the file <ulink url="examples/massign.csd"><citetitle>massign.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the massign opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/massign.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="ctrlinit"><citetitle>ctrlinit</citetitle></link>
diff --git a/opcodes/max.xml b/opcodes/max.xml
index 1957329..d6ec11d 100644
--- a/opcodes/max.xml
+++ b/opcodes/max.xml
@@ -25,8 +25,8 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>amax <command>max</command> ain1 [, ain2] [, ain3] [, ain4] [...]</synopsis>
-    <synopsis>kmax <command>max</command> kin1 [, kin2] [, kin3] [, kin4] [...]</synopsis>
+    <synopsis>amax <command>max</command> ain1, ain2 [, ain3] [, ain4] [...]</synopsis>
+    <synopsis>kmax <command>max</command> kin1, kin2 [, kin3] [, kin4] [...]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -41,6 +41,18 @@
   </refsect1>
  
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the max opcode. It uses the file <ulink url="examples/max.csd"><citetitle>max.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the max opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/max.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="min"><citetitle>min</citetitle></link>, 
diff --git a/opcodes/max_k.xml b/opcodes/max_k.xml
index b0f9f37..184faf8 100644
--- a/opcodes/max_k.xml
+++ b/opcodes/max_k.xml
@@ -45,26 +45,41 @@
     <para>
       max_k outputs the local maximum (or minimum) value of  the incoming <emphasis>asig</emphasis> signal, checked in the time interval between <emphasis>ktrig</emphasis> has become true twice. <emphasis>itype</emphasis> determinates the behaviour of max_k:</para>
     <para>
-      1 - absolute maximum (sign of negative values is changed to positive before evaluation)
+      1 - absolute maximum (sign of negative values is changed to positive before evaluation).
     </para>
     <para>
-      2 - actual maximum
+      2 - actual maximum.
     </para>
     <para>
-      3 - actual minimum
+      3 - actual minimum.
     </para>
     <para>
-      4 - calculate average value of <emphasis>asig</emphasis> in the time interval
+      4 - calculate average value of <emphasis>asig</emphasis> in the
+      time interval since the last trigger.
     </para>
     <para>
       This opcode can be useful in several situations, for example to implement a vu-meter.
     </para>
 
   </refsect1>
- 
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the max_k opcode. It uses the file <ulink url="examples/max_k.csd"><citetitle>max_k.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the max_k opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/max_k.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
   <refsect1>
     <title>Credits</title>
     <para>Written by &namegabriel;.</para>
-    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
+    <para>New in Csound 5 (Previously available only on
+    CsoundAV)</para>
+    <para>Fixed to agree with documentation in 5.15</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/maxabs.xml b/opcodes/maxabs.xml
index 7988414..a6207a1 100644
--- a/opcodes/maxabs.xml
+++ b/opcodes/maxabs.xml
@@ -25,8 +25,8 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>amax <command>maxabs</command> ain1 [, ain2] [, ain3] [, ain4] [...]</synopsis>
-    <synopsis>kmax <command>maxabs</command> kin1 [, kin2] [, kin3] [, kin4] [...]</synopsis>
+    <synopsis>amax <command>maxabs</command> ain1, ain2 [, ain3] [, ain4] [...]</synopsis>
+    <synopsis>kmax <command>maxabs</command> kin1, kin2 [, kin3] [, kin4] [...]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -39,6 +39,18 @@
       <emphasis>kin1, kin2, ...</emphasis> --  k-rate signals to be compared.
     </para>
   </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the maxabs opcode. It uses the file <ulink url="examples/maxabs.csd"><citetitle>maxabs.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the maxabs opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/maxabs.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
  
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/maxabsaccum.xml b/opcodes/maxabsaccum.xml
index 79e5896..0f5ed10 100644
--- a/opcodes/maxabsaccum.xml
+++ b/opcodes/maxabsaccum.xml
@@ -53,6 +53,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the maxabsaccum opcode. It uses the file <ulink url="examples/maxabsaccum.csd"><citetitle>maxabsaccum.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the maxabsaccum opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/maxabsaccum.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="minabsaccum"><citetitle>minabsaccum</citetitle></link>, 
diff --git a/opcodes/maxaccum.xml b/opcodes/maxaccum.xml
index cfe2384..fc7798b 100644
--- a/opcodes/maxaccum.xml
+++ b/opcodes/maxaccum.xml
@@ -53,6 +53,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the maxaccum opcode. It uses the file <ulink url="examples/maxaccum.csd"><citetitle>maxaccum.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the maxabs opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/maxaccum.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="minaccum"><citetitle>minaccum</citetitle></link>, 
diff --git a/opcodes/maxalloc.xml b/opcodes/maxalloc.xml
index a0c9b1e..5389bd4 100644
--- a/opcodes/maxalloc.xml
+++ b/opcodes/maxalloc.xml
@@ -64,7 +64,7 @@
           <xi:include href="examples-xml/maxalloc.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
 
-      Its output should contain a message like this:
+      Its output should contain messages like these:
       <screen>
 WARNING: cannot allocate last note because it exceeds instr maxalloc
       </screen>
@@ -87,7 +87,6 @@ WARNING: cannot allocate last note because it exceeds instr maxalloc
         <member>July 1999</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
 
     <para>New in Csound version 3.57</para>
   </refsect1>
diff --git a/opcodes/maxarray.xml b/opcodes/maxarray.xml
new file mode 100644
index 0000000..5913823
--- /dev/null
+++ b/opcodes/maxarray.xml
@@ -0,0 +1,76 @@
+
+<refentry id="maxarray">
+<indexterm id="IndexMaxarray"><primary>maxarray</primary></indexterm>
+  <refentryinfo><title>Array Opcodes</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>maxarray</refentrytitle>
+  </refmeta>
+
+
+ 
+  <refnamediv>
+    <refname>maxarray</refname>
+
+    <refpurpose>
+      returns the maximum value in an array.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      The <emphasis>maxarray</emphasis> opcode returns the maximum value
+      in a k-rate array.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>kmax <command>maxarray</command> karray</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kmax</emphasis> --  variable for result.
+    </para>
+    <para>
+      <emphasis>karray</emphasis> --  array for reading.
+    </para>
+
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the maxarray opcode. It uses the file <ulink url="examples/maxarray.csd"><citetitle>maxarray.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the maxarray opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/maxarray.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="minarray"><citetitle>minarray</citetitle></link>, 
+      <link linkend="sumarray"><citetitle>sumarray</citetitle></link>, 
+      <link linkend="scalearray"><citetitle>scalearray</citetitle></link>, 
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>October 2011</member>
+      </simplelist>
+    </para>
+
+    <para>New in Csound version 5.14</para>
+    <para>Revised in Csound version 6.00 to work on multidimensional arrays</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/mclock.xml b/opcodes/mclock.xml
index a4887d8..5f71e95 100644
--- a/opcodes/mclock.xml
+++ b/opcodes/mclock.xml
@@ -50,6 +50,18 @@
   </refsect1>
  
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the mclock opcode. It uses the file <ulink url="examples/mclock.csd"><citetitle>mclock.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the mclock opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/mclock.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>Credits</title>
     <para>
       <simplelist>
diff --git a/opcodes/median.xml b/opcodes/median.xml
index df123d5..782f5f8 100644
--- a/opcodes/median.xml
+++ b/opcodes/median.xml
@@ -1,7 +1,7 @@
-
+
 <refentry id="median">
 <indexterm id="IndexMedian"><primary>median</primary></indexterm>
-  <refentryinfo><title>Signal Modifiers:Standard Filters:Low Pass</title></refentryinfo>
+  <refentryinfo><title>Signal Modifiers:Standard Filters</title></refentryinfo>
   <refmeta>
     <refentrytitle>median</refentrytitle>
   </refmeta>
diff --git a/opcodes/mediank.xml b/opcodes/mediank.xml
index aff308c..1aed935 100644
--- a/opcodes/mediank.xml
+++ b/opcodes/mediank.xml
@@ -1,7 +1,7 @@
-
+
 <refentry id="mediank">
 <indexterm id="IndexMediank"><primary>mediank</primary></indexterm>
-  <refentryinfo><title>Signal Modifiers:Standard Filters:Low Pass</title></refentryinfo>
+  <refentryinfo><title>Signal Modifiers:Standard Filters</title></refentryinfo>
   <refmeta>
     <refentrytitle>mediank</refentrytitle>
   </refmeta>
diff --git a/opcodes/metro.xml b/opcodes/metro.xml
index 282432c..5ae75f0 100644
--- a/opcodes/metro.xml
+++ b/opcodes/metro.xml
@@ -49,26 +49,33 @@
         <emphasis>metro</emphasis> will produce a trigger signal of 1 when its phase is exactly 0 or 1. If you want to skip the initial trigger, use a very small value like 0.00000001.
      </para>
      </note>
-
   </refsect1>
 
   <refsect1>
     <title>Examples</title>
     <para>
       Here is an example of the metro opcode. It uses the file <ulink url="examples/metro.csd"><citetitle>metro.csd</citetitle></ulink>
-
       <example>
         <title>Example of the metro opcode.</title>
         <xi:include href="examples-xml/metro.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-
+      </example>
+            Here is another example of the metro opcode. It uses the file <ulink url="examples/metro-2.csd"><citetitle>metro-2.csd</citetitle></ulink>
+      <example>
+        <title>Another xample of the metro opcode.</title>
+        <xi:include href="examples-xml/metro-2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
     </para>
   </refsect1>
- 
+  
+   <refsect1>
+    <title>See Also</title>
+            <para> More information on this opcode in the Floss Manuals: <ulink url="http://en.flossmanuals.net/csound/ch018_c-control-structures/"><citetitle>http://en.flossmanuals.net/csound/ch018_c-control-structures/</citetitle></ulink></para>  
+    </refsect1>
+    
   <refsect1>
     <title>Credits</title>
     <para>Written by &namegabriel;.</para>
-    <para>Example written by &nameandres;.</para>
+    <para>First Example written by &nameandres;.</para>
     <para>New in Csound 5 (Previously available only on CsoundAV)</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/midic7.xml b/opcodes/midic7.xml
index 62ec9d8..70e968d 100644
--- a/opcodes/midic7.xml
+++ b/opcodes/midic7.xml
@@ -76,6 +76,17 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the midic7 opcode. It uses the file <ulink url="examples/midic7.csd"><citetitle>midic7.csd</citetitle></ulink>
+      <example>
+        <title>Example of the midic7 opcode.</title>
+        <xi:include href="examples-xml/midic7.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="ctrl7"><citetitle>ctrl7</citetitle></link>,
diff --git a/opcodes/midichannelaftertouch.xml b/opcodes/midichannelaftertouch.xml
index cd2476f..98c751f 100644
--- a/opcodes/midichannelaftertouch.xml
+++ b/opcodes/midichannelaftertouch.xml
@@ -70,16 +70,11 @@
     <title>Examples</title>
     <para>
       Here is an example of the midichannelaftertouch opcode. It uses the file <ulink url="examples/midichannelaftertouch.csd"><citetitle>midichannelaftertouch.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the midichannelaftertouch opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/midichannelaftertouch.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
       Its output should include lines like:
       <screen>
  i1   127.00000
@@ -108,7 +103,6 @@
   <refsect1>
     <title>Credits</title>
     <para>Author: Michael Gogins</para>
-    <para>Example written by &namekevin;.</para>
     <para>New in version 4.20</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/midichn.xml b/opcodes/midichn.xml
index 3fd2104..6406832 100644
--- a/opcodes/midichn.xml
+++ b/opcodes/midichn.xml
@@ -66,8 +66,10 @@
 
       Its output should include lines like:
       <screen>
-note 7 (time = 0.00) was activated from channel 4
-note 8 (time = 0.00) was activated from channel 2
+note 1 (time = 0.00) was activated from channel 1
+note 2 (time = 2.00) was activated from channel 4
+note 3 (time = 3.00) was activated from channel 2
+note 4 (time = 5.00) was activated from channel 3
       </screen>
     </para>
   </refsect1>
@@ -87,8 +89,6 @@ note 8 (time = 0.00) was activated from channel 2
         <member>May 2002</member>
       </simplelist>
     </para>
-    <para>The simple example was written by &namekevin;.</para>
-
     <para>New in version 4.20</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/midicontrolchange.xml b/opcodes/midicontrolchange.xml
index 0041f3b..e9374a0 100644
--- a/opcodes/midicontrolchange.xml
+++ b/opcodes/midicontrolchange.xml
@@ -72,6 +72,18 @@ and MIDI, including both MIDI files and real-time MIDI input, without using any
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the midicontrolchange opcode. It uses the file <ulink url="examples/midicontrolchange.csd"><citetitle>midicontrolchange.csd</citetitle></ulink>
+
+      <example>
+        <title>Example of the midicontrolchange opcode.</title>
+        <xi:include href="examples-xml/midicontrolchange.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="midichannelaftertouch"><citetitle>midichannelaftertouch</citetitle></link>, 
diff --git a/opcodes/midictrl.xml b/opcodes/midictrl.xml
index 72c2786..bd3a88e 100644
--- a/opcodes/midictrl.xml
+++ b/opcodes/midictrl.xml
@@ -56,6 +56,17 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the midictrl opcode. It uses the file <ulink url="examples/midictrl.csd"><citetitle>midictrl.csd</citetitle></ulink>
+      <example>
+        <title>Example of the midictrl opcode.</title>
+        <xi:include href="examples-xml/midictrl.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="aftouch"><citetitle>aftouch</citetitle></link>,
diff --git a/opcodes/mididefault.xml b/opcodes/mididefault.xml
index 1787cbb..cf6ae39 100644
--- a/opcodes/mididefault.xml
+++ b/opcodes/mididefault.xml
@@ -61,6 +61,18 @@ and MIDI, including both MIDI files and real-time MIDI input, without using any
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the mididefault opcode. It uses the file <ulink url="examples/mididefault.csd"><citetitle>mididefault.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the mididefault opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/mididefault.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="midichannelaftertouch"><citetitle>midichannelaftertouch</citetitle></link>, 
diff --git a/opcodes/midifilestatus.xml b/opcodes/midifilestatus.xml
new file mode 100644
index 0000000..91775c0
--- /dev/null
+++ b/opcodes/midifilestatus.xml
@@ -0,0 +1,44 @@
+
+<refentry id="midifilestatus">
+<indexterm id="IndexMidifilestatus"><primary>midifilestatus</primary></indexterm>
+  <refentryinfo><title>Instrument Control:Sensing and Control</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>midifilestatus</refentrytitle>
+  </refmeta>
+
+
+ 
+  <refnamediv>
+    <refname>midifilestatus</refname>
+
+    <refpurpose>
+      Returns the playback status of MIDI file input.
+          </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Returns the current playback status at k-rate, of the input MIDI file, 1 if file is playing, 0 if the end-of-the file
+has been reached.
+
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ksig  <command>midifilestatus</command></synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namevictor;</member>
+        <member>March 2006</member>
+	<member>New in Csound6</member>
+      </simplelist>
+    </para>
+
+  </refsect1>
+</refentry>
diff --git a/opcodes/midiin.xml b/opcodes/midiin.xml
index fcf9fbe..8de4333 100644
--- a/opcodes/midiin.xml
+++ b/opcodes/midiin.xml
@@ -61,6 +61,7 @@
       </para>
     </note>
   </refsect1>
+  
    <refsect1>
     <title>Examples</title>
     <para>
@@ -74,6 +75,7 @@
       </example>
     </para>
   </refsect1>
+  
   <refsect1>
     <title>Credits</title>
     <para>
diff --git a/opcodes/midinoteoff.xml b/opcodes/midinoteoff.xml
index 4e01bad..ae7cb17 100644
--- a/opcodes/midinoteoff.xml
+++ b/opcodes/midinoteoff.xml
@@ -64,16 +64,11 @@ and MIDI, including both MIDI files and real-time MIDI input, without using any
     <title>Examples</title>
     <para>
       Here is an example of the midinoteoff opcode. It uses the file <ulink url="examples/midinoteoff.csd"><citetitle>midinoteoff.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the midinoteoff opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/midinoteoff.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
       Its output should include lines like:
       <screen>
  i1    60.00000
@@ -101,7 +96,6 @@ and MIDI, including both MIDI files and real-time MIDI input, without using any
   <refsect1>
     <title>Credits</title>
     <para>Author: Michael Gogins</para>
-    <para>Example written by &namekevin;.</para>
     <para>New in version 4.20</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/midinoteoncps.xml b/opcodes/midinoteoncps.xml
index 0c8e08f..5fe919e 100644
--- a/opcodes/midinoteoncps.xml
+++ b/opcodes/midinoteoncps.xml
@@ -64,16 +64,11 @@ and MIDI, including both MIDI files and real-time MIDI input, without using any
     <title>Examples</title>
     <para>
       Here is an example of the midinoteoncps opcode. It uses the file <ulink url="examples/midinoteoncps.csd"><citetitle>midinoteoncps.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the midinoteoncps opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/midinoteoncps.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
       Its output should include lines like:
       <screen>
  i1   261.62561
@@ -101,7 +96,6 @@ and MIDI, including both MIDI files and real-time MIDI input, without using any
   <refsect1>
     <title>Credits</title>
     <para>Author: Michael Gogins</para>
-    <para>Example written by &namekevin;.</para>
     <para>New in version 4.20</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/midinoteonkey.xml b/opcodes/midinoteonkey.xml
index 9f966a5..55d896c 100644
--- a/opcodes/midinoteonkey.xml
+++ b/opcodes/midinoteonkey.xml
@@ -64,16 +64,11 @@ and MIDI, including both MIDI files and real-time MIDI input, without using any
     <title>Examples</title>
     <para>
       Here is an example of the midinoteonkey opcode. It uses the file <ulink url="examples/midinoteonkey.csd"><citetitle>midinoteonkey.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the midinoteonkey opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/midinoteonkey.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
       Its output should include lines like:
       <screen>
  i1    60.00000
@@ -101,7 +96,6 @@ and MIDI, including both MIDI files and real-time MIDI input, without using any
   <refsect1>
     <title>Credits</title>
     <para>Author: Michael Gogins</para>
-    <para>Example written by &namekevin;.</para>
     <para>New in version 4.20</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/midinoteonoct.xml b/opcodes/midinoteonoct.xml
index f0c98a9..1a6209a 100644
--- a/opcodes/midinoteonoct.xml
+++ b/opcodes/midinoteonoct.xml
@@ -64,19 +64,15 @@ and MIDI, including both MIDI files and real-time MIDI input, without using any
     <title>Examples</title>
     <para>
       Here is an example of the midinoteonoct opcode. It uses the file <ulink url="examples/midinoteonoct.csd"><citetitle>midinoteonoct.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the midinoteonoct opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/midinoteonoct.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
       Its output should include lines like:
       <screen>
  i1     8.00000
+ i1     8.91700
  i1     9.33333
       </screen>
     </para>
@@ -101,7 +97,6 @@ and MIDI, including both MIDI files and real-time MIDI input, without using any
   <refsect1>
     <title>Credits</title>
     <para>Author: Michael Gogins</para>
-    <para>Example written by &namekevin;.</para>
     <para>New in version 4.20</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/midinoteonpch.xml b/opcodes/midinoteonpch.xml
index a8a7836..488703f 100644
--- a/opcodes/midinoteonpch.xml
+++ b/opcodes/midinoteonpch.xml
@@ -64,16 +64,11 @@ and MIDI, including both MIDI files and real-time MIDI input, without using any
     <title>Examples</title>
     <para>
       Here is an example of the midinoteonpch opcode. It uses the file <ulink url="examples/midinoteonpch.csd"><citetitle>midinoteonpch.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the midinoteonpch opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/midinoteonpch.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
       Its output should include lines like:
       <screen>
  i1     8.09000
@@ -101,7 +96,6 @@ and MIDI, including both MIDI files and real-time MIDI input, without using any
   <refsect1>
     <title>Credits</title>
     <para>Author: Michael Gogins</para>
-    <para>Example written by &namekevin;.</para>
     <para>New in version 4.20</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/midion2.xml b/opcodes/midion2.xml
index bb583af..d3b696b 100644
--- a/opcodes/midion2.xml
+++ b/opcodes/midion2.xml
@@ -51,6 +51,21 @@
     </para>
   </refsect1>
  
+    
+   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the midion2 opcode. It uses the file <ulink url="examples/midion2.csd"><citetitle>midion2.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the midion2 opcode.</title>
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/midion2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/midiout.xml b/opcodes/midiout.xml
index c880211..2e71b4c 100644
--- a/opcodes/midiout.xml
+++ b/opcodes/midiout.xml
@@ -62,7 +62,19 @@
       </para>
     </warning>
   </refsect1>
- 
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the midiout opcode. It uses the file <ulink url="examples/midiout.csd"><citetitle>midiout.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the midiout opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/midiout.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
   <refsect1>
     <title>Credits</title>
     <para>
diff --git a/opcodes/midipitchbend.xml b/opcodes/midipitchbend.xml
index 8ad37ba..2fbfc25 100644
--- a/opcodes/midipitchbend.xml
+++ b/opcodes/midipitchbend.xml
@@ -71,12 +71,8 @@ and MIDI, including both MIDI files and real-time MIDI input, without using any
     <title>Examples</title>
     <para>
       Here is an example of the midipitchbend opcode. It uses the file <ulink url="examples/midipitchbend.csd"><citetitle>midipitchbend.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the midipitchbend opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/midipitchbend.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
@@ -109,7 +105,6 @@ and MIDI, including both MIDI files and real-time MIDI input, without using any
   <refsect1>
     <title>Credits</title>
     <para>Author: Michael Gogins</para>
-    <para>Example written by &namekevin;.</para>
     <para>New in version 4.20</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/midipolyaftertouch.xml b/opcodes/midipolyaftertouch.xml
index 7a92339..6a79aa4 100644
--- a/opcodes/midipolyaftertouch.xml
+++ b/opcodes/midipolyaftertouch.xml
@@ -72,6 +72,24 @@ and MIDI, including both MIDI files and real-time MIDI input, without using any
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the midipolyaftertouch opcode. It uses the file <ulink url="examples/midipolyaftertouch.csd"><citetitle>midipolyaftertouch.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the midipolyaftertouch opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/midipolyaftertouch.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+      Its output should include lines like:
+      <screen>
+ i1   127.00000
+ i1    20.00000
+ i1    44.00000
+      </screen>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="midichannelaftertouch"><citetitle>midichannelaftertouch</citetitle></link>, 
diff --git a/opcodes/midiprogramchange.xml b/opcodes/midiprogramchange.xml
index 01334a0..da69d5d 100644
--- a/opcodes/midiprogramchange.xml
+++ b/opcodes/midiprogramchange.xml
@@ -57,6 +57,18 @@ and MIDI, including both MIDI files and real-time MIDI input, without using any
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the midiprogramchange opcode. It uses the file <ulink url="examples/midiprogramchange.csd"><citetitle>midiprogramchange.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the midiprogramchange opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/midiprogramchange.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="midichannelaftertouch"><citetitle>midichannelaftertouch</citetitle></link>, 
diff --git a/opcodes/miditempo.xml b/opcodes/miditempo.xml
index 695318e..24b7044 100644
--- a/opcodes/miditempo.xml
+++ b/opcodes/miditempo.xml
@@ -30,6 +30,22 @@
   </refsect1>
  
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the miditempo opcode. It uses the files <ulink url="examples/miditempo.csd"><citetitle>miditempo.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the miditempo opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/miditempo.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+           Its output should include a line like this:
+            <screen>
+	      miditempo = 96
+      </screen>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>Credits</title>
     <para>
       <simplelist>
diff --git a/opcodes/min.xml b/opcodes/min.xml
index 88a75dd..9b42f1d 100644
--- a/opcodes/min.xml
+++ b/opcodes/min.xml
@@ -25,8 +25,8 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>amin <command>min</command> ain1 [, ain2] [, ain3] [, ain4] [...]</synopsis>
-    <synopsis>kmin <command>min</command> kin1 [, kin2] [, kin3] [, kin4] [...]</synopsis>
+    <synopsis>amin <command>min</command> ain1, ain2 [, ain3] [, ain4] [...]</synopsis>
+    <synopsis>kmin <command>min</command> kin1, kin2 [, kin3] [, kin4] [...]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -39,7 +39,19 @@
       <emphasis>kin1, kin2, ...</emphasis> --  k-rate signals to be compared.
     </para>
   </refsect1>
- 
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the min opcode. It uses the file <ulink url="examples/min.csd"><citetitle>min.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the min opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/min.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/minabs.xml b/opcodes/minabs.xml
index b110b82..cfcf0b1 100644
--- a/opcodes/minabs.xml
+++ b/opcodes/minabs.xml
@@ -25,8 +25,8 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>amin <command>minabs</command> ain1 [, ain2] [, ain3] [, ain4] [...]</synopsis>
-    <synopsis>kmin <command>minabs</command> kin1 [, kin2] [, kin3] [, kin4] [...]</synopsis>
+    <synopsis>amin <command>minabs</command> ain1, ain2 [, ain3] [, ain4] [...]</synopsis>
+    <synopsis>kmin <command>minabs</command> kin1, kin2 [, kin3] [, kin4] [...]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -41,6 +41,18 @@
   </refsect1>
  
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the minabs opcode. It uses the file <ulink url="examples/minabs.csd"><citetitle>minabs.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the minabs opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/minabs.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="maxabs"><citetitle>maxabs</citetitle></link>, 
diff --git a/opcodes/minabsaccum.xml b/opcodes/minabsaccum.xml
index 64d6ad2..c93019a 100644
--- a/opcodes/minabsaccum.xml
+++ b/opcodes/minabsaccum.xml
@@ -53,6 +53,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the minabsaccum opcode. It uses the file <ulink url="examples/minabsaccum.csd"><citetitle>minabsaccum.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the minabsaccum opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/minabsaccum.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="maxabsaccum"><citetitle>maxabsaccum</citetitle></link>,
diff --git a/opcodes/minaccum.xml b/opcodes/minaccum.xml
index e291246..08d35e2 100644
--- a/opcodes/minaccum.xml
+++ b/opcodes/minaccum.xml
@@ -53,6 +53,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the minaccum opcode. It uses the file <ulink url="examples/minaccum.csd"><citetitle>minaccum.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the minaccum opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/minaccum.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="maxaccum"><citetitle>maxaccum</citetitle></link>,
diff --git a/opcodes/minarray.xml b/opcodes/minarray.xml
new file mode 100644
index 0000000..7664ab9
--- /dev/null
+++ b/opcodes/minarray.xml
@@ -0,0 +1,76 @@
+
+<refentry id="minarray">
+<indexterm id="IndexMinarray"><primary>minarray</primary></indexterm>
+  <refentryinfo><title>Array Opcodes</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>minarray</refentrytitle>
+  </refmeta>
+
+
+ 
+  <refnamediv>
+    <refname>minarray</refname>
+
+    <refpurpose>
+      returns the minimum value in an array.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      The <emphasis>minarray</emphasis> opcode returns the minimum value
+      in a k-rate array.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>kmin <command>minarray</command> karray</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kmin</emphasis> --  variable for result.
+    </para>
+    <para>
+      <emphasis>karray</emphasis> --  array for reading.
+    </para>
+
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the minarray opcode. It uses the file <ulink url="examples/minarray.csd"><citetitle>minarray.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the minarray opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/minarray.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="maxarray"><citetitle>maxarray</citetitle></link>, 
+      <link linkend="sumarray"><citetitle>sumarray</citetitle></link>, 
+      <link linkend="scalearray"><citetitle>scalearray</citetitle></link>, 
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>October 2011</member>
+      </simplelist>
+    </para>
+
+    <para>New in Csound version 5.14</para>
+    <para>Revised in Csound version 6.00 to work on multidimensional arrays</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/mincer.xml b/opcodes/mincer.xml
index 57627f3..c1342dd 100644
--- a/opcodes/mincer.xml
+++ b/opcodes/mincer.xml
@@ -1,6 +1,6 @@
-<refentry id="mincer">
+<refentry id="mincer">
 <indexterm id="IndexMincer"><primary>mincer</primary></indexterm>
-  <refentryinfo><title>Spectral processing: mincer</title></refentryinfo>
+  <refentryinfo><title>Spectral Processing:Other</title></refentryinfo>
   <refmeta>
     <refentrytitle>mincer</refentrytitle>
   </refmeta>
@@ -33,7 +33,7 @@ given position ("frozen"). The quality of the effect is generally improved with
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asig <command>mincer</command> atimpt, kamp, kpitch, klock, ktab[,ifftsize,idecim]
+    <synopsis>asig <command>mincer</command> atimpt, kamp, kpitch, ktab, klock[,ifftsize,idecim]
       </synopsis>
   </refsect1>
 
@@ -69,37 +69,19 @@ given position ("frozen"). The quality of the effect is generally improved with
       <link linkend="GEN01"><citetitle>GEN01</citetitle></link>) are accepted, but the opcode
       expects a mono source. Tables can be switched at k-rate.
     </para>
-
   </refsect1>
+  
   <refsect1>
     <title>Examples</title>
     <para>
+      Here is an example of the mincer opcode. It uses the file <ulink url="examples/mincer.csd"><citetitle>mincer.csd</citetitle></ulink>
       <example>
-        <title>Example</title>
-        <programlisting>
-		
-idur = p3
-ilock = p4
-itab = 1
-ipitch = 1
-itimescale = 0.5
-iamp = 0.5
-
-atime     line   0,idur,idur*itimescale
-a1        mincer atime,iamp,ipitch,itab,ilock
-
-    out a1
-
-   </programlisting>
+        <title>Example of the mincer opcode.</title>
+        <xi:include href="examples-xml/mincer.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
     </para>
-    
-
   </refsect1>
-
-
-
+ 
   <refsect1>
     <title>Credits</title>
     <para>
@@ -108,7 +90,6 @@ a1        mincer atime,iamp,ipitch,itab,ilock
         <member>February 2010</member>
       </simplelist>
     </para>
-
     <para>New plugin in version 5.13</para>
     <para>February 2005.</para>
   </refsect1>
diff --git a/opcodes/mirror.xml b/opcodes/mirror.xml
index 48b2d4d..ac5bd1e 100644
--- a/opcodes/mirror.xml
+++ b/opcodes/mirror.xml
@@ -70,6 +70,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the mirror opcode. It uses the file <ulink url="examples/mirror.csd"><citetitle>mirror.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the mirror opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/mirror.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="limit"><citetitle>limit</citetitle></link>,
diff --git a/opcodes/mixerclear.xml b/opcodes/mixerclear.xml
index 79d1458..729e208 100644
--- a/opcodes/mixerclear.xml
+++ b/opcodes/mixerclear.xml
@@ -66,6 +66,14 @@ However, an instrument may have any number of sends or receives. After the final
   <emphasis role="opc">outs</emphasis> a1blocked, a2blocked
   <emphasis role="opc">MixerClear</emphasis>
 <emphasis role="oblock">endin</emphasis></programlisting>
+
+    <para>
+      Here is a complete example of the Mixerclear opcode. It uses the file <ulink url="examples/Mixer.csd"><citetitle>Mixer.csd</citetitle></ulink>
+      <example>
+        <title>Complete example of the Mixerclear opcode.</title>
+        <xi:include href="examples-xml/Mixer.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
 </refsect1>
 
   <refsect1>
diff --git a/opcodes/mixergetlevel.xml b/opcodes/mixergetlevel.xml
index d8dd2ba..d26e89f 100644
--- a/opcodes/mixergetlevel.xml
+++ b/opcodes/mixergetlevel.xml
@@ -52,6 +52,17 @@ However, an instrument may have any number of sends or receives. After the final
 </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the MixerGetLevel opcode. It uses the file <ulink url="examples/Mixer.csd"><citetitle>Mixer.csd</citetitle></ulink>
+      <example>
+        <title>Example of the MixerGetLevel opcode.</title>
+        <xi:include href="examples-xml/Mixer.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+</refsect1>
+
+  <refsect1>
     <title>Credits</title>
     <para>Michael Gogins (gogins at pipeline dot com).</para>
   </refsect1>
diff --git a/opcodes/mixerreceive.xml b/opcodes/mixerreceive.xml
index 52376dd..f44ccd2 100644
--- a/opcodes/mixerreceive.xml
+++ b/opcodes/mixerreceive.xml
@@ -76,6 +76,13 @@ However, an instrument may have any number of sends or receives. After the final
   <emphasis role="opc">outs</emphasis> a1blocked, a2blocked
   <emphasis role="opc">MixerClear</emphasis>
 <emphasis role="oblock">endin</emphasis></programlisting>
+    <para>
+      Here is a complete example of the MixerReceive opcode. It uses the file <ulink url="examples/Mixer.csd"><citetitle>Mixer.csd</citetitle></ulink>
+      <example>
+        <title>Complete example of the MixerReceive opcode.</title>
+        <xi:include href="examples-xml/Mixer.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
 </refsect1>
 
   <refsect1>
diff --git a/opcodes/mixersend.xml b/opcodes/mixersend.xml
index e4db773..3c6c625 100644
--- a/opcodes/mixersend.xml
+++ b/opcodes/mixersend.xml
@@ -70,6 +70,13 @@ asig2 			<emphasis role="op">=</emphasis> 			aright <emphasis role="op">*</empha
 			<emphasis role="opc">MixerSend</emphasis>		asig1, 100, 220, 0
 			<emphasis role="opc">MixerSend</emphasis>		asig2, 100, 220, 1
 <emphasis role="oblock">endin</emphasis></programlisting>
+    <para>
+      Here is a complete example of the MixerSend opcode. It uses the file <ulink url="examples/Mixer.csd"><citetitle>Mixer.csd</citetitle></ulink>
+      <example>
+        <title>Complete example of the MixerSend opcode.</title>
+        <xi:include href="examples-xml/Mixer.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
 </refsect1>
 
   <refsect1>
diff --git a/opcodes/mixersetlevel.xml b/opcodes/mixersetlevel.xml
index 034d780..e5ec03c 100644
--- a/opcodes/mixersetlevel.xml
+++ b/opcodes/mixersetlevel.xml
@@ -81,6 +81,13 @@ However, an instrument may have any number of sends or receives. After the final
 <emphasis role="stamnt">i</emphasis> 1  0  0  200  220  0.5
 <emphasis role="comment">; Reverb to Output</emphasis>
 <emphasis role="stamnt">i</emphasis> 1  0  0  210  220  0.2</programlisting>
+    <para>
+      Here is a complete example of the MixerSetLevel opcode. It uses the file <ulink url="examples/Mixer.csd"><citetitle>Mixer.csd</citetitle></ulink>
+      <example>
+        <title>Complete example of the MixerSetLevel opcode.</title>
+        <xi:include href="examples-xml/Mixer.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
 </refsect1>
 
   <refsect1>
diff --git a/opcodes/mode.xml b/opcodes/mode.xml
index 44e1b0d..3a68710 100644
--- a/opcodes/mode.xml
+++ b/opcodes/mode.xml
@@ -25,7 +25,7 @@
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis>aout <command>mode</command> ain, kfreq, kQ [, iskip]</synopsis>
+    <synopsis>aout <command>mode</command> ain, xfreq, xQ [, iskip]</synopsis>
   </refsect1>
 
   <refsect1>
@@ -48,24 +48,24 @@
     </para>
 
     <para>
-      <emphasis>kfreq</emphasis> -- resonant frequency of the filter
+      <emphasis>xfreq</emphasis> -- resonant frequency of the filter
       <warning>
         <title>Warning</title>
         <para>
-          This filter becomes unstable if <emphasis>sr</emphasis>/<emphasis>kfreq</emphasis> <
-          pi (e.g <emphasis>kfreq</emphasis> > 14037 Hz @ 44 kHz)
+          This filter becomes unstable if <emphasis>sr</emphasis>/<emphasis>xfreq</emphasis> <
+          pi (e.g <emphasis>xfreq</emphasis> > 14037 Hz @ 44 kHz)
         </para>
         </warning>
     </para>
 
     <para>
-      <emphasis>kQ</emphasis> -- quality factor of the filter
+      <emphasis>xQ</emphasis> -- quality factor of the filter
     </para>
 
-    <para>The resonance time is roughly proportionnal to <emphasis>kQ</emphasis>/<emphasis>kfreq</emphasis>.</para>
+    <para>The resonance time is roughly proportional to <emphasis>xQ</emphasis>/<emphasis>xfreq</emphasis>.</para>
 
     <para>
-      See <link linkend="MiscModalFreq"><citetitle>Modal Frequency Ratios</citetitle></link> for frequency ratios of real intruments which can be used to determine the values of <emphasis>kfreq</emphasis>.
+      See <link linkend="MiscModalFreq"><citetitle>Modal Frequency Ratios</citetitle></link> for frequency ratios of real instruments which can be used to determine the values of <emphasis>xfreq</emphasis>.
     </para>
   </refsect1>
 
@@ -86,5 +86,7 @@
     <para>Original UDO and documentation/example by François Blanc</para>
     <para>Opcode translation to C-code by Steven Yi</para>
     <para>New in version 5.04</para>
-  </refsect1>
+    <para>Audio rate parameters introduced in version 6.02</para>
+    <para>November 2013.</para>
+   </refsect1>
 </refentry>
diff --git a/opcodes/modulus.xml b/opcodes/modulus.xml
index 214968c..52f8b05 100644
--- a/opcodes/modulus.xml
+++ b/opcodes/modulus.xml
@@ -66,22 +66,23 @@
   </refsect1>
 
   <refsect1>
+    <title>Arguments</title>
+    <para>
+      The arguments of % can be scalar values or k-rate one
+      dimensional arrays (vectors), or any combination.  If one of the
+      arguments is an array, so is the value.
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>Examples</title>
     <para>
       Here is an example of the % operator. It uses the file <ulink url="examples/modulus.csd"><citetitle>modulus.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the % operator.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/modulus.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-      Its output should include a line like this:
-      <screen>
-instr 1:  i1 = 2.000</screen>
     </para>
   </refsect1>
 
@@ -100,6 +101,7 @@ instr 1:  i1 = 2.000</screen>
 
   <refsect1>
     <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
+    <para>Arithmetic on vectors is new in version 6.00</para>
   </refsect1>
+
 </refentry>
diff --git a/opcodes/monitor.xml b/opcodes/monitor.xml
index 8e469ed..3f2a037 100644
--- a/opcodes/monitor.xml
+++ b/opcodes/monitor.xml
@@ -36,6 +36,18 @@
       See the entry for the <link linkend="fout"><citetitle>fout</citetitle></link> opcode for an example of usage of <emphasis>monitor</emphasis>.
     </para>
   </refsect1>
+  
+    <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the monitor opcode. It uses the file <ulink url="examples/monitor.csd"><citetitle>monitor.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the monitor opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/monitor.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>See also</title>
diff --git a/opcodes/moog.xml b/opcodes/moog.xml
index 2e8249f..59572ed 100644
--- a/opcodes/moog.xml
+++ b/opcodes/moog.xml
@@ -93,8 +93,6 @@
         <member>Bath, UK</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
-
     <para>New in Csound version 3.47</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/moogladder.xml b/opcodes/moogladder.xml
index 8883b65..9a73bab 100644
--- a/opcodes/moogladder.xml
+++ b/opcodes/moogladder.xml
@@ -27,16 +27,20 @@ the original analogue filter.
   <refsect1>
     <title>Syntax</title>
     <synopsis>asig <command>moogladder</command> ain, kcf, kres[, istor]</synopsis>
+    <synopsis>asig <command>moogladder</command> ain, acf, kres[, istor]</synopsis>
+    <synopsis>asig <command>moogladder</command> ain, kcf, ares[, istor]</synopsis>
+    <synopsis>asig <command>moogladder</command> ain, acf, ares[, istor]</synopsis>
   </refsect1>
 
   <refsect1>
     <title>Initialization</title>
       <para>
-      <emphasis>istor</emphasis> --initial disposition of internal data space. Since 
-filtering incorporates a feedback loop of previous output, 
-the initial status of the storage space used is significant. 
-A zero value will clear the space; a non-zero value will allow 
-previous information to remain. The default value is 0.
+      <emphasis>istor</emphasis> --initial disposition of internal
+      data space. Since filtering incorporates a feedback loop of
+      previous output, the initial status of the storage space used is
+      significant.  A zero value will clear the space; a non-zero
+      value will allow previous information to remain. The default
+      value is 0.
     </para>
   </refsect1>
   
@@ -46,27 +50,25 @@ previous information to remain. The default value is 0.
       <emphasis>asig</emphasis> -- input signal.
     </para>
     <para>
-      <emphasis>kcf</emphasis> -- filter cutoff frequency
+      <emphasis>kcf</emphasis>/<emphasis>acf</emphasis> -- filter cutoff frequency
     </para>
 
     <para>
-      <emphasis>kres</emphasis> -- resonance, generally < 1, but not limited to it. 
-Higher than 1 resonance values might cause aliasing,
-analogue synths generally allow resonances to be above 1.
+      <emphasis>kres</emphasis>/<emphasis>ares</emphasis> --
+      resonance, generally < 1, but not limited to it.  Higher than
+      1 resonance values might cause aliasing, analogue synths
+      generally allow resonances to be above 1. 
     </para>
   </refsect1>
-  
+
   <refsect1>
     <title>Examples</title>
     <para>
+      Here is an example of the moogladder opcode. It uses the file <ulink url="examples/moogladder.csd"><citetitle>moogladder.csd</citetitle></ulink>.
       <example>
-        <title>Example</title>
-        <programlisting>
-kfe     <emphasis role="opc">expseg</emphasis>      500, p3<emphasis role="op">*</emphasis>0.9, 1800, p3<emphasis role="op">*</emphasis>0.1, 3000
-kenv    <emphasis role="opc">linen</emphasis>       10000, 0.05, p3, 0.05
-asig    <emphasis role="opc">buzz</emphasis>        kenv, 100, sr<emphasis role="op">/</emphasis>(200), 1
-afil    <emphasis role="opc">moogladder</emphasis>  asig, kfe, 1
-        <emphasis role="opc">out</emphasis>         afil</programlisting>
+        <title>Example of the moogladder opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/moogladder.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
     </para>
   </refsect1>
@@ -81,5 +83,7 @@ afil    <emphasis role="opc">moogladder</emphasis>  asig, kfe, 1
     </para>
     <para>New plugin in version 5</para>
     <para>January 2005.</para>
+    <para>Audio rate parameters introduced in version 6.02</para>
+    <para>October 2013.</para>
   </refsect1>
-</refentry>
+</refentry> 
diff --git a/opcodes/moogvcf.xml b/opcodes/moogvcf.xml
index 6341ee7..65cd513 100644
--- a/opcodes/moogvcf.xml
+++ b/opcodes/moogvcf.xml
@@ -60,7 +60,7 @@
     </para>
 
     <warning>
-      <para>This filter requires that the input signal be normalized to one. This can be easily achieved using <link linkend="Zerodbfs"><citetitle>0dbfs</citetitle></link>, like this:
+      <para>Before version 6.02 this filter required that the input signal be normalized to one. This can be easily achieved using <link linkend="Zerodbfs"><citetitle>0dbfs</citetitle></link>, like this:
       <literallayout>ares <command>moogvcf</command> asig, kfco, kres, 0dbfs</literallayout></para>
       <para>You can also use <link linkend="moogvcf2"><citetitle>moogvcf2</citetitle></link> which defaults scaling to <link linkend="Zerodbfs"><citetitle>0dbfs</citetitle></link>. </para>
     </warning>
@@ -95,8 +95,6 @@
         <member>October 1998</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
-
     <para>New in Csound version 3.49</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/moogvcf2.xml b/opcodes/moogvcf2.xml
index 9d67296..8fc3fdc 100644
--- a/opcodes/moogvcf2.xml
+++ b/opcodes/moogvcf2.xml
@@ -102,7 +102,6 @@
         <member>October 1998/ July 2006</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
 
     <para>New in Csound version 5.03</para>
   </refsect1>
diff --git a/opcodes/mp3in.xml b/opcodes/mp3in.xml
index bbe62f2..b79b53f 100644
--- a/opcodes/mp3in.xml
+++ b/opcodes/mp3in.xml
@@ -22,7 +22,7 @@
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis>ar1, ar2 <command>mp3in</command> ifilcod, iskptim, iformat, iskipinit, ibufsize</synopsis>
+    <synopsis>ar1, ar2 <command>mp3in</command> ifilcod[, iskptim, iformat, iskipinit, ibufsize]</synopsis>
   </refsect1>
 
    <refsect1>
@@ -54,7 +54,7 @@
 
     <para>
      <emphasis>ibuffersize</emphasis> (optional) -- sets the internal buffer size
-     for reading.  If the value is zero or negative it defaults to
+     for reading.  If the value is omitted, zero or negative it defaults to
      4096 bytes.
     </para>
   </refsect1>
@@ -67,6 +67,19 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the mp3in opcode. It uses the file <ulink url="examples/mp3in.csd"><citetitle>mp3in.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the mp3in opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/mp3in.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="diskin"><citetitle>diskin</citetitle></link>,
@@ -76,6 +89,7 @@
       <link linkend="inh"><citetitle>inh</citetitle></link>,
       <link linkend="ino"><citetitle>ino</citetitle></link>,
       <link linkend="inq"><citetitle>inq</citetitle></link>,
+      <link linkend="mp3len"><citetitle>mp3len</citetitle></link>,
       <link linkend="soundin"><citetitle>soundin</citetitle></link>
      </para>
   </refsect1>
diff --git a/opcodes/mp3len.xml b/opcodes/mp3len.xml
new file mode 100644
index 0000000..aee9a5a
--- /dev/null
+++ b/opcodes/mp3len.xml
@@ -0,0 +1,75 @@
+
+<refentry id="mp3len">
+<indexterm id="IndexMp3len"><primary>mp3len</primary></indexterm>
+  <refentryinfo><title>Signal I/O:Soundfile Queries</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>mp3len</refentrytitle>
+  </refmeta>
+
+
+ 
+  <refnamediv>
+    <refname>mp3len</refname>
+    <refpurpose>
+      Returns the length of an MP3 sound file.
+          </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Returns the length of an MP3 sound file.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ir <command>mp3len</command> ifilcod</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ifilcod</emphasis> -- sound file to be queried
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>mp3len</emphasis> returns the length of the sound file <emphasis>ifilcod</emphasis> in seconds.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the mp3len opcode. It uses the file <ulink url="examples/mp3len.csd"><citetitle>mp3len.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the mp3len opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/mp3len.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="mp3in"><citetitle>mp3in</citetitle></link>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>Feb 2011</member>
+      </simplelist>
+    </para>
+
+    <para>New in Csound version 5.14</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/mpulse.xml b/opcodes/mpulse.xml
index 3da22e2..80804d2 100644
--- a/opcodes/mpulse.xml
+++ b/opcodes/mpulse.xml
@@ -62,11 +62,17 @@
       </example>
     </para>
   </refsect1>
+ 
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      Another example of how to use mpulse can be found here: <link linkend="mode"><citetitle>mode</citetitle></link>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>Credits</title>
     <para>Written by &namejohn;.</para>
     <para>New in version 4.08</para>
-    <para>Example written by &namekevin;.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/multiplies.xml b/opcodes/multiplies.xml
index e1fbddd..8dfe2ed 100644
--- a/opcodes/multiplies.xml
+++ b/opcodes/multiplies.xml
@@ -74,6 +74,15 @@ a - b - c
   </refsect1>
 
   <refsect1>
+    <title>Arguments</title>
+    <para>
+      The arguments of * can be scalar values or k-rate one
+      dimensional arrays (vectors), or any combination.  If one of the
+      arguments is an array, so is the value.
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>Examples</title>
     <para>
       Here is an example of the * operator. It uses the file <ulink url="examples/multiplies.csd"><citetitle>multiplies.csd</citetitle></ulink>.
@@ -89,7 +98,12 @@ a - b - c
 
       Its output should include a line like this:
       <screen>
-instr 1:  i1 = 192.000</screen>
+
+base amplitude * rising expon output = 0.8 * 0.010000
+base amplitude * rising expon output = 0.8 * 0.012589
+..........
+base amplitude * rising expon output = 0.8 * 0.794328
+base amplitude * rising expon output = 0.8 * 0.998466</screen>
     </para>
   </refsect1>
 
@@ -108,6 +122,7 @@ instr 1:  i1 = 192.000</screen>
 
   <refsect1>
     <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
+    <para>Arithmetic on vectors is new in version 6.00</para>
   </refsect1>
+
 </refentry>
diff --git a/opcodes/multitap.xml b/opcodes/multitap.xml
index b8c9e55..85050da 100644
--- a/opcodes/multitap.xml
+++ b/opcodes/multitap.xml
@@ -22,7 +22,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>ares <command>multitap</command> asig [, itime1] [, igain1] [, itime2] [, igain2] [...]</synopsis>
+    <synopsis>ares <command>multitap</command> asig [, itime1, igain1] [, itime2, igain2] [...]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -35,20 +35,16 @@
       The delay line is fed by <emphasis>asig</emphasis>.
     </para>
   </refsect1>
- 
+
   <refsect1>
     <title>Examples</title>
     <para>
-      <informalexample>
-        <programlisting>
-  a1      <emphasis role="opc">oscil</emphasis>      1000, 100, 1
-  a2      <emphasis role="opc">multitap</emphasis>   a1, 1.2, .5, 1.4, .2
-          <emphasis role="opc">out</emphasis>        a2</programlisting>
-      </informalexample>
-    </para>
-
-    <para>
-      This results in two delays, one with length of 1.2 and gain of .5, and one with length of 1.4 and gain of .2.
+      Here is an example of the multitap opcode. It uses the file <ulink url="examples/multitap.csd"><citetitle>multitap.csd</citetitle></ulink>
+      <example>
+        <title>Example of the multitap opcode.</title>
+        <xi:include href="examples-xml/multitap.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+     This results in two delays, one with length of 1.2 and gain of .5, and one with length of 1.4 and gain of .2.
     </para>
   </refsect1>
  
diff --git a/opcodes/mute.xml b/opcodes/mute.xml
index d0f0d71..e54381c 100644
--- a/opcodes/mute.xml
+++ b/opcodes/mute.xml
@@ -72,7 +72,6 @@
 
   <refsect1>
     <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
     <para>New in version 4.22</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/mxadsr.xml b/opcodes/mxadsr.xml
index 9963784..d9d79a9 100644
--- a/opcodes/mxadsr.xml
+++ b/opcodes/mxadsr.xml
@@ -87,6 +87,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the mxadsr opcode. It uses the file <ulink url="examples/mxadsr.csd"><citetitle>mxadsr.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the mxadsr opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/mxadsr.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="expsegr"><citetitle>linsegr</citetitle></link>,
diff --git a/opcodes/nchnls.xml b/opcodes/nchnls.xml
index 27d9aa2..7810477 100644
--- a/opcodes/nchnls.xml
+++ b/opcodes/nchnls.xml
@@ -40,6 +40,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the nchnls opcode. It uses the file <ulink url="examples/nchnls.csd"><citetitle>nchnls.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the nchnls opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/nchnls.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="kr"><citetitle>kr</citetitle></link>,
diff --git a/opcodes/nchnls_i.xml b/opcodes/nchnls_i.xml
index a70d23c..6303914 100644
--- a/opcodes/nchnls_i.xml
+++ b/opcodes/nchnls_i.xml
@@ -1,15 +1,15 @@
 
 <refentry id="nchnls_i">
-<indexterm id="IndexNchns_I"><primary>nchns_i</primary></indexterm>
+<indexterm id="IndexNchns_I"><primary>nchnls_i</primary></indexterm>
   <refentryinfo><title>Orchestra Syntax:Header</title></refentryinfo>
   <refmeta>
-    <refentrytitle>nchns_i</refentrytitle>
+    <refentrytitle>nchnls_i</refentrytitle>
   </refmeta>
 
 
 
   <refnamediv>
-    <refname>nchns_i</refname>
+    <refname>nchnls_i</refname>
 
     <refpurpose>
       Sets the number of channels of audio input.
@@ -32,13 +32,13 @@
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis><command>nchns_i</command> = iarg</synopsis>
+    <synopsis><command>nchnls_i</command> = iarg</synopsis>
   </refsect1>
 
   <refsect1>
     <title>Initialization</title>
     <para>
-<emphasis>nchns_i</emphasis> = (optional) -- set number of channels of
+<emphasis>nchnls_i</emphasis> = (optional) -- set number of channels of
 audio input to <emphasis>iarg</emphasis>. (1 = mono, 2 = stereo, 4 =
 quadraphonic.) The default value is the valus of <emphasis>nchnls</emphasis>.
     </para>
@@ -49,6 +49,18 @@ quadraphonic.) The default value is the valus of <emphasis>nchnls</emphasis>.
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the nchnls_i opcode. It uses the file <ulink url="examples/nchnls_i.csd"><citetitle>nchnls_i.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the nchnls_i opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/nchnls_i.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="kr"><citetitle>kr</citetitle></link>,
diff --git a/opcodes/nlfilt.xml b/opcodes/nlfilt.xml
index 0fbc307..430982c 100644
--- a/opcodes/nlfilt.xml
+++ b/opcodes/nlfilt.xml
@@ -98,7 +98,19 @@ Y{n} =a Y{n-1} + b Y{n-2} + d Y^2{n-L} + X{n} - C
       </para>
     </warning>
   </refsect1>
- 
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the nlfilt opcode. It uses the file <ulink url="examples/nlfilt.csd"><citetitle>nlfilt.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the nlfilt opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/nlfilt.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+   
   <refsect1>
     <title>Credits</title>
     <para>
diff --git a/opcodes/nlfilt2.xml b/opcodes/nlfilt2.xml
new file mode 100644
index 0000000..d0036ed
--- /dev/null
+++ b/opcodes/nlfilt2.xml
@@ -0,0 +1,126 @@
+
+<refentry id="nlfilt2">
+<indexterm id="IndexNlfilt2"><primary>nlfilt2</primary></indexterm>
+  <refentryinfo><title>Signal Modifiers:Specialized Filters</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>nlfilt2</refentrytitle>
+  </refmeta>
+
+
+ 
+  <refnamediv>
+    <refname>nlfilt2</refname>
+    <refpurpose>
+      A filter with a non-linear effect and blowup protection.
+          </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Implements the filter:
+      <literallayout>
+Y{n} =tanh(a Y{n-1} + b Y{n-2} + d Y^2{n-L} + X{n} - C)
+      </literallayout>
+      described in Dobson and Fitch (ICMC'96) as modified by Risto Holopainen.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>nlfilt2</command> ain, ka, kb, kd, kC, kL</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <orderedlist>
+        <listitem>
+          <para>
+            Non-linear effect. The range of parameters are:
+            <literallayout>
+  a = b = 0
+  d = 0.8, 0.9, 0.7
+  C = 0.4, 0.5, 0.6
+  L = 20
+            </literallayout>
+            This affects the lower register most but there are audible effects over the whole range. We suggest that it may be useful for coloring drums, and for adding arbitrary highlights to notes.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            Low Pass with non-linear. The range of parameters are:
+            <literallayout>
+  a = 0.4
+  b = 0.2
+  d = 0.7
+  C = 0.11
+  L = 20, ... 200
+            </literallayout>
+            There are instability problems with this variant but the effect is more pronounced of the lower register, but is otherwise much like the pure comb. Short values of <emphasis>L</emphasis> can add attack to a sound.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            High Pass with non-linear. The range of parameters are:
+            <literallayout>
+  a = 0.35
+  b = -0.3
+  d = 0.95
+  C = 0,2, ... 0.4
+  L = 200
+            </literallayout>
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            High Pass with non-linear. The range of parameters are:
+            <literallayout>
+  a = 0.7
+  b = -0.2, ... 0.5
+  d = 0.9
+  C = 0.12, ... 0.24
+  L = 500, 10
+            </literallayout>
+            The high pass version is less likely to oscillate. It adds scintillation to medium-high registers. With a large delay <emphasis>L</emphasis> it is a little like a reverberation, while with small values there appear to be formant-like regions. There are arbitrary color changes and resonances as the pitch changes. Works well with individual notes.
+          </para>
+        </listitem>
+      </orderedlist>
+    </para>
+
+    <warning>
+      <title>Warning</title>
+      <para>
+        The "useful" ranges of parameters are not yet mapped.
+      </para>
+    </warning>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the nlfilt2 opcode. It uses the file <ulink url="examples/nlfilt2.csd"><citetitle>nlfilt2.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the nlfilt2 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/nlfilt2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+   
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>University of Bath/Codemist Ltd.</member>
+        <member>Bath, UK</member>
+        <member>2012</member>
+      </simplelist>
+    </para>
+    <para>New in version 5.19</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/noise.xml b/opcodes/noise.xml
index 0e74717..28f9e2b 100644
--- a/opcodes/noise.xml
+++ b/opcodes/noise.xml
@@ -38,7 +38,8 @@
     </para>
 
     <para>
-      <emphasis>kbeta</emphasis> -- beta of the lowpass filter. Should be in the range of -1 to 1.
+      <emphasis>kbeta</emphasis> -- beta of the lowpass filter. Should
+      be in the range of -1 to 1, exclusive of the end-points.
     </para>
 
     <para>
@@ -94,8 +95,6 @@
         <member>December 2000</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
-
     <para>New in Csound version 4.10</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/notequal.xml b/opcodes/notequal.xml
index 2e1fe7e..6bd1e3d 100644
--- a/opcodes/notequal.xml
+++ b/opcodes/notequal.xml
@@ -61,21 +61,14 @@
     <title>Examples</title>
     <para>
       Here is an example of the != operator. It uses the file <ulink url="examples/notequal.csd"><citetitle>notequal.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the != operator.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/notequal.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
       Its output should include lines like this:
       <screen>
-k1 = 2.000000, k2 = 1.000000
-k1 = 3.000000, k2 = 0.000000
-k1 = 4.000000, k2 = 1.000000</screen>
+instr 1:  ipch = 277.167</screen>
     </para>
   </refsect1>
 
@@ -90,8 +83,4 @@ k1 = 4.000000, k2 = 1.000000</screen>
     </para>
   </refsect1>
 
-  <refsect1>
-    <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
-  </refsect1>
 </refentry>
diff --git a/opcodes/notnum.xml b/opcodes/notnum.xml
index 8c5fe16..2e3d19b 100644
--- a/opcodes/notnum.xml
+++ b/opcodes/notnum.xml
@@ -39,18 +39,11 @@
     <title>Examples</title>
     <para>
       Here is an example of the notnum opcode. It uses the file <ulink url="examples/notnum.csd"><citetitle>notnum.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the notnum opcode.</title>
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/notnum.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-      Here is an example of the notnum opcode used to produce audio output. It uses the file <ulink url="examples/notnum_complex.csd"><citetitle>notnum_complex.csd</citetitle></ulink>
-      <example>
-        <title>Complex example of the notnum opcode.</title>
-        <xi:include href="examples-xml/notnum_complex.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
     </para>
   </refsect1>
 
@@ -80,6 +73,6 @@
         <member>May 1997</member>
       </simplelist>
     </para>
-    <para>Examples written by &namekevin; and David Akbari.</para>
+    <para>Example written by David Akbari.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/nrpn.xml b/opcodes/nrpn.xml
index 4cbdb97..bf8dd41 100644
--- a/opcodes/nrpn.xml
+++ b/opcodes/nrpn.xml
@@ -48,6 +48,19 @@
   </refsect1>
  
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the nrpn opcode. It uses the file <ulink url="examples/nrpn.csd"><citetitle>nrpn.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the nrpn opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <para>This example generates notes for every note received on the MIDI input. It generates MIDI notes on csound's MIDI output, so be sure to connect something.</para>
+          <xi:include href="examples-xml/nrpn.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
     <title>Credits</title>
     <para>
       <simplelist>
diff --git a/opcodes/nsamp.xml b/opcodes/nsamp.xml
index 8dc68c3..69a3976 100644
--- a/opcodes/nsamp.xml
+++ b/opcodes/nsamp.xml
@@ -42,17 +42,16 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the nsamp opcode. It uses the file <ulink url="examples/nsamp.csd"><citetitle>nsamp.csd</citetitle></ulink>, and <ulink url="examples/mary.wav"><citetitle>mary.wav</citetitle></ulink>.
-
+      Here is an example of the nsamp opcode. It uses the file <ulink url="examples/nsamp.csd"><citetitle>nsamp.csd</citetitle></ulink>, <ulink url="examples/kickroll.wav"><citetitle>kickroll.wav</citetitle></ulink>. and <ulink url="examples/fox.wav"><citetitle>fox.wav</citetitle></ulink>.
       <example>
         <title>Example of the nsamp opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/nsamp.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-      Since the audio file <quote>mary.wav</quote> has 154390 samples, its output should include a line like this:
+      Since the stereo audio file <quote>kickroll.wav</quote> has 37792 samples and the mono file <quote>fox.wav</quote> has 121569 samples, its output should include lines like these:
       <screen>
-instr 1:  isz = 154390.000</screen>
+actual numbers of samples = 37792
+actual numbers of samples = 121569</screen>
     </para>
   </refsect1>
 
@@ -75,6 +74,5 @@ instr 1:  isz = 154390.000</screen>
         <member>October 1998</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/ntrpol.xml b/opcodes/ntrpol.xml
index 346fecf..1e33992 100644
--- a/opcodes/ntrpol.xml
+++ b/opcodes/ntrpol.xml
@@ -62,6 +62,18 @@
   </refsect1>
  
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the ntrpol opcode. It uses the file <ulink url="examples/ntrpol.csd"><citetitle>ntrpol.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the ntrpol opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/ntrpol.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+  <refsect1>
     <title>Credits</title>
     <para>
       <simplelist>
diff --git a/opcodes/octave.xml b/opcodes/octave.xml
index 34dc7fd..a2cd40f 100644
--- a/opcodes/octave.xml
+++ b/opcodes/octave.xml
@@ -49,21 +49,24 @@
     <title>Examples</title>
     <para>
       Here is an example of the octave opcode. It uses the file <ulink url="examples/octave.csd"><citetitle>octave.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the octave opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/octave.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
 
       Its output should include lines like:
       <screen>
-instr 1:  iroot = 440.000
-instr 1:  ifactor = 4.000
-instr 1:  inew = 1760.149</screen>
+ i1  3520.00000
+ i1  1760.00000
+ i1   880.00000
+ i1   440.00000
+ i1  7040.00000
+ i1  3520.00000
+ i1  1760.00000
+ i1   880.00000
+ i1   440.00000
+ .......</screen>
     </para>
   </refsect1>
 
@@ -78,7 +81,6 @@ instr 1:  inew = 1760.149</screen>
 
   <refsect1>
     <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
     <para>New in version 4.16</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/opand.xml b/opcodes/opand.xml
index f00a7cc..343815e 100644
--- a/opcodes/opand.xml
+++ b/opcodes/opand.xml
@@ -62,6 +62,29 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the Logical AND operator. It uses the file <ulink url="examples/opand.csd"><citetitle>opand.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the opand opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/opand.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+      Its output should include lines like these:
+      <screen>
+ i1     0.00000
+ i1     3.00000
+ i1     1.00000
+ i1     3.00000
+ i1     1.00000
+ i1     2.00000
+ i1     3.00000
+.....
+      </screen>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="subtracts"><citetitle>-</citetitle></link>, 
diff --git a/opcodes/opcode.xml b/opcodes/opcode.xml
index a7dd93f..cf200e2 100644
--- a/opcodes/opcode.xml
+++ b/opcodes/opcode.xml
@@ -88,7 +88,7 @@
     </para>
 
     <para>
-      <emphasis>intypes</emphasis> -- list of input types, any combination of the characters: a, k, K, i, o, p, and j. A single 0 character can be used if there are no input arguments. Double quotes and delimiter characters (e.g. comma) are <emphasis>not</emphasis> needed.
+      <emphasis>intypes</emphasis> -- list of input types, any combination of the characters: a, k, O, P, V, K, i, o, p, and j. A single 0 character can be used if there are no input arguments. Double quotes and delimiter characters (e.g. comma) are <emphasis>not</emphasis> needed.
     </para>
 
     <para>
@@ -134,6 +134,27 @@
               <entry>k-rate</entry>
             </row>
 
+           <row>
+              <entry>O</entry>
+              <entry>optional k-rate variable, defaults to 0</entry>
+              <entry>k- and i-rate, constant</entry>
+              <entry>k-rate</entry>
+            </row>
+
+             <row>
+              <entry>P</entry>
+              <entry>optional k-rate variable, defaults to 1</entry>
+              <entry>k- and i-rate, constant</entry>
+              <entry>k-rate</entry>
+            </row>
+
+            <row>
+              <entry>V</entry>
+              <entry>optional k-rate variable, defaults to 0.5</entry>
+              <entry>k- and i-rate, constant</entry>
+              <entry>k-rate</entry>
+            </row>
+
             <row>
               <entry>K</entry>
               <entry>k-rate with initialization</entry>
diff --git a/opcodes/opi.xml b/opcodes/opi.xml
index 08bd8f7..51fbf99 100644
--- a/opcodes/opi.xml
+++ b/opcodes/opi.xml
@@ -12,20 +12,20 @@
     <refname>i</refname>
 
     <refpurpose>
-      Returns an init-type equivalent of a k-rate argument.
+      Returns an init-type equivalent of a k-rate argument, or directly returns an i-rate argument.
           </refpurpose>
   </refnamediv>
 
   <refsect1>
     <title>Description</title>
     <para>
-      Returns an init-type equivalent of a k-rate argument.
+      Returns an init-type equivalent of a k-rate argument, or directly returns an i-rate argument.
     </para>
   </refsect1>
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis><command>i</command>(x) (control-rate args only)</synopsis>
+    <synopsis><command>i</command>(x) (control-rate or init-rate arg)</synopsis>
 
     <para>
       Value converters perform arithmetic translation from units of one kind to units of another. The result can then be a term in a further expression.
@@ -49,5 +49,12 @@
       <link linkend="log10"><citetitle>log10</citetitle></link>,
       <link linkend="sqrt"><citetitle>sqrt</citetitle></link>
     </para>
+        <para> More information on this opcode: <ulink url="http://www.csounds.com/journal/issue10/CsoundRates.html"><citetitle>http://www.csounds.com/journal/issue10/CsoundRates.html</citetitle></ulink>  , written by Andrés Cabrera </para>
   </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>i-rate arg version of function new since 5.14</para>
+  </refsect1>
+
 </refentry>
diff --git a/opcodes/opk.xml b/opcodes/opk.xml
index 36cedbf..425e7d1 100644
--- a/opcodes/opk.xml
+++ b/opcodes/opk.xml
@@ -13,7 +13,8 @@
 
     <refpurpose>
       Converts a i-rate parameter to an k-rate value.
-          </refpurpose>
+      Or converts an a-rate value to a k-rate value by down-sampling.
+    </refpurpose>
   </refnamediv>
 
   <refsect1>
@@ -28,9 +29,13 @@
   <refsect1>
     <title>Syntax</title>
     <synopsis><command>k</command>(x) (i-rate args only)</synopsis>
+    <synopsis><command>k</command>(x) (a-rate args only)</synopsis>
 
     <para>
-      where the argument within the parentheses may be an expression. Value converters perform arithmetic translation from units of one kind to units of another. The result can then be a term in a further expression.
+      where the argument within the parentheses may be an
+      expression. Value converters perform arithmetic translation from
+      units of one kind to units of another. The result can then be a
+      term in a further expression. 
     </para>
   </refsect1>
 
@@ -41,11 +46,15 @@
       <link linkend="opi"><citetitle>i</citetitle></link>
       <link linkend="opa"><citetitle>a</citetitle></link>
     </para>
+            <para> More information on this opcode: <ulink url="http://www.csounds.com/journal/issue10/CsoundRates.html"><citetitle>http://www.csounds.com/journal/issue10/CsoundRates.html</citetitle></ulink>  , written by Andrés Cabrera </para>
   </refsect1>
 
   <refsect1>
     <title>Credits</title>
-    <para>Author: Istvan Varga</para>
+    <para>Author: &nameistvan;</para>
     <para>New in version Csound 5.00</para>
+    <para>Author: &namejohn;</para>
+    <para>arate to krate new in version Csound 6.00</para>
+
   </refsect1>
 </refentry>
diff --git a/opcodes/opor.xml b/opcodes/opor.xml
index bbf5fbd..f7e6044 100644
--- a/opcodes/opor.xml
+++ b/opcodes/opor.xml
@@ -74,6 +74,37 @@ a - b - c
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the | operator. It uses the file <ulink url="examples/logicOR.csd"><citetitle>logicOR.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the | operator.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/logicOR.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+      Its output should include a line like these:
+      <screen>
+Value:127 ChanNo:11 CtrlNo:62
+Value:127 ChanNo:11 CtrlNo:60
+Value:127 ChanNo:11 CtrlNo:60
+Value:127 ChanNo:11 CtrlNo:60
+Value:127 ChanNo:11 CtrlNo:60
+....
+Value:0 ChanNo:11 CtrlNo:62
+Value:0 ChanNo:11 CtrlNo:62
+Value:0 ChanNo:11 CtrlNo:62
+Value:0 ChanNo:11 CtrlNo:62
+....
+Value:77 ChanNo:11 CtrlNo:23
+Value:77 ChanNo:11 CtrlNo:23
+Value:76 ChanNo:11 CtrlNo:23
+Value:76 ChanNo:11 CtrlNo:23
+....</screen>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="subtracts"><citetitle>-</citetitle></link>, 
diff --git a/opcodes/oscil.xml b/opcodes/oscil.xml
index 9f9983d..a21ea2d 100644
--- a/opcodes/oscil.xml
+++ b/opcodes/oscil.xml
@@ -21,14 +21,16 @@
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis>ares <command>oscil</command> xamp, xcps, ifn [, iphs]</synopsis>
-    <synopsis>kres <command>oscil</command> kamp, kcps, ifn [, iphs]</synopsis>
+    <synopsis>ares <command>oscil</command> xamp, xcps [, ifn, iphs]</synopsis>
+    <synopsis>kres <command>oscil</command> kamp, kcps [, ifn, iphs]</synopsis>
   </refsect1>
 
   <refsect1>
     <title>Initialization</title>
     <para>
-      <emphasis>ifn</emphasis> -- function table number. Requires a wrap-around guard point.
+      <emphasis>ifn</emphasis> -- (optional) function table
+      number. Requires a wrap-around guard point. The table number
+      defaults to -1 which indicates a sinewave.
     </para>
 
     <para>
diff --git a/opcodes/oscil1.xml b/opcodes/oscil1.xml
index 233acf7..852d4ca 100644
--- a/opcodes/oscil1.xml
+++ b/opcodes/oscil1.xml
@@ -22,7 +22,7 @@
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis>kres <command>oscil1</command> idel, kamp, idur, ifn</synopsis>
+    <synopsis>kres <command>oscil1</command> idel, kamp, idur [, ifn]</synopsis>
   </refsect1>
 
   <refsect1>
@@ -36,7 +36,10 @@
     </para>
 
     <para>
-      <emphasis>ifn</emphasis> -- function table number. <emphasis>tablei, oscil1i</emphasis> require the extended guard point.
+      <emphasis>ifn</emphasis> -- (optional) function table
+      number. <emphasis>tablei, oscil1i</emphasis> require the
+      extended guard point.  The number defaults to -1 which indicates
+      a sinewave.
     </para>
 
   </refsect1>
@@ -51,6 +54,31 @@
       <emphasis>oscil1</emphasis> accesses values by sampling once through the function table at a rate determined by <emphasis>idur</emphasis>. For the first <emphasis>idel</emphasis> seconds, the point of scan will reside at the first location of the table; it will then begin moving through the table at a constant rate, reaching the end in another <emphasis>idur</emphasis> seconds; from that time on (i.e. after <emphasis>idel</emphasis> + <emphasis>idur</emphasis> seconds) it will remain pointing at the last location. Each value obtained from sampling is then multiplied by an amplitude factor <emphasis>kamp</emphasis> before being written into the result.
     </para>
   </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the oscil1 opcode. It uses the file <ulink url="examples/oscil1.csd"><citetitle>oscil1.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the oscil1 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/oscil1i.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+     </para>
+              <para>
+      The example will produce the following output:
+      <screen>
+ i1     0.50000
+ i1     0.20000
+ i1     0.80000
+ i1     0.10000
+ i1     0.90000
+ i1     0.00000
+ i1     1.00000
+ i1     0.50000
+      </screen>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/oscil1i.xml b/opcodes/oscil1i.xml
index f35f6e1..6846668 100644
--- a/opcodes/oscil1i.xml
+++ b/opcodes/oscil1i.xml
@@ -22,7 +22,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>kres <command>oscil1i</command> idel, kamp, idur, ifn</synopsis>
+    <synopsis>kres <command>oscil1i</command> idel, kamp, idur [, ifn]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -36,7 +36,9 @@
     </para>
 
     <para>
-      <emphasis>ifn</emphasis> -- function table number. <emphasis>oscil1i</emphasis> requires the extended guard point.
+      <emphasis>ifn</emphasis> -- (optional) function table
+      number. <emphasis>oscil1i</emphasis> requires the extended guard
+      point.  The default value is -1 indicating a sine wave.
     </para>
   </refsect1>
  
@@ -50,6 +52,18 @@
       <emphasis>oscil1i</emphasis> is an interpolating unit in which the fractional part of index is used to interpolate between adjacent table entries. The smoothness gained by interpolation is at some small cost in execution time (see also <link linkend="oscili"><citetitle>oscili</citetitle></link>, etc.), but the interpolating and non-interpolating units are otherwise interchangeable. 
     </para>
   </refsect1>
+  
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the oscil1i opcode. It uses the file <ulink url="examples/oscil1i.csd"><citetitle>oscil1i.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the oscil1i opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/oscil1i.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/oscil3.xml b/opcodes/oscil3.xml
index c0ce0df..5ab9448 100644
--- a/opcodes/oscil3.xml
+++ b/opcodes/oscil3.xml
@@ -22,15 +22,17 @@
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis>ares <command>oscil3</command> xamp, xcps, ifn [, iphs]</synopsis>
+    <synopsis>ares <command>oscil3</command> xamp, xcps [, ifn, iphs]</synopsis>
 
-    <synopsis>kres <command>oscil3</command> kamp, kcps, ifn [, iphs]</synopsis>
+    <synopsis>kres <command>oscil3</command> kamp, kcps [, ifn, iphs]</synopsis>
   </refsect1>
 
   <refsect1>
     <title>Initialization</title>
     <para>
-      <emphasis>ifn</emphasis> -- function table number. Requires a wrap-around guard point.
+      <emphasis>ifn</emphasis> (optional) -- function table
+      number. Requires a wrap-around guard point.  Defaults to -1
+      indicating a sinewave.
     </para>
 
     <para>
@@ -84,7 +86,6 @@
   <refsect1>
     <title>Credits</title>
     <para>Author: &namejohn;</para>
-    <para>Example written by &namekevin;.</para>
     <para>New in Csound version 3.50</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/oscili.xml b/opcodes/oscili.xml
index d441de8..7c86431 100644
--- a/opcodes/oscili.xml
+++ b/opcodes/oscili.xml
@@ -82,6 +82,5 @@
 
   <refsect1>
     <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/osciln.xml b/opcodes/osciln.xml
index 871dc87..a27aa50 100644
--- a/opcodes/osciln.xml
+++ b/opcodes/osciln.xml
@@ -48,6 +48,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the osciln opcode. It uses the file <ulink url="examples/osciln.csd"><citetitle>osciln.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the osciln opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/osciln.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="table"><citetitle>table</citetitle></link>,
diff --git a/opcodes/oscils.xml b/opcodes/oscils.xml
index 6037813..8ed86d9 100644
--- a/opcodes/oscils.xml
+++ b/opcodes/oscils.xml
@@ -90,8 +90,6 @@
         <member>January 2002</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
-
     <para>New in version 4.18</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/out.xml b/opcodes/out.xml
index 3102ffa..f7f2f27 100644
--- a/opcodes/out.xml
+++ b/opcodes/out.xml
@@ -11,26 +11,28 @@
   <refnamediv>
     <refname>out</refname>
     <refpurpose>
-      Writes mono audio data to an external device or stream.
-          </refpurpose>
+      Writes audio data to an external device or stream.
+    </refpurpose>
   </refnamediv>
  
   <refsect1>
     <title>Description</title>
     <para>
-      Writes mono audio data to an external device or stream.
+      Writes audio data to an external device or stream, either from
+      audio variables or from an audio array.
     </para>
   </refsect1>
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis><command>out</command> asig</synopsis>
+    <synopsis><command>out</command> asig1[, asig2,....]</synopsis>
+    <synopsis><command>out</command> aarray</synopsis>
   </refsect1>
  
   <refsect1>
     <title>Performance</title>
     <para>
-      Sends mono audio samples to an accumulating output buffer
+      Sends audio samples to an accumulating output buffer
       (created at the beginning of performance) which serves to
       collect the output of all active instruments before the sound is
       written to disk. There can be any number of these output units
@@ -46,6 +48,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the out opcode. It uses the file <ulink url="examples/out.csd"><citetitle>out.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the out opcode.</title>      
+     <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/out.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="outh"><citetitle>outh</citetitle></link>,
@@ -69,8 +83,11 @@
         <member>Author: &namebarry;, &namematt;/&namemike;</member>
         <member>MIT, Mills College</member>
         <member>1993-1997</member>
-      </simplelist>
+        <member>Author: &namejohn;</member>
+        <member>NUIM, 2013</member>
+       </simplelist>
     </para>
     <para>Original in Csound v1</para>
+    <para>Aray version in 6.01</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/outc.xml b/opcodes/outc.xml
index c0cd7ae..6823648 100644
--- a/opcodes/outc.xml
+++ b/opcodes/outc.xml
@@ -33,6 +33,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the outc opcode. It uses the file <ulink url="examples/outc.csd"><citetitle>outc.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the outc opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/outc.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="out32"><citetitle>out32</citetitle></link>,
diff --git a/opcodes/outch.xml b/opcodes/outch.xml
index 709abaf..ed58211 100644
--- a/opcodes/outch.xml
+++ b/opcodes/outch.xml
@@ -33,8 +33,36 @@
     <note>
       <para>
         The highest number for <emphasis>kchanX</emphasis> available for use with <emphasis>outch</emphasis> depends on <link linkend="nchnls"><citetitle>nchnls</citetitle></link>. If <emphasis>kchanX</emphasis> is greater than <emphasis>nchnls</emphasis>, <emphasis>asigX</emphasis> will be silent. Note that <emphasis>outch</emphasis> will give a warning but not an error in this case.
-      </para>
-    </note>
+     </para>
+   </note>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the outch opcode. It uses the file <ulink url="examples/outch.csd"><citetitle>outch.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the outch opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/outch.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+            <screen>
+signal is sent to channel 5
+signal is sent to channel 4
+signal is sent to channel 3
+signal is sent to channel 2
+signal is sent to channel 1
+signal is sent to channel 5
+........
+      </screen>
+    </para>
+        <para>
+      Here is another example of the outch opcode. It uses the file <ulink url="examples/outch.csd"><citetitle>outch-2.csd</citetitle></ulink>.
+      <example>
+        <title>Another example of the outch opcode.</title>
+          <xi:include href="examples-xml/outch-2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
   </refsect1>
 
   <refsect1>
@@ -45,6 +73,7 @@
       <link linkend="outx"><citetitle>outx</citetitle></link>,
       <link linkend="outz"><citetitle>outz</citetitle></link>
     </para>
+    <para> More information on this opcode: <ulink url="http://www.csounds.com/journal/issue16/audiorouting.html"><citetitle>http://www.csounds.com/journal/issue16/audiorouting.html</citetitle></ulink>  , written by Andreas Russo </para>
   </refsect1>
  
   <refsect1>
@@ -57,7 +86,6 @@
         <member>May 2000</member>
       </simplelist>
     </para>
-
     <para>New in Csound Version 4.07</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/outiat.xml b/opcodes/outiat.xml
index 1d81805..75f3e79 100644
--- a/opcodes/outiat.xml
+++ b/opcodes/outiat.xml
@@ -57,7 +57,19 @@
       It can scale an i-value floating-point argument according to the <emphasis>imin</emphasis> and <emphasis>imax</emphasis> values. For example, set <emphasis>imin</emphasis> = 1.0 and <emphasis>imax</emphasis> = 2.0. When the <emphasis>ivalue</emphasis> argument receives a 2.0 value, the opcode will send a 127 value to the MIDI OUT device. When the <emphasis>ivalue</emphasis> argument receives a 1.0 value, it will send a 0 value. i-rate opcodes send their message once during instrument initialization.
     </para>
   </refsect1>
-
+  
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the outiat opcode. It uses the file <ulink url="examples/outiat.csd"><citetitle>outiat.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the outiat opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/outiat.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/outic.xml b/opcodes/outic.xml
index aa06651..80e2ce9 100644
--- a/opcodes/outic.xml
+++ b/opcodes/outic.xml
@@ -63,6 +63,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the outic opcode. It uses the file <ulink url="examples/outic.csd"><citetitle>outic.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the outic opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/outic.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="outiat"><citetitle>outiat</citetitle></link>,
diff --git a/opcodes/outipb.xml b/opcodes/outipb.xml
index 0f83689..9085caf 100644
--- a/opcodes/outipb.xml
+++ b/opcodes/outipb.xml
@@ -61,6 +61,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the outipb opcode. It uses the file <ulink url="examples/outipb.csd"><citetitle>outipb.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the outipb opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/outipb.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="outiat"><citetitle>outiat</citetitle></link>,
diff --git a/opcodes/outipc.xml b/opcodes/outipc.xml
index 6dadd14..85ff5e8 100644
--- a/opcodes/outipc.xml
+++ b/opcodes/outipc.xml
@@ -60,6 +60,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the outipc opcode. It uses the file <ulink url="examples/outipc.csd"><citetitle>outipc.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the outipc opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/outipc.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="outiat"><citetitle>outiat</citetitle></link>,
diff --git a/opcodes/outkat.xml b/opcodes/outkat.xml
index 21fbf71..f9e05c2 100644
--- a/opcodes/outkat.xml
+++ b/opcodes/outkat.xml
@@ -54,7 +54,19 @@
       It can scale the k-value floating-point argument according to the <emphasis>kmin</emphasis> and <emphasis>kmax</emphasis> values. For example: set <emphasis>kmin</emphasis> = 1.0 and <emphasis>kmax</emphasis> = 2.0. When the <emphasis>kvalue</emphasis> argument receives a 2.0 value, the opcode will send a 127 value to the MIDI OUT device. When the <emphasis>kvalue</emphasis> argument receives a 1.0 value, it will send a 0 value. k-rate opcodes send a message each time the MIDI converted value of argument <emphasis>kvalue</emphasis> changes.
     </para>
   </refsect1>
-
+  
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the outkat opcode. It uses the file <ulink url="examples/outkat.csd"><citetitle>outkat.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the outkat opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/outkat.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/outkc.xml b/opcodes/outkc.xml
index 56725da..fbc9c70 100644
--- a/opcodes/outkc.xml
+++ b/opcodes/outkc.xml
@@ -61,6 +61,18 @@ When the <emphasis>kvalue</emphasis> argument receives a 2.0 value, the opcode w
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the outkc opcode. It uses the file <ulink url="examples/outkc.csd"><citetitle>outkc.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the outkc opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/outkc.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="outiat"><citetitle>outiat</citetitle></link>,
diff --git a/opcodes/outkpb.xml b/opcodes/outkpb.xml
index 19da1d4..e2af073 100644
--- a/opcodes/outkpb.xml
+++ b/opcodes/outkpb.xml
@@ -57,6 +57,18 @@ When the <emphasis>kvalue</emphasis> argument receives a 2.0 value, the opcode w
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the outkpb opcode. It uses the file <ulink url="examples/outkpb.csd"><citetitle>outkpb.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the outkpb opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/outkpb.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="outiat"><citetitle>outiat</citetitle></link>,
diff --git a/opcodes/outleta.xml b/opcodes/outleta.xml
index 1060798..6a5b712 100644
--- a/opcodes/outleta.xml
+++ b/opcodes/outleta.xml
@@ -48,17 +48,32 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the outleta opcode. It uses the file <ulink url="examples/outleta.csd"><citetitle>outleta.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the outleta opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/outleta.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="outletk"><citetitle>outletk</citetitle></link>
+      <link linkend="outletkid"><citetitle>outletkid</citetitle></link>
       <link linkend="outletf"><citetitle>outletf</citetitle></link>
       <link linkend="inleta"><citetitle>inleta</citetitle></link>
       <link linkend="inletk"><citetitle>inletk</citetitle></link>
+      <link linkend="inletkid"><citetitle>inletkid</citetitle></link>
       <link linkend="inletf"><citetitle>inletf</citetitle></link>
       <link linkend="connect"><citetitle>connect</citetitle></link>
       <link linkend="alwayson"><citetitle>alwayson</citetitle></link>
       <link linkend="ftgenonce"><citetitle>ftgenonce</citetitle></link>
     </para>
+            <para> More information on this opcode: <ulink url="http://www.csounds.com/journal/issue13/signalFlowGraphOpcodes.html"><citetitle>http://www.csounds.com/journal/issue13/signalFlowGraphOpcodes.html</citetitle></ulink>  , written by Michael Gogins </para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/outletf.xml b/opcodes/outletf.xml
index 8760eb4..334f23a 100644
--- a/opcodes/outletf.xml
+++ b/opcodes/outletf.xml
@@ -52,8 +52,10 @@
     <para>
       <link linkend="outleta"><citetitle>outleta</citetitle></link>
       <link linkend="outletk"><citetitle>outletk</citetitle></link>
+      <link linkend="outletkid"><citetitle>outletkid</citetitle></link>
       <link linkend="inleta"><citetitle>inleta</citetitle></link>
       <link linkend="inletk"><citetitle>inletk</citetitle></link>
+      <link linkend="inletkid"><citetitle>inletkid</citetitle></link>
       <link linkend="inletf"><citetitle>inletf</citetitle></link>
       <link linkend="connect"><citetitle>connect</citetitle></link>
       <link linkend="alwayson"><citetitle>alwayson</citetitle></link>
diff --git a/opcodes/outletk.xml b/opcodes/outletk.xml
index 91d2520..bb387f0 100644
--- a/opcodes/outletk.xml
+++ b/opcodes/outletk.xml
@@ -48,17 +48,32 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the outletk opcode. It uses the file <ulink url="examples/outletk.csd"><citetitle>outletk.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the outletk opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/outletk.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="outleta"><citetitle>outleta</citetitle></link>
       <link linkend="outletf"><citetitle>outletf</citetitle></link>
+      <link linkend="outletkid"><citetitle>outletkid</citetitle></link>
       <link linkend="inleta"><citetitle>inleta</citetitle></link>
       <link linkend="inletk"><citetitle>inletk</citetitle></link>
+      <link linkend="inletkid"><citetitle>inletkid</citetitle></link>
       <link linkend="inletf"><citetitle>inletf</citetitle></link>
       <link linkend="connect"><citetitle>connect</citetitle></link>
       <link linkend="alwayson"><citetitle>alwayson</citetitle></link>
       <link linkend="ftgenonce"><citetitle>ftgenonce</citetitle></link>
     </para>
+            <para> More information on this opcode: <ulink url="http://www.csounds.com/journal/issue13/signalFlowGraphOpcodes.html"><citetitle>http://www.csounds.com/journal/issue13/signalFlowGraphOpcodes.html</citetitle></ulink>  , written by Michael Gogins </para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/outletkid.xml b/opcodes/outletkid.xml
new file mode 100644
index 0000000..f81429e
--- /dev/null
+++ b/opcodes/outletkid.xml
@@ -0,0 +1,81 @@
+<refentry id="outletkid">
+<indexterm id="Indexoutletkid"><primary>outletkid</primary></indexterm>
+  <refentryinfo><title>Signal Flow Graph Opcodes</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>outletkid</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>outletkid</refname>
+    <refpurpose>
+      Sends a krate signal out from an instrument to a named port.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Sends a krate signal out from an instrument to a named port. 
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>outletkid </command>Sname, SinstanceID, ksignal</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>Sname</emphasis> -- String name of the outlet port.       
+      The name of the outlet is implicitly qualified by the instrument name 
+      or number, so it is valid to use the same outlet name in more than one 
+      instrument (but not to use the same outlet name twice in one instrument).
+    </para>
+    <para>
+      <emphasis>SinstanceID</emphasis> -- String name of the outlet port's 
+      instance ID. This enables the inlet to discriminate between different 
+      instances of the outlet, e,g. one instance of the outlet might be created by a note 
+      specifying one instance ID, and another instance might be created by a note 
+      specifying another ID. This might be used, e.g., to situate difference instances 
+      of an instrument at different points in an Ambisonic space in a spatializing 
+      effects processor.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>ksignal</emphasis> -- krate output signal
+    </para>
+
+    <para>
+      During performance, the krate output signal is sent to each instance of an instrument
+      containing an inlet port to which this outlet has been connected using the 
+      <link linkend="connect">connect</link> opcode.
+      The signals of all the outlets connected to an inlet, but only those 
+      that have a matching instance ID, are summed in the inlet.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="outleta"><citetitle>outleta</citetitle></link>
+      <link linkend="outletf"><citetitle>outletf</citetitle></link>
+      <link linkend="inleta"><citetitle>inleta</citetitle></link>
+      <link linkend="inletk"><citetitle>inletk</citetitle></link>
+      <link linkend="inletkid"><citetitle>inletkid</citetitle></link>
+      <link linkend="inletf"><citetitle>inletf</citetitle></link>
+      <link linkend="connect"><citetitle>connect</citetitle></link>
+      <link linkend="alwayson"><citetitle>alwayson</citetitle></link>
+      <link linkend="ftgenonce"><citetitle>ftgenonce</citetitle></link>
+    </para>
+            <para> More information on this opcode: <ulink url="http://www.csounds.com/journal/issue13/signalFlowGraphOpcodes.html"><citetitle>http://www.csounds.com/journal/issue13/signalFlowGraphOpcodes.html</citetitle></ulink>  , written by Michael Gogins </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>By: &namemichael; 2009</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/outq.xml b/opcodes/outq.xml
index 56045bc..a932139 100644
--- a/opcodes/outq.xml
+++ b/opcodes/outq.xml
@@ -39,6 +39,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the outq opcode. It uses the file <ulink url="examples/outq.csd"><citetitle>outq.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the outq opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/outq.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="out"><citetitle>out</citetitle></link>,
diff --git a/opcodes/outq1.xml b/opcodes/outq1.xml
index b9fc7d1..3235a57 100644
--- a/opcodes/outq1.xml
+++ b/opcodes/outq1.xml
@@ -39,6 +39,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the outq1 opcode. It uses the file <ulink url="examples/outq1.csd"><citetitle>outq1.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the outq1 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/outq1.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="out"><citetitle>out</citetitle></link>,
diff --git a/opcodes/outq2.xml b/opcodes/outq2.xml
index 3189633..c2b2a0a 100644
--- a/opcodes/outq2.xml
+++ b/opcodes/outq2.xml
@@ -39,6 +39,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the outq2 opcode. It uses the file <ulink url="examples/outq2.csd"><citetitle>outq2.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the outq2 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/outq2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="out"><citetitle>out</citetitle></link>,
diff --git a/opcodes/outq3.xml b/opcodes/outq3.xml
index 3db2080..db3fcf9 100644
--- a/opcodes/outq3.xml
+++ b/opcodes/outq3.xml
@@ -39,6 +39,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the outq3 opcode. It uses the file <ulink url="examples/outq3.csd"><citetitle>outq3.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the outq3 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/outq3.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="out"><citetitle>out</citetitle></link>,
diff --git a/opcodes/outq4.xml b/opcodes/outq4.xml
index f729da1..ac9f044 100644
--- a/opcodes/outq4.xml
+++ b/opcodes/outq4.xml
@@ -39,6 +39,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the outq4 opcode. It uses the file <ulink url="examples/outq4.csd"><citetitle>outq4.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the outq4 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/outq4.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="out"><citetitle>out</citetitle></link>,
diff --git a/opcodes/outrg.xml b/opcodes/outrg.xml
index 901b60b..53029de 100644
--- a/opcodes/outrg.xml
+++ b/opcodes/outrg.xml
@@ -45,27 +45,35 @@
       <emphasis>outrg</emphasis> allows to output a range of adjacent channels to the output device. <emphasis>kstart</emphasis> indicates the first channel to be accessed (channel 1 is the first channel). The user must be sure that the number obtained by summing kstart plus the number of accessed channels -1 is <= <link linkend="nchnls"><citetitle>nchnls</citetitle></link>.
     </para>
   </refsect1>
-<!--
+
   <refsect1>
     <title>Examples</title>
     <para>
       Here is an example of the outrg opcode. It uses the file <ulink url="examples/outrg.csd"><citetitle>outrg.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the outrg opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/outrg.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
+        Its output should include lines like these:
+      <screen>
+speaker 1 position 0.000200
+speaker 1 position 0.000400
+speaker 1 position 0.000600
+.....
+speaker 1 position 1.000000
+speaker 2 position 0.000000
+speaker 2 position 0.000200
+....
+speaker 2 position 0.999800
+speaker 3 position 0.000000
+speaker 3 position 0.000200
+....
+speaker 3 position 0.999600
+speaker 4 position 0.000000
+.....</screen>
     </para>
-  </refsect1>-->
-<!--  <refsect1>
-    <title>See Also</title>
-    <para>
-      <link linkend="lposcil"><citetitle>lposcil</citetitle></link>,
-      <link linkend="lposcila"><citetitle>lposcila</citetitle></link>,
-      <link linkend="outrg2"><citetitle>outrg2</citetitle></link>
-    </para>
-  </refsect1>-->
+  </refsect1>
 
   <refsect1>
     <title>Credits</title>
diff --git a/opcodes/outs.xml b/opcodes/outs.xml
index f8e827b..dfa76b6 100644
--- a/opcodes/outs.xml
+++ b/opcodes/outs.xml
@@ -39,6 +39,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the outs opcode. It uses the file <ulink url="examples/outs.csd"><citetitle>outs.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the outs opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/outs.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="out"><citetitle>out</citetitle></link>,
diff --git a/opcodes/outs1.xml b/opcodes/outs1.xml
index 9134ea3..ad7e7c0 100644
--- a/opcodes/outs1.xml
+++ b/opcodes/outs1.xml
@@ -39,6 +39,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the outs1 opcode. It uses the file <ulink url="examples/outs1.csd"><citetitle>outs1.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the outs1 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/outs1.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="out"><citetitle>out</citetitle></link>,
diff --git a/opcodes/outs2.xml b/opcodes/outs2.xml
index 8e3b5c3..6f6eda6 100644
--- a/opcodes/outs2.xml
+++ b/opcodes/outs2.xml
@@ -39,6 +39,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the outs2 opcode. It uses the file <ulink url="examples/outs2.csd"><citetitle>outs2.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the outs2 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/outs2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="out"><citetitle>out</citetitle></link>,
diff --git a/opcodes/outvalue.xml b/opcodes/outvalue.xml
index e04d2f5..317a923 100644
--- a/opcodes/outvalue.xml
+++ b/opcodes/outvalue.xml
@@ -33,17 +33,25 @@
     <para>
       <emphasis>"channel name"</emphasis> -- An integer or string (in double-quotes) representing channel.
     </para>
-
     <para>
       <emphasis>kvalue</emphasis> -- The k-rate value that is sent to the channel.
     </para>
-
-
-
     <para>
       <emphasis>string</emphasis> -- The string or string variable that is sent to the channel.
     </para>
   </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the outvalue opcode. It uses the file <ulink url="examples/outvalue.csd"><citetitle>outvalue.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the outvalue opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/outvalue.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/pan.xml b/opcodes/pan.xml
index 771e468..99f9a28 100644
--- a/opcodes/pan.xml
+++ b/opcodes/pan.xml
@@ -54,22 +54,17 @@
       <emphasis>kx, ky</emphasis> values are not restricted to 0 - 1. A circular motion passing through all four speakers (inscribed) would have a diameter of root 2, and might be defined by a circle of radius R = root 1/2 with center at (.5,.5). <emphasis>kx, ky</emphasis> would then come from Rcos(angle), Rsin(angle), with an implicit origin at (.5,.5) (i.e. <emphasis>ioffset</emphasis> = 1). Unscaled raw values operate similarly. Sounds can thus be located anywhere in the polar or Cartesian plane; points lying outside the speaker square are projected correctly onto the square's perimeter as for a listener at the center.
     </para>
   </refsect1>
- 
+
   <refsect1>
-    <title>Examples</title>
+    <title>Example</title>
     <para>
-      <informalexample>
-        <programlisting>
-<emphasis role="oblock">instr</emphasis>     1
-  k1           <emphasis role="opc">phasor</emphasis>    1<emphasis role="op">/</emphasis>p3                     <emphasis role="comment">; fraction of circle</emphasis>
-  k2           <emphasis role="opc">tablei</emphasis>    k1, 1, 1                 <emphasis role="comment">; sin of angle (sinusoid in f1)</emphasis>
-  k3           <emphasis role="opc">tablei</emphasis>    k1, 1, 1, .25, 1         <emphasis role="comment">; cos of angle (sin offset 1/4 circle)</emphasis>
-  a1           <emphasis role="opc">oscili</emphasis>    10000,440, 1             <emphasis role="comment">; audio signal..</emphasis>
-  a1,a2,a3,a4  <emphasis role="opc">pan</emphasis>       a1, k2<emphasis role="op">/</emphasis>2, k3<emphasis role="op">/</emphasis>2, 2, 1, 1  <emphasis role="comment">; sent in a circle (f2=1st quad sin)</emphasis>
-                                 
-               <emphasis role="opc">outq</emphasis> a1, a2, a3, a4
-<emphasis role="oblock">endin</emphasis></programlisting>
-      </informalexample>
+      Here is an example of the pan opcodes. It uses the file <ulink url="examples/pan.csd"><citetitle>pan.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the pan opcodes.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pan.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
     </para>
   </refsect1>
+
 </refentry>
diff --git a/opcodes/pan2.xml b/opcodes/pan2.xml
index 7195beb..6fe53fa 100644
--- a/opcodes/pan2.xml
+++ b/opcodes/pan2.xml
@@ -50,22 +50,19 @@
 
   </refsect1>
  
+
   <refsect1>
-    <title>Examples</title>
+    <title>Example</title>
     <para>
-      <informalexample>
-        <programlisting>
-<emphasis role="oblock">instr</emphasis>     1
-  kline  <emphasis role="opc">line</emphasis>    0, p3, 1      <emphasis role="comment">; straight line</emphasis>
-  ain    <emphasis role="opc">oscili</emphasis>  10000,440, 1  <emphasis role="comment">; audio signal..</emphasis>
-  a1,a2  <emphasis role="opc">pan2</emphasis>    ain, kline    <emphasis role="comment">; sent across image</emphasis>
-                                 
-         <emphasis role="opc">outs</emphasis>   a1, a2
-<emphasis role="oblock">endin</emphasis>
-        </programlisting>
-      </informalexample>
+      Here is an example of the pan2 opcodes. It uses the file <ulink url="examples/pan2.csd"><citetitle>pan2.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the pan2 opcodes.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pan2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
     </para>
   </refsect1>
+
   <refsect1>
     <title>Credits</title>
     <para>
diff --git a/opcodes/partials.xml b/opcodes/partials.xml
index ac5e35f..31fe69c 100644
--- a/opcodes/partials.xml
+++ b/opcodes/partials.xml
@@ -75,28 +75,16 @@
   </refsect1>
 
   <refsect1>
-    <title>Examples</title>
+    <title>Example</title>
     <para>
+      Here is an example of the partials opcodes. It uses the file <ulink url="examples/partials.csd"><citetitle>partials.csd</citetitle></ulink>.
       <example>
-        <title>Example</title>
-        <programlisting>
-ain inch 1                  ; input signal
-fs1,fsi2 pvsifd ain,2048,512,1 ; ifd analysis
-fst  partials fs1,fsi2,.003,1,3,500  ; partial tracking
-      aout  resyn fst, 1, 1.5, 500, 1 ; resynthesis (up a 5th)
-out aout
-        </programlisting>
+        <title>Example of the partials opcodes.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/partials.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-
-    </para>
-    
-    <para>
-The example above shows partial tracking of an ifd-analysis signal and
-cubic-phase additive resynthesis with pitch shifting. 
-    
-    </para>
-    
+    </para> 
+    <para>The example above shows partial tracking of an ifd-analysis signal and cubic-phase additive resynthesis with pitch shifting.</para>   
   </refsect1>
  
   <refsect1>
diff --git a/opcodes/partikkel.xml b/opcodes/partikkel.xml
index 2b73227..c601787 100644
--- a/opcodes/partikkel.xml
+++ b/opcodes/partikkel.xml
@@ -337,21 +337,18 @@
     <title>Examples</title>
 
     <para>
-      Here is an example of the partikkel opcode. It uses the file <ulink url="examples/PartikkelExample1.csd"><citetitle>PartikkelExample1.csd</citetitle></ulink>.
-
+      Here is an example of the partikkel opcode. It uses the file <ulink url="examples/partikkel.csd"><citetitle>partikkel.csd</citetitle></ulink>.
       <example>
         <title>Example of the partikkel opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/PartikkelExample1.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+          <xi:include href="examples-xml/partikkel.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
     </para>
-
     <para>
-      Here is another example of the partikkel opcode. It uses the file <ulink url="examples/partikkel_softsync.csd"><citetitle>partikkel_softsync.csd</citetitle></ulink>.
-
+      Here is another example of the partikkel opcode. It uses the file <ulink url="examples/partikkel-2.csd"><citetitle>partikkel-2.csd</citetitle></ulink>.
       <example>
-        <title>Example with soft sync of two partikkel generators.</title>
-          <xi:include href="examples-xml/partikkel_softsync.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+        <title>Example 2 of the partikkel opcode.</title>
+          <xi:include href="examples-xml/partikkel-2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
     </para>
   </refsect1>
diff --git a/opcodes/partikkelsync.xml b/opcodes/partikkelsync.xml
index 1efa30d..947294c 100644
--- a/opcodes/partikkelsync.xml
+++ b/opcodes/partikkelsync.xml
@@ -51,21 +51,19 @@
     </para>
 
   </refsect1>
- 
-<!--  <refsect1>
-    <title>Examples</title>
-    
-    <para>
-      Here is an example of the partikkel opcode. It uses the file <ulink url="examples/partikkel.csd"><citetitle>partikkel.csd</citetitle></ulink>.
 
+  <refsect1>
+    <title>Example</title>
+    <para>
+      Here is an example of the partikkelsync opcodes. It uses the file <ulink url="examples/partikkelsync.csd"><citetitle>partikkelsync.csd</citetitle></ulink>.
       <example>
-        <title>Example of the partikkel opcode.</title>
+        <title>Example with soft sync of two partikkel generators.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/partikkel.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+          <xi:include href="examples-xml/partikkelsync.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
     </para>
-  </refsect1>-->
- 
+  </refsect1>
+
   <refsect1>
     <title>See Also</title>
     <para><link linkend="partikkel"><citetitle>partikkel</citetitle></link>
diff --git a/opcodes/pcauchy.xml b/opcodes/pcauchy.xml
index ca18724..3120343 100644
--- a/opcodes/pcauchy.xml
+++ b/opcodes/pcauchy.xml
@@ -57,19 +57,37 @@
     <title>Examples</title>
     <para>
       Here is an example of the pcauchy opcode. It uses the file <ulink url="examples/pcauchy.csd"><citetitle>pcauchy.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the pcauchy opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/pcauchy.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
 
       Its output should include a line like this:
       <screen>
-instr 1:  i1 = 0.012
+ i   1 time     0.00033:    10.48851
+ i   1 time     0.20033:     0.29508
+ i   1 time     0.40033:     1.75214
+ i   1 time     0.60033:    22.88281
+ i   1 time     0.80033:    16.06435
+ i   1 time     1.00000:     0.43110
+ i   1 time     1.20033:    16.51694
+ i   1 time     1.40033:     2.98797
+ i   1 time     1.60033:     1.32767
+ i   1 time     1.80000:    17.94039
+ i   1 time     2.00000:     4.85994
+ Seeding from current time 1526147515
+ i   2 time     3.00033:     0.89797
+ i   2 time     3.20033:     9.19447
+ i   2 time     3.40033:     0.73053
+ i   2 time     3.60000:     7.43371
+ i   2 time     3.80033:     5.87640
+ i   2 time     4.00000:     0.80456
+ i   2 time     4.20000:     4.50637
+ i   2 time     4.40033:     2.08145
+ i   2 time     4.60033:    13.47125
+ i   2 time     4.80033:     3.16399
+ i   2 time     5.00000:    11.05428
       </screen>
     </para>
   </refsect1>
@@ -100,6 +118,5 @@ instr 1:  i1 = 0.012
         <member>1995</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/pchbend.xml b/opcodes/pchbend.xml
index 720b426..2a6827c 100644
--- a/opcodes/pchbend.xml
+++ b/opcodes/pchbend.xml
@@ -48,12 +48,8 @@
     <title>Examples</title>
     <para>
       Here is an example of the pchbend opcode. It uses the file <ulink url="examples/pchbend.csd"><citetitle>pchbend.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the pchbend opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/pchbend.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
@@ -86,6 +82,5 @@
         <member>May 1997</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/pconvolve.xml b/opcodes/pconvolve.xml
index 63c0a0a..4c895c4 100644
--- a/opcodes/pconvolve.xml
+++ b/opcodes/pconvolve.xml
@@ -92,81 +92,20 @@
     <note>
     <title>NOTE</title>
     <para>
-	You will need to download the impulse response files from noisevault.com
-	or replace the filenames with your own impulse files
+	You can download impulse response files from noisevault.com
+	or replace the filenames with your own impulse files.
 	</para>
 	</note>
-
-      <informalexample>
-        <programlisting>
-        <emphasis role="ohdr">sr</emphasis> <emphasis role="op">=</emphasis> 44100
-        <emphasis role="ohdr">ksmps</emphasis> <emphasis role="op">=</emphasis> 100
-        <emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
-
-
-        <emphasis role ="oblock">instr   1</emphasis>
-kmix <emphasis role="op">=</emphasis> .5    <emphasis role ="comment">; Wet/dry mix. Vary as desired.</emphasis>
-kvol <emphasis role="op">=</emphasis> .5<emphasis role="op">*</emphasis>kmix    <emphasis role ="comment">; Overall volume level of reverb. May need to adjust</emphasis>
-                    <emphasis role ="comment">; when wet/dry mix is changed, to avoid clipping.</emphasis>
-
-<emphasis role ="comment">; do some safety checking to make sure we the parameters a good</emphasis>
-kmix <emphasis role="op">=</emphasis> (kmix <emphasis role="op"><</emphasis> 0  <emphasis role="op">||</emphasis> kmix <emphasis role="op">></emphasis> 1 <emphasis role="op">?</emphasis> .5 <emphasis role="op">:</emphasis> kmix)
-kvol <emphasis role="op">=</emphasis> (kvol <emphasis role="op"><</emphasis> 0 <emphasis role="op">?</emphasis> 0 <emphasis role="op">:</emphasis> .5<emphasis role="op">*</emphasis>kvol<emphasis role="op">*</emphasis>kmix)
-
-<emphasis role ="comment">; size of each convolution partion -- for best performance, this parameter needs to be tweaked</emphasis>
-ipartitionsize <emphasis role="op">=</emphasis> p4
-
-<emphasis role ="comment">; calculate latency of pconvolve opcode</emphasis>
-idel    <emphasis role="op">=</emphasis> (ksmps <emphasis role="op"><</emphasis> ipartitionsize <emphasis role="op">?</emphasis> ipartitionsize <emphasis role="op">+</emphasis> ksmps <emphasis role="op">:</emphasis> ipartitionsize)<emphasis role="op">/</emphasis><emphasis role="ohdr">sr</emphasis>
-<emphasis role="opc">prints</emphasis> "Convolving with a latency of %f seconds%n", idel
-
-<emphasis role ="comment">; actual processing</emphasis>
-al, ar    <emphasis role="opc">ins</emphasis>
-
-awetl, awetr <emphasis role="opc">pconvolve</emphasis>    kvol<emphasis role="op">*</emphasis>(al<emphasis role="op">+</emphasis>ar), "Mercedes-van.wav", ipartitionsize
-
-<emphasis role ="comment">; Delay dry signal, to align it with the convoled sig</emphasis>
-adryl        <emphasis role="opc">delay</emphasis>  (1<emphasis role="op">-</emphasis>kmix)<emphasis role="op">*</emphasis>al, idel
-adryr        <emphasis role="opc">delay</emphasis>  (1<emphasis role="op">-</emphasis>kmix)<emphasis role="op">*</emphasis>ar, idel
-
-     <emphasis role="opc">outs</emphasis>    adryl<emphasis role="op">+</emphasis>awetl, adryr<emphasis role="op">+</emphasis>awetr
-
-    <emphasis role ="oblock">endin</emphasis>
-
-
-
-
-        <emphasis role ="oblock">instr   2</emphasis>
-imix <emphasis role="op">=</emphasis> 0.5         <emphasis role ="comment">; Wet/dry mix. Vary as desired.</emphasis>
-ivol <emphasis role="op">=</emphasis> .5<emphasis role="op">*</emphasis>imix    <emphasis role ="comment">; Overall volume level of reverb. May need to adjust</emphasis>
-                <emphasis role ="comment">; when wet/dry mix is changed, to avoid clipping.</emphasis>
-
-ipartitionsize <emphasis role="op">=</emphasis>    32768    <emphasis role ="comment">; size of each convolution partion</emphasis>
-idel    <emphasis role="op">=</emphasis> (ksmps <emphasis role="op"><</emphasis> ipartitionsize <emphasis role="op">?</emphasis> ipartitionsize <emphasis role="op">+</emphasis> ksmps <emphasis role="op">:</emphasis> ipartitionsize)<emphasis role="op">/</emphasis><emphasis role="ohdr">sr</emphasis>    <emphasis role ="comment">; latency of pconvolve opcode</emphasis>
-
-kcount <emphasis role="opc">init</emphasis> idel<emphasis role="op">*</emphasis><emphasis role="ohdr">kr</emphasis>
-
-<emphasis role ="comment">; since we are using a soundin [instead of ins] we can</emphasis>
-<emphasis role ="comment">; do a kind of "look ahead" by looping during one k-pass</emphasis>
-<emphasis role ="comment">; without output, creating zero-latency</emphasis>
-
-<emphasis role="olabel">loop</emphasis>:
-    al, ar    <emphasis role="opc">soundin</emphasis> "John_Cage_1.aif", 0
-
-    awetl, awetr <emphasis role="opc">pconvolve</emphasis> ivol<emphasis role="op">*</emphasis>(al<emphasis role="op">+</emphasis>ar),"FactoryHall.aif", ipartitionsize
-
-    adryl        <emphasis role="opc">delay</emphasis>  (1<emphasis role="op">-</emphasis>imix)<emphasis role="op">*</emphasis>al,idel  <emphasis role="comment">; Delay dry signal, to align it with</emphasis>
-    adryr        <emphasis role="opc">delay</emphasis>  (1<emphasis role="op">-</emphasis>imix)<emphasis role="op">*</emphasis>ar,idel
-
-    kcount <emphasis role="op">=</emphasis> kcount <emphasis role="op">-</emphasis> 1
- <emphasis role="opc">if</emphasis> kcount <emphasis role="op">></emphasis> 0  <emphasis role="opc">kgoto</emphasis> <emphasis role="olabel">loop</emphasis>
-
-         <emphasis role="opc">outs</emphasis>    awetl<emphasis role="op">+</emphasis>adryl, awetr<emphasis role="op">+</emphasis>adryr
-
-        <emphasis role ="oblock">endin</emphasis></programlisting>
-      </informalexample>
-
+    <para>
+      Here is an example of the pconvolve opcode. It uses the file <ulink url="examples/pconvolve.csd"><citetitle>pconvolve.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the pconvolve opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pconvolve.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
   </refsect1>
+ 
   <refsect1>
     <title>See also</title>
     <para>
diff --git a/opcodes/pcount.xml b/opcodes/pcount.xml
index d9387f0..cfc76ec 100644
--- a/opcodes/pcount.xml
+++ b/opcodes/pcount.xml
@@ -57,18 +57,16 @@
     <para>
       The example will produce the following output:
       <screen>
-SECTION 1:
-new alloc for instr 1:
-WARNING: instr 1 uses 3 p-fields but is given 5
-instr 1:  inum = 5.000
-B  0.000 ..  1.000 T  1.000 TT  1.000 M:      0.0
-new alloc for instr 1:
-WARNING: instr 1 uses 3 p-fields but is given 5
-instr 1:  inum = 5.000
-B  1.000 ..  2.000 T  2.000 TT  2.000 M:      0.0
-new alloc for instr 1:
-WARNING: instr 1 uses 3 p-fields but is given 7
-instr 1:  inum = 7.000
+WARNING: instr 1 uses 3 p-fields but is given 8
+B  0.000 ..  2.000 T  2.000 TT  2.000 M:  0.49966  0.49966
+WARNING: instr 1 uses 3 p-fields but is given 10
+B  2.000 ..  4.000 T  4.000 TT  4.000 M:  0.50000  0.50000
+WARNING: instr 1 uses 3 p-fields but is given 10
+B  4.000 ..  6.000 T  6.000 TT  6.000 M:  0.49943  0.49943
+WARNING: instr 1 uses 3 p-fields but is given 6
+B  6.000 ..  8.000 T  8.000 TT  8.000 M:  0.00000  0.00000
+WARNING: instr 1 uses 3 p-fields but is given 20
+B  8.000 .. 18.000 T 18.000 TT 18.000 M:  0.49994  0.49994
       </screen>
       The warnings occur because pfields are not used explicitly by the instrument.
     </para>
diff --git a/opcodes/pdhalf.xml b/opcodes/pdhalf.xml
index 2174a47..22c2a13 100644
--- a/opcodes/pdhalf.xml
+++ b/opcodes/pdhalf.xml
@@ -86,23 +86,8 @@
     aout      <emphasis role="opc">tablei</emphasis>    apd, 1, 1</programlisting>
       </informalexample>
     </para>
-
-    <para>
-      More information about Phase distortion synthesis can be found on Wikipedia at
-      <ulink url="http://en.wikipedia.org/wiki/Phase_distortion_synthesis">
-        <citetitle>http://en.wikipedia.org/wiki/Phase_distortion_synthesis</citetitle>
-      </ulink>
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>See Also</title>
-    <para>
-      <link linkend="pdhalfy"><citetitle>pdhalfy</citetitle></link>,
-      <link linkend="pdclip"><citetitle>pdclip</citetitle></link>
-    </para>
   </refsect1>
-
+  
   <refsect1>
     <title>Examples</title>
     <para>
@@ -114,6 +99,16 @@
       </example>
     </para>
   </refsect1>
+  
+    
+  <refsect1>
+    <title>See Also</title>
+        <para>
+      <link linkend="pdhalfy"><citetitle>pdhalfy</citetitle></link>,
+      <link linkend="pdclip"><citetitle>pdclip</citetitle></link>
+    </para>
+    <para> More information about phase distortion on Wikipedia: <ulink url="http://en.wikipedia.org/wiki/Phase_distortion_synthesis"><citetitle>http://en.wikipedia.org/wiki/Phase_distortion_synthesis</citetitle></ulink></para>
+  </refsect1>
 
   <refsect1>
     <title>Credits</title>
diff --git a/opcodes/pdhalfy.xml b/opcodes/pdhalfy.xml
index 99c8553..a3965bb 100644
--- a/opcodes/pdhalfy.xml
+++ b/opcodes/pdhalfy.xml
@@ -89,23 +89,8 @@
     aout      <emphasis role="opc">tablei</emphasis>     apd, 1, 1</programlisting>
       </informalexample>
     </para>
-
-    <para>
-      More information about Phase distortion synthesis can be found on Wikipedia at
-      <ulink url="http://en.wikipedia.org/wiki/Phase_distortion_synthesis">
-        <citetitle>http://en.wikipedia.org/wiki/Phase_distortion_synthesis</citetitle>
-      </ulink>
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>See Also</title>
-    <para>
-      <link linkend="pdhalf"><citetitle>pdhalf</citetitle></link>,
-      <link linkend="pdclip"><citetitle>pdclip</citetitle></link> 
-    </para>
   </refsect1>
-
+  
   <refsect1>
     <title>Examples</title>
     <para>
@@ -117,6 +102,15 @@
       </example>
     </para>
   </refsect1>
+   
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="pdhalf"><citetitle>pdhalf</citetitle></link>,
+      <link linkend="pdclip"><citetitle>pdclip</citetitle></link> 
+          </para>
+         <para> More information about phase distortion on Wikipedia: <ulink url="http://en.wikipedia.org/wiki/Phase_distortion_synthesis"><citetitle>http://en.wikipedia.org/wiki/Phase_distortion_synthesis</citetitle></ulink></para>
+  </refsect1>
 
   <refsect1>
     <title>Credits</title>
diff --git a/opcodes/phaser1.xml b/opcodes/phaser1.xml
index 5944ee4..bdf415e 100644
--- a/opcodes/phaser1.xml
+++ b/opcodes/phaser1.xml
@@ -132,6 +132,7 @@ y(n) = C * x(n) + x(n-1) - C * y(n-1)
     <title>See Also</title>
     <para>
       <link linkend="phaser2"><citetitle>phaser2</citetitle></link>
+          <para> Other information about phasers on Wikipedia: <ulink url="http://en.wikipedia.org/wiki/Phaser_(effect)"><citetitle>http://en.wikipedia.org/wiki/Phaser_(effect)</citetitle></ulink></para>
     </para>
   </refsect1>
  
diff --git a/opcodes/phaser2.xml b/opcodes/phaser2.xml
index 029da7d..5a43270 100644
--- a/opcodes/phaser2.xml
+++ b/opcodes/phaser2.xml
@@ -26,13 +26,6 @@
   </refsect1>
  
   <refsect1>
-    <title>Initialization</title>
-    <para>
-      <emphasis>iskip</emphasis> (optional, default=0) -- used to control initial disposition of internal data space. Since filtering incorporates a feedback loop of previous output, the initial status of the storage space used is significant. A zero value will clear the space; a non-zero value will allow previous information to remain. The default value is 0.
-    </para>
-  </refsect1>
- 
-  <refsect1>
     <title>Performance</title>
     <para>
       <emphasis>kfreq</emphasis> -- frequency (in Hz) of the filter(s). This is the center frequency of the notch of the first allpass filter in the series. This frequency is used as the base frequency from which the frequencies of the other notches are derived.
@@ -153,6 +146,7 @@ aout    <emphasis>=</emphasis>          ain + aphs
     <title>See Also</title>
     <para>
       <link linkend="phaser1"><citetitle>phaser1</citetitle></link>
+      <para> Other information about phasers on Wikipedia: <ulink url="http://en.wikipedia.org/wiki/Phaser_(effect)"><citetitle>http://en.wikipedia.org/wiki/Phaser_(effect)</citetitle></ulink></para>
     </para>
   </refsect1>
  
diff --git a/opcodes/phasor.xml b/opcodes/phasor.xml
index 57ffeff..8005a0c 100644
--- a/opcodes/phasor.xml
+++ b/opcodes/phasor.xml
@@ -77,8 +77,4 @@
     </para>
   </refsect1>
 
-  <refsect1>
-    <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
-  </refsect1>
 </refentry>
diff --git a/opcodes/pindex.xml b/opcodes/pindex.xml
index 3af9be0..276b6b5 100644
--- a/opcodes/pindex.xml
+++ b/opcodes/pindex.xml
@@ -41,7 +41,7 @@
     <title>Performance</title>
 
   </refsect1>-->
-  <refsect1>
+    <refsect1>
     <title>Examples</title>
     <para>
       Here is an example of the pindex opcode. It uses the file <ulink url="examples/pindex.csd"><citetitle>pindex.csd</citetitle></ulink>.
@@ -86,6 +86,29 @@ instr 1:  inum = 7.000
       </screen>
       The warnings can be ignored, because the pfields are used indirectly through pindex instead of explicitly through p4, p5, etc.
     </para>
+    <para>
+      Here is another example of the pindex opcode. It uses the file <ulink url="examples/pindex-2.csd"><citetitle>pindex-2.csd</citetitle></ulink>.
+
+      <example>
+        <title>Second example of the pindex opcode.</title>
+          <xi:include href="examples-xml/pindex-2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+    <para>
+      The example will produce the following output:
+      <screen>
+WARNING: instr 1 uses 3 p-fields but is given 8
+B  0.000 ..  2.000 T  2.000 TT  2.000 M:  0.49966  0.49966
+WARNING: instr 1 uses 3 p-fields but is given 10
+B  2.000 ..  4.000 T  4.000 TT  4.000 M:  0.50000  0.50000
+WARNING: instr 1 uses 3 p-fields but is given 10
+B  4.000 ..  6.000 T  6.000 TT  6.000 M:  0.49943  0.49943
+WARNING: instr 1 uses 3 p-fields but is given 6
+B  6.000 ..  8.000 T  8.000 TT  8.000 M:  0.00000  0.00000
+WARNING: instr 1 uses 3 p-fields but is given 20
+B  8.000 .. 18.000 T 18.000 TT 18.000 M:  0.49994  0.49994
+      </screen>
+    </para>
   </refsect1>
   
   <refsect1>
@@ -94,6 +117,7 @@ instr 1:  inum = 7.000
       <link linkend="pcount"><citetitle>pcount</citetitle></link>
     </para>
   </refsect1>
+  
   <refsect1>
     <title>Credits</title>
     <para>Example by: Anthony Kozar</para>
diff --git a/opcodes/pitch.xml b/opcodes/pitch.xml
index 07d6743..5ecd380 100644
--- a/opcodes/pitch.xml
+++ b/opcodes/pitch.xml
@@ -98,7 +98,7 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the pitch opcode. It uses the file <ulink url="examples/pitch.csd"><citetitle>pitch.csd</citetitle></ulink> and <ulink url="examples/mary.wav"><citetitle>mary.wav</citetitle></ulink>.
+      Here is an example of the pitch opcode. It uses the file <ulink url="examples/pitch.csd"><citetitle>pitch.csd</citetitle></ulink>.
 
       <example>
         <title>Example of the pitch opcode.</title>
@@ -121,7 +121,6 @@
         <member>April 1999</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
 
     <para>New in Csound version 3.54</para>
   </refsect1>
diff --git a/opcodes/pitchamdf.xml b/opcodes/pitchamdf.xml
index 9cf573f..d0695b1 100644
--- a/opcodes/pitchamdf.xml
+++ b/opcodes/pitchamdf.xml
@@ -90,7 +90,7 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the pitchamdf opcode. It uses the file <ulink url="examples/pitchamdf.csd"><citetitle>pitchamdf.csd</citetitle></ulink> and <ulink url="examples/mary.wav"><citetitle>mary.wav</citetitle></ulink>.
+      Here is an example of the pitchamdf opcode. It uses the file <ulink url="examples/pitchamdf.csd"><citetitle>pitchamdf.csd</citetitle></ulink>.
 
       <example>
         <title>Example of the pitchamdf opcode.</title>
diff --git a/opcodes/planet.xml b/opcodes/planet.xml
index ee04d50..885b29b 100644
--- a/opcodes/planet.xml
+++ b/opcodes/planet.xml
@@ -69,18 +69,20 @@
     <title>Examples</title>
     <para>
       Here is an example of the planet opcode. It uses the file <ulink url="examples/planet.csd"><citetitle>planet.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the planet opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/planet.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
     </para>
   </refsect1>
- 
+  
+
+  <refsect1>
+    <title>See Also</title>
+    <para> More information on this opcode: <ulink url="http://www.csounds.com/journal/issue9/FlutesInOrbit.html"><citetitle>http://www.csounds.com/journal/issue9/FlutesInOrbit.html</citetitle></ulink>  , written by Brian Redfern. </para>
+  </refsect1> 
+  
   <refsect1>
     <title>Credits</title>
     <para>
@@ -89,7 +91,6 @@
         <member>December 1998</member>
       </simplelist>
     </para>
-
     <para>New in Csound version 3.50</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/platerev.xml b/opcodes/platerev.xml
new file mode 100644
index 0000000..abf77bb
--- /dev/null
+++ b/opcodes/platerev.xml
@@ -0,0 +1,113 @@
+
+<refentry id="platerev">
+<indexterm id="IndexPlaterev"><primary>platerev</primary></indexterm>
+  <refentryinfo><title>Signal Modifiers:Reverberation</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>platerev</refentrytitle>
+  </refmeta>
+
+
+ 
+  <refnamediv>
+    <refname>platerev</refname>
+    <refpurpose>
+      Models the reverberation of a metal plate.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Models the reverberation of a rectangular metal plate with
+      settable physical characteristics when excited by audio signal(s).
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>a1[, a2, ...] <command>platerev</command> itabexcite. itabouts, kbndry, iaspect, istiff, idecay, iloss, aexcite1[, aexcite2, ...]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>itabexcite</emphasis> -- number of a table that
+      contains triplets for each excitation signal, (frequency, radius,
+      initial phase in radians).  The radius should be less than 1.
+      These control where the excitation happens.  The values in the
+      table for frequency and radius may be changed in performance,
+      with the proviso about clicking if the changes are too large.
+    </para>
+    
+    <para>
+      <emphasis>itabouts</emphasis> -- number of a table that
+      contains triplets for each output signal, (frequency, radius,
+      initial phase in radians).  See itabexcite description.
+      
+    </para>
+    
+    <para>
+      <emphasis>kbndry</emphasis> -- boundary condition of the plate;
+      0 = free, 1 = clamped, 2 = pivoting.  Other values are
+      undefined.  Thus parameter may be changed at k-rate but that
+      might give rise to clicks.
+    </para>
+    <para>
+      <emphasis>iaspect</emphasis> -- plate aspect ratio which should
+      be less than or equal to 1.
+    </para>
+    <para>
+      <emphasis>istiff</emphasis> -- plate stiffness parameter (set
+      around 1 or less for plate reverb).
+    </para>
+    <para>
+      <emphasis>idecay</emphasis> -- time taken for 30 dB decay
+    </para>
+    <para>
+      <emphasis>iloss</emphasis> -- loss parameter for
+      high-frequency damping (value about 0.001 suggested).
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      A metal plate is excited by a stereo signal and the resulting
+      reverberation captured.
+    </para>
+    <para>
+      <emphasis>aexcite</emphasis>n -- excitation signal to be
+      inserted into the plate.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the platerev opcode. It uses the file <ulink url="examples/plate.csd"><citetitle>plate.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the platerev opcode.</title>
+
+        
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/plate.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: Stefan Bilbao </member>
+        <member>University of Edinburgh, UK</member>
+        <member>Author: &namejohn; </member>
+        <member>University of Bath, Codemist Ltd.</member>
+        <member>Bath, UK</member>
+      </simplelist>
+    </para>
+
+    <para>New in Csound version 5.17.12</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/plltrack.xml b/opcodes/plltrack.xml
new file mode 100644
index 0000000..e88c559
--- /dev/null
+++ b/opcodes/plltrack.xml
@@ -0,0 +1,95 @@
+
+<refentry id="plltrack">
+  <indexterm id="Indexplltrack"><primary>plltrack</primary></indexterm>
+  <refentryinfo><title>Instrument Control:Sensing and Control</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>plltrack</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>plltrack</refname>
+    <refpurpose>
+      Tracks the pitch of a signal.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      <emphasis>plltrack</emphasis>, a pitch tracker based on a phase-locked loop algorithm, described in Zolzer, U, Sankarababu, S.V. and Moller, S, "PLL-based Pitch Detection and Tracking for Audio Signals. Proc. of IIH-MSP 2012".
+      </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>acps, alock <command>plltrack</command> asig, kd [, kloopf, kloopq, klf, khf, kthresh]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>acps</emphasis> -- estimated pitch in Hz.
+    </para>
+
+    <para>
+      <emphasis>alock</emphasis> -- phase lock indicator, a phase error indicating the quality of the tracking, with values between 0 and 1. Higher values
+indicate good tracking
+    </para>
+
+<para>
+      <emphasis>kd</emphasis> -- PLL feedback gain, controls frequency range of PLL (between 0 and 1). Higher values increase the range of the tracking.
+    </para>
+
+<para>
+      <emphasis>kloopf</emphasis> -- PLL LP filter cf, controls frequency range of PLL (opt, defaults to 20Hz).
+    </para>
+
+<para>
+      <emphasis>kloopq</emphasis> -- PLL LP filter Q, controls rise time of FO step (opt, defaults to 1/3)
+    </para>
+
+<para>
+      <emphasis>klf</emphasis> -- lowest tracking freq (opt, defaults to 20Hz)
+    </para>
+
+<para>
+      <emphasis>khf</emphasis> -- highest tracking freq (opt, defaults to 1500Hz)
+    </para>
+
+<para>
+      <emphasis>kthresh</emphasis> --  tracking signal level threshold (optional, defaults to 0.001, equiv to -60dBfs)
+    </para>
+
+    <para>
+      <emphasis>plltrack</emphasis> analyzes the input signal, <emphasis>asig</emphasis>, 
+      estimating the fundamental of a monophonic signal. Its output is updated every sample.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the plltrack operator. It uses the file <ulink url="examples/plltrack.csd"><citetitle>plltrack.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the plltrack operator.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/plltrack.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namevictor;</member>
+        <member>NUI, Maynooth.</member>
+        <member>Maynooth, Ireland</member>
+        <member>September, 2012</member>
+      </simplelist>
+    </para>
+
+    <para>New in Csound version 5.18.031</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/pluck.xml b/opcodes/pluck.xml
index a76f26c..d6fa020 100644
--- a/opcodes/pluck.xml
+++ b/opcodes/pluck.xml
@@ -108,20 +108,11 @@
     <title>Examples</title>
     <para>
       Here is an example of the pluck opcode. It uses the file <ulink url="examples/pluck.csd"><citetitle>pluck.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the pluck opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/pluck.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
     </para>
   </refsect1>
-
-  <refsect1>
-    <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
-  </refsect1>
 </refentry>
diff --git a/opcodes/plusbecomes.xml b/opcodes/plusbecomes.xml
new file mode 100644
index 0000000..42650f2
--- /dev/null
+++ b/opcodes/plusbecomes.xml
@@ -0,0 +1,76 @@
+
+<refentry id="plusbecomes">
+<indexterm id="IndexPlusbecomes"><primary>=</primary></indexterm>
+  <refentryinfo><title>Instrument Control:Initialization and Reinitialization</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>=</refentrytitle>
+  </refmeta>
+
+
+
+  <refnamediv>
+    <refname>=</refname>
+
+    <refpurpose>
+       Performs add and assignment.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>+=</command> xarg</synopsis>
+    <synopsis>ires <command>+=</command> iarg</synopsis>
+    <synopsis>kres <command>+=</command> karg</synopsis>
+    <synopsis>table [ kval] <command>+=</command> karg</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Description</title>
+    <para> 
+      Performs an add and assign.
+    </para> 
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para> 
+      <emphasis>+=</emphasis> - Adds the value of the expression
+      <emphasis>iarg</emphasis> (<emphasis>karg, xarg</emphasis>) into
+      the named result. This provides a means of saving an evaluated
+      result for later use.  
+    </para> 
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the plusbecomes opcode. It uses the file <ulink url="examples/reverb.csd"><citetitle>reverb.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the plusbecomes opcode.</title>
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/reverb.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="assign"><citetitle>assign</citetitle></link>, 
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>University of Bath, and Codemist Ltd.</member>
+        <member>Bath, UK</member>
+        <member>2013</member>
+      </simplelist>
+      <para>New in version 6.00</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/poisson.xml b/opcodes/poisson.xml
index 2110342..e4515a9 100644
--- a/opcodes/poisson.xml
+++ b/opcodes/poisson.xml
@@ -144,6 +144,5 @@
         <member>1995</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin; and &nameandres;</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/pop.xml b/opcodes/pop.xml
index 06e2a80..0e12f89 100644
--- a/opcodes/pop.xml
+++ b/opcodes/pop.xml
@@ -53,6 +53,19 @@
     </para>
   </refsect1>
   <refsect1>
+     
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the pop opcode. It uses the file <ulink url="examples/pop.csd"><citetitle>pop.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the pop opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pop.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
     <title>See also</title>
     <para>
       <link linkend="stack"><citetitle>stack</citetitle></link>,
@@ -60,7 +73,9 @@
       <link linkend="pop_f"><citetitle>pop_f</citetitle></link> and 
       <link linkend="push_f"><citetitle>push_f</citetitle></link>.
     </para>
+   <para>Using this opcode is somewhat hackish, as you can read here: <ulink url="http://csound.1045644.n5.nabble.com/passing-a-string-to-a-UDO-td1099284.html"></ulink></para>
   </refsect1>
+  
   <refsect1>
     <title>Credits</title>
     <para>By: &nameistvan;.</para>
diff --git a/opcodes/port.xml b/opcodes/port.xml
index 8e2a76c..a5ff931 100644
--- a/opcodes/port.xml
+++ b/opcodes/port.xml
@@ -58,6 +58,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the port opcode. It uses the file <ulink url="examples/port.csd"><citetitle>port.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the port opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/port.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="areson"><citetitle>areson</citetitle></link>,
diff --git a/opcodes/poscil.xml b/opcodes/poscil.xml
index 09a4785..83070b0 100644
--- a/opcodes/poscil.xml
+++ b/opcodes/poscil.xml
@@ -22,27 +22,29 @@
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis>ares <command>poscil</command> aamp, acps, ifn [, iphs]</synopsis>
+    <synopsis>ares <command>poscil</command> aamp, acps [, ifn, iphs]</synopsis>
 
-    <synopsis>ares <command>poscil</command> aamp, kcps, ifn [, iphs]</synopsis>
+    <synopsis>ares <command>poscil</command> aamp, kcps [, ifn, iphs]</synopsis>
 
-    <synopsis>ares <command>poscil</command> kamp, acps, ifn [, iphs]</synopsis>
+    <synopsis>ares <command>poscil</command> kamp, acps [, ifn, iphs]</synopsis>
 
-    <synopsis>ares <command>poscil</command> kamp, kcps, ifn [, iphs]</synopsis>
+    <synopsis>ares <command>poscil</command> kamp, kcps [, ifn, iphs]</synopsis>
 
-    <synopsis>ires <command>poscil</command> kamp, kcps, ifn [, iphs]</synopsis>
+    <synopsis>ires <command>poscil</command> kamp, kcps [, ifn, iphs]</synopsis>
 
-    <synopsis>kres <command>poscil</command> kamp, kcps, ifn [, iphs]</synopsis>
+    <synopsis>kres <command>poscil</command> kamp, kcps [, ifn, iphs]</synopsis>
   </refsect1>
 
   <refsect1>
     <title>Initialization</title>
     <para>
-      <emphasis>ifn</emphasis> -- function table number
+      <emphasis>ifn</emphasis> -- (optional) function table number.  This
+      defaults to -1 which indicates a sinewave.
     </para>
 
     <para>
-      <emphasis>iphs</emphasis> (optional, default=0) -- initial phase (normalized table index 0-1)
+      <emphasis>iphs</emphasis> (optional, default=0) -- initial phase
+      (normalized table index 0-1) 
     </para>
   </refsect1>
 
@@ -52,29 +54,51 @@
       <emphasis>ares</emphasis> -- output signal
     </para>
     <para>
-      <emphasis>kamp</emphasis>, <emphasis>aamp</emphasis> -- the amplitude of the output signal.
+      <emphasis>kamp</emphasis>, <emphasis>aamp</emphasis> -- the
+      amplitude of the output signal. 
     </para>
     <para>
-      <emphasis>kcps</emphasis>, <emphasis>acps</emphasis> -- the frequency of the output signal in cycles per second.
+      <emphasis>kcps</emphasis>, <emphasis>acps</emphasis> -- the
+      frequency of the output signal in cycles per second. 
     </para>
     <para>
-      <emphasis>poscil</emphasis> (precise oscillator) is the same as <link linkend="oscili"><citetitle>oscili</citetitle></link>, but allows much more precise frequency control, especially when using long tables and low frequency values. It uses floating-point table indexing, instead of integer math, like <emphasis>oscil</emphasis> and <emphasis>oscili</emphasis>.  It is only a bit slower than <emphasis>oscili</emphasis>.
+      <emphasis>poscil</emphasis> (precise oscillator) is the same as
+      <link linkend="oscili"><citetitle>oscili</citetitle></link>, but
+      allows much more precise frequency control, especially when
+      using long tables and low frequency values. It uses
+      floating-point table indexing, instead of integer math, like
+      <emphasis>oscil</emphasis> and <emphasis>oscili</emphasis>.  It
+      is only a bit slower than <emphasis>oscili</emphasis>. 
     </para>
     <para>
-      Since Csound 4.22, <emphasis>poscil</emphasis> can accept also negative frequency values and use a-rate values both for amplitude and frequency. So both AM and FM are allowed using this opcode.
+      Since Csound 4.22, <emphasis>poscil</emphasis> can accept also
+      negative frequency values and use a-rate values both for
+      amplitude and frequency. So both AM and FM are allowed using
+      this opcode. 
     </para>
-    <para>The opcode <link linkend="poscil3"><citetitle>poscil3</citetitle></link> is the same as  <emphasis>poscil</emphasis>, but uses cubic interpolation.</para>
-    <para>Note that <emphasis>poscil</emphasis> can use deffered (non-power of two) length tables.</para>
+    <para>The opcode <link
+    linkend="poscil3"><citetitle>poscil3</citetitle></link> is the
+    same as  <emphasis>poscil</emphasis>, but uses cubic
+    interpolation.</para> 
+    <para>Note that <emphasis>poscil</emphasis> can use deffered
+    (non-power of two) length tables.</para> 
   </refsect1>
 
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the poscil opcode. It uses the file <ulink url="examples/poscil.csd"><citetitle>poscil.csd</citetitle></ulink>.
+      Here is an example of the poscil opcode. It uses the file <ulink
+      url="examples/poscil.csd"><citetitle>poscil.csd</citetitle></ulink>. 
       <example>
         <title>Example of the poscil opcode.</title>
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/poscil.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+        <para>See the sections <link
+        linkend="UsingRealTime"><citetitle>Real-time
+        Audio</citetitle></link> and <link
+        linkend="CommandFlags"><citetitle>Command Line
+        Flags</citetitle></link> for more information on using command
+        line flags.</para> 
+          <xi:include href="examples-xml/poscil.csd.xml"
+                      xmlns:xi="http://www.w3.org/2001/XInclude"/> 
       </example>
     </para>
   </refsect1>
@@ -95,9 +119,9 @@
         <member>1998</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
-
-    <para>November 2002. Added a note about the changes to Csound version 4.22, thanks to &namerasmus;.</para>
+    <para>November 2002. Added a note about the changes to Csound
+    version 4.22, thanks to &namerasmus;.</para> 
     <para>New in Csound version 3.52</para>
+    <para>Function table optional in Csound version 6.00</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/poscil3.xml b/opcodes/poscil3.xml
index d784693..2c24af9 100644
--- a/opcodes/poscil3.xml
+++ b/opcodes/poscil3.xml
@@ -22,15 +22,24 @@
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis>ares <command>poscil3</command> kamp, kcps, ifn [, iphs]</synopsis>
+    <synopsis>ares <command>poscil3</command> aamp, acps [, ifn, iphs]</synopsis>
 
-    <synopsis>kres <command>poscil3</command> kamp, kcps, ifn [, iphs]</synopsis>
+    <synopsis>ares <command>poscil3</command> aamp, kcps [, ifn, iphs]</synopsis>
+
+    <synopsis>ares <command>poscil3</command> kamp, acps [, ifn, iphs]</synopsis>
+
+    <synopsis>ares <command>poscil3</command> kamp, kcps [, ifn, iphs]</synopsis>
+
+    <synopsis>ires <command>poscil3</command> kamp, kcps [, ifn, iphs]</synopsis>
+
+    <synopsis>kres <command>poscil3</command> kamp, kcps [, ifn, iphs]</synopsis>
   </refsect1>
 
   <refsect1>
     <title>Initialization</title>
     <para>
-      <emphasis>ifn</emphasis> -- function table number
+      <emphasis>ifn</emphasis> -- (optional) function table number.  This
+      defaults to -1 which indicates a sinewave.
     </para>
     <para>
       <emphasis>iphs</emphasis> (optional, default=0) -- initial phase (normalized table index 0-1)
@@ -43,15 +52,15 @@
       <emphasis>ares</emphasis> -- output signal
     </para>
     <para>
-      <emphasis>kamp</emphasis> -- the amplitude of the output signal.
+      <emphasis>kamp</emphasis>, <emphasis>aamp</emphasis> -- the amplitude of the output signal.
     </para>
     <para>
-      <emphasis>kcps</emphasis> -- the frequency of the output signal in cycles per second.
+      <emphasis>kcps</emphasis>, <emphasis>acps</emphasis> -- the frequency of the output signal in cycles per second.
     </para>
     <para>
       <emphasis>poscil3</emphasis> works like <link linkend="poscil"><citetitle>poscil</citetitle></link>, but uses cubic interpolation.
     </para>
-    <para>Note that <emphasis>poscil3</emphasis> can use deffered (non-power of two) length tables.</para>
+    <para>Note that <emphasis>poscil3</emphasis> can use defered (non-power of two) length tables.</para>
   </refsect1>
 
   <refsect1>
@@ -60,16 +69,27 @@
       Here is an example of the poscil3 opcode. It uses the file <ulink url="examples/poscil3.csd"><citetitle>poscil3.csd</citetitle></ulink>.
       <example>
         <title>Example of the poscil3 opcode.</title>
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/poscil3.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+        <para>
+          See the sections <link
+          linkend="UsingRealTime"><citetitle>Real-time
+          Audio</citetitle></link> and <link
+          linkend="CommandFlags"><citetitle>Command Line
+          Flags</citetitle></link> for more information on using
+          command line flags.
+        </para>
+        <xi:include href="examples-xml/poscil3.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
     </para>
     <para>
-      Here is another example of the poscil3 opcode, which uses a table filled from a sound file. It uses the file <ulink url="examples/poscil3-file.csd"><citetitle>poscil3-file.csd</citetitle></ulink>.
-      <example>
-        <title>Another example of the poscil3 opcode.</title>
-        <xi:include href="examples-xml/poscil3-file.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
+      Here is another example of the poscil3 opcode, which uses a
+      table filled from a sound file. It uses the file  
+      <ulink url="examples/poscil3-file.csd">
+        <citetitle>poscil3-file.csd</citetitle>
+        </ulink>.
+        <example>
+          <title>Another example of the poscil3 opcode.</title>
+          <xi:include href="examples-xml/poscil3-file.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+        </example>
     </para>
   </refsect1>
 
@@ -88,8 +108,8 @@
         <member>Italy</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
-
     <para>New in Csound version 3.52</para>
+     <para> variants with a-rate amplitude or frequency new in
+     5.16</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/pow.xml b/opcodes/pow.xml
index 645684e..34bc08f 100644
--- a/opcodes/pow.xml
+++ b/opcodes/pow.xml
@@ -63,19 +63,20 @@
     <title>Examples</title>
     <para>
       Here is an example of the pow opcode. It uses the file <ulink url="examples/pow.csd"><citetitle>pow.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the pow opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/pow.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-      Its output should include a line like this:
+      Its output should include lines like these:
       <screen>
-instr 1:  i1 = 4096.000</screen>
+ i1     0.50000
+ i1     0.50007
+ i1     0.50014
+.......
+ i1    14.45986
+ i1    14.46130
+</screen>
     </para>
   </refsect1>
  
@@ -88,6 +89,5 @@ instr 1:  i1 = 4096.000</screen>
         <member>1995</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/powoftwo.xml b/opcodes/powoftwo.xml
index 9dd775a..fea787b 100644
--- a/opcodes/powoftwo.xml
+++ b/opcodes/powoftwo.xml
@@ -43,18 +43,21 @@
     <title>Examples</title>
     <para>
       Here is an example of the powoftwo opcode. It uses the file <ulink url="examples/powoftwo.csd"><citetitle>powoftwo.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the powoftwo opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/powoftwo.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
 
       Its output should include a line like this:
-      <screen>instr 1:  i1 = 4096.000</screen>
+      <screen>
+instr 1:  iQuantize = 32768.000
+instr 1:  iQuantize = 2048.000
+instr 1:  iQuantize = 128.000
+instr 1:  iQuantize = 8.000
+instr 1:  iQuantize = 2.000
+instr 1:  iQuantize = 1.000
+</screen>
     </para>
   </refsect1>
 
@@ -85,8 +88,6 @@
         <member>July 1999</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
-
     <para>New in Csound version 3.57</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/print.xml b/opcodes/print.xml
index 9a6504f..76987ed 100644
--- a/opcodes/print.xml
+++ b/opcodes/print.xml
@@ -48,19 +48,16 @@
     <title>Examples</title>
     <para>
       Here is an example of the print opcode. It uses the file <ulink url="examples/print.csd"><citetitle>print.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the print opcode.</title>
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/print.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-      Its output should include lines like this:
+      Its output should include lines like these:
       <screen>
-instr 1:  p4 = 50.375
-instr 1:  p4 = 300.000
-instr 1:  p4 = -999.000
+instr 1:  irand = 2.930
+instr 1:  irand = 0.420
+instr 1:  irand = 2.316
       </screen>
     </para>
   </refsect1>
@@ -78,8 +75,4 @@ instr 1:  p4 = -999.000
     </para>
   </refsect1>
 
-  <refsect1>
-    <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
-  </refsect1>
 </refentry>
diff --git a/opcodes/printf.xml b/opcodes/printf.xml
index 481c963..772c75d 100644
--- a/opcodes/printf.xml
+++ b/opcodes/printf.xml
@@ -71,11 +71,31 @@
     values to the nearest integer. Note that only k-rate and i-rate arguments are valid (no a-rate printing)
     </para>
   </refsect1>
-
-  <!--<refsect1>
-    <title>Example</title>
-  </refsect1>-->
-
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the printf opcode. It uses the file <ulink url="examples/printf.csd"><citetitle>printf.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the printf opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/printf.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+    <para>
+      The example will produce the following output:
+      <screen>
+Audiofile 'frox.wav' does not exist!
+      </screen>
+    </para>
+  </refsect1>
+  
+    <refsect1>
+    <title>See Also</title>
+    <para>
+<para> More information about printf: <ulink url="http://www.cplusplus.com/reference/clibrary/cstdio/printf/"><citetitle>http://www.cplusplus.com/reference/clibrary/cstdio/printf/</citetitle></ulink></para>
+    </para>
+  </refsect1>
+    
   <refsect1>
     <title>Credits</title>
     <para>
diff --git a/opcodes/printk2.xml b/opcodes/printk2.xml
index bb2ebe9..36ac089 100644
--- a/opcodes/printk2.xml
+++ b/opcodes/printk2.xml
@@ -56,20 +56,22 @@
 
     <para>
       Here is an example of the printk2 opcode. It uses the file <ulink url="examples/printk2.csd"><citetitle>printk2.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the printk2 opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/printk2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
 
-      Its output should include a line like this:
+      Its output should include lines like these:
       <screen>
+ i1     0.00000
+ i1     3.00000
+ i1     1.00000
+ i1     3.00000
  i1     1.00000
  i1     2.00000
+ i1     3.00000
+.....
       </screen>
     </para>
   </refsect1>
@@ -91,8 +93,6 @@
         <member>1998</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
-
     <para>New in Csound version 3.48</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/product.xml b/opcodes/product.xml
index 3e1fccf..ae5cc5d 100644
--- a/opcodes/product.xml
+++ b/opcodes/product.xml
@@ -34,6 +34,18 @@
       <emphasis>asig1, asig2, asig3, ...</emphasis> --  a-rate signals to be multiplied.
     </para>
   </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the product opcode. It uses the file <ulink url="examples/product.csd"><citetitle>product.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the product opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/product.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>Credits</title>
diff --git a/opcodes/pset.xml b/opcodes/pset.xml
index cc19180..e91b3eb 100644
--- a/opcodes/pset.xml
+++ b/opcodes/pset.xml
@@ -35,18 +35,21 @@
       <emphasis>pset</emphasis> (optional) defines and initializes numeric arrays at orchestra load time. It may be used as an orchestra header statement (i.e. instrument 0) or within an instrument. When defined within an instrument, it is not part of its i-time or performance operation, and only one statement is allowed per instrument. These values are available as i-time defaults. When an instrument is triggered from MIDI it only gets p1 and p2 from the event, and p3, p4, etc. will receive the actual preset values.
     </para>
   </refsect1>
-
+ 
   <refsect1>
     <title>Examples</title>
     <para>
-      The example below illustrates <emphasis>pset</emphasis> as used within an instrument.
-
-      <informalexample>
-        <programlisting>
-<emphasis role="oblock">instr</emphasis> 1
-  <emphasis role="opc">pset</emphasis> 0,0,3,4,5,6  <emphasis role="comment">; pfield substitutes</emphasis>
-  a1 <emphasis role="opc">oscil</emphasis> 10000, 440, p6</programlisting>
-      </informalexample>
+      Here is an example of the pset opcode. It uses the file <ulink url="examples/pset.csd"><citetitle>pset.csd</citetitle></ulink>
+      <example>
+        <title>Example of the pset opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pset.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+     <para> Here is another example of the pset opcode, using pset with midi. It uses the file <ulink url="examples/pset-midi.csd"><citetitle>pset-midi.csd</citetitle></ulink></para>
+      <example>
+        <title>Second example of the pset opcode.</title>
+          <xi:include href="examples-xml/pset-midi.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
     </para>
   </refsect1>
 
diff --git a/opcodes/ptable.xml b/opcodes/ptable.xml
new file mode 100644
index 0000000..2f2a657
--- /dev/null
+++ b/opcodes/ptable.xml
@@ -0,0 +1,108 @@
+
+<refentry id="ptable">
+<indexterm id="IndexPtable"><primary>ptable</primary></indexterm>
+  <refentryinfo><title>Signal Generators:Table Access</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>ptable</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>ptable</refname>
+    <refpurpose>
+      Accesses table values by direct indexing.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Accesses table values by direct indexing.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>ptable</command> andx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis>
+
+    <synopsis>ires <command>ptable</command> indx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis>
+
+    <synopsis>kres <command>ptable</command> kndx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ifn</emphasis> -- function table number.
+    </para>
+
+    <para>
+      <emphasis>ixmode</emphasis> (optional) -- index data mode. The default value is 0.
+      <itemizedlist>
+        <listitem><para>0 = raw index</para></listitem>
+        <listitem><para>1 = normalized (0 to 1)</para></listitem>
+      </itemizedlist>
+    </para>
+
+    <para>
+      <emphasis>ixoff</emphasis> (optional) -- amount by which index is to be offset. For a table with origin at center, use tablesize/2 (raw) or .5 (normalized). The default value is 0.
+    </para>
+
+    <para>
+      <emphasis>iwrap</emphasis> (optional) -- wraparound index flag. The default value is 0.
+      <itemizedlist>
+        <listitem>
+          <para>0 = nowrap (index < 0 treated as index=0; index > tablesize sticks at index=size)</para>
+        </listitem>
+
+        <listitem>
+          <para>1 = wraparound.</para>
+        </listitem>
+      </itemizedlist>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>ptable</emphasis> invokes table lookup on behalf of init, control or audio indices. These indices can be raw entry numbers (0, 1, 2,... size - 1) or scaled values (0 to 1). Indices are first modified by the offset value then checked for range before table lookup (see <emphasis>iwrap</emphasis>). If index is likely to be full scale, or if interpolation is being used, the table should have an extended guard point. <emphasis>table</emphasis> indexed by a periodic phasor ( see <link linkend="phasor"><citetitle>phasor</citetitle></link>) will simulate an oscillator.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the ptable opcode. It uses the file <ulink url="examples/ptable.csd"><citetitle>ptable.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the ptable opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/ptable.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="table"><citetitle>table</citetitle></link>, 
+      <link linkend="tablei"><citetitle>tablei</citetitle></link>, 
+      <link linkend="table3"><citetitle>table3</citetitle></link>, 
+      <link linkend="ptable3"><citetitle>ptable3</citetitle></link>,
+      <link linkend="ptablei"><citetitle>ptablei</citetitle></link>,
+      <link linkend="oscil1"><citetitle>oscil1</citetitle></link>, 
+      <link linkend="oscil1i"><citetitle>oscil1i</citetitle></link>, 
+      <link linkend="osciln"><citetitle>osciln</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>Jan 2012</member>
+      </simplelist>
+    </para>
+    <para>New in Csound version  5.16</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/ptable3.xml b/opcodes/ptable3.xml
new file mode 100644
index 0000000..171e68e
--- /dev/null
+++ b/opcodes/ptable3.xml
@@ -0,0 +1,97 @@
+
+<refentry id="ptable3">
+<indexterm id="IndexPtable3"><primary>ptable3</primary></indexterm>
+  <refentryinfo><title>Signal Generators:Table Access</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>ptable3</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>ptable3</refname>
+    <refpurpose>
+      Accesses table values by direct indexing with cubic interpolation.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Accesses table values by direct indexing with cubic interpolation.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>ptable3</command> andx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis>
+
+    <synopsis>ires <command>ptable3</command> indx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis>
+
+    <synopsis>kres <command>ptable3</command> kndx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ifn</emphasis> -- function table number.
+    </para>
+
+    <para>
+      <emphasis>ixmode</emphasis> (optional) -- index data mode. The default value is 0.
+      <itemizedlist>
+        <listitem><para>0 = raw index</para></listitem>
+        <listitem><para>1 = normalized (0 to 1)</para></listitem>
+      </itemizedlist>
+    </para>
+
+    <para>
+      <emphasis>ixoff</emphasis> (optional) -- amount by which index is to be offset. For a table with origin at center, use tablesize/2 (raw) or .5 (normalized). The default value is 0.
+    </para>
+
+    <para>
+      <emphasis>iwrap</emphasis> (optional) -- wraparound index flag. The default value is 0.
+      <itemizedlist>
+        <listitem>
+          <para>0 = nowrap (index < 0 treated as index=0; index > tablesize sticks at index=size)</para>
+        </listitem>
+
+        <listitem>
+          <para>1 = wraparound.</para>
+        </listitem>
+      </itemizedlist>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>ptable3</emphasis> is identical to <link
+      linkend="table3"><citetitle>table3</citetitle></link>, except
+      that it uses does not require the table to have a power of two size.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="table"><citetitle>table</citetitle></link>,
+      <link linkend="tablei"><citetitle>tablei</citetitle></link>,
+      <link linkend="table3"><citetitle>table3</citetitle></link>,
+      <link linkend="ptable"><citetitle>ptable</citetitle></link>,
+      <link linkend="ptablei"><citetitle>ptablei</citetitle></link>,
+      <link linkend="oscil1"><citetitle>oscil1</citetitle></link>,
+      <link linkend="oscil1i"><citetitle>oscil1i</citetitle></link>,
+      <link linkend="osciln"><citetitle>osciln</citetitle></link>
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>Jan 2012</member>
+      </simplelist>
+    </para>
+
+    <para>New in Csound version 5.16</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/ptablei.xml b/opcodes/ptablei.xml
new file mode 100644
index 0000000..e5a8342
--- /dev/null
+++ b/opcodes/ptablei.xml
@@ -0,0 +1,115 @@
+
+<refentry id="ptablei">
+<indexterm id="IndexPtablei"><primary>ptablei</primary></indexterm>
+  <refentryinfo><title>Signal Generators:Table Access</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>ptablei</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>ptablei</refname>
+    <refpurpose>
+      Accesses table values by direct indexing with linear interpolation.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Accesses table values by direct indexing with linear interpolation.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>ptablei</command> andx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis>
+
+    <synopsis>ires <command>ptablei</command> indx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis>
+
+    <synopsis>kres <command>ptablei</command> kndx, ifn [, ixmode] [, ixoff] [, iwrap]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ifn</emphasis> -- function table number.  The table
+      need not be a power of 2 long.
+    </para>
+
+    <para>
+      <emphasis>ixmode</emphasis> (optional) -- index data mode. The default value is 0.
+      <itemizedlist>
+        <listitem><para>0 = raw index</para></listitem>
+        <listitem><para>1 = normalized (0 to 1)</para></listitem>
+      </itemizedlist>
+    </para>
+
+    <para>
+      <emphasis>ixoff</emphasis> (optional) -- amount by which index is to be offset. For a table with origin at center, use tablesize/2 (raw) or .5 (normalized). The default value is 0.
+    </para>
+
+    <para>
+      <emphasis>iwrap</emphasis> (optional) -- wraparound index flag. The default value is 0.
+      <itemizedlist>
+        <listitem>
+          <para>0 = nowrap (index < 0 treated as index=0; index > tablesize sticks at index=size)</para>
+        </listitem>
+
+        <listitem>
+          <para>1 = wraparound.</para>
+        </listitem>
+      </itemizedlist>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>ptablei</emphasis> is a interpolating unit in which
+      the fractional part of index is used to interpolate between
+      adjacent table entries. The smoothness gained by interpolation
+      is at some small cost in execution time (see also <link
+      linkend="oscili"><citetitle>oscili</citetitle></link>, etc.),
+      but the interpolating and non-interpolating units are otherwise
+      interchangeable.
+    </para>
+  </refsect1>
+     
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the ptablei opcode. It uses the file <ulink url="examples/ptablei.csd"><citetitle>ptablei.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the ptablei opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/ptablei.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="table"><citetitle>table</citetitle></link>,
+      <link linkend="tablei"><citetitle>tablei</citetitle></link>,
+      <link linkend="table3"><citetitle>table3</citetitle></link>,
+      <link linkend="ptable"><citetitle>ptable</citetitle></link>,
+      <link linkend="ptable3"><citetitle>ptable3</citetitle></link>,
+      <link linkend="oscil1"><citetitle>oscil1</citetitle></link>,
+      <link linkend="oscil1i"><citetitle>oscil1i</citetitle></link>,
+      <link linkend="osciln"><citetitle>osciln</citetitle></link>
+    </para>
+        <para> More information on this opcode: <ulink url="http://www.csounds.com/journal/issue12/genInstruments.html"><citetitle>http://www.csounds.com/journal/issue12/genInstruments.html</citetitle></ulink>  , written by Jacob Joaquin </para>
+  </refsect1>
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>Jan 2012</member>
+      </simplelist>
+    </para>
+
+    <para>New in Csound version 5.16</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/ptablew.xml b/opcodes/ptablew.xml
new file mode 100644
index 0000000..a7e3586
--- /dev/null
+++ b/opcodes/ptablew.xml
@@ -0,0 +1,209 @@
+
+<refentry id="ptablew">
+<indexterm id="IndexPtablew"><primary>ptablew</primary></indexterm>
+  <refentryinfo><title>Table Control:Read/Write Opreations</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>ptablew</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>ptablew</refname>
+    <refpurpose>
+      Change the contents of existing function tables of any length.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      This opcode operates on existing function tables, changing their
+      contents. <emphasis>ptablew</emphasis> is for writing at k- or at a-rates, with the table
+      number being specified at init time. Using <emphasis>ptablew</emphasis> with i-rate signal
+      and index values is allowed, but the specified data will always be written to the function table
+      at k-rate, not during the initialization pass. The valid combinations of variable
+      types are shown by the first letter of the variable names.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>ptablew</command> asig, andx, ifn [, ixmode] [, ixoff] [, iwgmode]</synopsis>
+
+    <synopsis><command>ptablew</command> isig, indx, ifn [, ixmode] [, ixoff] [, iwgmode]</synopsis>
+
+    <synopsis><command>ptablew</command> ksig, kndx, ifn [, ixmode] [, ixoff] [, iwgmode]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>asig</emphasis>, <emphasis>isig,</emphasis> <emphasis>ksig</emphasis> -- The value to be written into the table.
+    </para>
+
+    <para>
+      <emphasis>andx</emphasis>, <emphasis>indx</emphasis>, <emphasis>kndx</emphasis> -- Index into table, either a positive number range matching the table length (<emphasis>ixmode</emphasis> = 0) or a 0 to 1 range (<emphasis>ixmode</emphasis> != 0)
+    </para>
+
+    <para>
+      <emphasis>ifn</emphasis> -- Table number. Must be >= 1. Floats are rounded down to an integer. If a table number does not point to a valid table, or the table has not yet been loaded (<link linkend="GEN01"><citetitle>GEN01</citetitle></link>) then an error will result and the instrument will be de-activated.
+    </para>
+
+    <para>
+      <emphasis>ixmode</emphasis> (optional, default=0) -- index mode.
+      <itemizedlist>
+        <listitem>
+          <para>
+            0 = <emphasis>xndx</emphasis> and <emphasis>ixoff</emphasis> ranges match the length of the table.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            !=0 = <emphasis>xndx</emphasis> and <emphasis>ixoff</emphasis> have a 0 to 1 range. 
+          </para>
+        </listitem>
+      </itemizedlist>
+    </para>
+
+    <para>
+      <emphasis>ixoff</emphasis> (optional, default=0) -- index offset.
+
+      <itemizedlist>
+        <listitem>
+           <para>
+             0 = Total index is controlled directly by <emphasis>xndx</emphasis>, i.e. the indexing starts from the start of the table. 
+           </para>
+        </listitem>
+
+        <listitem>
+           <para>
+             !=0 = Start indexing from somewhere else in the table. Value must be positive and less than the table length (<emphasis>ixmode</emphasis> = 0) or less than 1 (<emphasis>ixmode</emphasis> != 0).
+           </para>
+        </listitem>
+      </itemizedlist>
+    </para>
+
+    <para>
+      <emphasis>iwgmode</emphasis> (optional, default=0) -- Wrap and guardpoint mode.
+
+      <itemizedlist>
+        <listitem>
+           <para>
+             0 = Limit mode.
+           </para>
+        </listitem>
+
+        <listitem>
+           <para>
+             1 = Wrap mode.
+           </para>
+        </listitem>
+
+        <listitem>
+           <para>
+             2 = Guardpoint mode.
+           </para>
+        </listitem>
+      </itemizedlist>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+
+    <refsect2>
+      <title>Limit mode (0)</title>
+      <para>
+        Limit the total index (<emphasis>ndx</emphasis> + <emphasis>ixoff</emphasis>) to between 0 and the guard point. For a table of length 5, this means that locations 0 to 3 and location 4 (the guard point) can be written. A negative total index writes to location 0.
+      </para>
+    </refsect2>
+
+    <refsect2>
+      <title>Wrap mode (1)</title>
+      <para>
+        Wrap total index value into locations 0 to E, where E is one less than the table length. For example, wrap into a 0 to 3 range - so that total index 6 writes to location 2.
+      </para>
+    </refsect2>
+
+    <refsect2>
+      <title>Guardpoint mode (2)</title>
+      <para>
+        The guardpoint is written at the same time as location 0 is written - with the same value.
+      </para>
+
+      <para>
+        This facilitates writing to tables which are intended to be read with interpolation for producing smooth cyclic waveforms. In addition, before it is used, the total index is incremented by half the range between one location and the next, before being rounded down to the integer address of a table location.
+      </para>
+
+      <para>
+        Normally (<emphasis>igwmode</emphasis> = 0 or 1) for a table of length 5 - which has locations 0 to 3 as the main table and location 4 as the guard point, a total index in the range of 0 to 0.999 will write to location 0. ("0.999" means just less than 1.0.) 1.0 to 1.999 will write to location 1 etc. A similar pattern holds for all total indexes 0 to 4.999 (<emphasis>igwmode</emphasis> = 0) or to 3.999 (<emphasis>igwmode</emphasis> = 1). <emphasis>igwmode</emphasis> = 0 enables locations 0 to 4 to be written - with the guardpoint (4) being written with a potentially different value from location 0.
+      </para>
+
+      <para>
+        With a table of length 5 and the <emphasis>iwgmode</emphasis> = 2, then when the total index is in the range 0 to 0.499, it will write to locations 0 and 4. Range 0.5 to 1.499 will write to location 1 etc. 3.5 to 4.0 will also write to locations 0 and 4.
+      </para>
+
+      <para>
+        This way, the writing operation most closely approximates the results of interpolated reading. Guard point mode should only be used with tables that have a guardpoint.
+      </para>
+
+      <para>
+        Guardpoint mode is accomplished by adding 0.5 to the total index, rounding to the next lowest integer, wrapping it modulo the factor of two which is one less than the table length, writing the table (locations 0 to 3 in our example) and then writing to the guard point if index = 0.
+      </para>
+
+      <para>
+        <emphasis>ptablew</emphasis> has no output value. The last three parameters are optional and have default values of 0.
+      </para>
+    </refsect2>
+
+    <refsect2>
+      <title>Caution with k-rate table numbers</title>
+      <para>
+        At k-rate or a-rate, if a table number of < 1 is given, or the table number points to a non-existent table, or to one which has a length of 0 (it is to be loaded from a file later) then an error will result and the instrument will be deactivated. <emphasis>kfn</emphasis> and <emphasis>afn</emphasis> must be initialized at the appropriate rate using <emphasis>init</emphasis>. Attempting to load an i-rate value into <emphasis>kfn</emphasis> or <emphasis>afn</emphasis> will result in an error.
+      </para>
+    </refsect2>
+    <warning>
+      <para>
+	Note that <emphasis>ptablew</emphasis> is always a k-rate opcode. This means that even its i-rate version runs at k-rate and will write the value of the i-rate variable. For this reason, the following code will not work as expected:
+      </para>
+<programlisting>
+<emphasis role="csdtag"><CsoundSynthesizer></emphasis>
+<emphasis role="csdtag"><CsOptions></emphasis>
+<emphasis role="csdtag"></CsOptions></emphasis>
+<emphasis role="csdtag"><CsInstruments></emphasis>
+giFt <emphasis role="opc">ftgen</emphasis>  1, 0, 8, 2, 0
+<emphasis role="oblock">instr 1</emphasis>
+indx <emphasis role="op">=</emphasis> 0
+     <emphasis role="opc">ptablew</emphasis> 10, indx, giFt
+ival <emphasis role="opc">tab_i</emphasis>  indx, giFt
+     <emphasis role="opc">print</emphasis>  ival
+<emphasis role="oblock">endin</emphasis>
+<emphasis role="csdtag"></CsInstruments></emphasis>
+<emphasis role="csdtag"><CsScore></emphasis>
+<emphasis role="stamnt">i</emphasis> 1 0 1
+<emphasis role="csdtag"></CsScore></emphasis>
+<emphasis role="csdtag"></CsoundSynthesizer></emphasis></programlisting>
+      <para>
+	Although it may seem this program should print a 10 to the console. It will print 0, because  <link linkend="tab"><citetitle>tab_i</citetitle></link> will read the value at the initialization of the note, before the first performance pass, when <emphasis>ptablew</emphasis> writes its value.
+      </para>
+    </warning>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="tableiw"><citetitle>tableiw</citetitle></link>,
+      <link linkend="tablewkt"><citetitle>tablewkt</citetitle></link>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn; after Robin Whittle</member>
+        <member>Feb 2012</member>
+      </simplelist>
+    </para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/push.xml b/opcodes/push.xml
index d4ae664..d877163 100644
--- a/opcodes/push.xml
+++ b/opcodes/push.xml
@@ -52,6 +52,19 @@
       Any stack errors (trying to push when there is no more space, or pop from an empty stack, inconsistent number or type of arguments, etc.) are fatal and terminate performance.
     </para>
   </refsect1>
+   
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the push opcode. It uses the file <ulink url="examples/push.csd"><citetitle>push.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the push opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/push.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
   <refsect1>
     <title>See also</title>
     <para>
@@ -60,7 +73,9 @@
       <link linkend="pop_f"><citetitle>pop_f</citetitle></link> and 
       <link linkend="push_f"><citetitle>push_f</citetitle></link>.
     </para>
+   <para>Using this opcode is somewhat hackish, as you can read here: <ulink url="http://csound.1045644.n5.nabble.com/passing-a-string-to-a-UDO-td1099284.html"></ulink></para>
   </refsect1>
+  
   <refsect1>
     <title>Credits</title>
     <para>By: &nameistvan;.</para>
diff --git a/opcodes/puts.xml b/opcodes/puts.xml
index a426926..aaaa978 100644
--- a/opcodes/puts.xml
+++ b/opcodes/puts.xml
@@ -46,6 +46,28 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the puts opcode. It uses the file <ulink url="examples/puts.csd"><citetitle>puts.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the puts opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/puts.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+            Its output should include lines like these:
+      <screen>
+frequency in Hertz : 440 
+frequency in Hertz : 441 
+frequency in Hertz : 442 
+....
+frequency in Hertz : 459 
+frequency in Hertz : 460 </screen>
+    </para>
+  </refsect1>
+
+
+
+  <refsect1>
     <title>Credits</title>
     <para>
       <simplelist>
diff --git a/opcodes/pvadd.xml b/opcodes/pvadd.xml
index 73ab68b..3a948b6 100644
--- a/opcodes/pvadd.xml
+++ b/opcodes/pvadd.xml
@@ -168,6 +168,14 @@ asig  <emphasis role="opc">pvadd</emphasis> ktime, 1, <quote>oboe.pvoc</quote>,
         Expect to have to scale up the amplitudes by factors of 10-100, by the way.
       </para>
     </note>
+        <para>
+      Here is a complete example of the pvadd opcode. It uses the file <ulink url="examples/pvadd.csd"><citetitle>pvadd.csd</citetitle></ulink>
+      <example>
+        <title>Example of the pvadd opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pvadd.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/pvbufread.xml b/opcodes/pvbufread.xml
index 76fa2ac..31e7f3d 100644
--- a/opcodes/pvbufread.xml
+++ b/opcodes/pvbufread.xml
@@ -6,13 +6,11 @@
     <refentrytitle>pvbufread</refentrytitle>
   </refmeta>
 
-
- 
   <refnamediv>
     <refname>pvbufread</refname>
     <refpurpose>
       Reads from a phase vocoder analysis file and makes the retrieved data available.
-          </refpurpose>
+    </refpurpose>
   </refnamediv>
  
   <refsect1>
@@ -30,7 +28,7 @@
   <refsect1>
     <title>Initialization</title>
     <para>
-      <emphasis>ifile</emphasis> -- the <emphasis>pvoc</emphasis> number (n in pvoc.n) or the name in quotes of the analysis file made using pvanal. (See <link linkend="pvoc"><citetitle>pvoc</citetitle></link>.)
+      <emphasis>ifile</emphasis> -- the <emphasis>pvoc</emphasis> number (n in pvoc.n) or the name in quotes of the analysis file made using <emphasis>pvanal</emphasis>. (See <link linkend="pvoc"><citetitle>pvoc</citetitle></link>.)
     </para>
   </refsect1>
  
@@ -44,18 +42,17 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      The example below shows an example using <emphasis>pvbufread</emphasis> with <emphasis>pvinterp</emphasis> to interpolate between the sound of an oboe and the sound of a clarinet. The value of <emphasis>kinterp</emphasis> returned by a linseg is used to determine the timing of the transitions between the two sounds. The interpolation of frequencies and amplitudes are controlled by the same factor in this example, but for other effects it might be interesting to not have them synchronized in this way. In this example the sound will begin as a clarinet, transform into the oboe and then return again to the clarinet sound. The value of <emphasis>kfreqscale2</emphasis> is 1.065 because the oboe in this case is a semitone higher in pitch than the clarinet and this brings them approximately to the same pitch. The value of <emphasis>kampscale2</emphasis> is .75 because the analyzed clarinet was somewhat louder than the analyzed oboe. The setting of these two parameters make the transition quite smooth in this case, but such adjustments are by no means necessary or even advocated.
+      The example below shows an example using <emphasis>pvbufread</emphasis> with <emphasis>pvinterp</emphasis> to interpolate between the sound of an oboe and the sound of a clarinet. The value of <emphasis>kinterp</emphasis> returned by a <emphasis>linseg</emphasis> is used to determine the timing of the transitions between the two sounds. The interpolation of frequencies and amplitudes are controlled by the same factor in this example, but for other effects it might be interesting to not have them synchronized in this way. In this example the sound will begin as a clarinet, transform into the oboe and then return again to the clarinet sound. The value of <emphasis>kfreqscale2</emphasis> is 1.065 because the oboe in this case is a semitone higher in pitch than the clarinet and this brings them approximately to the same pitch. The value of <emphasis>kampscale2</emphasis> is 0.75 because the analyzed clarinet was somewhat louder than the analyzed oboe. The setting of these two parameters make the transition quite smooth in this case, but such adjustments are by no means necessary or even advocated.
     </para>
 
     <para>
       <informalexample>
         <programlisting>
-ktime1  <emphasis>line</emphasis>      0, p3, 3.5 ; used as index in the "oboe.pvoc" file
-ktime2  <emphasis>line</emphasis>      0, p3, 4.5 ; used as index in the  "clar.pvoc" file
-kinterp <emphasis>linseg</emphasis>    1, p3*.15, 1, p3*.35, 0, p3*.25, 0, p3*.15, 1, p3*.1, 1
-        <emphasis>pvbufread</emphasis> ktime1, "oboe.pvoc"
-apv     <emphasis>pvinterp</emphasis>  ktime2,1,"clar.pvoc",1,1.065,1,.75,1-kinterp,1-kinterp
-        </programlisting>
+ktime1  <emphasis role="opc">line</emphasis>      0, p3, 3.5 <emphasis role="comment">; used as index in the "oboe.pvoc" file</emphasis>
+ktime2  <emphasis role="opc">line</emphasis>      0, p3, 4.5 <emphasis role="comment">; used as index in the  "clar.pvoc" file</emphasis>
+kinterp <emphasis role="opc">linseg</emphasis>    1, p3<emphasis role="op">*</emphasis>0.15, 1, p3<emphasis role="op">*</emphasis>0.35, 0, p3<emphasis role="op">*</emphasis>0.25, 0, p3<emphasis role="op">*</emphasis>0.15, 1, p3<emphasis role="op">*</emphasis>0.1, 1
+        <emphasis role="opc">pvbufread</emphasis> ktime1, "oboe.pvoc"
+apv     <emphasis role="opc">pvinterp</emphasis>  ktime2,1,"clar.pvoc", 1, 1.065, 1, 0.75, 1<emphasis role="op">-</emphasis>kinterp, 1<emphasis role="op">-</emphasis>kinterp</programlisting>
       </informalexample>
     </para>
 
@@ -66,14 +63,21 @@ apv     <emphasis>pvinterp</emphasis>  ktime2,1,"clar.pvoc",1,1.065,1,
     <para>
       <informalexample>
         <programlisting>
-ktime1  <emphasis>line</emphasis>    0, p3, 3.5 ; used as index in the "oboe.pvoc" file
-ktime2  <emphasis>line</emphasis>    0, p3, 4.5 ; used as index in the "clar.pvoc" file
-kcross  <emphasis>expon</emphasis>     .001, p3, 1
-        <emphasis>pvbufread</emphasis> ktime1, "oboe.pvoc"
-apv     <emphasis>pvcross</emphasis>   ktime2, 1, "clar.pvoc", 1-kcross, kcross
-        </programlisting>
+ktime1  <emphasis role="opc">line</emphasis>      0, p3, 3.5 <emphasis role="comment">; used as index in the "oboe.pvoc" file</emphasis>
+ktime2  <emphasis role="opc">line</emphasis>      0, p3, 4.5 <emphasis role="comment">; used as index in the "clar.pvoc" file</emphasis>
+kcross  <emphasis role="opc">expon</emphasis>     0.001, p3, 1
+        <emphasis role="opc">pvbufread</emphasis> ktime1, "oboe.pvoc"
+apv     <emphasis role="opc">pvcross</emphasis>   ktime2, 1, "clar.pvoc", 1<emphasis role="op">-</emphasis>kcross, kcross</programlisting>
       </informalexample>
     </para>
+    <para>
+      Here is a complete example of the pvbufread opcode. It uses the file <ulink url="examples/pvbufread.csd"><citetitle>pvbufread.csd</citetitle></ulink>
+      <example>
+        <title>Example of the pvbufread opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pvbufread.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/pvcross.xml b/opcodes/pvcross.xml
index fbfb2d3..982075c 100644
--- a/opcodes/pvcross.xml
+++ b/opcodes/pvcross.xml
@@ -6,13 +6,11 @@
     <refentrytitle>pvcross</refentrytitle>
   </refmeta>
 
-
- 
   <refnamediv>
     <refname>pvcross</refname>
     <refpurpose>
       Applies the amplitudes from one phase vocoder analysis file to the data from a second file.
-          </refpurpose>
+    </refpurpose>
   </refnamediv>
  
   <refsect1>
@@ -30,7 +28,7 @@
   <refsect1>
     <title>Initialization</title>
     <para>
-      <emphasis>ifile</emphasis> -- the <emphasis>pvoc</emphasis> number (n in pvoc.n) or the name in quotes of the analysis file made using pvanal. (See <link linkend="pvoc"><citetitle>pvoc</citetitle></link>.)
+      <emphasis>ifile</emphasis> -- the <emphasis>pvoc</emphasis> number (n in pvoc.n) or the name in quotes of the analysis file made using <emphasis>pvanal</emphasis>. (See <link linkend="pvoc"><citetitle>pvoc</citetitle></link>.)
     </para>
 
     <para>
@@ -46,7 +44,7 @@ its frequency content is varied by <emphasis>kfmod</emphasis>. The default value
     </para>
 
     <para>
-      <emphasis>kfmod</emphasis> -- a control-rate transposition factor: a value of 1 incurs no transposition, 1.5 transposes up a perfect fifth, and .5 down an octave.
+      <emphasis>kfmod</emphasis> -- a control-rate transposition factor: a value of 1 incurs no transposition, 1.5 transposes up a perfect fifth, and 0.5 down an octave.
     </para>
 
     <para>
@@ -67,14 +65,21 @@ its frequency content is varied by <emphasis>kfmod</emphasis>. The default value
     <para>
       <informalexample>
         <programlisting>
-ktime1  <emphasis>line</emphasis>    0, p3, 3.5 ; used as index in the "oboe.pvoc" file
-ktime2  <emphasis>line</emphasis>    0, p3, 4.5 ; used as index in the "clar.pvoc" file
-kcross  <emphasis>expon</emphasis>     .001, p3, 1
-        <emphasis>pvbufread</emphasis> ktime1, "oboe.pvoc"
-apv     <emphasis>pvcross</emphasis>   ktime2, 1, "clar.pvoc", 1-kcross, kcross
-        </programlisting>
+ktime1  <emphasis role="opc">line</emphasis>      0, p3, 3.5 <emphasis role="comment">; used as index in the "oboe.pvoc" file</emphasis>
+ktime2  <emphasis role="opc">line</emphasis>      0, p3, 4.5 <emphasis role="comment">; used as index in the "clar.pvoc" file</emphasis>
+kcross  <emphasis role="opc">expon</emphasis>     0.001, p3, 1
+        <emphasis role="opc">pvbufread</emphasis> ktime1, "oboe.pvoc"
+apv     <emphasis role="opc">pvcross</emphasis>   ktime2, 1, "clar.pvoc", 1<emphasis role="op">-</emphasis>kcross, kcross</programlisting>
       </informalexample>
     </para>
+            <para>
+      Here is a complete example of the pvcross opcode. It uses the file <ulink url="examples/pvcross.csd"><citetitle>pvcross.csd</citetitle></ulink>
+      <example>
+        <title>Example of the pvcross opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pvcross.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/pvinterp.xml b/opcodes/pvinterp.xml
index 6a5a79c..a9de25b 100644
--- a/opcodes/pvinterp.xml
+++ b/opcodes/pvinterp.xml
@@ -6,13 +6,11 @@
     <refentrytitle>pvinterp</refentrytitle>
   </refmeta>
 
-
- 
   <refnamediv>
     <refname>pvinterp</refname>
     <refpurpose>
       Interpolates between the amplitudes and frequencies of two phase vocoder analysis files.
-          </refpurpose>
+    </refpurpose>
   </refnamediv>
  
   <refsect1>
@@ -46,7 +44,7 @@
     </para>
 
     <para>
-      <emphasis>kfreqscale1</emphasis>, <emphasis>kfreqscale2</emphasis>, <emphasis>kampscale1</emphasis>, <emphasis>kampscale2</emphasis> -- used in <emphasis>pvinterp</emphasis> to scale the frequencies and amplitudes stored in each frame of the phase vocoder analysis file. <emphasis>kfreqscale1</emphasis> and <emphasis>kampscale1</emphasis> scale the frequencies and amplitudes of the data from the file read by the previously called <link linkend="pvbufread"><citetitle>pvbufread</citetitle></link> (this data is passed internally to the pvinterp unit). <emphasis>kfreqscale2</emphasis> and <emphasis>kampscale2</emphasis> scale the frequencies and amplitudes of the file named by <emphasis>ifile</emphasis> in the <emphasis>pvinterp</emphasis> argument list and read within the <emphasis>pvinterp</emphasis> unit. 
+      <emphasis>kfreqscale1</emphasis>, <emphasis>kfreqscale2</emphasis>, <emphasis>kampscale1</emphasis>, <emphasis>kampscale2</emphasis> -- used in <emphasis>pvinterp</emphasis> to scale the frequencies and amplitudes stored in each frame of the phase vocoder analysis file. <emphasis>kfreqscale1</emphasis> and <emphasis>kampscale1</emphasis> scale the frequencies and amplitudes of the data from the file read by the previously called <link linkend="pvbufread"><citetitle>pvbufread</citetitle></link> (this data is passed internally to the <emphasis>pvinterp</emphasis> unit). <emphasis>kfreqscale2</emphasis> and <emphasis>kampscale2</emphasis> scale the frequencies and amplitudes of the file named by <emphasis>ifile</emphasis> in the <emphasis>pvinterp</emphasis> argument list and read within the <emphasis>pvinterp</emphasis> unit. 
     </para>
 
     <para>
@@ -54,7 +52,7 @@
     </para>
 
     <para>
-      <emphasis>kfreqinterp</emphasis>, <emphasis>kampinterp</emphasis> -- used in <emphasis>pvinterp</emphasis>, determine the interpolation distance between the values of one phase vocoder file and the values of a second file. When the value of <emphasis>kfreqinterp</emphasis> is 1, the frequency values will be entirely those from the first file (read by the <emphasis>pvbufread</emphasis>), post scaling by the <emphasis>kfreqscale1</emphasis> argument. When the value of <emphasis>kfreqinterp</emphasis> is 0 the frequency values will be those of the second file (read by the <emphasis>pvinterp</emphasis> unit itself), post scaling by kfreqscale2. When <emphasis>kfreqinterp</emphasis> is between 0 and 1 the frequency values will be calculated, on a bin, by bin basis, as the percentage between each pair of frequencies (in other words, <emphasis>kfreqinterp</emphasis>=.5 will cause the frequencies values to be half way between the values in the set of data from the first file and the set of data from the second file).
+      <emphasis>kfreqinterp</emphasis>, <emphasis>kampinterp</emphasis> -- used in <emphasis>pvinterp</emphasis>, determine the interpolation distance between the values of one phase vocoder file and the values of a second file. When the value of <emphasis>kfreqinterp</emphasis> is 1, the frequency values will be entirely those from the first file (read by the <emphasis>pvbufread</emphasis>), post scaling by the <emphasis>kfreqscale1</emphasis> argument. When the value of <emphasis>kfreqinterp</emphasis> is 0 the frequency values will be those of the second file (read by the <emphasis>pvinterp</emphasis> unit itself), post scaling by <emphasis>kfreqscale2</emphasis>. When <emphasis>kfreqinterp</emphasis> is between 0 and 1 the frequency values will be calculated, on a bin, by bin basis, as the percentage between each pair of frequencies (in other words, <emphasis>kfreqinterp</emphasis>=0.5 will cause the frequencies values to be half way between the values in the set of data from the first file and the set of data from the second file).
     </para>
 
     <para>
@@ -65,20 +63,27 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      The example below shows an example using <emphasis>pvbufread</emphasis> with <emphasis>pvinterp</emphasis> to interpolate between the sound of an oboe and the sound of a clarinet. The value of <emphasis>kinterp</emphasis> returned by a linseg is used to determine the timing of the transitions between the two sounds. The interpolation of frequencies and amplitudes are controlled by the same factor in this example, but for other effects it might be interesting to not have them synchronized in this way. In this example the sound will begin as a clarinet, transform into the oboe and then return again to the clarinet sound. The value of <emphasis>kfreqscale2</emphasis> is 1.065 because the oboe in this case is a semitone higher in pitch than the clarinet and this brings them approximately to the same pitch. The value of <emphasis>kampscale2</emphasis> is .75 because the analyzed clarinet was somewhat louder than the analyzed oboe. The setting of these two parameters make the transition quite smooth in this case, but such adjustments are by no means necessary or even advocated.
+      The example below shows an example using <emphasis>pvbufread</emphasis> with <emphasis>pvinterp</emphasis> to interpolate between the sound of an oboe and the sound of a clarinet. The value of <emphasis>kinterp</emphasis> returned by a <emphasis>linseg</emphasis> is used to determine the timing of the transitions between the two sounds. The interpolation of frequencies and amplitudes are controlled by the same factor in this example, but for other effects it might be interesting to not have them synchronized in this way. In this example the sound will begin as a clarinet, transform into the oboe and then return again to the clarinet sound. The value of <emphasis>kfreqscale2</emphasis> is 1.065 because the oboe in this case is a semitone higher in pitch than the clarinet and this brings them approximately to the same pitch. The value of <emphasis>kampscale2</emphasis> is 0.75 because the analyzed clarinet was somewhat louder than the analyzed oboe. The setting of these two parameters make the transition quite smooth in this case, but such adjustments are by no means necessary or even advocated.
     </para>
 
     <para>
       <informalexample>
         <programlisting>
-ktime1  <emphasis>line</emphasis>      0, p3, 3.5 ; used as index in the "oboe.pvoc" file
-ktime2  <emphasis>line</emphasis>      0, p3, 4.5 ; used as index in the  "clar.pvoc" file
-kinterp <emphasis>linseg</emphasis>    1, p3*.15, 1, p3*.35, 0, p3*.25, 0, p3*.15, 1, p3*.1, 1
-        <emphasis>pvbufread</emphasis> ktime1, "oboe.pvoc"
-apv     <emphasis>pvinterp</emphasis>  ktime2,1,"clar.pvoc",1,1.065,1,.75,1-kinterp,1-kinterp
-        </programlisting>
+ktime1  <emphasis role="opc">line</emphasis>      0, p3, 3.5 <emphasis role="comment">; used as index in the "oboe.pvoc" file</emphasis>
+ktime2  <emphasis role="opc">line</emphasis>      0, p3, 4.5 <emphasis role="comment">; used as index in the  "clar.pvoc" file</emphasis>
+kinterp <emphasis role="opc">linseg</emphasis>    1, p3<emphasis role="op">*</emphasis>0.15, 1, p3<emphasis role="op">*</emphasis>0.35, 0, p3<emphasis role="op">*</emphasis>0.25, 0, p3<emphasis role="op">*</emphasis>0.15, 1, p3<emphasis role="op">*</emphasis>0.1, 1
+        <emphasis role="opc">pvbufread</emphasis> ktime1, "oboe.pvoc"
+apv     <emphasis role="opc">pvinterp</emphasis>  ktime2,1,"clar.pvoc", 1, 1.065, 1, 0.75, 1<emphasis role="op">-</emphasis>kinterp, 1<emphasis role="op">-</emphasis>kinterp</programlisting>
       </informalexample>
     </para>
+        <para>
+      Here is a complete example of the pvinterp opcode. It uses the file <ulink url="examples/pvinterp.csd"><citetitle>pvinterp.csd</citetitle></ulink>
+      <example>
+        <title>Example of the pvinterp opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pvinterp.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/pvoc.xml b/opcodes/pvoc.xml
index 3f880f4..58decea 100644
--- a/opcodes/pvoc.xml
+++ b/opcodes/pvoc.xml
@@ -64,7 +64,19 @@
       This implementation of <emphasis>pvoc</emphasis> was orignally written by Dan Ellis. It is based in part on the system of Mark Dolson, but the pre-analysis concept is new. The  spectral extraction and amplitude gating (new in Csound version 3.56) were added by Richard Karpen based on functions in SoundHack by Tom Erbe.
     </para>
   </refsect1>
- 
+  
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the pvoc opcode. It uses the file <ulink url="examples/pvoc.csd"><citetitle>pvoc.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the pvoc opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pvoc.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/pvread.xml b/opcodes/pvread.xml
index c8f7847..80dbef2 100644
--- a/opcodes/pvread.xml
+++ b/opcodes/pvread.xml
@@ -6,19 +6,17 @@
     <refentrytitle>pvread</refentrytitle>
   </refmeta>
 
-
- 
   <refnamediv>
     <refname>pvread</refname>
     <refpurpose>
       Reads from a phase vocoder analysis file and returns the frequency and amplitude from a single analysis channel or bin.
-          </refpurpose>
+    </refpurpose>
   </refnamediv>
  
   <refsect1>
     <title>Description</title>
     <para>
-      <emphasis>pvread</emphasis> reads from a <link linkend="pvoc"><citetitle>pvoc</citetitle></link> file and returns the frequency and amplitude from a single analysis channel or bin. The returned values can be used anywhere else in the Csound instrument. For example, one can use them as arguments to an oscillator to synthesize a single component from an analyzed signal or a bank of pvreads can be used to resynthesize the analyzed sound using additive synthesis by passing the frequency and magnitude values to a bank of oscillators.
+      <emphasis>pvread</emphasis> reads from a <link linkend="pvoc"><citetitle>pvoc</citetitle></link> file and returns the frequency and amplitude from a single analysis channel or bin. The returned values can be used anywhere else in the Csound instrument. For example, one can use them as arguments to an oscillator to synthesize a single component from an analyzed signal or a bank of <emphasis>pvreads</emphasis> can be used to resynthesize the analyzed sound using additive synthesis by passing the frequency and magnitude values to a bank of oscillators.
     </para>
   </refsect1>
  
@@ -30,7 +28,7 @@
   <refsect1>
     <title>Initialization</title>
     <para>
-      <emphasis>ifile</emphasis> -- the <emphasis>pvoc</emphasis> number (n in pvoc.n) or the name in quotes of the analysis file made using pvanal. (See <link linkend="pvoc"><citetitle>pvoc</citetitle></link>.)
+      <emphasis>ifile</emphasis> -- the <emphasis>pvoc</emphasis> number (n in pvoc.n) or the name in quotes of the analysis file made using <emphasis>pvanal</emphasis>. (See <link linkend="pvoc"><citetitle>pvoc</citetitle></link>.)
     </para>
 
     <para>
@@ -41,7 +39,7 @@
   <refsect1>
     <title>Performance</title>
     <para>
-      <emphasis>kfreq, kamp</emphasis> -- outputs of the <emphasis>pvread</emphasis> unit. These values, retrieved from a phase vocoder analysis file, represent the values of frequency and amplitude from a single analysis channel specified in the ibin argument. Interpolation between analysis frames is performed at k-rate resolution and dependent of course upon the rate and direction of ktimpnt. 
+      <emphasis>kfreq, kamp</emphasis> -- outputs of the <emphasis>pvread</emphasis> unit. These values, retrieved from a phase vocoder analysis file, represent the values of frequency and amplitude from a single analysis channel specified in the <emphasis>ibin</emphasis> argument. Interpolation between analysis frames is performed at k-rate resolution and dependent of course upon the rate and direction of <emphasis>ktimpnt</emphasis>. 
     </para>
 
     <para>
@@ -52,20 +50,13 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      The example below shows the use <emphasis>pvread</emphasis> to synthesize a single component from a phase vocoder analysis file. It should be noted that the <emphasis>kfreq</emphasis> and <emphasis>kamp</emphasis> outputs can be used for any kind of synthesis, filtering, processing, and so on.
-    </para>
-
-    <para>
-      <informalexample>
-        <programlisting>
-ktime         <emphasis>line</emphasis>    0, p3, 3 
-kfreq, kamp   <emphasis>pvread</emphasis>  ktime, "pvoc.file", 7 ; read
-                                      ;data from 7th analysis bin.  
-asig          <emphasis>oscili</emphasis>  kamp, kfreq, 1  ; function 1
-                                      ;is a stored sine
-        </programlisting>
-      </informalexample>
-    </para>
+      The example below shows the use <emphasis>pvread</emphasis> to synthesize a single component at a time from a phase vocoder analysis file. It should be noted that the <emphasis>kfreq</emphasis> and <emphasis>kamp</emphasis> outputs can be used for any kind of synthesis, filtering, processing, and so on.
+      <example>
+        <title>Example of the pvread opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pvread.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+     </para>
   </refsect1>
  
   <refsect1>
diff --git a/opcodes/pvs2tab.xml b/opcodes/pvs2tab.xml
new file mode 100644
index 0000000..6a5ba6a
--- /dev/null
+++ b/opcodes/pvs2tab.xml
@@ -0,0 +1,73 @@
+
+<refentry id="pvs2tab">
+<indexterm id="IndexPvs2tab"><primary>pvs2tab</primary></indexterm>
+
+  <refentryinfo><title>Spectral Processing:Streaming</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>pvs2tab</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>pvs2tab</refname>
+    <refpurpose>
+     Copies spectral data to t-variables.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+       Copies a pvs frame to a t-variable. Currently only AMP+FREQ and AMP+PHASE formats allowed. This opcode requires the t-type to be defined, which means it only works in the new bison/flex-based parser.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>kframe <command>pvs2tab</command> tvar, fsig</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kframe</emphasis> -- current copied frame number. It can be used to detect when a new frame has been copied.
+    </para>
+
+    <para>
+      <emphasis>tvar</emphasis> -- t-variable containing the output. It is produced at every k-period, but may not contain a new frame, pvs frames are produced at their own frame rate that is independent of kr. Generally, this vector needs to be big enough to contain the frame samples, i.e. N+2 (N is the dft size). If smaller, only a portion of the frame will be copied; if bigger, unused points will exist at higher indexes.
+    </para>
+
+    <para>
+      <emphasis>fsig</emphasis> -- input fsig to be copied.
+    </para>
+    <para>
+      <emphasis>iwinsize</emphasis> -- size of the analysis window, defaults to <emphasis>isize</emphasis>.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      <example>
+        <title>Example</title>
+        <programlisting>
+t1 init 1026
+a1 inch 1
+fsig1   pvsanal a1, 1024,256,1024, 1
+kframe  <emphasis role="opc">pvs2tab</emphasis>t1, fsig1</programlisting>
+      </example>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namevictor;</member>
+        <member>October 2011 </member>
+      </simplelist>
+    </para>
+
+    <para>New plugin in version 5</para>
+    <para>October 2011.</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/pvsanal.xml b/opcodes/pvsanal.xml
index 2d7d4dc..ea0695c 100644
--- a/opcodes/pvsanal.xml
+++ b/opcodes/pvsanal.xml
@@ -6,13 +6,11 @@
     <refentrytitle>pvsanal</refentrytitle>
   </refmeta>
 
-
-
   <refnamediv>
     <refname>pvsanal</refname>
     <refpurpose>
       Generate an fsig from a mono audio source ain, using phase vocoder overlap-add analysis. 
-          </refpurpose>
+    </refpurpose>
   </refnamediv>
   
   <refsect1>
@@ -30,23 +28,23 @@
   <refsect1>
     <title>Initialization</title>
     <para>
-      <emphasis>ifftsize</emphasis> -- The FFT size in samples. Need not be a power of two (though these are especially efficient), but must be even. Odd numbers are rounded up internally. ifftsize determines the number of analysis bins in fsig, as ifftsize/2 + 1. For example, where ifftsize = 1024, fsig will contain 513 analysis bins, ordered linearly from the fundamental to Nyquist. The fundamental of analysis (which in principle gives the lowest resolvable frequency) is determined as sr/ifftsize. Thus, for the example just given and assuming sr = 44100, the fundamental of analysis is 43.07Hz. In practice, due to the phase-preserving nature of the phase vocoder, the frequency of any bin can deviate bilaterally, so that DC components are recorded. Given a strongly pitched signal, frequencies in adjacent bins can bunch very closely together, around partials in the source, and the lowest bins may even have negative frequencies.
+      <emphasis>ifftsize</emphasis> -- The FFT size in samples. Need not be a power of two (though these are especially efficient), but must be even. Odd numbers are rounded up internally. <emphasis>ifftsize</emphasis> determines the number of analysis bins in <emphasis>fsig</emphasis>, as <emphasis>ifftsize/2 + 1</emphasis>. For example, where <emphasis>ifftsize</emphasis> = 1024, <emphasis>fsig</emphasis> will contain 513 analysis bins, ordered linearly from the fundamental to Nyquist. The fundamental of analysis (which in principle gives the lowest resolvable frequency) is determined as <emphasis>sr/ifftsize</emphasis>. Thus, for the example just given and assuming <emphasis>sr</emphasis> = 44100, the fundamental of analysis is 43.07Hz. In practice, due to the phase-preserving nature of the phase vocoder, the frequency of any bin can deviate bilaterally, so that DC components are recorded. Given a strongly pitched signal, frequencies in adjacent bins can bunch very closely together, around partials in the source, and the lowest bins may even have negative frequencies.
     </para>
 
     <para>
-      As a rule, the only reason to use a non power-of-two value for ifftsize would be to match the known fundamental frequency of a strongly pitched source. Values with many small factors can be almost as efficient as power-of-two sizes; for  example: 384, for a source pitched at around low A=110Hz.
+      As a rule, the only reason to use a non power-of-two value for <emphasis>ifftsize</emphasis> would be to match the known fundamental frequency of a strongly pitched source. Values with many small factors can be almost as efficient as power-of-two sizes; for  example: 384, for a source pitched at around low A=110Hz.
     </para>
 
     <para>
-      <emphasis>ioverlap</emphasis> -- The distance in samples (<quote>hop size</quote>) between overlapping analysis frames. As a rule, this needs to be at least ifftsize/4, e.g. 256 for the example above. ioverlap determines the underlying analysis rate, as sr/ioverlap. ioverlap does not require to be a simple factor of ifftsize; for example a value of 160 would be legal. The choice of  ioverlap may be dictated by the degree of pitch modification applied to the fsig, if any. As a rule of thumb, the more extreme the pitch shift, the higher the analysis rate needs to be, and hence the smaller the value for ioverlap. A higher analysis rate can also be advantageous with broadband transient sounds, such as drums (where a small analysis window gives less smearing, but more frequency-related errors).
+      <emphasis>ioverlap</emphasis> -- The distance in samples (<quote>hop size</quote>) between overlapping analysis frames. As a rule, this needs to be at least <emphasis>ifftsize/4</emphasis>, e.g. 256 for the example above. <emphasis>ioverlap</emphasis> determines the underlying analysis rate, as <emphasis>sr/ioverlap</emphasis>. <emphasis>ioverlap</emphasis> does not require to be a simple factor of <emphasis>ifftsize</emphasis>; for example a value of 160 would be legal. The choice of <emphasis>ioverlap</emphasis> may be dictated by the degree of pitch modification applied to the <emphasis>fsig</emphasis>, if any. As a rule of thumb, the more extreme the pitch shift, the higher the analysis rate needs to be, and hence the smaller the value for <emphasis>ioverlap</emphasis>. A higher analysis rate can also be advantageous with broadband transient sounds, such as drums (where a small analysis window gives less smearing, but more frequency-related errors).
     </para>
 
     <para>
-      Note that it is possible, and reasonable, to have distinct fsigs in an orchestra (even in the same instrument), running at different analysis rates. Interactions between such fsigs is currently unsupported,  and the fsig assignment opcode does not allow copying between fsigs with different properties, even if the only difference is in ioverlap. However, this is not a closed issue, as it is possible in theory to achieve crude rate conversion (especially with regard to in-memory analysis files) in ways analogous to time-domain techniques.
+      Note that it is possible, and reasonable, to have distinct fsigs in an orchestra (even in the same instrument), running at different analysis rates. Interactions between such fsigs is currently unsupported,  and the fsig assignment opcode does not allow copying between fsigs with different properties, even if the only difference is in <emphasis>ioverlap</emphasis>. However, this is not a closed issue, as it is possible in theory to achieve crude rate conversion (especially with regard to in-memory analysis files) in ways analogous to time-domain techniques.
     </para>
 
     <para>
-      <emphasis>iwinsize</emphasis> -- The size in samples of the analysis window filter (as set by iwintype). This must be at least ifftsize, and can usefully be larger. Though other proportions are permitted, it is recommended that iwinsize always be an integral multiple of ifftsize, e.g. 2048 for the example above. Internally, the analysis window (Hamming, von Hann) is multiplied by a sinc function, so that amplitudes are zero at the boundaries between frames. The larger analysis window size has been found to be especially important for oscillator bank resynthesis (e.g. using pvsadsyn), as it has the effect of increasing the frequency resolution of the analysis, and hence the accuracy of the resynthesis. As noted above, iwinsize determines the overall latency of the analysis/resynthesis system. In many cases, and especially in the absence of pitch modifications, it will be found that setting iwinsize=ifftsize works very well, and offers the lowest latency.
+      <emphasis>iwinsize</emphasis> -- The size in samples of the analysis window filter (as set by <emphasis>iwintype</emphasis>). This must be at least <emphasis>ifftsize</emphasis>, and can usefully be larger. Though other proportions are permitted, it is recommended that <emphasis>iwinsize</emphasis> always be an integral multiple of <emphasis>ifftsize</emphasis>, e.g. 2048 for the example above. Internally, the analysis window (Hamming, von Hann) is multiplied by a sinc function, so that amplitudes are zero at the boundaries between frames. The larger analysis window size has been found to be especially important for oscillator bank resynthesis (e.g. using <emphasis>pvsadsyn</emphasis>), as it has the effect of increasing the frequency resolution of the analysis, and hence the accuracy of the resynthesis. As noted above, <emphasis>iwinsize</emphasis> determines the overall latency of the analysis/resynthesis system. In many cases, and especially in the absence of pitch modifications, it will be found that setting <emphasis>iwinsize=ifftsize</emphasis> works very well, and offers the lowest latency.
     </para>
 
     <para>
@@ -98,14 +96,12 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      <informalexample>
-        <programlisting>
-ain   in                             ; live source
-ffin   pvsanal  ain,1024,256,2048,0  ; analyze, using Hamming
-ffout  pvsmaska ffin,1,0.75          ; apply eq from f-table
-aout  pvsynth   ffout                ; and resynthesize
-        </programlisting>
-      </informalexample>
+      Here is an example of the pvsanal opcode. It uses the file <ulink url="examples/pvsanal.csd"><citetitle>pvsanal.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the pvsanal opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pvsanal.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
     </para>
   </refsect1>
 
diff --git a/opcodes/pvsbandp.xml b/opcodes/pvsbandp.xml
index 91828f6..d5382ec 100644
--- a/opcodes/pvsbandp.xml
+++ b/opcodes/pvsbandp.xml
@@ -23,8 +23,8 @@
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis>fsig <command>pvsbandp</command> fsigin, xlowcut,
-      xlowfull, xhighfull, xhighcut[, ktype]</synopsis>
+    <synopsis>fsig <command>pvsbandp</command> fsigin, xlowcut, xlowfull, \
+      xhighfull, xhighcut[, ktype]</synopsis>
   </refsect1>
 
   <refsect1>
@@ -48,7 +48,8 @@
       <literallayout>
 (1 - exp( r*type )) / (1 - exp(type))
       </literallayout>
-      This includes a linear dB shape when ktype is log(10) or about 2.30.
+      This includes a linear dB shape when <emphasis>ktype</emphasis> is
+      <emphasis>log</emphasis>(10) or about 2.30.
     </para>
 
     <para>
@@ -88,7 +89,7 @@ ________/                                    \______________
       <link linkend="pvsanal"><citetitle>pvsanal</citetitle></link>,
       <link linkend="pvsynth"><citetitle>pvsynth</citetitle></link>,
       <link linkend="pvsadsyn"><citetitle>pvsadsyn</citetitle></link>,
-      <link linkend="pvsbandr"><citetitle>pvsadsyn</citetitle></link>
+      <link linkend="pvsbandr"><citetitle>pvsbandr</citetitle></link>
     </para>
   </refsect1>
 
diff --git a/opcodes/pvsbandr.xml b/opcodes/pvsbandr.xml
index 445e20b..edb4b26 100644
--- a/opcodes/pvsbandr.xml
+++ b/opcodes/pvsbandr.xml
@@ -17,14 +17,14 @@
     <title>Description</title>
     <para>
       Filter the pvoc frames, rejecting bins whose frequency is within a
-    band, and with linear interpolation for transitional bands.
+      band, and with linear interpolation for transitional bands.
     </para>
   </refsect1>
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis>fsig <command>pvsbandr</command> fsigin, xlowcut,
-    xlowfull, xhighfull, xhighcut[, ktype]</synopsis>
+    <synopsis>fsig <command>pvsbandr</command> fsigin, xlowcut, xlowfull, \
+      xhighfull, xhighcut[, ktype]</synopsis>
   </refsect1>
 
   <refsect1>
@@ -51,7 +51,8 @@
       <literallayout>
 (1 - exp( r*type )) / (1 - exp(type))
       </literallayout>
-      This includes a linear dB shape when ktype is log(10) or about 2.30.
+      This includes a linear dB shape when <emphasis>ktype</emphasis> is
+      <emphasis>log</emphasis>(10) or about 2.30.
     </para>
 
     <para>
@@ -89,7 +90,7 @@ ________                                      ______________
       <link linkend="pvsanal"><citetitle>pvsanal</citetitle></link>,
       <link linkend="pvsynth"><citetitle>pvsynth</citetitle></link>,
       <link linkend="pvsadsyn"><citetitle>pvsadsyn</citetitle></link>,
-      <link linkend="pvsbandp"><citetitle>pvsadsyn</citetitle></link>
+      <link linkend="pvsbandp"><citetitle>pvsbandp</citetitle></link>
     </para>
   </refsect1>
 
diff --git a/opcodes/pvsbuffer.xml b/opcodes/pvsbuffer.xml
old mode 100755
new mode 100644
diff --git a/opcodes/pvsbufread.xml b/opcodes/pvsbufread.xml
old mode 100755
new mode 100644
index 5e5b0db..9cb6e11
--- a/opcodes/pvsbufread.xml
+++ b/opcodes/pvsbufread.xml
@@ -1,134 +1,133 @@
-
-<refentry id="pvsbufread">
-<indexterm id="Indexpvsbufread"><primary>pvsbufread</primary></indexterm>
-
-  <refentryinfo><title>Spectral Processing:Streaming</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>pvsbufread</refentrytitle>
-  </refmeta>
-  <refnamediv>
-    <refname>pvsbufread</refname>
-    <refpurpose>
-      This opcode reads a circular buffer of f-signals (streaming PV signals).
-    </refpurpose>
-  </refnamediv>
-
-  <refsect1>
-    <title>Description</title>
-    <para>
-        This opcode  sets up and writes to a circular buffer of length ilen (secs),
-        giving a handle for the buffer and a time pointer, which holds the
-        current write position (also in seconds). It can be used with one or 
-        more pvsbufread opcodes. Writing is circular, wrapping around at the
-        end of the buffer.
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis>fsig <command>pvsbufread</command>  ktime, khandle[, ilo, ihi] </synopsis>
-  </refsect1>
-
-  <refsect1>
-    <title>Initialisation</title>
-   <para>
-      <emphasis>ilo, ihi</emphasis> -- set the lowest and highest freqs to be read from the buffer (defaults to 0, Nyquist).
-    </para>
-
-    <title>Performance</title>
-    <para>
-      <emphasis>fsig</emphasis> -- output pv stream
-    </para>
-   <para>
-      <emphasis>ktime</emphasis> -- time position of reading pointer (in secs).
-    </para>
-    <para>
-      <emphasis>khandle</emphasis> -- handle identifying the buffer to be read. When using k-rate
-handles, it is important to initialise the k-rate variable to a given existing handle. When changing
-buffers, fsig buffers need to be compatible (same fsig format).
-    </para>
-    <para>
-      <emphasis>pvsbufread</emphasis> reads f-signals from a buffer created by 
-    </para>
-    <para>
-        With this opcode and <link linkend="pvsbuffer"><citetitle>pvsbuffer</citetitle></link>, it is possible to, among other things:
-    <simplelist>
-        <listitem><simpara>time-stretch/compress a fsig stream, by reading it at
-different rates</simpara></listitem>
-        <listitem><simpara>delay a fsig or portions of it.</simpara></listitem>
-        <listitem><simpara>'brassage' two or more fsigs by switching buffers, since
-the reading handles are k-rate. Note that, when using k-rate
-handles, it is important to initialise the k-rate variable to a
-given handle (so that the fsig initialisation can take place)
-and it is only possible to switch handles between compatible
-fsig buffers (with the same fftsize and overlap).</simpara></listitem>
-    </simplelist>
-  </para>
-  <note>
-    <para>It is important that the handle value passed to <emphasis>pvsbufread</emphasis> is valid and was created by <link linkend="pvsbuffer"><citetitle>pvsbuffer</citetitle></link>. Csound will crash with invalid handles.
-    </para>
-  </note>
-  </refsect1>
-
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the pvsbufread opcode. It does 'brassage' by switching between two buffers.
-      <example>
-        <title>Example of the pvsbufread opcode</title>
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-
-        <programlisting>
-fsig1   pvsanal   asig1,1024,256,1024,1
-fsig2   pvsanal   asig2,1024,256,1024,1
-
-
-ibuf1,kt1   pvsbuffer   fsig1, 10  ; 10-sec buf with fsig1
-ibuf2,kt2   pvsbuffer  fsig2, 7      ; 7-sec buf with fsig2
-
-
-khan init ibuf1    ; initialise handle to buf1
-
-
-if  ktrig  > 0 then   ; switch buffers according to trigger
-khan = ibuf2
-else
-khan = ibuf1
-endif
-
-
-fsb  pvsbufread  kt1, khan   ; read buffer
-        </programlisting>
-
-      </example>
-    </para>
-    <para>
-      Here is an example of the pvsbufread opcode. It uses the file <ulink url="examples/pvsbufread.csd"><citetitle>pvsbufread.csd</citetitle></ulink>.
-      <example>
-        <title>Example of the pvsbufread opcode.</title>
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/pvsbufread.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>See Also</title>
-    <para>
-      <link linkend="pvsanal"><citetitle>pvsanal</citetitle></link>,
-      <link linkend="pvsynth"><citetitle>pvsynth</citetitle></link>,
-      <link linkend="pvsbuffer"><citetitle>pvsbuffer</citetitle></link>,
-      <link linkend="pvsadsyn"><citetitle>pvsadsyn</citetitle></link>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Credits</title>
-    <para>
-      <simplelist>
-        <member>Author: &namevictor;</member>
-        <member>July 2007</member>
-      </simplelist>
-    </para>
-  </refsect1>
-</refentry>
+
+<refentry id="pvsbufread">
+<indexterm id="Indexpvsbufread"><primary>pvsbufread</primary></indexterm>
+
+  <refentryinfo><title>Spectral Processing:Streaming</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>pvsbufread</refentrytitle>
+  </refmeta>
+  <refnamediv>
+    <refname>pvsbufread</refname>
+    <refpurpose>
+      This opcode reads a circular buffer of f-signals (streaming PV signals).
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      This opcode reads from a circular buffer of length ilen (secs),
+      taking a handle for the buffer and a time pointer, which holds the
+      current read position (also in seconds). It is used in conjunction with a
+      <emphasis>pvsbuffer</emphasis> opocde. 
+      Reading is circular, wrapping around at the end of the buffer.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>fsig <command>pvsbufread</command>  ktime, khandle[, ilo, ihi, iclear] </synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialisation</title>
+    <para>
+      <emphasis>ilo, ihi</emphasis> -- set the lowest and highest freqs to be read from the buffer (defaults to 0, Nyquist).
+    </para>
+   <para>
+      <emphasis>iclear</emphasis> -- set to 1 to clear output fsig before every write (default 1), 0 tells the opcode not to clear
+      the output fsig. This is relevant when writing to subsets of an fsig frame using <emphasis>ilo</emphasis>, <emphasis>ihi</emphasis>.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>fsig</emphasis> -- output pv stream
+    </para>
+    <para>
+      <emphasis>ktime</emphasis> -- time position of reading pointer (in secs).
+    </para>
+    <para>
+      <emphasis>khandle</emphasis> -- handle identifying the buffer to be read. When using k-rate
+      handles, it is important to initialise the k-rate variable to a given existing handle. When changing
+      buffers, fsig buffers need to be compatible (same fsig format).
+    </para>
+    <para>
+      With this opcode and <link linkend="pvsbuffer"><citetitle>pvsbuffer</citetitle></link>, it is possible to, among other things:
+      <itemizedlist>
+        <listitem><simpara>time-stretch/compress a fsig stream, by reading it at
+        different rates</simpara></listitem>
+        <listitem><simpara>delay a fsig or portions of it.</simpara></listitem>
+        <listitem><simpara>'brassage' two or more fsigs by switching buffers, since
+        the reading handles are k-rate. Note that, when using k-rate
+        handles, it is important to initialise the k-rate variable to a
+        given handle (so that the fsig initialisation can take place)
+        and it is only possible to switch handles between compatible
+        fsig buffers (with the same fftsize and overlap).</simpara></listitem>
+    </itemizedlist>
+  </para>
+  <note>
+    <para>It is important that the handle value passed to <emphasis>pvsbufread</emphasis> is valid and was created by <link linkend="pvsbuffer"><citetitle>pvsbuffer</citetitle></link>. Csound will crash with invalid handles.
+    </para>
+  </note>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the pvsbufread opcode. It does 'brassage' by switching between two buffers.
+      <example>
+        <title>Example of the pvsbufread opcode</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+
+        <programlisting>
+fsig1       <emphasis role="opc">pvsanal</emphasis>     asig1, 1024, 256, 1024, 1
+fsig2       <emphasis role="opc">pvsanal</emphasis>     asig2, 1024, 256, 1024, 1
+
+
+ibuf1, kt1  <emphasis role="opc">pvsbuffer</emphasis>   fsig1, 10   <emphasis role="comment">; 10-sec buf with fsig1</emphasis>
+ibuf2, kt2  <emphasis role="opc">pvsbuffer</emphasis>   fsig2, 7    <emphasis role="comment">; 7-sec buf with fsig2</emphasis>
+
+khan        <emphasis role="opc">init</emphasis>        ibuf1       <emphasis role="comment">; initialise handle to buf1</emphasis>
+
+<emphasis role="opc">if</emphasis>  ktrig  <emphasis role="op">></emphasis> 0 <emphasis role="opc">then</emphasis>                 <emphasis role="comment">; switch buffers according to trigger</emphasis>
+khan <emphasis role="op">=</emphasis> ibuf2
+<emphasis role="opc">else</emphasis>
+khan <emphasis role="op">=</emphasis> ibuf1
+<emphasis role="opc">endif</emphasis>
+
+fsb         <emphasis role="opc">pvsbufread</emphasis>  kt1, khan   <emphasis role="comment">; read buffer</emphasis></programlisting>
+      </example>
+    </para>
+    <para>
+      Here is an example of the pvsbufread opcode. It uses the file <ulink url="examples/pvsbufread.csd"><citetitle>pvsbufread.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the pvsbufread opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/pvsbufread.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="pvsanal"><citetitle>pvsanal</citetitle></link>,
+      <link linkend="pvsynth"><citetitle>pvsynth</citetitle></link>,
+      <link linkend="pvsbuffer"><citetitle>pvsbuffer</citetitle></link>,
+      <link linkend="pvsadsyn"><citetitle>pvsadsyn</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namevictor;</member>
+        <member>July 2007</member>
+      </simplelist>
+    </para>
+  </refsect1>
+</refentry>
+
diff --git a/opcodes/pvsbufread2.xml b/opcodes/pvsbufread2.xml
new file mode 100644
index 0000000..766bb7c
--- /dev/null
+++ b/opcodes/pvsbufread2.xml
@@ -0,0 +1,109 @@
+
+<refentry id="pvsbufread2">
+<indexterm id="Indexpvsbufread2"><primary>pvsbufread2</primary></indexterm>
+
+  <refentryinfo><title>Spectral Processing:Streaming</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>pvsbufread2</refentrytitle>
+  </refmeta>
+  <refnamediv>
+    <refname>pvsbufread2</refname>
+    <refpurpose>
+      This opcode reads a circular buffer of f-signals (streaming PV signals), with binwise additional delays.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      This opcode reads from a circular buffer of length ilen (secs),
+      taking a handle for the buffer and a time pointer, which holds the
+      current read position (also in seconds). It is used in conjunction with a <emphasis>pvsbuffer</emphasis> opocde. 
+      Reading is circular, wrapping around at the end of the buffer. Extra delay times are taken from
+      a function table, with each point on it defining a delay time in seconds affecting the corresponding bin.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>fsig <command>pvsbufread2</command>  ktime, khandle, ift1, ift2 </synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ift1</emphasis> -- function table with at least fftisze/2+1 points where delays (in secs) for bin amplitudes are
+      set (function table positions are equivalent to bin numbers)
+    </para>
+    <para>
+      <emphasis>ift2</emphasis> -- function table with at least fftisze/2+1 points where delays (in secs) for bin frequencies are
+      set (function table positions are equivalent to bin numbers)
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>fsig</emphasis> -- output pv stream
+    </para>
+   <para>
+      <emphasis>ktime</emphasis> -- time position of reading pointer (in secs).
+    </para>
+    <para>
+      <emphasis>khandle</emphasis> -- handle identifying the buffer to be read. When using k-rate
+      handles, it is important to initialise the k-rate variable to a given existing handle. When changing
+      buffers, fsig buffers need to be compatible (same fsig format).
+    </para>
+    <para>
+      With this opcode and <link linkend="pvsbuffer"><citetitle>pvsbuffer</citetitle></link>, it is possible to, among other things:
+      <itemizedlist>
+        <listitem><simpara>time-stretch/compress a fsig stream, by reading it at
+        different rates</simpara></listitem>
+        <listitem><simpara>delay a fsig or portions of it.</simpara></listitem>
+        <listitem><simpara>'brassage' two or more fsigs by switching buffers, since
+        the reading handles are k-rate. Note that, when using k-rate
+        handles, it is important to initialise the k-rate variable to a
+        given handle (so that the fsig initialisation can take place)
+        and it is only possible to switch handles between compatible
+        fsig buffers (with the same fftsize and overlap).</simpara></listitem>
+      </itemizedlist>
+    </para>
+    <note>
+      <para>
+        It is important that the handle value passed to <emphasis>pvsbufread2</emphasis> is valid and was created by <link linkend="pvsbuffer"><citetitle>pvsbuffer</citetitle></link>. Csound will crash with invalid handles.
+      </para>
+    </note>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the pvsbufread2 opcode. It uses the file <ulink url="examples/pvsbufread2.csd"><citetitle>pvsbufread2.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the pvsbufread2 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/pvsbufread2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="pvsanal"><citetitle>pvsanal</citetitle></link>,
+      <link linkend="pvsynth"><citetitle>pvsynth</citetitle></link>,
+      <link linkend="pvsbuffer"><citetitle>pvsbuffer</citetitle></link>,
+      <link linkend="pvsadsyn"><citetitle>pvsadsyn</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namevictor;</member>
+        <member>July 2011</member>
+      </simplelist>
+    </para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/pvscale.xml b/opcodes/pvscale.xml
index 8e0caf1..7ebd97e 100644
--- a/opcodes/pvscale.xml
+++ b/opcodes/pvscale.xml
@@ -17,8 +17,8 @@
     <title>Description</title>
     <para>
       Scale the frequency components of a pv stream, resulting
-in pitch shift. Output amplitudes can be optionally modified in order
-to attempt formant preservation.
+      in pitch shift. Output amplitudes can be optionally modified in order
+      to attempt formant preservation.
     </para>
   </refsect1>
 
@@ -43,10 +43,10 @@ to attempt formant preservation.
 
     <para>
       <emphasis>kkeepform</emphasis> -- attempt to keep input signal
-                                formants; 0: do not keep formants;
-                                1: keep formants using a liftered cepstrum method; 2: keep formants by 
-                                using a true envelope method
-                                (defaults to 0). 
+      formants; 0: do not keep formants;
+      1: keep formants using a liftered cepstrum method; 2: keep formants by 
+      using a true envelope method
+      (defaults to 0). 
     </para>
 
     <para>
@@ -76,17 +76,16 @@ to attempt formant preservation.
       <example>
         <title>Example</title>
         <programlisting>
-asig  in                                 ; get the signal in
+asig  <emphasis role="opc">in</emphasis>                                 <emphasis role="comment">; get the signal in</emphasis>
 
-fsig  pvsanal   asig, 1024, 256, 1024, 1 ; analyse it
-ftps  pvscale   fsig, 1.5, 1, 1          ; transpose it keeping formants
-atps  pvsynth  ftps                      ; synthesise it
+fsig  <emphasis role="opc">pvsanal</emphasis>   asig, 1024, 256, 1024, 1 <emphasis role="comment">; analyse it</emphasis>
+ftps  <emphasis role="opc">pvscale</emphasis>   fsig, 1.5, 1, 1          <emphasis role="comment">; transpose it keeping formants</emphasis>
+atps  <emphasis role="opc">pvsynth</emphasis>   ftps                     <emphasis role="comment">; synthesise it</emphasis>
 
-adp   delayr .1                          ; delay original signal
-adel  deltapn 1024	                 ; by 1024 samples
-      delayw  asig
-       out atps+adel                     ; add tranposed and original
-</programlisting>
+adp   <emphasis role="opc">delayr</emphasis>    0.1                      <emphasis role="comment">; delay original signal</emphasis>
+adel  <emphasis role="opc">deltapn</emphasis>   1024                     <emphasis role="comment">; by 1024 samples</emphasis>
+      <emphasis role="opc">delayw</emphasis>    asig
+      <emphasis role="opc">out</emphasis>       atps <emphasis role="op">+</emphasis> adel              <emphasis role="comment">; add tranposed and original</emphasis></programlisting>
       </example>
     </para>
     <para>
diff --git a/opcodes/pvsdemix.xml b/opcodes/pvsdemix.xml
index 773c750..ef8ec28 100644
--- a/opcodes/pvsdemix.xml
+++ b/opcodes/pvsdemix.xml
@@ -6,13 +6,11 @@
     <refentrytitle>pvsdemix</refentrytitle>
   </refmeta>
 
-
-
   <refnamediv>
     <refname>pvsdemix</refname>
     <refpurpose>
-Spectral azimuth-based de-mixing of stereo sources.
-          </refpurpose>
+      Spectral azimuth-based de-mixing of stereo sources.
+    </refpurpose>
   </refnamediv>
   
   <refsect1>
@@ -22,9 +20,9 @@ Spectral azimuth-based de-mixing of stereo sources.
       opcode implements the Azimuth Discrimination and Resynthesis (ADRess) algorithm, developed by
       Dan Barry (Barry et Al. "Sound Source Separation Azimuth Discrimination and Resynthesis". DAFx'04, 
       Univ. of Napoli). The source separation, or de-mixing, is controlled by two parameters: an azimuth
-      position (kpos) and a subspace width (kwidth). The first one is used to locate the spectral peaks of 
+      position (<emphasis>kpos</emphasis>) and a subspace width (<emphasis>kwidth</emphasis>). The first one is used to locate the spectral peaks of 
       individual sources on a stereo mix, whereas the second widens the 'search space', including/exclufing 
-      the peaks around kpos. These two parameters can be used interactively to extract source sounds from
+      the peaks around <emphasis>kpos</emphasis>. These two parameters can be used interactively to extract source sounds from
       a stereo mix. The algorithm is particularly successful with studio recordings where individual instruments
       occupy individual panning positions; it is, in fact, a reverse-panning algorithm. 
     </para>
@@ -57,58 +55,48 @@ Spectral azimuth-based de-mixing of stereo sources.
 
     <para>
       <emphasis>kpos</emphasis> -- the azimuth target centre position, which will be de-mixed, from
-left to right (-1 <= kpos <= 1). This is the reverse pan-pot control.
+      left to right (-1 <= <emphasis>kpos</emphasis> <= 1). This is the reverse pan-pot control.
     </para>
     <para>
       <emphasis>kwidth</emphasis> -- the azimuth subspace width, which will determine the number
-of points around kpos which will be used in the de-mixing process.
-(1 <= kwidth <= ipoints)
+      of points around <emphasis>kpos</emphasis> which will be used in the de-mixing process.
+      (1 <= <emphasis>kwidth</emphasis> <= <emphasis>ipoints</emphasis>)
     </para>
 
     <para>
       <emphasis>ipoints</emphasis> -- total number of discrete points, which will divide
-each pan side of the stereo image. This ultimately affects 
-the resolution of the process.
+      each pan side of the stereo image. This ultimately affects 
+      the resolution of the process.
     </para>
-
   </refsect1>
 
-
-
   <refsect1>
     <title>Examples</title>
     <para>
-	The example below takes a stereo input and passes through a de-mixing
-	process revealing a source located at ipos +/- iwidth points. These parameters
-	can be controlled in realtime (e.g. using FLTK widgets or MIDI) for an interactive
-	search of sound sources.
+      The example below takes a stereo input and passes through a de-mixing
+      process revealing a source located at ipos +/- iwidth points. These parameters
+      can be controlled in realtime (e.g. using FLTK widgets or MIDI) for an interactive
+      search of sound sources.
       <example>
         <title>Example</title>
         <programlisting>
-		
-ifftsize = 1024  
-iwtype = 1    /* cleaner with hanning window */
-ipos = -0.8  /* to the left of the stereo image */
-iwidth = 20  /* use peaks of 20 points around it */
+ifftsize <emphasis role="op">=</emphasis> 1024  
+iwtype   <emphasis role="op">=</emphasis> 1     <emphasis role="comment">/* cleaner with hanning window      */</emphasis>
+ipos     <emphasis role="op">=</emphasis> -0.8  <emphasis role="comment">/* to the left of the stereo image  */</emphasis>
+iwidth   <emphasis role="op">=</emphasis> 20    <emphasis role="comment">/* use peaks of 20 points around it */</emphasis>
 
-al,ar  soundin "sinput.wav"
+al,ar  <emphasis role="opc">soundin</emphasis>   "sinput.wav"
 
-flc  pvsanal   al, ifftsize, ifftsize/4, ifftsize, iwtype
-frc  pvsanal   ar, ifftsize, ifftsize/4, ifftsize, iwtype
-fdm  pvsdemix  flc, frc, kpos, kwidth, 100
-adm  pvsynth   fdm
+flc    <emphasis role="opc">pvsanal</emphasis>   al, ifftsize, ifftsize/4, ifftsize, iwtype
+frc    <emphasis role="opc">pvsanal</emphasis>   ar, ifftsize, ifftsize/4, ifftsize, iwtype
+fdm    <emphasis role="opc">pvsdemix</emphasis>  flc, frc, kpos, kwidth, 100
+adm    <emphasis role="opc">pvsynth</emphasis>   fdm
    
-       outs    adm,adm
-        </programlisting>
+       <emphasis role="opc">outs</emphasis>      adm, adm</programlisting>
       </example>
-
     </para>
-    
-
   </refsect1>
 
-
-
   <refsect1>
     <title>Credits</title>
     <para>
diff --git a/opcodes/pvsdiskin.xml b/opcodes/pvsdiskin.xml
index 0701ab6..ee1b480 100644
--- a/opcodes/pvsdiskin.xml
+++ b/opcodes/pvsdiskin.xml
@@ -22,7 +22,7 @@
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis>fsig <command>pvsdiskin</command>SFname,ktscal,kgain[,ioffset, ichan]</synopsis>
+    <synopsis>fsig <command>pvsdiskin</command> SFname,ktscal,kgain[,ioffset, ichan]</synopsis>
   </refsect1>
 
   <refsect1>
@@ -51,19 +51,17 @@
       backwards, 0 < ktscal < 1 is slower and ktscal > 1 is faster) </para>
     <para>
       <emphasis>kgain</emphasis> -- gain scaling. </para>
-
   </refsect1>
 
   <refsect1>
     <title>Examples</title>
     <para>
-      <informalexample>
-        <programlisting>
-          fsigr <emphasis role="opc">pvsdiskin</emphasis> "test.pvx",1,1  <emphasis role="comment">; read PVOCEX file with tscale and gain = 1</emphasis>
-          aout <emphasis role="opc">pvsynth</emphasis> fsigr  <emphasis role="comment">; resynthesise it</emphasis>
-        </programlisting>
-      </informalexample>
-
+      Here is an example of the pvsdiskin opcode. It uses the file <ulink url="examples/pvsdiskin.csd"><citetitle>pvsdiskin.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the pvsdiskin opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pvsdiskin.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
     </para>
   </refsect1>
 
diff --git a/opcodes/pvsfread.xml b/opcodes/pvsfread.xml
index 4792b4e..cbf85aa 100644
--- a/opcodes/pvsfread.xml
+++ b/opcodes/pvsfread.xml
@@ -56,18 +56,15 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      <informalexample>
-        <programlisting>
-idur  filelen   "test.pvx"         ; find dur of (stereo) analysis file
-kpos  line      0,p3,idur          ; to ensure we process whole file
-fsigr pvsfread  kpos,"test.pvx",1  ; create fsig from R channel
-        </programlisting>
-      </informalexample>
-
-      (NB: as this example shows, the filelen opcode has been extended to accept both old and new analysis file formats).
+      Here is an example of the pvsfread opcode. It uses the file <ulink url="examples/pvsfread.csd"><citetitle>pvsfread.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the pvsfread opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pvsfread.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
     </para>
   </refsect1>
- 
+
   <refsect1>
     <title>Credits</title>
     <para>
diff --git a/opcodes/pvsfreeze.xml b/opcodes/pvsfreeze.xml
old mode 100755
new mode 100644
index 30966e5..daf10eb
--- a/opcodes/pvsfreeze.xml
+++ b/opcodes/pvsfreeze.xml
@@ -1,113 +1,104 @@
-
-<refentry id="pvsfreeze">
-<indexterm id="Indexpvsfreeze"><primary>pvsfreeze</primary></indexterm>
-
-  <refentryinfo><title>Spectral Processing:Streaming</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>pvsfreeze</refentrytitle>
-  </refmeta>
-
-  <refnamediv>
-    <refname>pvsfreeze</refname>
-    <refpurpose>
-    Freeze the amplitude and frequency time functions of a pv stream according to a control-rate
-	trigger.
-    </refpurpose>
-  </refnamediv>
-
-  <refsect1>
-    <title>Description</title>
-    <para>
-     This opcodes 'freezes' the evolution of pvs stream by locking into steady amplitude and/or
-	 frequency values for each bin. The freezing is controlled, independently for amplitudes and
-	  frequencies, by a control-rate trigger, which switches the freezing 'on' if equal to or above
-	  1 and 'off' if below 1.
-	 	 
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis>fsig <command>pvsfreeze</command> fsigin, kfreeza, kfreezf</synopsis>
-  </refsect1>
-
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      <emphasis>fsig</emphasis> -- output pv stream
-    </para>
-
-    <para>
-      <emphasis>fsigin</emphasis> -- input pv stream.
-    </para>
-
-    <para>
-      <emphasis>kfreeza</emphasis> -- freezing switch for amplitudes. Freezing is on if above or equal to 1 and off if below 1.
-    </para>
-
-    <para>
-      <emphasis>kfcf</emphasis> -- freezing switch for frequencies. Freezing is on if above or equal to 1 and off if below 1.
-    </para>
-
-    <warning>
-      <para>
-        It is unsafe to use the same f-variable for both input and output of pvs opcodes. Using the same one might lead to undefined behavior on some opcodes. Use a different one on the left and right sides of the opcode.
-      </para>
-    </warning>
-
-
-  </refsect1>
-
-
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      <example>
-        <title>Example</title>
-        <programlisting>
-
-asig  in                             ; input
-ktrig oscil  1.5, 0.25, 1             ; trigger
-fim   pvsanal  asig1,1024,256,1024,0  ; pvoc analysis 
-fou   pvsfreeze fim, abs(ktrig), abs(ktrig)    ; regular 'freeze' of spectra
-aout	pvsynth fou               ; pvoc synthesis
-        </programlisting>
-      </example>
-
-    </para>
-    
-    <para>
-     In the example above the input signal will be regularly 'frozen' for a short while, 
-	 as the trigger rises above 1 about every two seconds.</para>
-    <para>
-      Here is an example of the use of the <emphasis>pvsfreeze</emphasis> opcode. It uses the file <ulink url="examples/pvsfreeze.csd"><citetitle>pvsfreeze.csd</citetitle></ulink>.
-      <example>
-        <title>Example of the <emphasis>pvsfreeze</emphasis> opcode.</title>
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/pvsfreeze.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>See Also</title>
-    <para>
-      <link linkend="pvsanal"><citetitle>pvsanal</citetitle></link>,
-      <link linkend="pvsynth"><citetitle>pvsynth</citetitle></link>,
-      <link linkend="pvsadsyn"><citetitle>pvsadsyn</citetitle></link>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Credits</title>
-    <para>
-      <simplelist>
-        <member>Author: &namevictor;</member>
-        <member>May 2006 </member>
-      </simplelist>
-    </para>
-
-    <para>New plugin in version 5</para>
-    <para>May 2006.</para>
-  </refsect1>
-</refentry>
+
+<refentry id="pvsfreeze">
+<indexterm id="Indexpvsfreeze"><primary>pvsfreeze</primary></indexterm>
+
+  <refentryinfo><title>Spectral Processing:Streaming</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>pvsfreeze</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>pvsfreeze</refname>
+    <refpurpose>
+      Freeze the amplitude and frequency time functions of a pv stream according to a control-rate
+      trigger.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      This opcodes 'freezes' the evolution of pvs stream by locking into steady amplitude and/or
+      frequency values for each bin. The freezing is controlled, independently for amplitudes and
+      frequencies, by a control-rate trigger, which switches the freezing 'on' if equal to or above
+      1 and 'off' if below 1.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>fsig <command>pvsfreeze</command> fsigin, kfreeza, kfreezf</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>fsig</emphasis> -- output pv stream
+    </para>
+
+    <para>
+      <emphasis>fsigin</emphasis> -- input pv stream.
+    </para>
+
+    <para>
+      <emphasis>kfreeza</emphasis> -- freezing switch for amplitudes. Freezing is on if above or equal to 1 and off if below 1.
+    </para>
+
+    <para>
+      <emphasis>kfcf</emphasis> -- freezing switch for frequencies. Freezing is on if above or equal to 1 and off if below 1.
+    </para>
+
+    <warning>
+      <para>
+        It is unsafe to use the same f-variable for both input and output of pvs opcodes. Using the same one might lead to undefined behavior on some opcodes. Use a different one on the left and right sides of the opcode.
+      </para>
+    </warning>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      <example>
+        <title>Example</title>
+        <programlisting>
+asig  <emphasis role="opc">in</emphasis>                                       <emphasis role="comment">; input</emphasis>
+ktrig <emphasis role="opc">oscil</emphasis>     1.5, 0.25, 1                   <emphasis role="comment">; trigger</emphasis>
+fim   <emphasis role="opc">pvsanal</emphasis>   asig1, 1024, 256, 1024, 0      <emphasis role="comment">; pvoc analysis </emphasis>
+fou   <emphasis role="opc">pvsfreeze</emphasis> fim, <emphasis role="opc">abs</emphasis>(ktrig), <emphasis role="opc">abs</emphasis>(ktrig)    <emphasis role="comment">; regular 'freeze' of spectra</emphasis>
+aout  <emphasis role="opc">pvsynth</emphasis>   fou                            <emphasis role="comment">; pvoc synthesis</emphasis></programlisting>
+      </example>
+    </para>
+    <para>
+      In the example above the input signal will be regularly 'frozen' for a short while, 
+      as the trigger rises above 1 about every two seconds.</para>
+    <para>
+      Here is an example of the use of the <emphasis>pvsfreeze</emphasis> opcode. It uses the file <ulink url="examples/pvsfreeze.csd"><citetitle>pvsfreeze.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the <emphasis>pvsfreeze</emphasis> opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pvsfreeze.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="pvsanal"><citetitle>pvsanal</citetitle></link>,
+      <link linkend="pvsynth"><citetitle>pvsynth</citetitle></link>,
+      <link linkend="pvsadsyn"><citetitle>pvsadsyn</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namevictor;</member>
+        <member>May 2006 </member>
+      </simplelist>
+    </para>
+    <para>New plugin in version 5</para>
+    <para>May 2006.</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/pvsftr.xml b/opcodes/pvsftr.xml
index 9783e68..ff5912f 100644
--- a/opcodes/pvsftr.xml
+++ b/opcodes/pvsftr.xml
@@ -70,31 +70,19 @@ fsig1 = fsig2
       It is not necessary to use function tables in this case.
     </para>
   </refsect1>
-
+  
   <refsect1>
     <title>Examples</title>
     <para>
-      <informalexample>
-        <programlisting>
-ifn     ftgen      0,0,inbins,10,1        ; make ftable
-kflag   pvsftw     fsrc,ifn          ; export  amps to table,
-kamp    init       0
-if      kflag==0   kgoto contin   ; only proc when frame is ready
-; kill lowest bins, for obvious effect
-        tablew      kamp,1,ifn
-        tablew      kamp,2,ifn
-        tablew      kamp,3,ifn
-        tablew      kamp,4,ifn
-; read modified data back to fsrc
-        pvsftr      fsrc,ifn
-contin:
-; and resynth
-aout    pvsynth    fsrc
-        </programlisting>
-      </informalexample>
+      Here is an example of the pvsftr opcode. It uses the file <ulink url="examples/pvsftr.csd"><citetitle>pvsftr.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the pvsftr opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pvsftr.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
     </para>
   </refsect1>
- 
+
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/pvsftw.xml b/opcodes/pvsftw.xml
index 369fc7a..1df3d2a 100644
--- a/opcodes/pvsftw.xml
+++ b/opcodes/pvsftw.xml
@@ -74,28 +74,16 @@ fsig1 = fsig2
       It is not necessary to use function tables in this case.
     </para>
   </refsect1>
-
+  
   <refsect1>
     <title>Examples</title>
     <para>
-      <informalexample>
-        <programlisting>
-ifn     ftgen      0,0,inbins,10,1        ; make ftable
-kflag   pvsftw     fsrc,ifn          ; export  amps to table,
-kamp    init       0
-if      kflag==0   kgoto contin   ; only proc when frame is ready
-; kill lowest bins, for obvious effect
-        tablew      kamp,1,ifn
-        tablew      kamp,2,ifn
-        tablew      kamp,3,ifn
-        tablew      kamp,4,ifn
-; read modified data back to fsrc
-        pvsftr      fsrc,ifn
-contin:
-; and resynth
-aout    pvsynth    fsrc
-        </programlisting>
-      </informalexample>
+      Here is an example of the pvsftw opcode. It uses the file <ulink url="examples/pvsftw.csd"><citetitle>pvsftw.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the pvsftw opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pvsftw.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
     </para>
   </refsect1>
 
diff --git a/opcodes/pvsgain.xml b/opcodes/pvsgain.xml
new file mode 100644
index 0000000..e04ad7d
--- /dev/null
+++ b/opcodes/pvsgain.xml
@@ -0,0 +1,81 @@
+
+<refentry id="pvsgain">
+<indexterm id="IndexPvsgain"><primary>pvsgain</primary></indexterm>
+  <refentryinfo><title>Spectral Processing:Streaming</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>pvsgain</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>pvsgain</refname>
+    <refpurpose>
+      Scale the amplitude of a pv stream.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Scale the amplitude of a pv stream.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>fsig <command>pvsgain</command> fsigin, kgain </synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>fsig</emphasis> -- output pv stream
+    </para>
+
+    <para>
+      <emphasis>fsigin</emphasis> -- input pv stream
+    </para>
+
+    <para>
+      <emphasis>kgain</emphasis> -- amplitude scaling (defaults to 1).
+    </para>
+    <warning>
+      <para>
+        It is unsafe to use the same f-variable for both input and output of pvs opcodes. Using the same one might lead to undefined behavior on some opcodes. Use a different one on the left and right sides of the opcode.
+      </para>
+   </warning>
+  </refsect1>
+  
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the use of the <emphasis>pvsgain</emphasis> opcode. It uses the file <ulink url="examples/pvsgain.csd"><citetitle>pvsgain.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the <emphasis>pvsgain</emphasis> opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pvsgain.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="pvsanal"><citetitle>pvsanal</citetitle></link>,
+      <link linkend="pvsynth"><citetitle>pvsynth</citetitle></link>,
+      <link linkend="pvsadsyn"><citetitle>pvsadsyn</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namevictor;</member>
+        <member>2011 </member>
+      </simplelist>
+    </para>
+
+    <para>New plugin in version 5</para>
+    <para>2011</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/pvshift.xml b/opcodes/pvshift.xml
index 55e5fc8..539e488 100644
--- a/opcodes/pvshift.xml
+++ b/opcodes/pvshift.xml
@@ -10,7 +10,7 @@
     <refname>pvshift</refname>
     <refpurpose>
       Shift the frequency components of a pv stream, stretching/compressing
-its spectrum.
+      its spectrum.
     </refpurpose>
   </refnamediv>
 
@@ -18,7 +18,7 @@ its spectrum.
     <title>Description</title>
     <para>
       Shift the frequency components of a pv stream, stretching/compressing
-its spectrum.
+      its spectrum.
     </para>
   </refsect1>
 
@@ -47,10 +47,10 @@ its spectrum.
 
     <para>
       <emphasis>kkeepform</emphasis> -- attempt to keep input signal
-                                formants; 0: do not keep formants;
-                                1: keep formants using a liftered cepstrum method; 2: keep formants by 
-                                using a true envelope method
-                                (defaults to 0). 
+      formants; 0: do not keep formants;
+      1: keep formants using a liftered cepstrum method; 2: keep formants by 
+      using a true envelope method
+      (defaults to 0). 
     </para>
 
     <para>
@@ -62,7 +62,7 @@ its spectrum.
     <para>
       This opcode will shift the components of a pv stream, from a certain
       frequency upwards, up or down a fixed amount (in Hz). It can be used to 
-      transform a harmonic spectrum into an inharmonic one. The ikeepform flag 
+      transform a harmonic spectrum into an inharmonic one. The <emphasis>kkeepform</emphasis> flag 
       can be used to try and preserve formants for possibly interesting and unusual
       spectral modifications.
     </para>
@@ -81,18 +81,18 @@ its spectrum.
       <example>
         <title>Example</title>
         <programlisting>
-asig  in                                 ; get the signal in
+asig  <emphasis role="opc">in</emphasis>                                 <emphasis role="comment">; get the signal in</emphasis>
 
-fsig  pvsanal   asig, 1024, 256, 1024, 1 ; analyse it
-ftps  pvshift   fsig, 100, 0             ; add 100 Hz to each component
-atps  pvsynth   ftps                     ; synthesise it
-        </programlisting>
+fsig  <emphasis role="opc">pvsanal</emphasis>   asig, 1024, 256, 1024, 1 <emphasis role="comment">; analyse it</emphasis>
+ftps  <emphasis role="opc">pvshift</emphasis>   fsig, 100, 0             <emphasis role="comment">; add 100 Hz to each component</emphasis>
+atps  <emphasis role="opc">pvsynth</emphasis>   ftps                     <emphasis role="comment">; synthesise it</emphasis></programlisting>
       </example>
     </para>
 
     <para>
-    Depending on the input, this will transform a pitched sound into an inharmonic,
-bell-like sound.</para>
+      Depending on the input, this will transform a pitched sound into an inharmonic,
+      bell-like sound.
+    </para>
     <para>
       Here is an example of the use of the <emphasis>pvshift</emphasis> opcode. It uses the file <ulink url="examples/pvshift.csd"><citetitle>pvshift.csd</citetitle></ulink>.
       <example>
@@ -122,6 +122,6 @@ bell-like sound.</para>
     </para>
 
     <para>New plugin in version 5</para>
-    <para>Nivember 2004.</para>
+    <para>November 2004.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/pvsifd.xml b/opcodes/pvsifd.xml
index 35c5132..4d3e9e2 100644
--- a/opcodes/pvsifd.xml
+++ b/opcodes/pvsifd.xml
@@ -68,26 +68,14 @@
   <refsect1>
     <title>Examples</title>
     <para>
+      Here is an example of the pvsifd opcode. It uses the file <ulink url="examples/pvsifd.csd"><citetitle>pvsifd.csd</citetitle></ulink>.
       <example>
-        <title>Example</title>
-        <programlisting>
-ain inch 1                  ; input signal
-fs1,fsi2 pvsifd ain,2048,512,1 ; pvsifd analysis
-fst  partials fs1,fsi2,.003,1,3,500  ; partial tracking
-      aout  resyn fst, 1, 1.5, 500, 1 ; resynthesis (up a 5th)
-out aout
-        </programlisting>
+        <title>Example of the pvsifd opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pvsifd.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-
-    </para>
-    
-    <para>
-The example above shows the pvsifd analysis feeding into partial tracking and
-cubic-phase additive resynthesis with pitch shifting.
-    
     </para>
-    
+        <para>The example above shows the pvsifd analysis feeding into partial tracking andcubic-phase additive resynthesis with pitch shifting.</para>
   </refsect1>
  
   <refsect1>
diff --git a/opcodes/pvsin.xml b/opcodes/pvsin.xml
index c718ae5..9739e58 100644
--- a/opcodes/pvsin.xml
+++ b/opcodes/pvsin.xml
@@ -6,12 +6,10 @@
     <refentrytitle>pvsin</refentrytitle>
   </refmeta>
 
-
-
   <refnamediv>
     <refname>pvsin</refname>
     <refpurpose>
- Retrieve an fsig from the input software bus; a pvs equivalent to chani.
+      Retrieve an fsig from the input software bus; a pvs equivalent to chani.
     </refpurpose>
   </refnamediv>
   
@@ -19,35 +17,35 @@
     <title>Description</title>
     <para>
       This opcode retrieves an f-sig from the pvs in software bus, which can be
-	  used to get data from an external source, using the Csound 5 API. A channel
-	  is created if not already existing. The fsig channel is in that case initialised with
-	  the given parameters. It is important to note that the pvs input
-	  and output (pvsout opcode) busses are independent and data is not shared between them.
+      used to get data from an external source, using the Csound 5 API. A channel
+      is created if not already existing. The fsig channel is in that case initialised with
+      the given parameters. It is important to note that the pvs input
+      and output (pvsout opcode) busses are independent and data is not shared between them.
     </para>
   </refsect1>
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis>fsig <command>pvsin</command> kchan[,isize,iolap,iwinsize,iwintype,iformat]</synopsis>
+    <synopsis>fsig <command>pvsin</command> kchan[, isize, iolap, iwinsize, iwintype, iformat]</synopsis>
   </refsect1>
 
   <refsect1>
-    <title>Initialisation</title>
+    <title>Initialization</title>
     <para>
       <emphasis>isize</emphasis> -- initial DFT size,defaults to 1024.
     </para>
     <para>
-      <emphasis>iolap</emphasis> -- size of overlap, defaults to isize/4.
+      <emphasis>iolap</emphasis> -- size of overlap, defaults to <emphasis>isize</emphasis>/4.
     </para>
-	 <para>
-      <emphasis>isize</emphasis> -- size of analysis window, defaults to isize.
+   <para>
+      <emphasis>iwinsize</emphasis> -- size of analysis window, defaults to <emphasis>isize</emphasis>.
     </para>
-	 <para>
-      <emphasis>isize</emphasis> -- type of window, defaults to Hanning (1) (see pvsanal)
+   <para>
+      <emphasis>iwintype</emphasis> -- type of window, defaults to Hanning (1) (see <emphasis>pvsanal</emphasis>)
     </para>
-	 <para>
-      <emphasis>isize</emphasis> -- data format, defaults 0 (PVS_AMP_FREQ). Other possible
-	  values are 1 (PVS_AMP_PHASE), 2  (PVS_COMPLEX) or 3 (PVS_TRACKS).
+   <para>
+      <emphasis>iformat</emphasis> -- data format, defaults 0 (PVS_AMP_FREQ). Other possible
+      values are 1 (PVS_AMP_PHASE), 2  (PVS_COMPLEX) or 3 (PVS_TRACKS).
     </para>
   </refsect1>
   <refsect1>
@@ -66,11 +64,8 @@
       <example>
         <title>Example</title>
         <programlisting>
-          fsig  pvsin   0 ; get data from pvs in bus channel 0
-        </programlisting>
+          fsig  <emphasis role="opc">pvsin</emphasis>   0  <emphasis role="comment">; get data from pvs in bus channel 0</emphasis></programlisting>
       </example>
-
-
     </para>
   </refsect1>
  
@@ -79,9 +74,8 @@
     <para>
       <simplelist>
         <member>Author: &namevictor;</member>
-        <member>Auust 2006 </member>
+        <member>August 2006 </member>
       </simplelist>
     </para>
-
   </refsect1>
 </refentry>
diff --git a/opcodes/pvsinfo.xml b/opcodes/pvsinfo.xml
index 5b4feed..07654c3 100644
--- a/opcodes/pvsinfo.xml
+++ b/opcodes/pvsinfo.xml
@@ -49,15 +49,21 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      <informalexample>
-        <programlisting>
-fim                pvsfread  "test.pvx"    ; import pvocex file
-iovl,inb,iws,ifmt  pvsinfo   fim           ; get inumbins info
-ifn                ftgen     0,0,inb,10,1  ; and create f-table
-        </programlisting>
-      </informalexample>
+      Here is an example of the pvsinfo opcode. It uses the file <ulink url="examples/pvsinfo.csd"><citetitle>pvsinfo.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the pvsinfo opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pvsinfo.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+        <para>
+      The example will produce the following output:
+      <screen>
+instr 1:  iovl = 256.000  inb = 513.000  iws = 2048.000  ifmt = 0.000
+      </screen>
     </para>
   </refsect1>
+
  
   <refsect1>
     <title>Credits</title>
diff --git a/opcodes/pvsinit.xml b/opcodes/pvsinit.xml
index 24c73d5..4198de7 100644
--- a/opcodes/pvsinit.xml
+++ b/opcodes/pvsinit.xml
@@ -1,81 +1,76 @@
-
-<refentry id="pvsinit">
-<indexterm id="IndexPvsinit"><primary>pvsinit</primary></indexterm>
-
-  <refentryinfo><title>Spectral Processing:Streaming</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>pvsinit</refentrytitle>
-  </refmeta>
-
-
-
-  <refnamediv>
-    <refname>pvsinit</refname>
-    <refpurpose>
-      Initialise a spectral (f) variable to zero.
-    </refpurpose>
-  </refnamediv>
-
-  <refsect1>
-    <title>Description</title>
-    <para>
-      Fermorms the equavent to an init operation on an f-variable.
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis>fsig <command>pvsinit</command> isize[,iolap,iwinsize,iwintype, iformat]</synopsis>
-  </refsect1>
-
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      <emphasis>fsig</emphasis> -- output pv stream set to zero.
-    </para>
-
-    <para>
-      <emphasis>isize</emphasis> -- size of the DFT frame.
-    </para>
-
-    <para>
-      <emphasis>iolap</emphasis> -- size of the analysis overlap, defaults to isize/4.
-    </para>
-    <para>
-      <emphasis>iwinsize</emphasis> -- size of the analysis window, defaults to isize.
-    </para>
-    <para>
-      <emphasis>iwintype</emphasis> -- type of analysis window, defaults to 1, Hanning.
-    </para>
-    <para>
-      <emphasis>iformat</emphasis> -- pvsdata format, defaults to 0:PVS_AMP_FREQ.
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      <example>
-        <title>Example</title>
-        <programlisting>
-fsig  pvsinit   1024
-        </programlisting>
-      </example>
-
-    </para>
-
-  </refsect1>
- 
-  <refsect1>
-    <title>Credits</title>
-    <para>
-      <simplelist>
-        <member>Author: &namevictor;</member>
-        <member>November 2004 </member>
-      </simplelist>
-    </para>
-
-    <para>New plugin in version 5</para>
-    <para>November 2004.</para>
-  </refsect1>
-</refentry>
+
+<refentry id="pvsinit">
+<indexterm id="IndexPvsinit"><primary>pvsinit</primary></indexterm>
+
+  <refentryinfo><title>Spectral Processing:Streaming</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>pvsinit</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>pvsinit</refname>
+    <refpurpose>
+      Initialise a spectral (f) variable to zero.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Performs the equivalent to an init operation on an f-variable.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>fsig <command>pvsinit</command> isize[, iolap, iwinsize, iwintype, iformat]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>fsig</emphasis> -- output pv stream set to zero.
+    </para>
+
+    <para>
+      <emphasis>isize</emphasis> -- size of the DFT frame.
+    </para>
+
+    <para>
+      <emphasis>iolap</emphasis> -- size of the analysis overlap, defaults to <emphasis>isize</emphasis>/4.
+    </para>
+    <para>
+      <emphasis>iwinsize</emphasis> -- size of the analysis window, defaults to <emphasis>isize</emphasis>.
+    </para>
+    <para>
+      <emphasis>iwintype</emphasis> -- type of analysis window, defaults to 1, Hanning.
+    </para>
+    <para>
+      <emphasis>iformat</emphasis> -- pvsdata format, defaults to 0:PVS_AMP_FREQ.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      <example>
+        <title>Example</title>
+        <programlisting>
+fsig  <emphasis role="opc">pvsinit</emphasis>   1024</programlisting>
+      </example>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namevictor;</member>
+        <member>November 2004 </member>
+      </simplelist>
+    </para>
+
+    <para>New plugin in version 5</para>
+    <para>November 2004.</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/pvslock.xml b/opcodes/pvslock.xml
index e12d496..2c9a31a 100644
--- a/opcodes/pvslock.xml
+++ b/opcodes/pvslock.xml
@@ -6,21 +6,19 @@
     <refentrytitle>pvslock</refentrytitle>
   </refmeta>
 
-
-
   <refnamediv>
     <refname>pvslock</refname>
     <refpurpose>
       Frequency lock an input fsig
-          </refpurpose>
+    </refpurpose>
   </refnamediv>
   
   <refsect1>
     <title>Description</title>
     <para>
       This opcode searches for spectral peaks and then locks the frequencies around those peaks. This is similar to
-phase-locking in non-streaming PV processing. It can be used to improve timestretching and pitch-shifting quality in
-PV processing.
+      phase-locking in non-streaming PV processing. It can be used to improve timestretching and pitch-shifting quality in
+      PV processing.
     </para>
   </refsect1>
 
@@ -49,27 +47,19 @@ PV processing.
     </warning>
 
   </refsect1>
-
+  
   <refsect1>
     <title>Examples</title>
     <para>
+      Here is an example of the pvslock opcode. It uses the file <ulink url="examples/pvslock.csd"><citetitle>pvslock.csd</citetitle></ulink>.
       <example>
-        <title>Example</title>
-        <programlisting>
-fsig1	pvstanal  kspeed,1,1,1  ; pvoc analysis from table 1 (kspeed is timescale factor) 
-fsigout	pvslock  fsig1, 1         ; frequency lock
-aout	pvsynth fsigout              ; pvoc synthesis
-        </programlisting>
+        <title>Example of the pvslock opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pvslock.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-
     </para>
-    
-    <para>Depending on the input, this will transform a pitched sound into an inharmonic,
-bell-like sound.</para>
-    
   </refsect1>
- 
+
   <refsect1>
     <title>Credits</title>
     <para>
@@ -80,6 +70,6 @@ bell-like sound.</para>
     </para>
 
     <para>New plugin in version 5</para>
-    <para>Nivember 2004.</para>
+    <para>November 2004.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/pvsmix.xml b/opcodes/pvsmix.xml
index 4b9c704..25b565b 100644
--- a/opcodes/pvsmix.xml
+++ b/opcodes/pvsmix.xml
@@ -6,21 +6,19 @@
     <refentrytitle>pvsmix</refentrytitle>
   </refmeta>
 
-
-
   <refnamediv>
     <refname>pvsmix</refname>
     <refpurpose>
       Mix 'seamlessly' two pv signals.
-          </refpurpose>
+    </refpurpose>
   </refnamediv>
   
   <refsect1>
     <title>Description</title>
     <para>
       Mix 'seamlessly' two pv signals.  This opcode combines the
-most prominent components of two pvoc streams into a single
-mixed stream.
+      most prominent components of two pvoc streams into a single
+      mixed stream.
     </para>
   </refsect1>
 
@@ -41,7 +39,7 @@ mixed stream.
 
     <para>
       <emphasis>fsigin2</emphasis> -- input pv stream, which must have
-    same format as fsigin1.
+      same format as <emphasis>fsigin1</emphasis>.
     </para>
 
     <warning>
@@ -55,22 +53,13 @@ mixed stream.
   <refsect1>
     <title>Examples</title>
     <para>
+      Here is an example of the pvsmix opcode. It uses the file <ulink url="examples/pvsmix.csd"><citetitle>pvsmix.csd</citetitle></ulink>.
       <example>
-        <title>Example</title>
-        <programlisting>
-fsig1	pvsanal  asig1,1024,256,1024,0  ; pvoc analysis 
-fsig2   pvsanal  asig2,1024,256,1024,0  
-fsigout	pvsmix  fsig1, fsig2         ; mix signals
-aout	pvsynth fsigout              ; pvoc synthesis
-        </programlisting>
+        <title>Example of the pvsmix opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pvsmix.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-
     </para>
-    
-    <para>Depending on the input, this will transform a pitched sound into an inharmonic,
-bell-like sound.</para>
-    
   </refsect1>
  
   <refsect1>
@@ -83,6 +72,6 @@ bell-like sound.</para>
     </para>
 
     <para>New plugin in version 5</para>
-    <para>Nivember 2004.</para>
+    <para>November 2004.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/pvsmooth.xml b/opcodes/pvsmooth.xml
old mode 100755
new mode 100644
index 08d920e..1778582
--- a/opcodes/pvsmooth.xml
+++ b/opcodes/pvsmooth.xml
@@ -7,32 +7,30 @@
     <refentrytitle>pvsmooth</refentrytitle>
   </refmeta>
 
-
-
   <refnamediv>
     <refname>pvsmooth</refname>
     <refpurpose>
-     Smooth the amplitude and frequency time functions of a pv stream using parallel 1st order
-	 lowpass IIR filters with time-varying cutoff frequency. 
-      
+      Smooth the amplitude and frequency time functions of a pv stream using parallel 1st order
+      lowpass IIR filters with time-varying cutoff frequency. 
     </refpurpose>
   </refnamediv>
   
   <refsect1>
     <title>Description</title>
     <para>
-     Smooth the amplitude and frequency time functions of a pv stream using a 1st order
-	 lowpass IIR with time-varying cutoff frequency. This opcode uses the same filter 
-	 as the 'tone' opcode, but this time acting separately on the amplitude and frequency
-	 time functions that make up a pv stream. The cutoff frequency parameter runs at the
-	 control-rate, but unlike tone and tonek, it is not specified in Hz, but as fractions
-	 of 1/2 frame-rate (actually the pv stream sampling rate), which is easier to
-	 understand. This means that the highest cutoff frequency is 1 and the lowest 0; the lower
-	 the frequency the smoother the functions and more pronounced the effect will be. This 
-	 opcode produces effects that are more or less similar to pvsblur, but with two important
-	 differences: 1.smoothing of amplitudes and frequencies use separate sets of filters; and 2. there is
-	 no increase in computational cost when higher amounts of 'blurring' (smoothing) are desired.
-	 	 
+      Smooth the amplitude and frequency time functions of a pv stream using a 1st order
+      lowpass IIR with time-varying cutoff frequency. This opcode uses the same filter 
+      as the <emphasis>tone</emphasis> opcode, but this time acting separately on the amplitude and frequency
+      time functions that make up a pv stream. The cutoff frequency parameter runs at the
+      control-rate, but unlike <emphasis>tone</emphasis> and <emphasis>tonek</emphasis>, it is not specified in Hz, but as fractions
+      of 1/2 frame-rate (actually the pv stream sampling rate), which is easier to
+      understand. This means that the highest cutoff frequency is 1 and the lowest 0; the lower
+      the frequency the smoother the functions and more pronounced the effect will be. 
+    </para>
+    <para>
+      These are filters applied to control signals so the effect is basically blurring the spectral evolution. The effects produced are more or less similar to <emphasis>pvsblur</emphasis>, but with two important
+      differences: 1.smoothing of amplitudes and frequencies use separate sets of filters; and 2. there is
+      no increase in computational cost when higher amounts of 'blurring' (smoothing) are desired.
     </para>
   </refsect1>
 
@@ -53,46 +51,38 @@
 
     <para>
       <emphasis>kacf</emphasis> -- amount of cutoff frequency for amplitude function filtering, between 0 and 1,
-	                     in fractions of 1/2 frame-rate.
+      in fractions of 1/2 frame-rate.
     </para>
 
     <para>
       <emphasis>kfcf</emphasis> -- amount of cutoff frequency for frequency function filtering, between 0 and 1,
-	                     in fractions of 1/2 frame-rate.
+      in fractions of 1/2 frame-rate.
     </para>
+
     <warning>
       <para>
         It is unsafe to use the same f-variable for both input and output of pvs opcodes. Using the same one might lead to undefined behavior on some opcodes. Use a different one on the left and right sides of the opcode.
       </para>
     </warning>
-
   </refsect1>
-
-
-
+  
   <refsect1>
     <title>Examples</title>
     <para>
+      Here is an example of the pvsmooth opcode. It uses the file <ulink url="examples/pvsmooth.csd"><citetitle>pvsmooth.csd</citetitle></ulink>.
       <example>
-        <title>Example</title>
-        <programlisting>
-
-asig1  in                             ; input
-fim   pvsanal  asig1,1024,256,1024,0  ; pvoc analysis 
-fou   pvsmooth fim, 0.01, 0.01        ; smooth with cf at 1% of 1/2 frame-rate (ca 8.6 Hz)
-aout  pvsynth fou                     ; pvoc synthesis
-        </programlisting>
+        <title>Example of the pvsmooth opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pvsmooth.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-    </para>
-    
+    </para>  
     <para>
-     In the example above the input signal will be smoothed/blurred by pvsmooth with
-	 a cutoff frequency of 1% of 1/2 frame-rate (which is about 172Hz, so the cf is about 8.6Hz) .</para>
+     The formula for calculating the cutoff frequency of the filter: frame rate / hopsize = new frame starts per second (in Hz), then the percentage of half the framerate.
+     For example, looking at the first note in the example, the frame rate is 44100 / 256 = 172,265625 Hz (= 172 new frame starts per 
+second). half of the frame rate is about 86 Hz, and one percent of this is 0.86 Hz.
+    </para>
   </refsect1>
 
-
-
   <refsect1>
     <title>Credits</title>
     <para>
diff --git a/opcodes/pvsmorph.xml b/opcodes/pvsmorph.xml
index 3472bc8..0ca2cac 100644
--- a/opcodes/pvsmorph.xml
+++ b/opcodes/pvsmorph.xml
@@ -1,92 +1,91 @@
-
-<refentry id="pvsmorph">
-  <indexterm id="Indexpvsmorph"><primary>pvsmorph</primary></indexterm>
-  <refentryinfo><title>Spectral Processing:Streaming</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>pvsmorph</refentrytitle>
-  </refmeta>
-
-  <refnamediv>
-    <refname>pvsmorph</refname>
-    <refpurpose>
-      Performs morphing (or interpolation) between two source fsigs.
-    </refpurpose>
-  </refnamediv>
-
-  <refsect1>
-    <title>Description</title>
-    <para>
-      Performs morphing (or interpolation)  between two source fsigs.
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis>fsig <command>pvsmorph</command> fsig1, fsig2, kampint, kfrqint</synopsis>
-  </refsect1>
-
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      The operation of this opcode is similar to that of <link linkend="pvcross"><citetitle>pvinterp</citetitle></link> (q.v.), 
-      except in using <emphasis>fsig</emphasis>s rather than analysis files, and the absence of spectral envelope preservation. 
-      The amplitudes and frequencies of <emphasis>fsig1</emphasis> are interpolated witht those of <emphasis>fsig2</emphasis>, 
-      depeding on the values of <emphasis>kampint</emphasis> and <emphasis>kfrqint</emphasis>, respectively. These range
-      between 0 and 1, where 0 means <emphasis>fsig1</emphasis> and 1, <emphasis>fsig2</emphasis>. Anything in between will
-      interpolate amps and/or freqs of the two fsigs.
-    </para>
-    <para>
-      With this opcode, morphing can be performed on real-time audio input, by using 
-      <link linkend="pvsanal"><citetitle>pvsanal</citetitle></link> to generate <emphasis>fsig1</emphasis> and <emphasis>fsig2</emphasis>. 
-      These must have the same format.
-    </para>
-    <warning>
-      <para>
-        It is unsafe to use the same f-variable for both input and output of pvs opcodes. Using the same one might lead to undefined behavior on some opcodes. Use a different one on the left and right sides of the opcode.
-      </para>
-    </warning>
-  </refsect1>
-
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the pvsmorph opcode. It uses the file <ulink url="examples/pvsmorph.csd"><citetitle>pvsmorph.csd</citetitle></ulink>.
-
-      <example>
-        <title>Example of the pvsmorph opcode.</title>
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/pvsmorph.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-    <para>
-      Here is another example of the pvsmorph opcode. It uses the file <ulink url="examples/pvsmorph2.csd"><citetitle>pvsmorph2.csd</citetitle></ulink>.
-
-      <example>
-        <title>Example of the pvsmorph opcode.</title>
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/pvsmorph2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>See Also</title>
-    <para>
-      <link linkend="pvsanal"><citetitle>pvsanal</citetitle></link>,
-      <link linkend="pvsynth"><citetitle>pvsynth</citetitle></link>,
-      <link linkend="pvsadsyn"><citetitle>pvsadsyn</citetitle></link>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Credits</title>
-    <para>
-      <simplelist>
-        <member>Author: &namevictor;</member>
-        <member>April 2007 </member>
-      </simplelist>
-      New in Csound 5.06
-    </para>
-
-  </refsect1>
-</refentry>
+<refentry id="pvsmorph">
+  <indexterm id="Indexpvsmorph"><primary>pvsmorph</primary></indexterm>
+  <refentryinfo><title>Spectral Processing:Streaming</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>pvsmorph</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>pvsmorph</refname>
+    <refpurpose>
+      Performs morphing (or interpolation) between two source fsigs.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Performs morphing (or interpolation)  between two source fsigs.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>fsig <command>pvsmorph</command> fsig1, fsig2, kampint, kfrqint</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      The operation of this opcode is similar to that of <link linkend="pvcross"><citetitle>pvinterp</citetitle></link> (q.v.), 
+      except in using <emphasis>fsig</emphasis>s rather than analysis files, and the absence of spectral envelope preservation. 
+      The amplitudes and frequencies of <emphasis>fsig1</emphasis> are interpolated with those of <emphasis>fsig2</emphasis>, 
+      depending on the values of <emphasis>kampint</emphasis> and <emphasis>kfrqint</emphasis>, respectively. These range
+      between 0 and 1, where 0 means <emphasis>fsig1</emphasis> and 1, <emphasis>fsig2</emphasis>. Anything in between will
+      interpolate amps and/or freqs of the two fsigs.
+    </para>
+    <para>
+      With this opcode, morphing can be performed on real-time audio input, by using 
+      <link linkend="pvsanal"><citetitle>pvsanal</citetitle></link> to generate <emphasis>fsig1</emphasis> and <emphasis>fsig2</emphasis>. 
+      These must have the same format.
+    </para>
+    <warning>
+      <para>
+        It is unsafe to use the same f-variable for both input and output of pvs opcodes. Using the same one might lead to undefined behavior on some opcodes. Use a different one on the left and right sides of the opcode.
+      </para>
+    </warning>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the pvsmorph opcode. It uses the file <ulink url="examples/pvsmorph.csd"><citetitle>pvsmorph.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the pvsmorph opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pvsmorph.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+    <para>
+      Here is another example of the pvsmorph opcode. It uses the file <ulink url="examples/pvsmorph2.csd"><citetitle>pvsmorph2.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the pvsmorph opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pvsmorph2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="pvsanal"><citetitle>pvsanal</citetitle></link>,
+      <link linkend="pvsynth"><citetitle>pvsynth</citetitle></link>,
+      <link linkend="pvsadsyn"><citetitle>pvsadsyn</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namevictor;</member>
+        <member>April 2007 </member>
+      </simplelist>
+      New in Csound 5.06
+    </para>
+
+  </refsect1>
+</refentry>
diff --git a/opcodes/pvsout.xml b/opcodes/pvsout.xml
index 0005207..e301a53 100644
--- a/opcodes/pvsout.xml
+++ b/opcodes/pvsout.xml
@@ -6,20 +6,18 @@
     <refentrytitle>pvsout</refentrytitle>
   </refmeta>
 
-
-
   <refnamediv>
     <refname>pvsout</refname>
     <refpurpose>
- Write a fsig to the pvs output bus.
-          </refpurpose>
+      Write a fsig to the pvs output bus.
+    </refpurpose>
   </refnamediv>
   
   <refsect1>
     <title>Description</title>
     <para>
       This opcode writes a fsig to a channel of the pvs output bus. Note that the pvs out bus and
-	  the pvs in bus are separate and independent. A new channel is created if non-existent.
+	    the pvs in bus are separate and independent. A new channel is created if non-existent.
     </para>
   </refsect1>
 
@@ -45,15 +43,11 @@
       <example>
         <title>Example</title>
         <programlisting>
-asig in ; input
-fsig pvsanal asig, 1024, 256, 1024, 1 ; analysis
-pvsout   fsig,0 ; write signal to pvs out bus channel 0
-        </programlisting>
+asig     <emphasis role="opc">in</emphasis>                                <emphasis role="comment">; input</emphasis>
+fsig     <emphasis role="opc">pvsanal</emphasis> asig, 1024, 256, 1024, 1  <emphasis role="comment">; analysis</emphasis>
+         <emphasis role="opc">pvsout</emphasis>  fsig, 0                   <emphasis role="comment">; write signal to pvs out bus channel 0</emphasis></programlisting>
       </example>
-
-
     </para>
-    
   </refsect1>
  
   <refsect1>
@@ -64,6 +58,5 @@ pvsout   fsig,0 ; write signal to pvs out bus channel 0
         <member>August 2006 </member>
       </simplelist>
     </para>
-
   </refsect1>
 </refentry>
diff --git a/opcodes/pvstanal.xml b/opcodes/pvstanal.xml
index 8da2030..c7700a2 100644
--- a/opcodes/pvstanal.xml
+++ b/opcodes/pvstanal.xml
@@ -1,6 +1,6 @@
-<refentry id="pvstanal">
+<refentry id="pvstanal">
 <indexterm id="IndexPvstanal"><primary>pvstanal</primary></indexterm>
-  <refentryinfo><title>Spectral processing: pvstanal</title></refentryinfo>
+  <refentryinfo><title>Spectral Processing:Streaming</title></refentryinfo>
   <refmeta>
     <refentrytitle>pvstanal</refentrytitle>
   </refmeta>
@@ -31,7 +31,7 @@ This opcode allows for time and frequency-independent scaling. Time is advanced
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asig <command>pvstanal</command> ktimescal,kamp,kpitch,ktab,[kdetect, kwrap, ioffset,ifftsize, ihop, ithresh]
+    <synopsis>fsig <command>pvstanal</command> ktimescal, kamp, kpitch, ktab, [kdetect, kwrap, ioffset,ifftsize, ihop, idbthresh]
       </synopsis>
   </refsect1>
 
@@ -48,7 +48,8 @@ This opcode allows for time and frequency-independent scaling. Time is advanced
     </para>
 
 		      <para>
-      <emphasis>idbthresh</emphasis> -- threshold based on dB power spectrum ratio between two successive windows. A detected ratio above it will cancel timescaling momentarily, to avoid smearing (defaults to 1)
+      <emphasis>idbthresh</emphasis> -- threshold for onset detection, based on dB power spectrum ratio between two successive windows. A detected ratio above it will cancel timescaling momentarily, to avoid smearing (defaults to 1).
+      By default anything more than a 1 dB inter-frame power difference will be detected as an onset.
     </para>
 	
   </refsect1>
@@ -66,7 +67,8 @@ This opcode allows for time and frequency-independent scaling. Time is advanced
     </para>
 
     <para>
-      <emphasis>kdetect</emphasis> -- 0 or 1, to switch onset detection/processing
+      <emphasis>kdetect</emphasis> -- 0 or 1, to switch onset detection/processing. The onset detector checks for power difference between analysis windows. If more than what has been specified in the dbthresh parameter, an onset is declared.
+It suspends timescaling momentarily so the onsets are not modified.
     </para>
     <para>
       <emphasis>ktab</emphasis> -- source signal function table. Deferred-allocation tables (see
@@ -76,37 +78,20 @@ This opcode allows for time and frequency-independent scaling. Time is advanced
  <para>
       <emphasis>kwrap</emphasis> -- 0 or 1, to switch on/off table wrap-around read (default to 1)
     </para>
-
   </refsect1>
+  
   <refsect1>
     <title>Examples</title>
     <para>
+      Here is an example of the pvstanal opcode. It uses the file <ulink url="examples/pvstanal.csd"><citetitle>pvstanal.csd</citetitle></ulink>.
       <example>
-        <title>Example</title>
-        <programlisting>
-		
-idur = p3
-ilock = p4
-itab = 1
-ipitch = 1
-iamp = 0.8
-ktime linseg 0.3, p3/2, 0.8, p3/2, 0.3
-
-fs1 pvstanal ktime,iamp,ipitch,itab
-a1 pvsynth fs1
-   out a1
-    
-
-   </programlisting>
+        <title>Example of the pvstanal opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pvstanal.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
     </para>
-    
-
   </refsect1>
 
-
-
   <refsect1>
     <title>Credits</title>
     <para>
diff --git a/opcodes/pvstencil.xml b/opcodes/pvstencil.xml
index 4077f21..723f983 100644
--- a/opcodes/pvstencil.xml
+++ b/opcodes/pvstencil.xml
@@ -6,27 +6,25 @@
     <refentrytitle>pvstencil</refentrytitle>
   </refmeta>
 
-
-
   <refnamediv>
     <refname>pvstencil</refname>
     <refpurpose>
       Transforms a pvoc stream according to a masking function table.
-          </refpurpose>
+    </refpurpose>
   </refnamediv>
   
   <refsect1>
     <title>Description</title>
     <para>
       Transforms a pvoc stream according to a masking function table;
-    if the pvoc stream amplitude falls below the value of the function
-    for a specific pvoc channel, it applies a gain to that channel.
+      if the pvoc stream amplitude falls below the value of the function
+      for a specific pvoc channel, it applies a gain to that channel.
     </para>
     <para>
       The pvoc stream amplitudes are compared to a masking table, if
-    the fall below the table values, they are scaled by kgain. Prior
-    to the operation, table values are scaled by klevel, which can be
-    used as masking depth control.
+      the fall below the table values, they are scaled by <emphasis>kgain</emphasis>. Prior
+      to the operation, table values are scaled by <emphasis>klevel</emphasis>, which can be
+      used as masking depth control.
     </para>
     <para>
     Tables have to be at least fftsize/2 in size; for most GENS it is
@@ -34,13 +32,13 @@
     one), however this is not necessary with GEN43.
     </para>
     <para>
-    One of the typical uses of pvstencil would be in noise
-    reduction. A noise print can be analysed with pvanal into a PVOCEX
-    file and loaded in a table with GEN43. This then can be used as
-    the masking table for pvstencil and the amount of reduction would
-    be controlled by kgain. Skipping post-normalisation will keep the
+    One of the typical uses of <emphasis>pvstencil</emphasis> would be in noise
+    reduction. A noise print can be analysed with <emphasis>pvanal</emphasis> into a PVOC-EX
+    file and loaded in a table with <emphasis>GEN43</emphasis>. This then can be used as
+    the masking table for <emphasis>pvstencil</emphasis> and the amount of reduction would
+    be controlled by <emphasis>kgain</emphasis>. Skipping post-normalisation will keep the
     original noise print average amplitudes. This would provide a good
-    starting point for a successful noise reduction (so that klevel
+    starting point for a successful noise reduction (so that <emphasis>klevel</emphasis>
     can be generally set to close to 1).
     </para>
     <para>
@@ -70,7 +68,7 @@
 
     <para>
       <emphasis>klevel</emphasis> -- masking function level (scales
-    the ftable prior to `stenciling') .
+      the ftable prior to `stenciling') .
     </para>
 
     <para>
@@ -91,12 +89,10 @@
       <example>
         <title>Example</title>
         <programlisting>
-fsig    pvsanal   asig, 1024, 256, 1024, 1
-fclean  pvstencil fsig, 0, 1, 1
-aclean  pvsynth  fclean
-        </programlisting>
+fsig    <emphasis role="opc">pvsanal</emphasis>   asig, 1024, 256, 1024, 1
+fclean  <emphasis role="opc">pvstencil</emphasis> fsig, 0, 1, 1
+aclean  <emphasis role="opc">pvsynth</emphasis>   fclean</programlisting>
       </example>
-
     </para>
   </refsect1>
 
@@ -110,6 +106,6 @@ aclean  pvsynth  fclean
     </para>
 
     <para>New plugin in version 5</para>
-    <para>Nivember 2004.</para>
+    <para>November 2004.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/pvsvoc.xml b/opcodes/pvsvoc.xml
index 9384365..70d5f9c 100644
--- a/opcodes/pvsvoc.xml
+++ b/opcodes/pvsvoc.xml
@@ -67,32 +67,16 @@
   <refsect1>
     <title>Examples</title>
     <para>
+      Here is an example of the pvsvoc opcode. It uses the file <ulink url="examples/pvsvoc.csd"><citetitle>pvsvoc.csd</citetitle></ulink>.
       <example>
-        <title>Example</title>
-        <programlisting>
-asig  in                                 ; get the signal in
-asyn  oscili 16000, 150, 1               ; excitation signal
-
-famp  pvsanal   asig, 1024, 256, 1024, 1 ; analyse in signal
-fexc  pvsanal   asyn, 1024, 256, 1024, 1 ; analyse excitation signal
-ftps  pvsvoc   famp, fexc, 1, 1     ; cross it
-atps  pvsynth  ftps                      ; synthesise it                      
-      
-       out atps
-        </programlisting>
+        <title>Example of the pvsvoc opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pvsvoc.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-
     </para>
-    
     <para>
-The example above shows a typical cross-synthesis operation. The input
-signal (say a vocal sound) is used for its amplitude spectrum. An oscillator
-with an arbitrary complex waveform produces the excitation signal, giving the
-vocal sound its pitch.
-    
-    </para>
-    
+The example above shows a typical cross-synthesis operation. The input signal (say a vocal sound) is used for its amplitude spectrum. An oscillator with an arbitrary complex waveform produces the excitation signal, giving the vocal sound its pitch.
+    </para>  
   </refsect1>
  
   <refsect1>
diff --git a/opcodes/pvswarp.xml b/opcodes/pvswarp.xml
index fd9ddc0..4aef1bd 100644
--- a/opcodes/pvswarp.xml
+++ b/opcodes/pvswarp.xml
@@ -66,36 +66,19 @@
         It is unsafe to use the same f-variable for both input and output of pvs opcodes. Using the same one might lead to undefined behavior on some opcodes. Use a different one on the left and right sides of the opcode.
       </para>
    </warning>
-
   </refsect1>
+  
   <refsect1>
     <title>Examples</title>
     <para>
+      Here is an example of the pvswarp opcode. It uses the file <ulink url="examples/pvswarp.csd"><citetitle>pvswarp.csd</citetitle></ulink>.
       <example>
-        <title>Example</title>
-        <programlisting>
-asig  in                                 ; get the signal in
-
-fsig  pvsanal   asig, 1024, 256, 1024, 1 ; analyse it
-ftps  pvswarp   fsig, 1.5, 0             ; warp it
-atps  pvsynth  ftps                      ; synthesise it
-
-       out atps                     
-</programlisting>
-      </example>
-    </para>
-    <para>
-    The example above shows a spectral envelope warper, scaling the freq envelope by 1.5. Used with vocal sounds, it will shift the formants and result in a changed vowel timbre, similar to the effect of a singer inhaling helium (the 'donald duck' effect).
-    </para>
-    <para>
-      Here is an example of the use of the <emphasis>pvswarp</emphasis> opcode. It uses the file <ulink url="examples/pvswarp.csd"><citetitle>pvswarp.csd</citetitle></ulink>.
-<!--      <example>
-        <title>Example of the <emphasis>pvswarp</emphasis> opcode.</title>
+        <title>Example of the pvswarp opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/pvswarp.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
--->
     </para>
+     <para>Used with vocal sounds, it will shift the formants and result in a changed vowel timbre, similar to the effect of a singer inhaling helium (the 'donald duck' effect).</para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/pvsynth.xml b/opcodes/pvsynth.xml
index 37d8b37..6d7eb9a 100644
--- a/opcodes/pvsynth.xml
+++ b/opcodes/pvsynth.xml
@@ -44,19 +44,18 @@
     <title>Examples</title>
     <para>
       <example>
-        <title>Example (using score-supplied f-table, assuming fsig  fftsize = 1024)</title>
+        <title>Example (using score-supplied f-table, assuming fsig <emphasis>fftsize = 1024</emphasis>)</title>
         <programlisting>
-; score f-table using cubic spline to define shaped peaks
-f1 0 513 8 0 2 1 3 0 4 1 6 0 10 1 12 0 16 1 32 0 1 0 436 0
+<emphasis role="comment">; score f-table using cubic spline to define shaped peaks</emphasis>
+<emphasis role="stamnt">f</emphasis>1 0 513 8 0 2 1 3 0 4 1 6 0 10 1 12 0 16 1 32 0 1 0 436 0
 
-asig  buzz     20000,199,50,1        ; pulsewave source
-fsig  pvsanal  asig,1024,256,1024,0  ; create fsig
-kmod  linseg   0,p3/2,1,p3/2,0       ; simple control sig
+asig    <emphasis role="opc">buzz</emphasis>     20000, 199, 50, 1         <emphasis role="comment">; pulsewave source</emphasis>
+fsig    <emphasis role="opc">pvsanal</emphasis>  asig, 1024, 256, 1024, 0  <emphasis role="comment">; create fsig</emphasis>
+kmod    <emphasis role="opc">linseg</emphasis>   0, p3/2, 1, p3/2, 0       <emphasis role="comment">; simple control sig</emphasis>
 
-fsigout  pvsmaska fsig,2,kmod           ; apply weird eq to fsig
-aout  pvsynth  fsigout                  ; resynthesize,
-      dispfft  aout,0.1,1024         ; and view the effect
-        </programlisting>
+fsigout <emphasis role="opc">pvsmaska</emphasis> fsig, 2, kmod             <emphasis role="comment">; apply weird eq to fsig</emphasis>
+aout    <emphasis role="opc">pvsynth</emphasis>  fsigout                   <emphasis role="comment">; resynthesize,</emphasis>
+        <emphasis role="opc">dispfft</emphasis>  aout, 0.1, 1024           <emphasis role="comment">; and view the effect</emphasis></programlisting>
       </example>
     </para>
 
diff --git a/opcodes/pwd.xml b/opcodes/pwd.xml
new file mode 100644
index 0000000..a7a5280
--- /dev/null
+++ b/opcodes/pwd.xml
@@ -0,0 +1,65 @@
+
+<refentry id="pwd">
+
+<indexterm id="Indexpwd"><primary>pwd</primary></indexterm>
+  <refentryinfo><title>Miscellaneous</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>pwd</refentrytitle>
+  </refmeta>
+
+
+
+  <refnamediv>
+    <refname>pwd</refname>
+    <refpurpose>
+      Asks the underlying operating system for the current directory
+      name as a string.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      <command>pwd</command> call the operating system to determine
+      the current directory (folder).  <command>pwd</command> runs
+      at i-time only. 
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>Sres <command>pwd</command></synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>Sres</emphasis> -- the returned string.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Example</title>
+        <para>
+      Here is an example of the pwd opcode. It uses the file <ulink url="examples/pwd.csd"><citetitle>pwd.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the pwd opcode.</title>
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/pwd.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>July 2012</member>
+      </simplelist>
+      <para>New in version 5.18</para>
+    </para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/qinf.xml b/opcodes/qinf.xml
new file mode 100644
index 0000000..ed998d3
--- /dev/null
+++ b/opcodes/qinf.xml
@@ -0,0 +1,54 @@
+
+<refentry id="qinf">
+<indexterm id="IndexQinf"><primary>qinf</primary></indexterm>
+  <refentryinfo><title>Mathematical Operations:Mathematical Functions</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>qinf</refentrytitle>
+  </refmeta>
+
+
+ 
+  <refnamediv>
+    <refname>qinf</refname>
+
+    <refpurpose>
+      Questions whether the argument is a infinite number
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Returns the number of times the argument is not a number, with
+      the sign of the first infinity.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>qinf</command>(x) (no rate restriction)</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the qinf opcode. It uses the file <ulink url="examples/qinf.csd"><citetitle>qinf.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the qinf opcode.</title>
+
+        
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/qinf.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>Written by &namejohn;.</para>
+    <para>New in Csound 5.14</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/qnan.xml b/opcodes/qnan.xml
new file mode 100644
index 0000000..8d55c6a
--- /dev/null
+++ b/opcodes/qnan.xml
@@ -0,0 +1,53 @@
+
+<refentry id="qnan">
+<indexterm id="IndexQnan"><primary>qnan</primary></indexterm>
+  <refentryinfo><title>Mathematical Operations:Mathematical Functions</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>qnan</refentrytitle>
+  </refmeta>
+
+
+ 
+  <refnamediv>
+    <refname>qnan</refname>
+
+    <refpurpose>
+      Questions whether the argument is a infinite number
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Returns the number of times the argument is not a number.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>qnan</command>(x) (no rate restriction)</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the qnan opcode. It uses the file <ulink url="examples/qnan.csd"><citetitle>qnan.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the qnan opcode.</title>
+
+        
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/qnan.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>Written by &namejohn;.</para>
+    <para>New in Csound 5.14</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/raises.xml b/opcodes/raises.xml
index 6f829d9..0e202cf 100644
--- a/opcodes/raises.xml
+++ b/opcodes/raises.xml
@@ -1,117 +1,114 @@
-
-<refentry id="raises">
-<indexterm id="IndexCirc"><primary>ˆ</primary></indexterm>
-  <refentryinfo><title>Mathematical Operations:Arithmetic and Logic Operations</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>ˆ</refentrytitle>
-  </refmeta>
-
-
- 
-  <refnamediv>
-    <refname>ˆ</refname>
-
-    <refpurpose>
-      <quote>Power of</quote> operator.
-          </refpurpose>
-  </refnamediv>
- 
-  <refsect1>
-    <title>Description</title>
-    <para>
-      Arithmetic operators perform operations of change-sign (negate), don't-change-sign, logical AND logical OR, add, subtract, multiply and divide. Note that a value or an expression may fall between two of these operators, either of which could take it as its left or right argument, as in
-      <literallayout>
-a + b * c.
-      </literallayout>
-    </para>
-
-    <para>
-      In such cases three rules apply:
-    </para>
-
-    <para>
-      1. * and <emphasis>/</emphasis> bind to their neighbors more strongly than + and −. Thus the above expression is taken as
-      <literallayout>  
-a + (b * c)
-      </literallayout>
-      with * taking b and c and then + taking a and b * c.
-    </para>
-
-    <para>
-      2. <emphasis>+</emphasis> and <emphasis>−</emphasis> bind more strongly than &&, which in turn is stronger than ||:
-      <literallayout>  
-a && b - c || d
-      </literallayout>
-      is taken as
-      <literallayout>  
-(a && (b - c)) || d
-      </literallayout>
-    </para>
-
-    <para>
-      3. When both operators bind equally strongly, the operations are done left to right:
-      <literallayout>  
-a - b - c
-      </literallayout>
-      is taken as
-      <literallayout>  
-(a - b) - c
-      </literallayout>
-    </para>
-
-    <para>
-      Parentheses may be used as above to force particular groupings.
-    </para>
-
-    <para>
-      The operator <emphasis>ˆ</emphasis> raises <emphasis>a</emphasis> to the <emphasis>b</emphasis> power. <emphasis>b</emphasis> may not be audio-rate. Use with caution as precedence may not work correctly. See <link linkend="pow"><citetitle>pow</citetitle></link>.  (New in Csound version 3.493.)
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis>a <command>ˆ</command>  b  (b not audio-rate)</synopsis>
-
-    <para>
-      where the arguments <emphasis>a</emphasis> and <emphasis>b</emphasis> may be further expressions.
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the ˆ operator. It uses the file <ulink url="examples/raises.csd"><citetitle>raises.csd</citetitle></ulink>.
-
-      <example>
-        <title>Example of the ˆ operator.</title>
-
-        
-
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/raises.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-
-      Its output should include a line like this:
-      <screen>
-instr 1:  i1 = 4096.000</screen>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>See Also</title>
-    <para>
-      <link linkend="subtracts"><citetitle>-</citetitle></link>, 
-      <link linkend="adds"><citetitle>+</citetitle></link>, 
-      <link linkend="opand"><citetitle>&&</citetitle></link>, 
-      <link linkend="opor"><citetitle>||</citetitle></link>, 
-      <link linkend="multiplies"><citetitle>*</citetitle></link>, 
-      <link linkend="divides"><citetitle>/</citetitle></link>, 
-      <link linkend="modulus"><citetitle>%</citetitle></link>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
-  </refsect1>
-</refentry>
+
+<refentry id="raises">
+<indexterm id="IndexCirc"><primary>ˆ</primary></indexterm>
+  <refentryinfo><title>Mathematical Operations:Arithmetic and Logic Operations</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>ˆ</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>ˆ</refname>
+    <refpurpose>
+      <quote>Power of</quote> operator.
+          </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Arithmetic operators perform operations of change-sign (negate), don't-change-sign, logical AND logical OR, add, subtract, multiply and divide. Note that a value or an expression may fall between two of these operators, either of which could take it as its left or right argument, as in
+      <literallayout>
+a + b * c.
+      </literallayout>
+    </para>
+
+    <para>
+      In such cases three rules apply:
+    </para>
+
+    <para>
+      1. * and <emphasis>/</emphasis> bind to their neighbors more strongly than + and −. Thus the above expression is taken as
+      <literallayout>  
+a + (b * c)
+      </literallayout>
+      with * taking b and c and then + taking a and b * c.
+    </para>
+
+    <para>
+      2. <emphasis>+</emphasis> and <emphasis>−</emphasis> bind more strongly than &&, which in turn is stronger than ||:
+      <literallayout>  
+a && b - c || d
+      </literallayout>
+      is taken as
+      <literallayout>  
+(a && (b - c)) || d
+      </literallayout>
+    </para>
+
+    <para>
+      3. When both operators bind equally strongly, the operations are done left to right:
+      <literallayout>  
+a - b - c
+      </literallayout>
+      is taken as
+      <literallayout>  
+(a - b) - c
+      </literallayout>
+    </para>
+
+    <para>
+      Parentheses may be used as above to force particular groupings.
+    </para>
+
+    <para>
+      The operator <emphasis>ˆ</emphasis> raises <emphasis>a</emphasis> to the <emphasis>b</emphasis> power. <emphasis>b</emphasis> may not be audio-rate. Use with caution as precedence may not work correctly. See <link linkend="pow"><citetitle>pow</citetitle></link>.  (New in Csound version 3.493.)
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>a <command>ˆ</command>  b  (b not audio-rate)</synopsis>
+
+    <para>
+      where the arguments <emphasis>a</emphasis> and <emphasis>b</emphasis> may be further expressions.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the ˆ operator. It uses the file <ulink url="examples/raises.csd"><citetitle>raises.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the ˆ operator.</title>
+
+        
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/raises.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+      Its output should include lines like these:
+      <screen>
+ i1     0.50000
+ i1     0.50021
+ i1     0.50042
+......
+ i1  1327.49320
+ i1  1327.74465</screen>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="subtracts"><citetitle>-</citetitle></link>, 
+      <link linkend="adds"><citetitle>+</citetitle></link>, 
+      <link linkend="opand"><citetitle>&&</citetitle></link>, 
+      <link linkend="opor"><citetitle>||</citetitle></link>, 
+      <link linkend="multiplies"><citetitle>*</citetitle></link>, 
+      <link linkend="divides"><citetitle>/</citetitle></link>, 
+      <link linkend="modulus"><citetitle>%</citetitle></link>
+    </para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/rand.xml b/opcodes/rand.xml
index 550a129..aed84b9 100644
--- a/opcodes/rand.xml
+++ b/opcodes/rand.xml
@@ -63,15 +63,25 @@
     <title>Examples</title>
     <para>
       Here is an example of the rand opcode. It uses the file <ulink url="examples/rand.csd"><citetitle>rand.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the rand opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/rand.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
+     </para>
+              <para>
+      The example will produce the following output:
+      <screen>
+ i   1 time     0.00067:    50.00305
+ i   1 time     0.50000:    62.71362
+ i   1 time     1.00000:   -89.31885
+
+WARNING: Seeding from current time 472230558
+
+ i   2 time     2.00067:   -70.65735
+ i   2 time     2.50000:    69.15283
+ i   2 time     3.00000:   -48.79761
+      </screen>
     </para>
   </refsect1>
 
@@ -85,7 +95,6 @@
 
   <refsect1>
     <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
     <para>Thanks to a note from &namejohn;, I changed the names of the parameters.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/randh.xml b/opcodes/randh.xml
index 79841be..cd8a542 100644
--- a/opcodes/randh.xml
+++ b/opcodes/randh.xml
@@ -67,15 +67,39 @@
     <title>Examples</title>
     <para>
       Here is an example of the randh opcode. It uses the file <ulink url="examples/randh.csd"><citetitle>randh.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the randh opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/randh.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
+     </para>
+              <para>
+      The example will produce the following output:
+      <screen>
+ i1    50.00000
+ i1    50.00305
+ i1    97.68677
+ i1   -44.25354
+ i1   -61.56006
+ i1   -75.91248
+ i1    67.57202
+ i1    12.83875
+ i1     5.39551
+ i1   -95.18738
+
+WARNING: Seeding from current time 684387922
+
+ i2   -13.81226
+ i2   -16.49475
+ i2    69.51904
+ i2    35.04944
+ i2    47.47925
+ i2    63.25378
+ i2   -59.61914
+ i2    50.93079
+ i2    -6.46362
+ i2     5.89294
+      </screen>
     </para>
   </refsect1>
 
@@ -87,8 +111,4 @@
     </para>
   </refsect1>
 
-  <refsect1>
-    <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
-  </refsect1>
 </refentry>
diff --git a/opcodes/randi.xml b/opcodes/randi.xml
index 69a3c29..4c20272 100644
--- a/opcodes/randi.xml
+++ b/opcodes/randi.xml
@@ -67,15 +67,25 @@
     <title>Examples</title>
     <para>
       Here is an example of the randi opcode. It uses the file <ulink url="examples/randi.csd"><citetitle>randi.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the randi opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/randi.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
+     </para>
+              <para>
+      The example will produce the following output:
+      <screen>
+ i   1 time     0.00067:    50.00000
+ i   1 time     0.50000:   -75.81672
+ i   1 time     1.00000:    95.93833
+
+WARNING: Seeding from current time 1482746120
+
+ i   2 time     2.00067:   -17.94434
+ i   2 time     2.50000:   -14.11875
+ i   2 time     3.00000:   -72.41545
+      </screen>
     </para>
   </refsect1>
 
@@ -87,8 +97,4 @@
     </para>
   </refsect1>
 
-  <refsect1>
-    <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
-  </refsect1>
 </refentry>
diff --git a/opcodes/random.xml b/opcodes/random.xml
index 752e3cc..175fff6 100644
--- a/opcodes/random.xml
+++ b/opcodes/random.xml
@@ -73,9 +73,15 @@
 
       Its output should include lines like:
       <screen>
-k1 = 414.232056
-k1 = 419.393402
-k1 = 275.376373
+ i   1 time     0.00067:   894.58566
+ i   1 time     0.50000:   748.44281
+ i   1 time     1.00000:   328.29916
+
+WARNING: Seeding from current time 1656666052
+
+ i   2 time     2.00067:   690.71466
+ i   2 time     2.50000:   459.42445
+ i   2 time     3.00000:   100.85594
       </screen>
     </para>
   </refsect1>
@@ -93,6 +99,5 @@ k1 = 275.376373
   <refsect1>
     <title>Credits</title>
     <para>Author: &namegabriel;</para>
-    <para>Example written by &namekevin;.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/randomh.xml b/opcodes/randomh.xml
index 268203b..48331ba 100644
--- a/opcodes/randomh.xml
+++ b/opcodes/randomh.xml
@@ -1,88 +1,136 @@
-
-<refentry id="randomh">
-<indexterm id="IndexRandomh"><primary>randomh</primary></indexterm>
-  <refentryinfo><title>Signal Generators:Random (Noise) Generators</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>randomh</refentrytitle>
-  </refmeta>
-
-
-
-  <refnamediv>
-    <refname>randomh</refname>
-    <refpurpose>
-      Generates random numbers with a user-defined limit and holds them for a period of time. 
-          </refpurpose>
-  </refnamediv>
-  
-  <refsect1>
-    <title>Description</title>
-    <para>
-      Generates random numbers with a user-defined limit and holds them for a period of time. 
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis>ares <command>randomh</command> kmin, kmax, acps</synopsis>
-
-    <synopsis>kres <command>randomh</command> kmin, kmax, kcps</synopsis>
-  </refsect1>
-
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      <emphasis>kmin</emphasis> -- minimum range limit
-    </para>
-
-    <para>
-      <emphasis>kmax</emphasis> -- maximum range limit
-    </para>
-
-    <para>
-      <emphasis>kcps, acps</emphasis> -- rate of random break-point generation
-    </para>
-
-    <para>
-      The <emphasis>randomh</emphasis> opcode is similar to <link linkend="randh"><citetitle>randh</citetitle></link> but allows the user to set arbitrary minimum and maximum values.
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the randomh opcode. It uses the file <ulink url="examples/randomh.csd"><citetitle>randomh.csd</citetitle></ulink>.
-
-      <example>
-        <title>Example of the randomh opcode.</title>
-
-        
-
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/randomh.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-
-      Its output should include lines like:
-      <screen>
-k1 = 220.000000
-k1 = 414.232056
-k1 = 284.095184
-      </screen>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>See Also</title>
-    <para>
-      <link linkend="randh"><citetitle>randh</citetitle></link>,
-      <link linkend="random"><citetitle>random</citetitle></link>,
-      <link linkend="randomi"><citetitle>randomi</citetitle></link>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Credits</title>
-    <para>Author: &namegabriel;</para>
-    <para>Example written by &namekevin;.</para>
-  </refsect1>
-</refentry>
+
+<refentry id="randomh">
+<indexterm id="IndexRandomh"><primary>randomh</primary></indexterm>
+  <refentryinfo><title>Signal Generators:Random (Noise) Generators</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>randomh</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>randomh</refname>
+    <refpurpose>
+      Generates random numbers with a user-defined limit and holds them for a period of time. 
+    </refpurpose>
+  </refnamediv>
+  
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Generates random numbers with a user-defined limit and holds them for a period of time. 
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>randomh</command> kmin, kmax, xcps [,imode] [,ifirstval]</synopsis>
+
+    <synopsis>kres <command>randomh</command> kmin, kmax, kcps [,imode] [,ifirstval]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>imode</emphasis> (optional, default=0) -- generation mode of the
+      first output value (see below)
+    </para>
+    
+    <para>
+      <emphasis>ifirstval</emphasis> (optional, default=0) -- first output value
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kmin</emphasis> -- minimum range limit
+    </para>
+
+    <para>
+      <emphasis>kmax</emphasis> -- maximum range limit
+    </para>
+
+    <para>
+      <emphasis>kcps, xcps</emphasis> -- rate of random break-point generation
+    </para>
+
+    <para>
+      The <emphasis>randomh</emphasis> opcode is similar to <link linkend="randh"><citetitle>randh</citetitle></link> but allows the user to set arbitrary minimum and maximum values.
+    </para>
+    
+    <para>
+      When <emphasis>imode</emphasis> = 0 (the default), the <emphasis>kmin</emphasis>
+      argument value is outputted during <emphasis>1/kcps</emphasis> (resp.
+      <emphasis>1/xcps</emphasis>) seconds at the beginning of the note. Then,
+      the normal process takes place with a new random number generated and held
+      every <emphasis>1/kcps</emphasis> (resp. <emphasis>1/xcps</emphasis>) seconds.
+    </para>
+    
+    <para>
+      When <emphasis>imode</emphasis> = 2, the <emphasis>ifirstval</emphasis>
+      argument value is outputted during <emphasis>1/kcps</emphasis> (resp.
+      <emphasis>1/xcps</emphasis>) seconds at the beginning of the note. Then,
+      the normal process takes place with a new random number generated and held
+      every <emphasis>1/kcps</emphasis> (resp. <emphasis>1/xcps</emphasis>) seconds.
+    </para>
+    
+    <para>
+      When <emphasis>imode</emphasis> = 3, the generation process begins with a
+      random value from the initialization time.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the randomh opcode. It uses the file <ulink url="examples/randomh.csd"><citetitle>randomh.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the randomh opcode.</title>
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/randomh.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+      Its output should include lines like this:
+      <screen>
+Mode: 0
+ i1   220.00000
+ i1   396.26079
+ i1   240.75446
+ i1   364.24577
+    ...
+
+Mode: 2
+ i1   330.00000
+ i1   416.50935
+ i1   356.11619
+ i1   433.59324
+    ...
+
+Mode: 3
+ i1   261.17741
+ i1   402.00891
+ i1   393.86592
+ i1   307.19839
+    ...</screen>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="randh"><citetitle>randh</citetitle></link>,
+      <link linkend="random"><citetitle>random</citetitle></link>,
+      <link linkend="randomi"><citetitle>randomi</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>Author: &namegabriel;</para>
+    <para>Arguments <emphasis>imode</emphasis> and <emphasis>ifirstval</emphasis>
+    added by &namepinot;, Jan. 2011, after a discussion with Peiman Khosravi on
+    the csnd list.</para>
+    <para>Example written by &namekevin;, adapted for new args by &namepinot;.</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/randomi.xml b/opcodes/randomi.xml
index c2674ec..8abcf40 100644
--- a/opcodes/randomi.xml
+++ b/opcodes/randomi.xml
@@ -1,88 +1,153 @@
-
-<refentry id="randomi">
-<indexterm id="IndexRandomi"><primary>randomi</primary></indexterm>
-  <refentryinfo><title>Signal Generators:Random (Noise) Generators</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>randomi</refentrytitle>
-  </refmeta>
-
-
-
-  <refnamediv>
-    <refname>randomi</refname>
-    <refpurpose>
-      Generates a user-controlled random number series with interpolation between each new number.
-          </refpurpose>
-  </refnamediv>
-  
-  <refsect1>
-    <title>Description</title>
-    <para>
-      Generates a user-controlled random number series with interpolation between each new number.
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis>ares <command>randomi</command> kmin, kmax, acps</synopsis>
-
-    <synopsis>kres <command>randomi</command> kmin, kmax, kcps</synopsis>
-  </refsect1>
-
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      <emphasis>kmin</emphasis> -- minimum range limit
-    </para>
-
-    <para>
-      <emphasis>kmax</emphasis> -- maximum range limit
-    </para>
-
-    <para>
-      <emphasis>kcps, acps</emphasis> -- rate of random break-point generation
-    </para>
-
-    <para>
-      The <emphasis>randomi</emphasis> opcode is similar to <link linkend="randi"><citetitle>randi</citetitle></link> but allows the user to set arbitrary minimum and maximum values.
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the randomi opcode. It uses the file <ulink url="examples/randomi.csd"><citetitle>randomi.csd</citetitle></ulink>.
-
-      <example>
-        <title>Example of the randomi opcode.</title>
-
-        
-
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/randomi.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-
-      Its output should include lines like:
-      <screen>
-k1 = 220.000000
-k1 = 414.226196
-k1 = 284.101074
-      </screen>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>See Also</title>
-    <para>
-      <link linkend="randi"><citetitle>randi</citetitle></link>,
-      <link linkend="random"><citetitle>random</citetitle></link>,
-      <link linkend="randomh"><citetitle>randomh</citetitle></link>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Credits</title>
-    <para>Author: &namegabriel;</para>
-    <para>Example written by &namekevin;.</para>
-  </refsect1>
-</refentry>
+
+<refentry id="randomi">
+<indexterm id="IndexRandomi"><primary>randomi</primary></indexterm>
+  <refentryinfo><title>Signal Generators:Random (Noise) Generators</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>randomi</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>randomi</refname>
+    <refpurpose>
+      Generates a user-controlled random number series with interpolation between each new number.
+    </refpurpose>
+  </refnamediv>
+  
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Generates a user-controlled random number series with interpolation between each new number.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>randomi</command> kmin, kmax, xcps [,imode] [,ifirstval]</synopsis>
+
+    <synopsis>kres <command>randomi</command> kmin, kmax, kcps [,imode] [,ifirstval]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>imode</emphasis> (optional, default=0) -- first interpolation cycle mode (see below)
+    </para>
+    
+    <para>
+      <emphasis>ifirstval</emphasis> (optional, default=0) -- first output value
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kmin</emphasis> -- minimum range limit
+    </para>
+
+    <para>
+      <emphasis>kmax</emphasis> -- maximum range limit
+    </para>
+
+    <para>
+      <emphasis>kcps, xcps</emphasis> -- rate of random break-point generation
+    </para>
+
+    <para>
+      The <emphasis>randomi</emphasis> opcode is similar to <link linkend="randi"><citetitle>randi</citetitle></link> but allows the user to set arbitrary minimum and maximum values.
+    </para>
+    
+    <para>
+      When <emphasis>imode</emphasis> = 0 (the default), the <emphasis>kmin</emphasis>
+      argument value is outputted during <emphasis>1/kcps</emphasis> (resp.
+      <emphasis>1/xcps</emphasis>) seconds at the beginning of the note, before
+      the first random number is generated. Then the normal interpolation process
+      takes place, first between <emphasis>kmin</emphasis> and the first random
+      number generated, and then between successive generated random numbers,
+      each interpolation cycle having a duration of <emphasis>1/kcps</emphasis>
+      (resp. <emphasis>1/xcps</emphasis>) seconds.
+    </para>
+    
+    <para>
+      When <emphasis>imode</emphasis> = 1, a random number is generated at
+      initialization and interpolation begins immediately between the
+      <emphasis>kmin</emphasis> argument value and that random number.
+    </para>
+    
+    <para>
+      When <emphasis>imode</emphasis> = 2, a random number is generated at
+      initialization and interpolation begins immediately between the
+      <emphasis>ifirstval</emphasis> argument value and that random number.
+    </para>
+    
+    <para>
+      When <emphasis>imode</emphasis> = 3, two random numbers are generated
+      at initialization as breakpoints for the first interpolation cycle.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the randomi opcode. It uses the file <ulink url="examples/randomi.csd"><citetitle>randomi.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the randomi opcode.</title>
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/randomi.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+      Its output should include lines like this:
+      <screen>
+Mode: 0
+k1 = 220.000000
+k1 = 220.000000
+k1 = 220.146093
+k1 = 246.827703
+k1 = 395.595775
+    ...
+
+Mode: 1
+k1 = 220.000000
+k1 = 224.325329
+k1 = 274.370074
+k1 = 343.216049
+k1 = 414.324347
+    ...
+
+Mode: 2
+k1 = 330.000000
+k1 = 292.628171
+k1 = 334.519777
+k1 = 290.610602
+k1 = 394.905366
+    ...
+
+Mode: 3
+k1 = 360.727674
+k1 = 431.680412
+k1 = 380.625254
+k1 = 289.267139
+k1 = 303.038109
+    ...</screen>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="randi"><citetitle>randi</citetitle></link>,
+      <link linkend="random"><citetitle>random</citetitle></link>,
+      <link linkend="randomh"><citetitle>randomh</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>Author: &namegabriel;</para>
+    <para>Arguments <emphasis>imode</emphasis> and <emphasis>ifirstval</emphasis>
+    added by &namepinot;, Jan. 2011, after a discussion with Peiman Khosravi on
+    the csnd list.</para>
+    <para>Example written by &namekevin;, adapted for new args by &namepinot;.</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/readf.xml b/opcodes/readf.xml
new file mode 100644
index 0000000..7e71281
--- /dev/null
+++ b/opcodes/readf.xml
@@ -0,0 +1,80 @@
+
+<refentry id="readf">
+<indexterm id="IndexReadf"><primary>readf</primary></indexterm>
+  <refentryinfo><title>Signal I/O:File I/O</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>readf</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>readf</refname>
+    <refpurpose>
+      Read a line of text from an external file.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Read a line of text from an external file once each k-cycle.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>Sres, kline <command>readf</command> ifilname</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ifilname</emphasis> -- an integer N denoting a file
+      named "input.N" or a character string (in double quotes, spaces
+      permitted) denoting the external file name. For a string, it may
+      either be a full path name with directory specified or a simple
+      filename.  In the later case, the file is sought first in the
+      current directory, then in SSDIR, and finally in SFDIR.
+    </para>
+
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>Sres</emphasis> -- output of the line read from
+      <emphasis>ifilname</emphasis>. 
+    </para>
+    <para>
+      <emphasis>kline</emphasis> -- line number, or -1 when end of file has been reached. 
+    </para>
+
+    <para>
+      This opcode allows a line of text to be read from a named
+      external file.  There may be any number of
+      <emphasis>readf</emphasis> opcodes in an instrument or orchestra
+      but they read separately from the same or different files.
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the readf opcode. It uses the file <ulink url="examples/readf.csd"><citetitle>readf.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the readf opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/readf.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="readfi"><citetitle>readfi</citetitle></link>.
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>Credits</title>
+    <para>John ffitch and Joachim Heintz</para>
+    <para>2012; new in 5.17.12</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/readfi.xml b/opcodes/readfi.xml
new file mode 100644
index 0000000..97b38d9
--- /dev/null
+++ b/opcodes/readfi.xml
@@ -0,0 +1,69 @@
+
+<refentry id="readfi">
+<indexterm id="IndexReadfi"><primary>readfi</primary></indexterm>
+  <refentryinfo><title>Signal I/O:File I/O</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>readfi</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>readfi</refname>
+    <refpurpose>
+      Read a line of text from an external file.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Read a line of text from an external file once on initialisation.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>Sres, iline <command>readfi</command> ifilname</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ifilname</emphasis> -- an integer N denoting a file named "input.N" or a character string (in double quotes, spaces permitted) denoting the external file name. For a string, it may either be a full path name with directory specified or a simple filename.  In the later case, the file is sought first in the current directory, then in SSDIR, and finally in SFDIR.
+    </para>
+    <para>
+      <emphasis>iline</emphasis> -- line number, or -1 when end of file has been reached. 
+    </para>
+    <para>
+      <emphasis>Sres</emphasis> -- output of the line read from <emphasis>ifilname</emphasis>.
+    </para>
+
+    <para>
+      This opcode allows a line of text to be read from a named
+      external file.  There may be any number of
+      <emphasis>readfi</emphasis> opcodes in an instrument or orchestra
+      but they read separately from the same or different files.
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the readfi opcode. It uses the file <ulink url="examples/readfi.csd"><citetitle>readfi.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the readfi opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/readfi.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="readf"><citetitle>readf</citetitle></link>.
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>Credits</title>
+    <para>John ffitch and Joachim Heintz</para>
+    <para>2012; new in 5.17.12</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/readk.xml b/opcodes/readk.xml
index b84e3f1..ff7278c 100644
--- a/opcodes/readk.xml
+++ b/opcodes/readk.xml
@@ -91,13 +91,37 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the readk opcode. It uses the file <ulink url="examples/readk.csd"><citetitle>dumpk.csd</citetitle></ulink>.
+      Here is an example of the readk opcode. It uses the file <ulink url="examples/readk.csd"><citetitle>readk.csd</citetitle></ulink>.
       <example>
         <title>Example of the readk opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
         <xi:include href="examples-xml/readk.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
     </para>
+    <para>
+      Here is another example of the readk opcode. It uses the file <ulink url="examples/readk-2.csd"><citetitle>readk-2.csd</citetitle></ulink>.
+      <example>
+        <title>Example 2 of the readk opcode.</title>
+        <xi:include href="examples-xml/readk-2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+      Its output should include lines like this:
+      <screen>
+WARNING: Seeding from current time 683384022
+
+ i   1 time     1.00033:   463.64510
+ i   1 time     2.00000:   463.64510
+ i   1 time     3.00000:   483.14200
+ i   1 time     4.00000:   567.55973
+ i   1 time     5.00000:   576.37060
+ i   1 time     6.00000:   460.66550
+
+ i   2 time     6.00033:   463.64510
+ i   2 time     7.00000:   463.64510
+ i   2 time     8.00000:   483.14200
+ i   2 time     9.00000:   567.55970
+ i   2 time    10.00000:   576.37060
+ i   2 time    11.00000:   460.66550</screen>
+    </para>
   </refsect1>
 <!--  <refsect1>
     <title>Examples</title>
diff --git a/opcodes/readk2.xml b/opcodes/readk2.xml
index 5138b9f..4917766 100644
--- a/opcodes/readk2.xml
+++ b/opcodes/readk2.xml
@@ -90,18 +90,36 @@
     </para>
   </refsect1>
 
-  <refsect1>
+<refsect1>
     <title>Examples</title>
     <para>
-      See the example for <link linkend="readk"><citetitle>readk</citetitle></link>. The only difference between <link linkend="readk"><citetitle>readk</citetitle></link> and <emphasis>readk2</emphasis> is that <emphasis>readk2</emphasis> can read two values at a time from the file.
-<!--      <informalexample>
-        <programlisting>
-knum    <emphasis>=</emphasis>         knum+1                                               ; at each k-period
-ktemp   <emphasis>tempest</emphasis>   krms, .02, .1, 3, 2, 800, .005, 0, 60, 4, .1, .995   ;estimate the tempo
-koct    <emphasis>specptrk</emphasis>  wsig, 6, .9, 0                                       ;and the pitch
-        <emphasis>dumpk3</emphasis>    knum, ktemp, cpsoct(koct), "what happened when", 8 0 ;& save them
-        </programlisting>
-      </informalexample>-->
+      Here is an example of the readk2 opcode. It uses the file <ulink url="examples/readk2.csd"><citetitle>readk2.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the readk2 opcode.</title>
+
+        
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/readk2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+      The output should include lines like these:
+      <screen>
+kfreq = 429.202551, kdb = -20.495694
+kfreq = 429.202551, kdb = -20.495694
+kfreq = 407.275258, kdb = -23.123776
+kfreq = 475.264472, kdb = -9.300846
+kfreq = 569.979181, kdb = -7.315527
+kfreq = 440.103457, kdb = -0.058331
+
+kfreq = 429.202600, kdb = -20.495700
+kfreq = 429.202600, kdb = -20.495700
+kfreq = 407.275300, kdb = -23.123800
+kfreq = 475.264500, kdb = -9.300800
+kfreq = 569.979200, kdb = -7.315500
+kfreq = 440.103500, kdb = -0.058300
+      </screen>
     </para>
   </refsect1>
 
diff --git a/opcodes/readk3.xml b/opcodes/readk3.xml
index 0d3abf7..71600ce 100644
--- a/opcodes/readk3.xml
+++ b/opcodes/readk3.xml
@@ -89,18 +89,38 @@
     </para>
   </refsect1>
 
-  <refsect1>
+<refsect1>
     <title>Examples</title>
     <para>
-      See the example for <link linkend="readk"><citetitle>readk</citetitle></link>. The only difference between <link linkend="readk"><citetitle>readk</citetitle></link> and <emphasis>readk3</emphasis> is that <emphasis>readk3</emphasis> can read three values at a time from the file.
-<!--      <informalexample>
-        <programlisting>
-knum    <emphasis>=</emphasis>         knum+1                                               ; at each k-period
-ktemp   <emphasis>tempest</emphasis>   krms, .02, .1, 3, 2, 800, .005, 0, 60, 4, .1, .995   ;estimate the tempo
-koct    <emphasis>specptrk</emphasis>  wsig, 6, .9, 0                                       ;and the pitch
-        <emphasis>dumpk3</emphasis>    knum, ktemp, cpsoct(koct), "what happened when", 8 0 ;& save them
-        </programlisting>
-      </informalexample>-->
+      Here is an example of the readk3 opcode. It uses the file <ulink url="examples/readk3.csd"><citetitle>readk3.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the readk3 opcode.</title>
+
+        
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/readk3.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+      The output should include lines like these:
+      <screen>
+WRITING:
+kfreq = 473.352855, kdb = -15.197657, kpan = 0.366764
+kfreq = 473.352855, kdb = -15.197657, kpan = 0.366764
+kfreq = 441.426368, kdb = -19.026206, kpan = 0.207327
+kfreq = 452.965140, kdb = -21.447486, kpan = 0.553270
+kfreq = 585.106328, kdb = -11.903852, kpan = 0.815665
+kfreq = 482.056760, kdb = -4.046744, kpan = 0.876537
+
+READING:
+kfreq = 473.352900, kdb = -15.197700, kpan = 0.366800
+kfreq = 473.352900, kdb = -15.197700, kpan = 0.366800
+kfreq = 441.426400, kdb = -19.026200, kpan = 0.207300
+kfreq = 452.965100, kdb = -21.447500, kpan = 0.553300
+kfreq = 585.106300, kdb = -11.903900, kpan = 0.815700
+kfreq = 482.056800, kdb = -4.046700, kpan = 0.876500
+      </screen>
     </para>
   </refsect1>
 
diff --git a/opcodes/readk4.xml b/opcodes/readk4.xml
index eaa17a6..8a590b7 100644
--- a/opcodes/readk4.xml
+++ b/opcodes/readk4.xml
@@ -90,18 +90,40 @@
     </para>
   </refsect1>
 
-  <refsect1>
+<refsect1>
     <title>Examples</title>
     <para>
-      See the example for <link linkend="readk"><citetitle>readk</citetitle></link>. The only difference between <link linkend="readk"><citetitle>readk</citetitle></link> and <emphasis>readk4</emphasis> is that <emphasis>readk4</emphasis> can read four values at a time from the file.
-<!--      <informalexample>
-        <programlisting>
-knum    <emphasis>=</emphasis>         knum+1                                               ; at each k-period
-ktemp   <emphasis>tempest</emphasis>   krms, .02, .1, 3, 2, 800, .005, 0, 60, 4, .1, .995   ;estimate the tempo
-koct    <emphasis>specptrk</emphasis>  wsig, 6, .9, 0                                       ;and the pitch
-        <emphasis>dumpk3</emphasis>    knum, ktemp, cpsoct(koct), "what happened when", 8 0 ;& save them
-        </programlisting>
-      </informalexample>-->
+      Here is an example of the readk4 opcode. It uses the file <ulink url="examples/readk4.csd"><citetitle>readk4.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the readk4 opcode.</title>
+
+        
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/readk4.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+      The output should include lines like these:
+      <screen>
+WRITING:
+kcf = 1122.469723, kq = 11.762839, kdb = -14.313445, kpan = 0.538142
+kcf = 1122.469723, kq = 11.762839, kdb = -14.313445, kpan = 0.538142
+kcf = 1148.638412, kq = 12.040490, kdb = -14.061868, kpan = 0.552205
+kcf = 165.796855, kq = 18.523179, kdb = -15.816977, kpan = 0.901528
+kcf = 147.729960, kq = 13.071911, kdb = -11.924531, kpan = 0.982518
+kcf = 497.430113, kq = 13.605512, kdb = -21.586611, kpan = 0.179229
+
+READING:
+WARNING: Seeding from current time 3308160476
+
+kcf = 1122.469700, kq = 11.762800, kdb = -14.313400, kpan = 0.538100
+kcf = 1122.469700, kq = 11.762800, kdb = -14.313400, kpan = 0.538100
+kcf = 1148.638400, kq = 12.040500, kdb = -14.061900, kpan = 0.552200
+kcf = 165.796900, kq = 18.523200, kdb = -15.817000, kpan = 0.901500
+kcf = 147.730000, kq = 13.071900, kdb = -11.924500, kpan = 0.982500
+kcf = 497.430100, kq = 13.605500, kdb = -21.586600, kpan = 0.179200
+      </screen>
     </para>
   </refsect1>
 
diff --git a/opcodes/readscore.xml b/opcodes/readscore.xml
new file mode 100644
index 0000000..a4978a0
--- /dev/null
+++ b/opcodes/readscore.xml
@@ -0,0 +1,76 @@
+
+<refentry id="readscore">
+<indexterm id="Indexreadscore"><primary>readscore</primary></indexterm>
+  <refentryinfo><title>Instrument Control:Invocation</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>readscore</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>readscore</refname>
+    <refpurpose>
+      Read, preprocess and schedule a score from an input string.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Readscore will issue one or more score events. 
+	  It can handle strings in the same conditions as
+	  the standard score, including preprocessing (carry, sort, ramp, etc). 
+Multi-line strings are accepted, using {{  }} to enclose the string.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>readscore</command> Sin </synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis><quote>Sin</quote></emphasis> --  a string (in double-quotes or enclosed by {{ }}) containing one or more score events.
+</para>    
+  </refsect1>
+
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the readscore opcode. It uses the file <ulink url="examples/readscore.csd"><citetitle>readscore.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the readscore opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/readscore.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+    <para>
+      You can use string opcodes like <link linkend="sprintfk"><citetitle>sprintfk</citetitle></link> to produce strings to be passed to <emphasis>readscore</emphasis> like this:
+<programlisting>
+Sfil <emphasis role="op">=</emphasis> "/Volumes/Bla/file.aif"
+String  <emphasis role="opc">sprintfk</emphasis> {{i 2 0 %f "%s" %f %f %f %f}}, idur, Sfil, p5, p6, knorm, iskip
+<emphasis role="opc">readscore</emphasis> String
+ </programlisting>
+    </para>
+      </example>
+    </para>
+
+  </refsect1>
+
+  <refsect1>
+    <title>See also</title>
+    <para>
+      <link linkend="event"><citetitle>event</citetitle></link>,
+      <link linkend="event_i"><citetitle>event_i</citetitle></link>,
+      <link linkend="schedule"><citetitle>schedule</citetitle></link>,
+      <link linkend="schedwhen"><citetitle>schedwhen</citetitle></link>,
+      <link linkend="schedkwhen"><citetitle>schedkwhen</citetitle></link>,
+      <link linkend="schedkwhennamed"><citetitle>schedkwhennamed</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>Author: &namevictor;, 2013 </para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/readscratch.xml b/opcodes/readscratch.xml
new file mode 100644
index 0000000..60b8dda
--- /dev/null
+++ b/opcodes/readscratch.xml
@@ -0,0 +1,74 @@
+
+<refentry id="readscratch">
+<indexterm id="IndexReadscratch"><primary>readscratch</primary></indexterm>
+  <refentryinfo><title>Instrument Control:Sensing and Control</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>readscratch</refentrytitle>
+  </refmeta>
+
+
+ 
+  <refnamediv>
+    <refname>readscratch</refname>
+
+    <refpurpose>
+      returns a value stored in the instance of an instrument.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      The <emphasis>readscratch</emphasis> opcode returns one of four
+      scalar values stored in the instance of an instrument.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ival <command>readscratch</command>[index]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialisation</title>
+    <para>
+      <emphasis>ival</emphasis> --  variable for result.
+    </para>
+    <para>
+      <emphasis>index</emphasis> --  which value to read, defaulting
+      to zero.
+    </para>
+
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the readscratch opcode. It uses the file <ulink url="examples/readscratch.csd"><citetitle>readscratch.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the readscratch opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/readscratch.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="writescratch"><citetitle>writescratch</citetitle></link>, 
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>March 2013</member>
+      </simplelist>
+    </para>
+
+    <para>New in Csound version 6.00</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/reson.xml b/opcodes/reson.xml
index 9b89975..e5e2519 100644
--- a/opcodes/reson.xml
+++ b/opcodes/reson.xml
@@ -24,7 +24,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>ares <command>reson</command> asig, kcf, kbw [, iscl] [, iskip]</synopsis>
+    <synopsis>ares <command>reson</command> asig, xcf, xbw [, iscl] [, iskip]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -49,11 +49,11 @@
     </para>
 
     <para>
-      <emphasis>kcf</emphasis> -- the center frequency of the filter, or frequency position of the peak response.
+      <emphasis>xcf</emphasis> -- the center frequency of the filter, or frequency position of the peak response.
     </para>
 
     <para>
-      <emphasis>kbw</emphasis> -- bandwidth of the filter (the Hz difference between the upper and lower half-power points).
+      <emphasis>xbw</emphasis> -- bandwidth of the filter (the Hz difference between the upper and lower half-power points).
     </para>
 
     <para>
@@ -94,6 +94,8 @@
 
   <refsect1>
     <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
+    <para>Audio rate parameters introduced in version 6.02</para>
+    <para>November 2013.</para>
   </refsect1>
+
 </refentry>
diff --git a/opcodes/resonk.xml b/opcodes/resonk.xml
index 9645046..a0785bb 100644
--- a/opcodes/resonk.xml
+++ b/opcodes/resonk.xml
@@ -62,6 +62,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the resonk opcode. It uses the file <ulink url="examples/resonk.csd"><citetitle>resonk.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the resonk opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/resonk.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="areson"><citetitle>areson</citetitle></link>,
diff --git a/opcodes/resonr.xml b/opcodes/resonr.xml
index 36ff5db..860dc34 100644
--- a/opcodes/resonr.xml
+++ b/opcodes/resonr.xml
@@ -24,7 +24,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>ares <command>resonr</command> asig, kcf, kbw [, iscl] [, iskip]</synopsis>
+    <synopsis>ares <command>resonr</command> asig, xcf, xbw [, iscl] [, iskip]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -49,11 +49,11 @@
     </para>
 
     <para>
-      <emphasis>kcf</emphasis> -- cutoff or resonant frequency of the filter, measured in Hz
+      <emphasis>xcf</emphasis> -- cutoff or resonant frequency of the filter, measured in Hz
     </para>
 
     <para>
-      <emphasis>kbw</emphasis> -- bandwidth of the filter (the Hz difference between the upper and lower half-power points)
+      <emphasis>xbw</emphasis> -- bandwidth of the filter (the Hz difference between the upper and lower half-power points)
     </para>
 
     <para>
@@ -145,5 +145,7 @@
     </para>
 
     <para>New in Csound version 3.55</para>
+    <para>Audio rate parameters introduced in version 6.02</para>
+    <para>November 2013.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/resonx.xml b/opcodes/resonx.xml
index 1e4f5c5..9f75aae 100644
--- a/opcodes/resonx.xml
+++ b/opcodes/resonx.xml
@@ -6,13 +6,11 @@
     <refentrytitle>resonx</refentrytitle>
   </refmeta>
 
-
- 
   <refnamediv>
     <refname>resonx</refname>
     <refpurpose>
       Emulates a stack of filters using the reson opcode.
-          </refpurpose>
+    </refpurpose>
   </refnamediv>
  
   <refsect1>
@@ -24,7 +22,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>ares <command>resonx</command> asig, kcf, kbw [, inumlayer] [, iscl] [, iskip]</synopsis>
+    <synopsis>ares <command>resonx</command> asig, xcf, xbw [, inumlayer] [, iscl] [, iskip]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -49,14 +47,26 @@
     </para>
 
     <para>
-      <emphasis>kcf</emphasis> -- the center frequency of the filter, or frequency position of the peak response.
+      <emphasis>xcf</emphasis> -- the center frequency of the filter, or frequency position of the peak response.
     </para>
 
     <para>
-      <emphasis>kbw</emphasis> -- bandwidth of the filter (the Hz difference between the upper and lower half-power points)
+      <emphasis>xbw</emphasis> -- bandwidth of the filter (the Hz difference between the upper and lower half-power points)
     </para>
   </refsect1>
-
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the resonx opcodes. It uses the file <ulink url="examples/resonx.csd"><citetitle>resonx.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the resonx opcodes.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/resonx.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
   <refsect1>
     <title>See Also</title>
     <para>
@@ -75,5 +85,7 @@
     </para>
 
     <para>New in Csound version 3.49</para>
+    <para>Audio rate parameters introduced in version 6.02</para>
+    <para>November 2013.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/resonxk.xml b/opcodes/resonxk.xml
index e7c71f1..0762d4e 100644
--- a/opcodes/resonxk.xml
+++ b/opcodes/resonxk.xml
@@ -57,9 +57,20 @@
 
      <para><emphasis>resonxk</emphasis> is a lot faster than using individual instances in Csound orchestra of the old opcodes, because only one initialization and 'k' cycle are needed at a time, and the audio loop falls enterely inside the cache memory of processor.
      </para>
+  </refsect1>
 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the resonxk opcode. It uses the file <ulink url="examples/resonxk.csd"><citetitle>resonxk.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the resonxk opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/resonxk.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
   </refsect1>
- 
+
   <refsect1>
     <title>Credits</title>
     <para>Written by &namegabriel;.</para>
diff --git a/opcodes/resony.xml b/opcodes/resony.xml
index acb4600..98e506f 100644
--- a/opcodes/resony.xml
+++ b/opcodes/resony.xml
@@ -72,7 +72,7 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the resony opcode. It uses the file <ulink url="examples/resony.csd"><citetitle>resony.csd</citetitle></ulink>, and <ulink url="examples/beats.wav"><citetitle>beats.wav</citetitle></ulink>.
+      Here is an example of the resony opcode. It uses the file <ulink url="examples/resony.csd"><citetitle>resony.csd</citetitle></ulink>.
       <example>
         <title>Example of the resony opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
@@ -90,8 +90,6 @@
         <member>1999</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
-
     <para>New in Csound version 3.56</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/resonz.xml b/opcodes/resonz.xml
index 979a3b3..2329053 100644
--- a/opcodes/resonz.xml
+++ b/opcodes/resonz.xml
@@ -24,7 +24,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>ares <command>resonz</command> asig, kcf, kbw [, iscl] [, iskip]</synopsis>
+    <synopsis>ares <command>resonz</command> asig, xcf, xbw [, iscl] [, iskip]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -61,11 +61,11 @@
     </para>
 
     <para>
-      <emphasis>kcf</emphasis> -- cutoff or resonant frequency of the filter, measured in Hz
+      <emphasis>xcf</emphasis> -- cutoff or resonant frequency of the filter, measured in Hz
     </para>
 
     <para>
-      <emphasis>kbw</emphasis> -- bandwidth of the filter (the Hz difference between the upper and lower half-power points)
+      <emphasis>xbw</emphasis> -- bandwidth of the filter (the Hz difference between the upper and lower half-power points)
     </para>
  </refsect1>
  
@@ -79,6 +79,18 @@
       Ken Steiglitz, in a later article <superscript>2</superscript>, demonstrated that <emphasis>resonz</emphasis> had constant gain at the true peak of the filter, as opposed to <emphasis>resonr</emphasis>, which displayed constant gain at the pole angle. Steiglitz also recommended <emphasis>resonz</emphasis> for its sharper notches in the gain curve at zero and Nyquist frequency. Steiglitz's recent book <superscript>3</superscript> features a thorough technical discussion of <emphasis>reson</emphasis> and <emphasis>resonz</emphasis>, while Dodge and Jerse's textbook <superscript>4</superscript> illustrates the differences in the response curves of <emphasis>reson</emphasis> and <emphasis>resonz</emphasis>.
     </para>
   </refsect1>
+  
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the resonr and resonz opcodes. It uses the file <ulink url="examples/resonr.csd"><citetitle>resonr.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the resonr and resonz opcodes.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/resonr.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
  
   <refsect1>
     <title>References</title>
@@ -129,5 +141,7 @@
     </para>
 
     <para>New in Csound version 3.55</para>
+    <para>Audio rate parameters introduced in version 6.02</para>
+    <para>November 2013.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/resyn.xml b/opcodes/resyn.xml
index 6b81ec0..cd6ad49 100644
--- a/opcodes/resyn.xml
+++ b/opcodes/resyn.xml
@@ -56,37 +56,20 @@ pitch control and support for timescale-modified input
     </para>
 
     <para>
-      <emphasis>ifn</emphasis> -- function table containing one cycle of a sinusoid (sine or cosine) </para>
-    
-  <para>
-    
-  </para>    
-    
+      <emphasis>ifn</emphasis> -- function table containing one cycle of a sinusoid (sine or cosine) </para>   
   </refsect1>
 
   <refsect1>
     <title>Examples</title>
     <para>
+      Here is an example of the resyn opcode. It uses the file <ulink url="examples/resyn.csd"><citetitle>resyn.csd</citetitle></ulink>.
       <example>
-        <title>Example</title>
-        <programlisting>
-ain inch 1                  ; input signal
-fs1,fsi2 pvsifd ain,2048,512,1 ; ifd analysis
-fst  partials fs1,fsi2,.003,1,3,500  ; partial tracking
-      aout  resyn fst, 1, 1.5, 500, 1 ; resynthesis (up a 5th)
-out aout
-        </programlisting>
+        <title>Example of the resyn opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/resyn.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-
-    </para>
-    
-    <para>
-The example above shows partial tracking of an ifd-analysis signal and
-cubic-phase additive resynthesis with pitch shifting. 
-    
     </para>
-    
+    <para>The example above shows partial tracking of an ifd-analysis signal and cubic-phase additive resynthesis with pitch shifting. </para>  
   </refsect1>
  
   <refsect1>
diff --git a/opcodes/return.xml b/opcodes/return.xml
new file mode 100644
index 0000000..82f4e52
--- /dev/null
+++ b/opcodes/return.xml
@@ -0,0 +1,57 @@
+
+<refentry id="return">
+<indexterm id="Indexreturn"><primary>return</primary></indexterm>
+  <refentryinfo><title>Instrument Control:Compilation</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>return</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>return</refname>
+    <refpurpose>
+    Returns a value from an instrument.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Return will return a value from an instrument at i-time. The value of a global instrument (instrument 0) can be retrieved 
+after compilation by the evalstr opcode. The retrieval of values returned by other instruments is not yet implemented.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>return</command> ival </synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis><quote>ival</quote></emphasis> --  a value to be returned by instrument.
+</para>    
+
+  </refsect1>
+
+
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the return opcode in conjunction with evalcode:
+      <example>
+   <para>   
+<programlisting>
+ival <emphasis role="op">evalstr</emphasis> "return 2 + 2"
+<emphasis role="op">print</emphasis> ival
+ </programlisting>
+    </para>
+      </example>
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>Credits</title>
+    <para>Author: &namevictor;, 2013 </para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/rewindscore.xml b/opcodes/rewindscore.xml
old mode 100755
new mode 100644
index f5be2ec..51796f8
--- a/opcodes/rewindscore.xml
+++ b/opcodes/rewindscore.xml
@@ -28,14 +28,13 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the rewindscore opcode.</para>	  
+      Here is an example of the <emphasis>rewindscore</emphasis> opcode. It uses the file <ulink url="examples/rewindscore.csd"><citetitle>rewindscore.csd</citetitle></ulink>.
       <example>
-        <title>Example of the rewindscore opcode.</title>
-<programlisting>
-<emphasis role="oblock">instr</emphasis> 1
-<emphasis role="opc">rewindscore</emphasis>
-<emphasis role="oblock">endin</emphasis></programlisting>
+        <title>An example of the rewindscore opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/rewindscore.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
+    </para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/rezzy.xml b/opcodes/rezzy.xml
index 354249b..7be7f04 100644
--- a/opcodes/rezzy.xml
+++ b/opcodes/rezzy.xml
@@ -88,8 +88,6 @@
         <member>October 1998</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
-
     <para>New in Csound version 3.49</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/round.xml b/opcodes/round.xml
index ada7be6..47c80be 100644
--- a/opcodes/round.xml
+++ b/opcodes/round.xml
@@ -40,6 +40,30 @@
     </para>
   </refsect1>
 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the round opcode. It uses the file <ulink url="examples/round.csd"><citetitle>round.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the round opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/round.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+      Its output should include a line like these:
+      <screen>
+instr 1:  inumber = 9.000  idiv = 1.000  ifl = 9.000
+instr 1:  inumber = 9.000  idiv = 2.000  ifl = 5.000
+instr 1:  inumber = 9.000  idiv = 3.000  ifl = 3.000
+instr 1:  inumber = 9.000  idiv = 4.000  ifl = 2.000
+instr 1:  inumber = 9.000  idiv = 5.000  ifl = 2.000
+instr 1:  inumber = 9.000  idiv = 6.000  ifl = 2.000
+instr 1:  inumber = 9.000  idiv = 7.000  ifl = 1.000
+instr 1:  inumber = 9.000  idiv = 8.000  ifl = 1.000
+instr 1:  inumber = 9.000  idiv = 9.000  ifl = 1.000
+instr 1:  inumber = 9.000  idiv = 10.000  ifl = 1.000
+      </screen>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/rspline.xml b/opcodes/rspline.xml
index 269ca9d..683afe8 100644
--- a/opcodes/rspline.xml
+++ b/opcodes/rspline.xml
@@ -63,6 +63,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the rspline opcode. It uses the file <ulink url="examples/rspline.csd"><citetitle>rspline.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the rspline opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/rspline.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>Credits</title>
     <para>Author: &namegabriel;</para>
     <para>New in version 4.15</para>
diff --git a/opcodes/rtclock.xml b/opcodes/rtclock.xml
index e1e07a3..e3bc36c 100644
--- a/opcodes/rtclock.xml
+++ b/opcodes/rtclock.xml
@@ -40,28 +40,17 @@
     <title>Examples</title>
     <para>
       Here is an example of the rtclock opcode. It uses the file <ulink url="examples/rtclock.csd"><citetitle>rtclock.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the rtclock opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/rtclock.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-      Its output should include lines like this:
-      <screen>
- i   1 time     0.00002: 1018236096.00000
- i   1 time     1.00002: 1018236224.00000
-      </screen>
     </para>
   </refsect1>
 
   <refsect1>
     <title>Credits</title>
     <para>Author: &namejohn;</para>
-    <para>Example written by &namekevin;.</para>
     <para>New in version 4.10</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/samphold.xml b/opcodes/samphold.xml
index 92abeb7..e00ae12 100644
--- a/opcodes/samphold.xml
+++ b/opcodes/samphold.xml
@@ -58,6 +58,14 @@ asamp <emphasis role="opc">samphold</emphasis>  anew, agate           <emphasis
 aout  <emphasis role="opc">tone</emphasis>      asamp, 100            <emphasis role="comment">; smooth out the rough edges</emphasis></programlisting>
       </informalexample>
     </para>
+    <para>
+      Here is another example of the samphold opcode. It uses the file <ulink url="examples/samphold.csd"><citetitle>samphold.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the samphold opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/samphold.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/scalearray.xml b/opcodes/scalearray.xml
new file mode 100644
index 0000000..45c4c06
--- /dev/null
+++ b/opcodes/scalearray.xml
@@ -0,0 +1,80 @@
+
+<refentry id="scalearray">
+<indexterm id="IndexScalearray"><primary>scalearray</primary></indexterm>
+  <refentryinfo><title>Array Opcodes</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>scalearray</refentrytitle>
+  </refmeta>
+
+
+ 
+  <refnamediv>
+    <refname>scalearray</refname>
+
+    <refpurpose>
+      Scales the values in a range of a vector (one dimensional array).
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      The <emphasis>scalearray</emphasis> opcode scales a subregion of a
+      vector to a given minimum/maximum.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>scalearray</command> tarray, kmin, kmax[, kleft, kright]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>karray</emphasis> --  array for operation.
+    </para>
+    <para>
+      <emphasis>kmin, kmax</emphasis> --  target minimum and maximum values.
+    </para>
+    <para>
+      <emphasis>kleft, kright</emphasis> --  range of table to use,
+      defaulting to 0 and size of the vector.
+    </para>
+
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the scalearray opcode. It uses the file <ulink url="examples/scalearray.csd"><citetitle>scalearray.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the scalearray opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/scalearray.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="maxarray"><citetitle>maxarray</citetitle></link>, 
+      <link linkend="minarray"><citetitle>minarray</citetitle></link>, 
+      <link linkend="sumarray"><citetitle>sumarray</citetitle></link>, 
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>October 2011</member>
+      </simplelist>
+    </para>
+
+    <para>New in Csound version 5.14</para>
+    <para>Renamed in Csound version 6.00</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/scans.xml b/opcodes/scans.xml
index 495d961..253517d 100644
--- a/opcodes/scans.xml
+++ b/opcodes/scans.xml
@@ -57,23 +57,30 @@
     <title>Examples</title> 
     <para>
       Here is an example of the scanned synthesis. It uses the file <ulink url="examples/scans.csd"><citetitle>scans.csd</citetitle></ulink>, and <ulink url="examples/string-128.matrix"><citetitle>string-128.matrix</citetitle></ulink>.
-
       <example>
         <title>Example of the scans opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/scans.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
     </para>
-
-    <para>
-      The matrix file <quote>string-128.matrix</quote>, as well as several other matrices, is also available in a <ulink url="http://www.csounds.com/scanned/zip/scanmatrices.zip"><citetitle>zipped file</citetitle></ulink> from the <ulink url="http://www.csounds.com/scanned/"><citetitle>Scanned Synthesis page</citetitle></ulink> at cSounds.com.
+        <para>
+      Here is another example of the scanned synthesis, using samples as excitation signal. It uses the file <ulink url="examples/scans-2.csd"><citetitle>scans-2.csd</citetitle></ulink>.
+      <example>
+        <title>Second example of the scans opcode.</title>
+	          <xi:include href="examples-xml/scans-2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
     </para>
   </refsect1>
  
   <refsect1>
+    <title>See Also</title>
+        <para>
+      The matrix file <quote>string-128.matrix</quote>, as well as several other matrices, is also available in a <ulink url="http://www.csounds.com/scanned/zip/scanmatrices.zip"><citetitle>zipped file</citetitle></ulink> from the <ulink url="http://www.csounds.com/scanned/"><citetitle>Scanned Synthesis page</citetitle></ulink> at cSounds.com.
+    </para>
+        <para> More information on this opcode: <ulink url="http://www.csounds.com/stevenyi/scanned/yi_scannedSynthesis.html"><citetitle>http://www.csounds.com/stevenyi/scanned/yi_scannedSynthesis.html</citetitle></ulink>  , written by Steven Yi </para>
+  </refsect1>
+
+  <refsect1>
     <title>Credits</title>
     <para>
       <simplelist>
@@ -82,7 +89,6 @@
         <member>Boston, Massachussetts USA</member>
       </simplelist>
     </para>
-
     <para>New in Csound version 4.05</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/scantable.xml b/opcodes/scantable.xml
index b16b75a..eb4e0be 100644
--- a/opcodes/scantable.xml
+++ b/opcodes/scantable.xml
@@ -65,12 +65,8 @@
     <title>Examples</title>
     <para>
       Here is an example of the scantable opcode. It uses the file <ulink url="examples/scantable.csd"><citetitle>scantable.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the scantable opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/scantable.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
@@ -82,6 +78,7 @@
     <para>
       <link linkend="scanhammer"><citetitle>scanhammer</citetitle></link>
     </para>
+        <para> More information on this opcode: <ulink url="http://www.csounds.com/stevenyi/scanned/yi_scannedSynthesis.html"><citetitle>http://www.csounds.com/stevenyi/scanned/yi_scannedSynthesis.html</citetitle></ulink>  , written by Steven Yi </para>
   </refsect1>
 
   <refsect1>
@@ -92,8 +89,6 @@
         <member>April 2002</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
-
     <para>New in version 4.20</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/scanu.xml b/opcodes/scanu.xml
index bea7c4f..f71e0ee 100644
--- a/opcodes/scanu.xml
+++ b/opcodes/scanu.xml
@@ -108,7 +108,12 @@
       For an example, see the documentation on <link linkend="scans"><citetitle>scans</citetitle></link>.
     </para>
   </refsect1>
- 
+  
+  <refsect1>
+    <title>See Also</title>
+        <para> More information on this opcode: <ulink url="http://www.csounds.com/stevenyi/scanned/yi_scannedSynthesis.html"><citetitle>http://www.csounds.com/stevenyi/scanned/yi_scannedSynthesis.html</citetitle></ulink>  , written by Steven Yi </para>
+  </refsect1>
+
   <refsect1>
     <title>Credits</title>
     <para>
diff --git a/opcodes/schedule.xml b/opcodes/schedule.xml
index f0a288f..d60a2f7 100644
--- a/opcodes/schedule.xml
+++ b/opcodes/schedule.xml
@@ -52,10 +52,6 @@
   <refsect1>
     <title>Performance</title>
     <para>
-      <emphasis>ktrigger</emphasis> -- trigger value for new event
-    </para>
-
-    <para>
       <emphasis>schedule</emphasis> adds a new score event. The arguments, including options, are the same as in a score. The <emphasis>iwhen</emphasis> time (p2) is measured from the time of this event.
     </para>
 
@@ -67,12 +63,10 @@
     </note>
   </refsect1>
 
-
   <refsect1>
     <title>Examples</title>
     <para>
       Here is an example of the schedule opcode. It uses the file <ulink url="examples/schedule.csd"><citetitle>schedule.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the schedule opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
@@ -97,6 +91,7 @@
     <link linkend="schedkwhennamed"><citetitle>schedkwhennamed</citetitle></link>,
     <link linkend="scoreline"><citetitle>scoreline</citetitle></link>,
     <link linkend="scoreline_i"><citetitle>scoreline_i</citetitle></link></para>
+    <para> More information on this opcode: <ulink url="http://www.csounds.com/journal/issue15/phrase_loops.html"><citetitle>http://www.csounds.com/journal/issue15/phrase_loops.html</citetitle></ulink>  , written by Jim Aikin </para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/schedwhen.xml b/opcodes/schedwhen.xml
index 7ff9db1..ae94595 100644
--- a/opcodes/schedwhen.xml
+++ b/opcodes/schedwhen.xml
@@ -76,7 +76,6 @@
     <title>Examples</title>
     <para>
       Here is an example of the schedwhen opcode. It uses the file <ulink url="examples/schedwhen.csd"><citetitle>schedwhen.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the schedwhen opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
@@ -106,8 +105,6 @@
         <member>November 1998</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
-
     <para>New in Csound version 3.491</para>
     <para>Based on work by &namegabriel;</para>
   </refsect1>
diff --git a/opcodes/scoreline.xml b/opcodes/scoreline.xml
index 04a6ebe..93194c3 100644
--- a/opcodes/scoreline.xml
+++ b/opcodes/scoreline.xml
@@ -44,27 +44,11 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the scoreline opcode. 
+      Here is an example of the scoreline opcode. It uses the file <ulink url="examples/scoreline.csd"><citetitle>scoreline.csd</citetitle></ulink>.
       <example>
-        <title>Example</title>
-<programlisting>
-
-        <emphasis role="oblock">instr</emphasis> 1
-		 ktrig <emphasis role="opc">init</emphasis> 1
-         <emphasis role="opc">scoreline</emphasis> {{
-                       i 2  0  3  "flutec3.wav"
-                       i 2  1  3  "clarc3.wav"
-                     }}, ktrig
-		 ktrig <emphasis role="op">=</emphasis> 0
-        <emphasis role="oblock">endin</emphasis>
-
-        <emphasis role="oblock">instr</emphasis> 2
-            aout <emphasis role="opc">soundin</emphasis> p4
-            <emphasis role="opc">out</emphasis> aout
-        <emphasis role="oblock">endin</emphasis>
-
-
-</programlisting>
+        <title>Example of the scoreline opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/scoreline.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
     <para>
       You can use string opcodes like <link linkend="sprintfk"><citetitle>sprintfk</citetitle></link> to produce strings to be passed to <emphasis>scoreline</emphasis> like this:
 <programlisting>
@@ -87,7 +71,9 @@ String  <emphasis role="opc">sprintfk</emphasis> {{i 2 0 %f "%s" %f %f %f %f}},
     <link linkend="schedkwhen"><citetitle>schedkwhen</citetitle></link>,
     <link linkend="schedkwhennamed"><citetitle>schedkwhennamed</citetitle></link>,
     <link linkend="scoreline_i"><citetitle>scoreline_i</citetitle></link>
-    </para>
+<para> More information on this opcode: <ulink url="http://www.csounds.com/journal/issue15/phrase_loops.html"><citetitle>http://www.csounds.com/journal/issue15/phrase_loops.html</citetitle></ulink>  , written by Jim Aikin </para>
+<para>And in the Floss Manuals: <ulink url="http://en.flossmanuals.net/csound/ch020_e-triggering-instrument-events/"><citetitle>http://en.flossmanuals.net/csound/ch020_e-triggering-instrument-events/</citetitle></ulink>.</para>
+</para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/scoreline_i.xml b/opcodes/scoreline_i.xml
index d35266b..3651279 100644
--- a/opcodes/scoreline_i.xml
+++ b/opcodes/scoreline_i.xml
@@ -35,28 +35,11 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the scoreline_i opcode. 
+      Here is an example of the scoreline_i opcode. It uses the file <ulink url="examples/scoreline_i.csd"><citetitle>scoreline_i.csd</citetitle></ulink>.
       <example>
-        <title>Example</title>
-<programlisting>
-
-        <emphasis role="oblock">instr</emphasis> 1
-		 
-         <emphasis role="opc">scoreline_i</emphasis> {{
-                       i 2  0  3  "flutec3.wav"
-                       i 2  1  3  "clarc3.wav"
-                     }}
-		 
-        <emphasis role="oblock">endin</emphasis>
-
-        <emphasis role="oblock">instr</emphasis> 2
-            aout <emphasis role="opc">soundin</emphasis> p4
-            <emphasis role="opc">out</emphasis> aout
-        <emphasis role="oblock">endin</emphasis>
-
-
-</programlisting>
+        <title>Example of the scoreline_i opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/scoreline_i.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
     </para>
   </refsect1>
@@ -70,6 +53,8 @@
     <link linkend="schedkwhen"><citetitle>schedkwhen</citetitle></link>,
     <link linkend="schedkwhennamed"><citetitle>schedkwhennamed</citetitle></link>,
     <link linkend="scoreline"><citetitle>scoreline</citetitle></link>
+    <para> More information on this opcode: <ulink url="http://www.csounds.com/journal/issue15/phrase_loops.html"><citetitle>http://www.csounds.com/journal/issue15/phrase_loops.html</citetitle></ulink>  , written by Jim Aikin </para>
+<para>And in the Floss Manuals: <ulink url="http://en.flossmanuals.net/csound/ch020_e-triggering-instrument-events/"><citetitle>http://en.flossmanuals.net/csound/ch020_e-triggering-instrument-events/</citetitle></ulink>.</para>
     </para>
   </refsect1>
 
diff --git a/opcodes/seed.xml b/opcodes/seed.xml
index e91ea5d..c333c4f 100644
--- a/opcodes/seed.xml
+++ b/opcodes/seed.xml
@@ -42,4 +42,30 @@
       When specifying a seed value, <emphasis>ival</emphasis> should be an integer between 0 and 2<superscript>32</superscript>. If <emphasis>ival</emphasis> = 0, the value of <emphasis>ival</emphasis> will be derived from the system clock.
     </para>
   </refsect1>
+  
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the seed opcode. It uses the file <ulink url="examples/seed.csd"><citetitle>seed.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the seed opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/seed.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+      Its output should include lines like:
+      <screen>
+i   1 time     0.00067:   100.00000
+i   1 time     0.50000:   175.78677
+i   1 time     1.00000:   170.89579
+
+WARNING: Seeding from current time 834128659
+
+ i   2 time     2.00067:   100.00000
+ i   2 time     2.50000:   197.58517
+ i   2 time     3.00000:   188.69525
+      </screen>
+    </para>
+  </refsect1>
+
 </refentry>
diff --git a/opcodes/semitone.xml b/opcodes/semitone.xml
index 84a24a4..74de286 100644
--- a/opcodes/semitone.xml
+++ b/opcodes/semitone.xml
@@ -49,21 +49,41 @@
     <title>Examples</title>
     <para>
       Here is an example of the semitone opcode. It uses the file <ulink url="examples/semitone.csd"><citetitle>semitone.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the semitone opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/semitone.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
       Its output should include lines like:
       <screen>
-instr 1:  iroot = 440.000
-instr 1:  ifactor = 1.189
-instr 1:  inew = 523.229</screen>
+ i1   880.00000
+ i1     2.00000
+ i1   830.65625
+ i1     1.88786
+ i1   783.94665
+ i1     1.78170
+ i1   739.98885
+ i1     1.68179
+ i1   698.49586
+ i1     1.58749
+ i1   659.21793
+ i1     1.49822
+ i1   622.25397
+ i1     1.41421
+ i1   587.36267
+ i1     1.33492
+ i1   554.33399
+ i1     1.25985
+ i1   523.25113
+ i1     1.18921
+ i1   493.91116
+ i1     1.12253
+ i1   466.13747
+ i1     1.05940
+ i1   440.00000
+ i1     1.00000
+.......
+ </screen>
     </para>
   </refsect1>
 
@@ -78,7 +98,6 @@ instr 1:  inew = 523.229</screen>
 
   <refsect1>
     <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
     <para>New in version 4.16</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/seqtime2.xml b/opcodes/seqtime2.xml
index 0025cd3..dde6329 100644
--- a/opcodes/seqtime2.xml
+++ b/opcodes/seqtime2.xml
@@ -117,6 +117,18 @@
     </para>
   </refsect1>
 
+    <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the seqtime2 opcode. It uses the file <ulink url="examples/seqtime2.csd"><citetitle>seqtime2.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the seqtime2 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/seqtime2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
 <!--   <refsect1> -->
 <!--     <title>Examples</title> -->
 <!--     <para> -->
diff --git a/opcodes/serialBegin.xml b/opcodes/serialBegin.xml
new file mode 100644
index 0000000..d9c6154
--- /dev/null
+++ b/opcodes/serialBegin.xml
@@ -0,0 +1,97 @@
+<refentry id="serialBegin">
+<indexterm
+    id="IndexSerialBegin"><primary>serialBegin</primary></indexterm>
+
+  <refentryinfo><title>Serial I/O</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>serialBegin</refentrytitle>
+  </refmeta>
+
+   <refnamediv>
+    <refname>serialBegin</refname>
+    <refpurpose>
+      Open a serial port.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Open a serial port for arduino.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+      <synopsis>iPort <command>serialBegin</command> SPortName [, ibaudRate]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>SPortName</emphasis> -- port name number
+    </para>
+     <para>
+      <emphasis>ibaudrate</emphasis> -- serial speed, defaulting to
+      9600 bps.
+    </para>
+ </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the serialBegin opcode. It uses the file <ulink url="examples/serialBegin.csd"><citetitle>serialBegin.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the serialBegin opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/serialBegin.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+        This is the matching Arduino code :
+      <screen>
+void setup() {
+  // enable serial communication
+  Serial.begin(9600);
+
+  // declare pin 9 to be an output:
+  pinMode(9, OUTPUT);
+}
+
+void loop() {
+  // only do something if we received something (this should be at csound's k-rate)
+  if (Serial.available()) {
+    // set the brightness of LED (connected to pin 9) to our input value
+    int brightness = Serial.read();
+    analogWrite(9, brightness);
+
+    // while we are here, get our knob value and send it to csound
+    int sensorValue = analogRead(A0);
+    Serial.write(sensorValue/4); // scale to 1-byte range (0-255)
+  }     
+}
+.....</screen>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="serialEnd"><citetitle></citetitle>serialEnd</link>,
+      <link linkend="serialWrite_i"><citetitle></citetitle>serialWrite_i</link>,
+      <link linkend="serialWrite"><citetitle></citetitle>serialWrite</link>,
+      <link linkend="serialRead"><citetitle></citetitle>serialRead</link>,
+      <link linkend="serialPrint"><citetitle></citetitle>serialPrint</link>,
+      <link linkend="serialFlush"><citetitle></citetitle>serialFlush</link>.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namematt;</member>
+        <member>2011</member>
+      </simplelist>
+    </para>
+    <para>New in version 5.14</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/serialEnd.xml b/opcodes/serialEnd.xml
new file mode 100644
index 0000000..abc98bb
--- /dev/null
+++ b/opcodes/serialEnd.xml
@@ -0,0 +1,59 @@
+<refentry id="serialEnd">
+<indexterm
+    id="IndexSerialEnd"><primary>serialEnd</primary></indexterm>
+
+  <refentryinfo><title>Serial I/O</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>serialEnd</refentrytitle>
+  </refmeta>
+
+   <refnamediv>
+    <refname>serialEnd</refname>
+    <refpurpose>
+      Close a serial port.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Close a serial port for arduino.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+      <synopsis> <command>serialEnd</command> iPort</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>iPort</emphasis> -- port number optained from a
+      <emphasis>serialBegin</emphasis>opcode.
+    </para>
+ </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="serialBegin"><citetitle></citetitle>serialBegin</link>,
+      <link linkend="serialWrite_i"><citetitle></citetitle>serialWrite_i</link>,
+      <link linkend="serialWrite"><citetitle></citetitle>serialWrite</link>,
+      <link linkend="serialRead"><citetitle></citetitle>serialRead</link>,
+      <link linkend="serialPrint"><citetitle></citetitle>serialPrint</link>,
+      <link linkend="serialFlush"><citetitle></citetitle>serialFlush</link>.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namematt;</member>
+        <member>2011</member>
+      </simplelist>
+    </para>
+    <para>New in version 5.14</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/serialFlush.xml b/opcodes/serialFlush.xml
new file mode 100644
index 0000000..952ceb9
--- /dev/null
+++ b/opcodes/serialFlush.xml
@@ -0,0 +1,64 @@
+<refentry id="serialFlush">
+<indexterm
+    id="IndexSerialFlush"><primary>serialFlush</primary></indexterm>
+
+  <refentryinfo><title>Serial I/O</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>serialFlush</refentrytitle>
+  </refmeta>
+
+   <refnamediv>
+    <refname>serialFlush</refname>
+    <refpurpose>
+      Flush data from a serial port.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+Flush to the screen any bytes (up to 32k) in the input buffer.  
+Note that these bytes will be cleared from the buffer.
+use this opcode mainly for debugging messages.
+If you want to mix debugging and other communication 
+messages over the same port, you will need to manually
+parse the data with the <emphasis>serialRead</emphasis> opcode.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+      <synopsis> <command>serialFlush</command> iPort</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>iPort</emphasis> -- port number optained from a
+      <emphasis>serialBegin</emphasis> opcode.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="serialBegin"><citetitle></citetitle>serialBegin</link>,
+      <link linkend="serialEnd"><citetitle></citetitle>serialEnd</link>,
+      <link linkend="serialWrite_i"><citetitle></citetitle>serialWrite_i</link>,
+      <link linkend="serialWrite"><citetitle></citetitle>serialWrite</link>,
+      <link linkend="serialRead"><citetitle></citetitle>serialRead</link>,
+      <link linkend="serialPrint"><citetitle></citetitle>serialPrint</link>.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namematt;</member>
+        <member>2011</member>
+      </simplelist>
+    </para>
+    <para>New in version 5.14</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/serialPrint.xml b/opcodes/serialPrint.xml
new file mode 100644
index 0000000..bdbb3e9
--- /dev/null
+++ b/opcodes/serialPrint.xml
@@ -0,0 +1,64 @@
+<refentry id="serialPrint">
+<indexterm
+    id="IndexSerialPrint"><primary>serialPrint</primary></indexterm>
+
+  <refentryinfo><title>Serial I/O</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>serialPrint</refentrytitle>
+  </refmeta>
+
+   <refnamediv>
+    <refname>serialPrint</refname>
+    <refpurpose>
+      Print data from a serial port.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+Print to the screen any bytes (up to 32k) in the input buffer.  
+Note that these bytes will be cleared from the buffer.
+use this opcode mainly for debugging messages.
+If you want to mix debugging and other communication 
+messages over the same port, you will need to manually
+parse the data with the <emphasis>serialRead</emphasis> opcode.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+      <synopsis> <command>serialPrint</command> iPort</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>iPort</emphasis> -- port number optained from a
+      <emphasis>serialBegin</emphasis> opcode.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="serialBegin"><citetitle></citetitle>serialBegin</link>,
+      <link linkend="serialEnd"><citetitle></citetitle>serialEnd</link>,
+      <link linkend="serialWrite_i"><citetitle></citetitle>serialWrite_i</link>,
+      <link linkend="serialWrite"><citetitle></citetitle>serialWrite</link>,
+      <link linkend="serialRead"><citetitle></citetitle>serialRead</link>,
+      <link linkend="serialFlush"><citetitle></citetitle>serialFlush</link>.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namematt;</member>
+        <member>2011</member>
+      </simplelist>
+    </para>
+    <para>New in version 5.14</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/serialRead.xml b/opcodes/serialRead.xml
new file mode 100644
index 0000000..7e963ef
--- /dev/null
+++ b/opcodes/serialRead.xml
@@ -0,0 +1,97 @@
+<refentry id="serialRead">
+<indexterm
+    id="IndexSerialRead"><primary>serialRead</primary></indexterm>
+
+  <refentryinfo><title>Serial I/O</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>serialRead</refentrytitle>
+  </refmeta>
+
+   <refnamediv>
+    <refname>serialRead</refname>
+    <refpurpose>
+      Read data from a serial port.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Read data from a serial port for arduino.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+      <synopsis>kByte <command>serialRead</command> iPort</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>iPort</emphasis> -- port number optained from a
+      <emphasis>serialBegin</emphasis> opcode.
+    </para>
+    <para>
+      <emphasis>kByte</emphasis> -- a byte of data to read.
+    </para>
+ </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the serialRead opcode. It uses the file <ulink url="examples/serialRead.csd"><citetitle>serialRead.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the serialRead opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/serialRead.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+        This is the matching Arduino code :
+      <screen>
+void setup() {
+  // enable serial communication
+  Serial.begin(9600);
+
+  // declare pin 9 to be an output:
+  pinMode(9, OUTPUT);
+}
+
+void loop() {
+  // only do something if we received something (this should be at csound's k-rate)
+  if (Serial.available()) {
+    // set the brightness of LED (connected to pin 9) to our input value
+    int brightness = Serial.read();
+    analogWrite(9, brightness);
+
+    // while we are here, get our knob value and send it to csound
+    int sensorValue = analogRead(A0);
+    Serial.write(sensorValue/4); // scale to 1-byte range (0-255)
+  }     
+}
+.....</screen>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="serialBegin"><citetitle></citetitle>serialBegin</link>,
+      <link linkend="serialEnd"><citetitle></citetitle>serialEnd</link>,
+      <link linkend="serialWrite_i"><citetitle></citetitle>serialWrite_i</link>,
+      <link linkend="serialWrite"><citetitle></citetitle>serialWrite</link>,
+      <link linkend="serialPrint"><citetitle></citetitle>serialPrint</link>,
+      <link linkend="serialFlush"><citetitle></citetitle>serialFlush</link>.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namematt;</member>
+        <member>2011</member>
+      </simplelist>
+    </para>
+    <para>New in version 5.14</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/serialWrite.xml b/opcodes/serialWrite.xml
new file mode 100644
index 0000000..ff7ea1d
--- /dev/null
+++ b/opcodes/serialWrite.xml
@@ -0,0 +1,99 @@
+<refentry id="serialWrite">
+<indexterm
+    id="IndexSerialWrite"><primary>serialrite</primary></indexterm>
+
+  <refentryinfo><title>Serial I/O</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>serialWrite</refentrytitle>
+  </refmeta>
+
+   <refnamediv>
+    <refname>serialWrite</refname>
+    <refpurpose>
+      Write data to a serial port.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Write data to a serial port for arduino.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+      <synopsis> <command>serialWrite</command> iPort, iByte</synopsis>
+      <synopsis> <command>serialWrite</command> iPort, kByte</synopsis>
+      <synopsis> <command>serialWrite</command> iPort, SBytes</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>iPort</emphasis> -- port number optained from a
+      <emphasis>serialBegin</emphasis> opcode.
+    </para>
+    <para>
+      <emphasis>iByte</emphasis> -- a byte of data to write.
+    </para>
+ </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the serialWrite opcode. It uses the file <ulink url="examples/serialWrite.csd"><citetitle>serialWrite.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the serialWrite opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/serialWrite.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+        This is the matching Arduino code :
+      <screen>
+void setup() {
+  // enable serial communication
+  Serial.begin(9600);
+
+  // declare pin 9 to be an output:
+  pinMode(9, OUTPUT);
+}
+
+void loop() {
+  // only do something if we received something (this should be at csound's k-rate)
+  if (Serial.available()) {
+    // set the brightness of LED (connected to pin 9) to our input value
+    int brightness = Serial.read();
+    analogWrite(9, brightness);
+
+    // while we are here, get our knob value and send it to csound
+    int sensorValue = analogRead(A0);
+    Serial.write(sensorValue/4); // scale to 1-byte range (0-255)
+  }     
+}
+.....</screen>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="serialBegin"><citetitle></citetitle>serialBegin</link>,
+      <link linkend="serialEnd"><citetitle></citetitle>serialEnd</link>,
+      <link linkend="serialWrite_i"><citetitle></citetitle>serialWrite_i</link>,
+      <link linkend="serialRead"><citetitle></citetitle>serialRead</link>,
+      <link linkend="serialPrint"><citetitle></citetitle>serialPrint</link>,
+      <link linkend="serialFlush"><citetitle></citetitle>serialFlush</link>.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namematt;</member>
+        <member>2011</member>
+      </simplelist>
+    </para>
+    <para>New in version 5.14</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/serialWrite_i.xml b/opcodes/serialWrite_i.xml
new file mode 100644
index 0000000..2ce6d32
--- /dev/null
+++ b/opcodes/serialWrite_i.xml
@@ -0,0 +1,63 @@
+<refentry id="serialWrite_i">
+<indexterm
+    id="IndexSerialWrite_i"><primary>serialrite_i</primary></indexterm>
+
+  <refentryinfo><title>Serial I/O</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>serialWrite_i</refentrytitle>
+  </refmeta>
+
+   <refnamediv>
+    <refname>serialWrite_i</refname>
+    <refpurpose>
+      Write data to a serial port.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Write data to a serial port for arduino.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+      <synopsis> <command>serialWrite_i</command> iPort, iByte</synopsis>
+      <synopsis> <command>serialWrite_i</command> iPort, SBytes</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>iPort</emphasis> -- port number optained from a
+      <emphasis>serialBegin</emphasis> opcode.
+    </para>
+    <para>
+      <emphasis>iByte</emphasis> -- a byte of data to write.
+    </para>
+ </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="serialBegin"><citetitle></citetitle>serialBegin</link>,
+      <link linkend="serialEnd"><citetitle></citetitle>serialEnd</link>,
+      <link linkend="serialWrite"><citetitle></citetitle>serialWrite</link>,
+      <link linkend="serialRead"><citetitle></citetitle>serialRead</link>,
+      <link linkend="serialPrint"><citetitle></citetitle>serialPrint</link>,
+      <link linkend="serialFlush"><citetitle></citetitle>serialFlush</link>.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namematt;</member>
+        <member>2011</member>
+      </simplelist>
+    </para>
+    <para>New in version 5.14</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/setksmps.xml b/opcodes/setksmps.xml
index 3d6eea5..c82ad90 100644
--- a/opcodes/setksmps.xml
+++ b/opcodes/setksmps.xml
@@ -9,14 +9,14 @@
   <refnamediv>
     <refname>setksmps</refname>
     <refpurpose>
-      Sets the local ksmps value in a user-defined opcode block.
+      Sets the local ksmps value in an instrument or user-defined opcode block
     </refpurpose>
   </refnamediv>
 
   <refsect1>
     <title>Description</title>
     <para>
-      Sets the local ksmps value in a user-defined opcode block.
+      Sets the local ksmps value in an instrument or user-defined opcode block.
     </para>
   </refsect1>
 
@@ -38,24 +38,24 @@
     <note>
       <title>Note</title>
       <para>
-        The local <emphasis>ksmps</emphasis> is implemented by splitting up a control period into smaller sub-kperiods and temporarily modifying internal Csound global variables. This also requires converting the rate of k-rate input and output arguments (input variables receive the same value in all sub-kperiods, while outputs are written only in the last one). It also means that you cannot use a local <link linkend="ksmps"><citetitle>ksmps</citetitle></link> that is higher than the global <link linkend="ksmps"><citetitle>ksmps</citetitle></link>.
+        The local <emphasis>ksmps</emphasis> is implemented by splitting up a control period into smaller sub-kperiods and setting up the instrument local ksmps to the new value. This also requires converting the rate of k-rate input and output arguments (input variables receive the same value in all sub-kperiods, while outputs are written only in the last one). It also means that you cannot use a local <link linkend="ksmps"><citetitle>ksmps</citetitle></link> that is higher than the global <link linkend="ksmps"><citetitle>ksmps</citetitle></link>.
       </para>
     </note>
 
     <warning>
       <title>Warning about local ksmps</title>
       <para>
-        When the local <emphasis>ksmps</emphasis> is not the same as the orchestra level <emphasis>ksmps</emphasis> value (as specified in the orchestra header), global a-rate operations must not be used in the user-defined opcode block.
+        When the local <emphasis>ksmps</emphasis> is not the same as the orchestra level <emphasis>ksmps</emphasis> value (as specified in the orchestra header), global a-rate operations must be carefully coded to access the data in a vector according to the local ksmps. The audio rate bus channel opcodes (chnget/chnset) can be used freely, however, as they will do the necessary conversion between ksmp sizes.
       </para>
 
       <para>
-        These include:
+        Other opcodes that require some care include:
 
         <itemizedlist>
           <listitem><para>any access to <quote>ga</quote> variables</para></listitem>
           <listitem><para>a-rate zak opcodes (<link linkend="zar"><citetitle>zar</citetitle></link>, <link linkend="zaw"><citetitle>zaw</citetitle></link>, etc.)</para></listitem>
           <listitem><para><link linkend="tablera"><citetitle>tablera</citetitle></link> and <link linkend="tablewa"><citetitle>tablewa</citetitle></link> (these two opcodes may in fact work, but caution is needed)</para></listitem>
-          <listitem><para>The <emphasis>in</emphasis> and <emphasis>out</emphasis> opcode family (these read from, and write to global a-rate buffers)</para></listitem>
+          <listitem><para>  The <emphasis>in</emphasis> and <emphasis>out</emphasis> opcode family cannot be used in local-ksmps UDOs (these read from, and write to global a-rate buffers), but are safe in local-ksmps instruments</para></listitem>
         </itemizedlist>
       </para>
 
@@ -65,7 +65,7 @@
     </warning>
 
     <para>
-      The <emphasis>setksmps</emphasis> statement can be used to set the local <link linkend="ksmps"><citetitle>ksmps</citetitle></link> value of the user-defined opcode block. It has one i-time parameter specifying the new <emphasis>ksmps</emphasis> value (which is left unchanged if zero is used). <emphasis>setksmps</emphasis> should be used before any other opcodes (but allowed after <link linkend="xin"><citetitle>xin</citetitle></link>), otherwise unpredictable results may occur.
+      The <emphasis>setksmps</emphasis> statement can be used to set the local <link linkend="ksmps"><citetitle>ksmps</citetitle></link> value of the instrument or user-defined opcode block. It has one i-time parameter specifying the new <emphasis>ksmps</emphasis> value (which is left unchanged if zero is used). <emphasis>setksmps</emphasis> should be used before any other opcodes (but allowed after <link linkend="xin"><citetitle>xin</citetitle></link> in UDOs), otherwise unpredictable results may occur.
     </para>
   </refsect1>
 
@@ -112,7 +112,7 @@ xinarg1 [, xinarg2] [, xinarg3] ... [xinargN]  <emphasis role="opc">xin</emphasi
 
   <refsect1>
     <title>Credits</title>
-    <para>Author: Istvan Varga, 2002; based on code by Matt J. Ingalls</para>
+    <para>Author: Istvan Varga, 2002; based on code by Matt J. Ingalls; Modified by V Lazzarini for Csound 6</para>
     <para>New in version 4.22</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/setscorepos.xml b/opcodes/setscorepos.xml
old mode 100755
new mode 100644
index a521528..8a80c41
--- a/opcodes/setscorepos.xml
+++ b/opcodes/setscorepos.xml
@@ -22,7 +22,7 @@
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis> <command>setscorepos  ipos</command></synopsis>
+    <synopsis> <command>setscorepos ipos</command></synopsis>
   </refsect1>
 
  <refsect1>
@@ -32,23 +32,22 @@
     </para>
   </refsect1>
 
-  <refsect1>
+    <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the setscorepos opcode.</para>
+      Here is an example of the setscorepos opcode. It uses the file <ulink url="examples/setscorepos.csd"><citetitle>setscorepos.csd</citetitle></ulink>.
       <example>
         <title>Example of the setscorepos opcode.</title>
-<programlisting>
-<emphasis role="oblock">instr</emphasis> 1
-<emphasis role="opc">setscorepos</emphasis> 10
-<emphasis role="oblock">endin</emphasis></programlisting>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/setscorepos.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
+    </para>
   </refsect1>
 
   <refsect1>
     <title>See Also</title>
     <para>
-      <link linkend="rewindscore"><citetitle>rewindscore</citetitle></link>,
+      <link linkend="rewindscore"><citetitle>rewindscore</citetitle></link>
     </para>
   </refsect1>
 
diff --git a/opcodes/sfilist.xml b/opcodes/sfilist.xml
index 92037ae..5be5b20 100644
--- a/opcodes/sfilist.xml
+++ b/opcodes/sfilist.xml
@@ -44,6 +44,32 @@
       These opcodes only support the sample structure of SF2 files. The modulator structure of the SoundFont2 format is not supported in Csound. Any modulation or processing to the sample data is left to the Csound user, bypassing all restrictions forced by the SF2 standard.
     </para>
   </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the sfilist opcode. It uses the file <ulink url="examples/sfilist.csd"><citetitle>sfilist.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the sfilist opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/sfilist.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+      Its output should include lines like this:
+      <screen>
+Instrument list of "sf_GMbank.sf2"
+  0) Piano 1             
+  1) Piano 2             
+  2) CP 70               
+  3) EP 1 layer 1        
+  4) EP 1 layer 2        
+  5) E.Piano 2           
+  6) Harpsichord              
+  .......
+  100) Halo Pad 
+  .......
+      </screen>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/sfinstr.xml b/opcodes/sfinstr.xml
index 683e292..ee98813 100644
--- a/opcodes/sfinstr.xml
+++ b/opcodes/sfinstr.xml
@@ -87,7 +87,19 @@ a multiplier.
       These opcodes only support the sample structure of SF2 files. The modulator structure of the SoundFont2 format is not supported in Csound. Any modulation or processing to the sample data is left to the Csound user, bypassing all restrictions forced by the SF2 standard.
     </para>
   </refsect1>
-
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the sfinstr opcode. It uses the file <ulink url="examples/sfinstr.csd"><citetitle>sfinstr.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the sfinstr opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/sfinstr.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/sfinstr3.xml b/opcodes/sfinstr3.xml
index 814f09a..2940b0d 100644
--- a/opcodes/sfinstr3.xml
+++ b/opcodes/sfinstr3.xml
@@ -87,7 +87,19 @@ a multiplier.
       These opcodes only support the sample structure of SF2 files. The modulator structure of the SoundFont2 format is not supported in Csound. Any modulation or processing to the sample data is left to the Csound user, bypassing all restrictions forced by the SF2 standard.
     </para>
   </refsect1>
-
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the sfinstr3 opcode. It uses the file <ulink url="examples/sfinstr3.csd"><citetitle>sfinstr3.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the sfinstr3 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/sfinstr3.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/sfinstr3m.xml b/opcodes/sfinstr3m.xml
index ac8de84..e525230 100644
--- a/opcodes/sfinstr3m.xml
+++ b/opcodes/sfinstr3m.xml
@@ -86,7 +86,19 @@ a multiplier.
       These opcodes only support the sample structure of SF2 files. The modulator structure of the SoundFont2 format is not supported in Csound. Any modulation or processing to the sample data is left to the Csound user, bypassing all restrictions forced by the SF2 standard.
     </para>
   </refsect1>
-
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the sfinstr3m opcode. It uses the file <ulink url="examples/sfinstr3m.csd"><citetitle>sfinstr3m.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the sfinstr3m opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/sfinstr3m.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/sfload.xml b/opcodes/sfload.xml
index f3a98ad..931aaaf 100644
--- a/opcodes/sfload.xml
+++ b/opcodes/sfload.xml
@@ -63,6 +63,18 @@
       sound fonts could be loaded, a restriction since relaxed.
     </para>
   </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the sfload opcode. It uses the file <ulink url="examples/sfload.csd"><citetitle>sfload.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the sfload opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/sfload.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/sflooper.xml b/opcodes/sflooper.xml
old mode 100755
new mode 100644
index 02a1196..3dc663b
--- a/opcodes/sflooper.xml
+++ b/opcodes/sflooper.xml
@@ -26,7 +26,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>ar1, ar2 <command>sflooper</command> ivel, inotenum, kamp, kpitch, ipreindex, kloopstart, kloopend, kcrossfade, ifn \
+    <synopsis>ar1, ar2 <command>sflooper</command> ivel, inotenum, kamp, kpitch, ipreindex, kloopstart, kloopend, kcrossfade \
       [, istart, imode, ifenv, iskip] </synopsis>
   </refsect1>
  
@@ -91,6 +91,23 @@ loop length.</para>
     <para>
       These opcodes only support the sample structure of SF2 files. The modulator structure of the SoundFont2 format is not supported in Csound. Any modulation or processing to the sample data is left to the Csound user, bypassing all restrictions forced by the SF2 standard.
     </para>
+    <para>
+      Note: The looping points are set on the root key of every sample that is part of the preset of the soundfont. 
+For instance, a soundfont can have a single sample for the whole keyboard. In that case, sflooper will work like flooper and flooper2, because as the sample is transposed, played back at different rates, the loop will get short or longer.
+If however the soundfont has a sample for each key, than there will be no transposition and the loop will stay the same length (unless you change kpitch).
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the sflooper opcode. It uses the file <ulink url="examples/sflooper.csd"><citetitle>sflooper.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the sflooper opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/sflooper.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/sfpassign.xml b/opcodes/sfpassign.xml
index 417cbf5..14a6cfe 100644
--- a/opcodes/sfpassign.xml
+++ b/opcodes/sfpassign.xml
@@ -63,6 +63,18 @@
       These opcodes only support the sample structure of SF2 files. The modulator structure of the SoundFont2 format is not supported in Csound. Any modulation or processing to the sample data is left to the Csound user, bypassing all restrictions forced by the SF2 standard.
     </para>
   </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the sfpassign opcode. It uses the file <ulink url="examples/sfpassign.csd"><citetitle>sfpassign.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the sfpassign opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/sfpassign.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/sfplay3.xml b/opcodes/sfplay3.xml
index ab4d992..30bcb41 100644
--- a/opcodes/sfplay3.xml
+++ b/opcodes/sfplay3.xml
@@ -94,7 +94,19 @@
       These opcodes only support the sample structure of SF2 files. The modulator structure of the SoundFont2 format is not supported in Csound. Any modulation or processing to the sample data is left to the Csound user, bypassing all restrictions forced by the SF2 standard.
     </para>
   </refsect1>
-
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the sfplay3 opcode. It uses the file <ulink url="examples/sfplay3.csd"><citetitle>sfplay3.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the sfplay3 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/sfplay3.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/sfplay3m.xml b/opcodes/sfplay3m.xml
index 10a4122..9af1cd1 100644
--- a/opcodes/sfplay3m.xml
+++ b/opcodes/sfplay3m.xml
@@ -94,7 +94,19 @@
       These opcodes only support the sample structure of SF2 files. The modulator structure of the SoundFont2 format is not supported in Csound. Any modulation or processing to the sample data is left to the Csound user, bypassing all restrictions forced by the SF2 standard.
     </para>
   </refsect1>
-
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the sfplay3m opcode. It uses the file <ulink url="examples/sfplay3m.csd"><citetitle>sfplay3m.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the sfplay3m opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/sfplay3m.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/sfplaym.xml b/opcodes/sfplaym.xml
index 4034847..73a5365 100644
--- a/opcodes/sfplaym.xml
+++ b/opcodes/sfplaym.xml
@@ -90,7 +90,19 @@
       These opcodes only support the sample structure of SF2 files. The modulator structure of the SoundFont2 format is not supported in Csound. Any modulation or processing to the sample data is left to the Csound user, bypassing all restrictions forced by the SF2 standard.
     </para>
   </refsect1>
-
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the sfplaym opcode. It uses the file <ulink url="examples/sfplaym.csd"><citetitle>sfplaym.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the sfplaym opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/sfplaym.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/sfplist.xml b/opcodes/sfplist.xml
index bf7ff14..a16acf7 100644
--- a/opcodes/sfplist.xml
+++ b/opcodes/sfplist.xml
@@ -44,6 +44,32 @@
       These opcodes only support the sample structure of SF2 files. The modulator structure of the SoundFont2 format is not supported in Csound. Any modulation or processing to the sample data is left to the Csound user, bypassing all restrictions forced by the SF2 standard.
     </para>
   </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the sfplist opcode. It uses the file <ulink url="examples/sfplist.csd"><citetitle>sfplist.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the sfplist opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/sfplist.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+      Its output should include lines like this:
+      <screen>
+Preset list of "sf_GMbank.sf2"
+  0) Piano 1             	prog:0   bank:0
+  1) Piano 2             	prog:1   bank:0
+  2) Piano 3             	prog:2   bank:0
+  3) Honky Tonk          	prog:3   bank:0
+  4) E.Piano 1           	prog:4   bank:0
+  5) E.Piano 2           	prog:5   bank:0
+  6) Harpsichord         	prog:6   bank:0
+  ........
+  146) Car-Pass            	prog:125 bank:3
+  ........
+      </screen>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/sfpreset.xml b/opcodes/sfpreset.xml
index b93c383..259672a 100644
--- a/opcodes/sfpreset.xml
+++ b/opcodes/sfpreset.xml
@@ -64,7 +64,19 @@
       These opcodes only support the sample structure of SF2 files. The modulator structure of the SoundFont2 format is not supported in Csound. Any modulation or processing to the sample data is left to the Csound user, bypassing all restrictions forced by the SF2 standard.
     </para>
   </refsect1>
-
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the sfpreset opcode. It uses the file <ulink url="examples/sfpreset.csd"><citetitle>sfpreset.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the sfpreset opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/sfpreset.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/signum.xml b/opcodes/signum.xml
new file mode 100644
index 0000000..afc359c
--- /dev/null
+++ b/opcodes/signum.xml
@@ -0,0 +1,58 @@
+
+<refentry id="signum">
+<indexterm id="IndexSignum"><primary>signum</primary></indexterm>
+  <refentryinfo><title>Mathematical Operations:Trigonometric Functions</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>signum</refentrytitle>
+  </refmeta>
+
+
+ 
+  <refnamediv>
+    <refname>signum</refname>
+
+    <refpurpose>
+      Performs a signum function.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Returns the signum of <emphasis>x</emphasis> returning -1, 0 or 1.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>signum</command>(x) (no rate restriction)</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the signum opcode. It uses the file <ulink url="examples/signum.csd"><citetitle>signum.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the signum opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on usingg command line flags.</para>
+          <xi:include href="examples-xml/signum.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>University of Bath, Codemist Ltd.</member>
+        <member>Bath, UK</member>
+        <member>July 2013</member>
+      </simplelist>
+    </para>
+
+    <para>New in Csound version 6.01</para>
+  </refsect1>
+
+
+</refentry>
diff --git a/opcodes/sin.xml b/opcodes/sin.xml
index 9226ff5..b8c9eba 100644
--- a/opcodes/sin.xml
+++ b/opcodes/sin.xml
@@ -32,18 +32,14 @@
     <title>Examples</title>
     <para>
       Here is an example of the sin opcode. It uses the file <ulink url="examples/sin.csd"><citetitle>sin.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the sin opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/sin.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
 
       Its output should include a line like this:
-      <screen>instr 1:  i1 = -0.132</screen>
+      <screen>instr 1:  isin1 = 0.000  isin2 = 1.000  isin3 = 0.000  isin4 = -1.000  isin5 = -0.000  isin6 = 0.000</screen>
     </para>
   </refsect1>
 
@@ -61,8 +57,4 @@
     </para>
   </refsect1>
 
-  <refsect1>
-    <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
-  </refsect1>
 </refentry>
diff --git a/opcodes/sinsyn.xml b/opcodes/sinsyn.xml
index 633b03d..6194795 100644
--- a/opcodes/sinsyn.xml
+++ b/opcodes/sinsyn.xml
@@ -6,29 +6,27 @@
     <refentrytitle>sinsyn</refentrytitle>
   </refmeta>
 
-
-
   <refnamediv>
     <refname>sinsyn</refname>
     <refpurpose>
-    Streaming partial track additive synthesis with cubic phase interpolation 
-          </refpurpose>
+      Streaming partial track additive synthesis with cubic phase interpolation 
+    </refpurpose>
   </refnamediv>
   
   <refsect1>
     <title>Description</title>
     <para>
-  The sinsyn opcode takes an input containg a TRACKS pv streaming signal (as generated,
-  for instance by the partials opcode). It sinsynthesises the signal using linear amplitude and cubic phase
-  interpolation to drive a bank of interpolating oscillators with amplitude and pitch scaling controls. Sinsyn 
+  The <emphasis>sinsyn</emphasis> opcode takes an input containg a TRACKS pv streaming signal (as generated,
+  for instance by the <emphasis>partials</emphasis> opcode). It resynthesises the signal using linear amplitude and cubic phase
+  interpolation to drive a bank of interpolating oscillators with amplitude scaling control. <emphasis>sinsyn</emphasis> 
   attempts to preserve the phase of the partials in the original signal and in so doing it does not allow for
   pitch or timescale modifications of the signal.
-	      </para>
+    </para>
   </refsect1>
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis>asig <command>sinsyn</command> fin, kscal,  kmaxtracks, ifn</synopsis>
+    <synopsis>asig <command>sinsyn</command> fin, kscal, kmaxtracks, ifn</synopsis>
   </refsect1>
 
   <refsect1>
@@ -47,44 +45,28 @@
 
     <para>
       <emphasis>kmaxtracks</emphasis> -- max number of tracks in sinsynthesis. Limiting this will cause
-	  a non-linear filtering effect, by discarding newer and higher-frequency tracks (tracks are ordered
-	  by start time and ascending frequency, respectively)
+	    a non-linear filtering effect, by discarding newer and higher-frequency tracks (tracks are ordered
+	    by start time and ascending frequency, respectively)
     </para>
 
     <para>
-      <emphasis>ifn</emphasis> -- function table containing one cycle of a sinusoid (sine or cosine) </para>
-    
-  <para>
-    
-  </para>    
-    
+      <emphasis>ifn</emphasis> -- function table containing one cycle of a sinusoid (sine or cosine).
+    </para>
   </refsect1>
 
   <refsect1>
     <title>Examples</title>
     <para>
+      Here is an example of the sinsyn opcode. It uses the file <ulink url="examples/sinsyn.csd"><citetitle>sinsyn.csd</citetitle></ulink>.
       <example>
-        <title>Example</title>
-        <programlisting>
-ain inch 1                  ; input signal
-fs1,fsi2 pvsifd ain,2048,512,1 ; ifd analysis
-fst  partials fs1,fsi2,.003,1,3,500  ; partial tracking
-aout  sinsyn fst, 1.5, 500, 1 ; resynthesis (up a 5th)
-out aout
-        </programlisting>
+        <title>Example of the sinsyn opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/sinsyn.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-
-    </para>
-    
-    <para>
-The example above shows partial tracking of an ifd-analysis signal and
-cubic-phase additive resynthesis. 
-    
     </para>
-    
+        <para>The example above shows partial tracking of an ifd-analysis signal and cubic-phase additive resynthesis.</para>
   </refsect1>
- 
+
   <refsect1>
     <title>Credits</title>
     <para>
diff --git a/opcodes/slicearray.xml b/opcodes/slicearray.xml
new file mode 100644
index 0000000..9a56b82
--- /dev/null
+++ b/opcodes/slicearray.xml
@@ -0,0 +1,69 @@
+
+<refentry id="slicearray">
+<indexterm id="IndexSlicearray"><primary>slicearray</primary></indexterm>
+
+  <refentryinfo><title>Table Control:Table Queries</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>slicearray</refentrytitle>
+  </refmeta>
+
+   <refnamediv>
+    <refname>slicearray</refname>
+    <refpurpose>
+      Take a slice of a vector.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Take a slice of a vector (one-dimensional k-rate array).
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+      <synopsis>karray <command>slicearray</command> kinarray, istart, iend</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>istart</emphasis> -- index of the first part of the answer.
+    </para>
+    <para>
+      <emphasis>iend</emphasis> -- index of the first element of the answer.
+    </para>
+  </refsect1>
+
+ <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the slicearray opcode. It uses the file <ulink url="examples/slicearray.csd"><citetitle>slicearray.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the slicearray opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/slicearray.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="vectorial"><citetitle></citetitle>Vectorial opcodes</link>
+</para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>Codemist Ltd</member>
+        <member>2013</member>
+      </simplelist>
+    </para>
+    <para>New in version 6.00</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/sndloop.xml b/opcodes/sndloop.xml
index bc6242a..12ae713 100644
--- a/opcodes/sndloop.xml
+++ b/opcodes/sndloop.xml
@@ -62,18 +62,14 @@
   <refsect1>
     <title>Examples</title>
     <para>
+      Here is an example of the sndloop opcode. It uses the file <ulink url="examples/sndloop.csd"><citetitle>sndloop.csd</citetitle></ulink>.
       <example>
-        <title>Example</title>
-        <programlisting>
-asig      <emphasis role="opc">in</emphasis>                               <emphasis role="comment">; get the signal in</emphasis>
-ktrig     <emphasis role="opc">line</emphasis>    0, 1, 1                  <emphasis role="comment">; trigger signal</emphasis>
-aout,krec <emphasis role="opc">sndloop</emphasis> asig, 1, ktrig, 4, 0.05  <emphasis role="comment">; rec starts at 1 sec, for 4 secs 0.05 crossfade</emphasis>
-          <emphasis role="opc">printk</emphasis>  1, krec                  <emphasis role="comment">; prints the recording signal</emphasis>
-          <emphasis role="opc">out</emphasis>     aout</programlisting>
+        <title>Example of the sndloop opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/sndloop.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
     </para>
-
-    <para>
+       <para>
       The example above shows the basic operation of sndloop. Pitch can
       be controlled at the k-rate, recording is started as soon as the
       trigger value is >= 1. Recording can be restarted by making the trigger 0 and
diff --git a/opcodes/sndwarp.xml b/opcodes/sndwarp.xml
index 9ad5391..70e05a0 100644
--- a/opcodes/sndwarp.xml
+++ b/opcodes/sndwarp.xml
@@ -85,18 +85,15 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the sndwarp opcode. It uses the file <ulink url="examples/sndwarp.csd"><citetitle>sndwarp.csd</citetitle></ulink>, and <ulink url="examples/mary.wav"><citetitle>mary.wav</citetitle></ulink>.
-
+      Here is an example of the sndwarp opcode. It uses the file <ulink url="examples/sndwarp.csd"><citetitle>sndwarp.csd</citetitle></ulink>.
       <example>
         <title>Example of the sndwarp opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/sndwarp.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
     </para>
 
+    <title>Other examples</title>
     <para>
       The below example shows a slowing down or stretching of the sound stored in the stored table (<emphasis>ifn1</emphasis>). Over the duration of the note, the stretching will grow from no change from the original to a sound which is ten times <quote>slower</quote> than the original. At the same time the overall pitch will move upward over the duration by an octave.
       <informalexample>
@@ -171,6 +168,5 @@ abal2       <emphasis role="opc">balance</emphasis> asig2, acmp2</programlisting
         <member>1997</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/sndwarpst.xml b/opcodes/sndwarpst.xml
index c01bb00..9ef1d25 100644
--- a/opcodes/sndwarpst.xml
+++ b/opcodes/sndwarpst.xml
@@ -81,9 +81,21 @@
       <emphasis>xresample</emphasis> -- the factor by which to change the pitch of the sound. For example, a value of 2 will produce a sound one octave higher than the original. The timing of the sound, however, will <emphasis>not</emphasis> be altered.
     </para>
   </refsect1>
- 
+  
+  <refsect1>
+    <title>Example</title>
+    <para>
+      Here is an example of the sndwarpst opcode. It uses the file <ulink url="examples/sndwarpst.csd"><citetitle>sndwarpst.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the sndwarpst opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/sndwarpst.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
   <refsect1>
-    <title>Examples</title>
+    <title>Other examples</title>
     <para>
       The below example shows a slowing down or stretching of the sound stored in the stored table (<emphasis>ifn1</emphasis>). Over the duration of the note, the stretching will grow from no change from the original to a sound which is ten times <quote>slower</quote> than the original. At the same time the overall pitch will move upward over the duration by an octave.
       <informalexample>
diff --git a/opcodes/soundin.xml b/opcodes/soundin.xml
index dd35883..04546a9 100644
--- a/opcodes/soundin.xml
+++ b/opcodes/soundin.xml
@@ -18,7 +18,8 @@
   <refsect1>
     <title>Description</title>
     <para>
-      Reads audio data from an external device or stream.  Up to 24 channels may be read.
+      Reads audio data from an external device or stream.  Up to 24
+      channels may be read before v5.14, extended to 40 in later versions.
     </para>
   </refsect1>
 
@@ -125,7 +126,7 @@
     <title>Examples</title>
     <para>
       Here is an example of the soundin opcode. It uses the file <ulink url="examples/soundin.csd"><citetitle>soundin.csd</citetitle></ulink>,
-<ulink url="examples/beats.wav"><citetitle>beats.wav</citetitle></ulink>.
+<ulink url="examples/fox.wav"><citetitle>fox.wav</citetitle></ulink> and <ulink url="examples/kickroll.wav"><citetitle>kickroll.wav</citetitle></ulink>.
       <example>
         <title>Example of the soundin opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
@@ -155,8 +156,6 @@
         <member>1993-1997</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
-
     <para>Warning to Windows users added by &namekevin;, April 2002</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/space.xml b/opcodes/space.xml
index f8b4c6d..89c950c 100644
--- a/opcodes/space.xml
+++ b/opcodes/space.xml
@@ -144,96 +144,30 @@
     </para>
   </refsect1>
  
-  <refsect1>
+    <refsect1>
     <title>Examples</title>
     <para>
-      <informalexample>
-        <programlisting>
-<emphasis role="oblock">instr</emphasis> 1
-  asig    <emphasis role="comment">;some audio signal</emphasis>
-  ktime              <emphasis role="opc">line</emphasis>  0, p3, p10
-  a1, a2, a3, a4     <emphasis role="opc">space</emphasis> asig,1, ktime, .1
-  ar1, ar2, ar3, ar4 <emphasis role="opc">spsend</emphasis>        
-  
-  ga1 <emphasis role="op">=</emphasis> ga1<emphasis role="op">+</emphasis>ar1
-  ga2 <emphasis role="op">=</emphasis> ga2<emphasis role="op">+</emphasis>ar2
-  ga3 <emphasis role="op">=</emphasis> ga3<emphasis role="op">+</emphasis>ar3
-  ga4 <emphasis role="op">=</emphasis> ga4<emphasis role="op">+</emphasis>ar4
-  
-                     <emphasis role="op">outq</emphasis> a1, a2, a3, a4
-<emphasis role="oblock">endin</emphasis>
-
-<emphasis role="oblock">instr</emphasis> 99 <emphasis role="comment">; reverb instrument</emphasis>
-          
-  a1 <emphasis role="opc">reverb2</emphasis> ga1, 2.5, .5
-  a2 <emphasis role="opc">reverb2</emphasis> ga2, 2.5, .5
-  a3 <emphasis role="opc">reverb2</emphasis> ga3, 2.5, .5
-  a4 <emphasis role="opc">reverb2</emphasis> ga4, 2.5, .5
-  
-     <emphasis>outq</emphasis> a1, a2, a3, a4
-  ga1 <emphasis role="op">=</emphasis>0
-  ga2 <emphasis role="op">=</emphasis>0
-  ga3 <emphasis role="op">=</emphasis>0
-  ga4 <emphasis role="op">=</emphasis>0
-<emphasis role="oblock">endin</emphasis></programlisting>
-      </informalexample>
-    </para>
+      Here is an example of the space opcode. It uses the file <ulink url="examples/space_quad.csd"><citetitle>space_quad.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the space opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/space_quad.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
 
-    <para>
       In the above example, the signal, <emphasis>asig</emphasis>, is moved according to the data in Function #1 indexed by <emphasis>ktime</emphasis>. <emphasis>space</emphasis> sends the appropriate amount of the signal internally to <emphasis>spsend</emphasis>. The outputs of the <emphasis>spsend</emphasis> are added to global accumulators in a common Csound style and the global signals are used as inputs to the reverb units in a separate instrument.
-    </para>
-
-    <para>
-      <emphasis>space</emphasis> can be useful for quad and stereo panning as well as fixed placed of sounds anywhere between two loudspeakers. Below is an example of the fixed placement of sounds in a stereo field using xy values from the score instead of a function table.
-      <informalexample>
-        <programlisting>
-<emphasis role="oblock">instr</emphasis> 1
-  ...
-  a1, a2, a3, a4     <emphasis role="opc">space</emphasis> asig, 0, 0, .1, p4, p5
-  ar1, ar2, ar3, ar4 <emphasis role="opc">spsend
-  </emphasis>
-  ga1 <emphasis role="op">=</emphasis> ga1<emphasis role="op">+</emphasis>ar1
-  ga2 <emphasis role="op">=</emphasis> ga2<emphasis role="op">+</emphasis>ar2
-                     <emphasis role="opc">outs</emphasis>  a1, a2
-<emphasis role="oblock">endin</emphasis>
 
-<emphasis role="oblock">instr</emphasis> 99 <emphasis role="comment">; reverb....</emphasis>
-  ....
-<emphasis role="oblock">endin</emphasis></programlisting>
-      </informalexample>
+      </example>
     </para>
-
     <para>
-      A few notes: p4 and p5 are the x and y values
-      <informalexample>
-        <programlisting>
-  <emphasis role="comment">;place the sound in the left speaker and near</emphasis>
-    <emphasis role="stamnt">i</emphasis>1 0 1 -1 1
-  <emphasis role="comment">;place the sound in the right speaker and far</emphasis>
-    <emphasis role="stamnt">i</emphasis>1 1 1 45 45
-  <emphasis role="comment">;place the sound equally between left and right and in the middle ground distance</emphasis>
-    <emphasis role="stamnt">i</emphasis>1 2 1 0 12
-<emphasis role="stamnt">e</emphasis></programlisting>
-      </informalexample>
-    </para>
+      <emphasis>space</emphasis> can be useful for quad and stereo panning as well as fixed placed of sounds anywhere between two loudspeakers. Below is an example of the fixed placement of sounds in a stereo field using xy values from the score instead of a function table. It uses the file <ulink url="examples/space_stereo.csd"><citetitle>space_stereo.csd</citetitle></ulink>.
+      <example>
 
-    <para>
-      The next example shows a simple intuitive use of the distance values returned by <emphasis>spdist</emphasis> to simulate Doppler shift.
-      <informalexample>
-        <programlisting>
-  ktime              <emphasis role="opc">line</emphasis>   0, p3, 10
-  kdist              <emphasis role="opc">spdist</emphasis> 1, ktime
-  kfreq <emphasis role="op">=</emphasis> (ifreq <emphasis role="op">*</emphasis> 340) <emphasis role="op">/</emphasis> (340 <emphasis role="op">+</emphasis> kdist)
-  asig               <emphasis role="opc">oscili</emphasis> iamp, kfreq, 1
-  
-  a1, a2, a3, a4     <emphasis role="opc">space</emphasis>  asig, 1, ktime, .1
-  ar1, ar2, ar3, ar4 <emphasis role="opc">spsend</emphasis></programlisting>
-      </informalexample>
+        <title>Second example of the space opcode.</title>
+          <xi:include href="examples-xml/space_stereo.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
     </para>
-
     <para>
-      The same function and time values are used for both <emphasis>spdist</emphasis> and <emphasis>space</emphasis>. This insures that the distance values used internally in the <emphasis>space</emphasis> unit will be the same as those returned by <emphasis>spdist</emphasis> to give the impression of a Doppler shift!
-    </para>
+      <link linkend="spdist"><citetitle>spdist</citetitle></link> demonstrates an example of a simple intuitive use of the distance values to simulate Doppler shift.
+          </para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/spat3dt.xml b/opcodes/spat3dt.xml
index ccd37bb..9ae86e8 100644
--- a/opcodes/spat3dt.xml
+++ b/opcodes/spat3dt.xml
@@ -240,13 +240,20 @@ aright  =  aY + aZ
       <emphasis>iftnocl</emphasis> (optional, default=0) -- Do not clear output ftable (mix to existing data) if set to 1, clear table before writing if set to 0 (default: 0).
     </para>
   </refsect1>
+   
   <refsect1>
     <title>Examples</title>
     <para>
-      See the examples for <link linkend="spat3d"><citetitle>spat3d</citetitle></link>.
+      Here is an example of the spat3dt opcode. It uses the file <ulink url="examples/spat3dt.csd"><citetitle>spat3dt.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the spat3dt opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/spat3dt.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
     </para>
   </refsect1>
 
+
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/spdist.xml b/opcodes/spdist.xml
index 84b2665..4226de0 100644
--- a/opcodes/spdist.xml
+++ b/opcodes/spdist.xml
@@ -122,95 +122,18 @@
       <emphasis>kx, ky</emphasis> -- when <emphasis>ifn</emphasis> is 0, <emphasis>space</emphasis> and <emphasis>spdist</emphasis> will use these values as the XY coordinates to localize the signal. 
     </para>
   </refsect1>
- 
+
   <refsect1>
     <title>Examples</title>
     <para>
-      <informalexample>
-        <programlisting>
-<emphasis role="oblock">instr</emphasis> 1
-  asig    <emphasis role="comment">;some audio signal</emphasis>
-  ktime              <emphasis role="opc">line</emphasis>  0, p3, p10
-  a1, a2, a3, a4     <emphasis role="opc">space</emphasis> asig,1, ktime, .1
-  ar1, ar2, ar3, ar4 <emphasis role="opc">spsend</emphasis>        
-  
-  ga1 <emphasis role="op">=</emphasis> ga1<emphasis role="op">+</emphasis>ar1
-  ga2 <emphasis role="op">=</emphasis> ga2<emphasis role="op">+</emphasis>ar2
-  ga3 <emphasis role="op">=</emphasis> ga3<emphasis role="op">+</emphasis>ar3
-  ga4 <emphasis role="op">=</emphasis> ga4<emphasis role="op">+</emphasis>ar4
-  
-                     <emphasis role="op">outq</emphasis> a1, a2, a3, a4
-<emphasis role="oblock">endin</emphasis>
-
-<emphasis role="oblock">instr</emphasis> 99 <emphasis role="comment">; reverb instrument</emphasis>
-          
-  a1 <emphasis role="opc">reverb2</emphasis> ga1, 2.5, .5
-  a2 <emphasis role="opc">reverb2</emphasis> ga2, 2.5, .5
-  a3 <emphasis role="opc">reverb2</emphasis> ga3, 2.5, .5
-  a4 <emphasis role="opc">reverb2</emphasis> ga4, 2.5, .5
-  
-     <emphasis>outq</emphasis> a1, a2, a3, a4
-  ga1 <emphasis role="op">=</emphasis>0
-  ga2 <emphasis role="op">=</emphasis>0
-  ga3 <emphasis role="op">=</emphasis>0
-  ga4 <emphasis role="op">=</emphasis>0
-<emphasis role="oblock">endin</emphasis></programlisting>
-      </informalexample>
-    </para>
-
-    <para>
-      In the above example, the signal, <emphasis>asig</emphasis>, is moved according to the data in Function #1 indexed by <emphasis>ktime</emphasis>. <emphasis>space</emphasis> sends the appropriate amount of the signal internally to <emphasis>spsend</emphasis>. The outputs of the <emphasis>spsend</emphasis> are added to global accumulators in a common Csound style and the global signals are used as inputs to the reverb units in a separate instrument.
-    </para>
-
-    <para>
-      <emphasis>space</emphasis> can be useful for quad and stereo panning as well as fixed placed of sounds anywhere between two loudspeakers. Below is an example of the fixed placement of sounds in a stereo field using xy values from the score instead of a function table.
-      <informalexample>
-        <programlisting>
-<emphasis role="oblock">instr</emphasis> 1
-  ...
-  a1, a2, a3, a4     <emphasis role="opc">space</emphasis> asig, 0, 0, .1, p4, p5
-  ar1, ar2, ar3, ar4 <emphasis role="opc">spsend
-  </emphasis>
-  ga1 <emphasis role="op">=</emphasis> ga1<emphasis role="op">+</emphasis>ar1
-  ga2 <emphasis role="op">=</emphasis> ga2<emphasis role="op">+</emphasis>ar2
-                     <emphasis role="opc">outs</emphasis>  a1, a2
-<emphasis role="oblock">endin</emphasis>
-
-<emphasis role="oblock">instr</emphasis> 99 <emphasis role="comment">; reverb....</emphasis>
-  ....
-<emphasis role="oblock">endin</emphasis></programlisting>
-      </informalexample>
-    </para>
-
-    <para>
-      A few notes: p4 and p5 are the x and y values
-      <informalexample>
-        <programlisting>
-  <emphasis role="comment">;place the sound in the left speaker and near</emphasis>
-    <emphasis role="stamnt">i</emphasis>1 0 1 -1 1
-  <emphasis role="comment">;place the sound in the right speaker and far</emphasis>
-    <emphasis role="stamnt">i</emphasis>1 1 1 45 45
-  <emphasis role="comment">;place the sound equally between left and right and in the middle ground distance</emphasis>
-    <emphasis role="stamnt">i</emphasis>1 2 1 0 12
-<emphasis role="stamnt">e</emphasis></programlisting>
-      </informalexample>
-    </para>
-
-    <para>
-      The next example shows a simple intuitive use of the distance values returned by <emphasis>spdist</emphasis> to simulate Doppler shift.
-      <informalexample>
-        <programlisting>
-  ktime              <emphasis role="opc">line</emphasis>   0, p3, 10
-  kdist              <emphasis role="opc">spdist</emphasis> 1, ktime
-  kfreq <emphasis role="op">=</emphasis> (ifreq <emphasis role="op">*</emphasis> 340) <emphasis role="op">/</emphasis> (340 <emphasis role="op">+</emphasis> kdist)
-  asig               <emphasis role="opc">oscili</emphasis> iamp, kfreq, 1
-  
-  a1, a2, a3, a4     <emphasis role="opc">space</emphasis>  asig, 1, ktime, .1
-  ar1, ar2, ar3, ar4 <emphasis role="opc">spsend</emphasis></programlisting>
-      </informalexample>
+      Here is an example of the spdist opcode. It uses the file <ulink url="examples/spdist.csd"><citetitle>spdist.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the spdist opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/spdist.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
     </para>
-
-    <para>
+        <para>
       The same function and time values are used for both <emphasis>spdist</emphasis> and <emphasis>space</emphasis>. This insures that the distance values used internally in the <emphasis>space</emphasis> unit will be the same as those returned by <emphasis>spdist</emphasis> to give the impression of a Doppler shift!
     </para>
   </refsect1>
diff --git a/opcodes/specaddm.xml b/opcodes/specaddm.xml
index bc60a4a..7d6fc0b 100644
--- a/opcodes/specaddm.xml
+++ b/opcodes/specaddm.xml
@@ -6,8 +6,6 @@
     <refentrytitle>specaddm</refentrytitle>
   </refmeta>
 
-
- 
   <refnamediv>
     <refname>specaddm</refname>
     <refpurpose>
@@ -47,8 +45,7 @@
     <para>
       Do a weighted add of two input spectra. For each channel of the two input spectra, the two magnitudes are combined and written to the output according to:
       <literallayout>
-magout = mag1in + mag2in * imul2
-      </literallayout>
+magout = mag1in + mag2in * imul2</literallayout>
     </para>
 
     <para>
@@ -57,20 +54,6 @@ magout = mag1in + mag2in * imul2
   </refsect1>
  
   <refsect1>
-    <title>Examples</title>
-    <para>
-      <informalexample>
-        <programlisting>
-  wsig2    <emphasis>specdiff</emphasis>         wsig1               ; sense onsets 
-  wsig3    <emphasis>specfilt</emphasis>         wsig2, 2            ; absorb slowly 
-           <emphasis>specdisp</emphasis>         wsig2, .1           ; & display both spectra 
-           <emphasis>specdisp</emphasis>         wsig3, .1
-        </programlisting>
-      </informalexample>
-    </para>
-  </refsect1>
-
-  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="specdiff"><citetitle>specdiff</citetitle></link>,
diff --git a/opcodes/specdiff.xml b/opcodes/specdiff.xml
index f04902f..8528a9d 100644
--- a/opcodes/specdiff.xml
+++ b/opcodes/specdiff.xml
@@ -6,13 +6,11 @@
     <refentrytitle>specdiff</refentrytitle>
   </refmeta>
 
-
- 
   <refnamediv>
     <refname>specdiff</refname>
     <refpurpose>
       Finds the positive difference values between consecutive spectral frames.
-          </refpurpose>
+    </refpurpose>
   </refnamediv>
  
   <refsect1>
@@ -47,11 +45,10 @@
     <para>
       <informalexample>
         <programlisting>
-  wsig2    <emphasis>specdiff</emphasis>         wsig1               ; sense onsets 
-  wsig3    <emphasis>specfilt</emphasis>         wsig2, 2            ; absorb slowly 
-           <emphasis>specdisp</emphasis>         wsig2, .1           ; & display both spectra 
-           <emphasis>specdisp</emphasis>         wsig3, .1
-        </programlisting>
+  wsig2    <emphasis role="opc">specdiff</emphasis>    wsig1         <emphasis role="comment">; sense onsets</emphasis> 
+  wsig3    <emphasis role="opc">specfilt</emphasis>    wsig2, 2      <emphasis role="comment">; absorb slowly</emphasis>
+           <emphasis role="opc">specdisp</emphasis>    wsig2, 0.1    <emphasis role="comment">; & display both spectra</emphasis>
+           <emphasis role="opc">specdisp</emphasis>    wsig3, 0.1</programlisting>
       </informalexample>
     </para>
   </refsect1>
diff --git a/opcodes/specdisp.xml b/opcodes/specdisp.xml
index 6a6d7bb..1582910 100644
--- a/opcodes/specdisp.xml
+++ b/opcodes/specdisp.xml
@@ -6,13 +6,11 @@
     <refentrytitle>specdisp</refentrytitle>
   </refmeta>
 
-
- 
   <refnamediv>
     <refname>specdisp</refname>
     <refpurpose>
       Displays the magnitude values of the spectrum.
-          </refpurpose>
+    </refpurpose>
   </refnamediv>
  
   <refsect1>
@@ -54,14 +52,13 @@
     <para>
       <informalexample>
         <programlisting>
-  ksum     <emphasis>specsum</emphasis>   wsig,  1                    ; sum the spec bins, and ksmooth
-           <emphasis>if</emphasis>        ksum < 2000   <emphasis>kgoto</emphasis>  zero   ; if sufficient amplitude
-  koct     <emphasis>specptrk</emphasis>  wsig                        ;    pitch-track the signal
-           <emphasis>kgoto</emphasis>      contin
-zero:  
-  koct    =     0                                ; else output zero
-contin:
-        </programlisting>
+  ksum     <emphasis role="opc">specsum</emphasis>   wsig, 1              <emphasis role="comment">; sum the spec bins, and ksmooth</emphasis>
+           <emphasis role="octrl">if</emphasis> ksum <emphasis role="op"><</emphasis> 2000 <emphasis role="octrl">kgoto</emphasis> <emphasis role="olabel">zero</emphasis>      <emphasis role="comment">; if sufficient amplitude</emphasis>
+  koct     <emphasis role="opc">specptrk</emphasis>  wsig                 <emphasis role="comment">;    pitch-track the signal</emphasis>
+           <emphasis role="octrl">kgoto</emphasis>     <emphasis role="olabel">contin</emphasis>
+<emphasis role="olabel">zero:</emphasis> 
+  koct     <emphasis role="op">=</emphasis>         0                    <emphasis role="comment">; else output zero</emphasis>
+<emphasis role="olabel">contin:</emphasis></programlisting>
       </informalexample>
     </para>
   </refsect1>
diff --git a/opcodes/specfilt.xml b/opcodes/specfilt.xml
index fd62b3e..05d0ae0 100644
--- a/opcodes/specfilt.xml
+++ b/opcodes/specfilt.xml
@@ -7,12 +7,11 @@
   </refmeta>
 
 
- 
   <refnamediv>
     <refname>specfilt</refname>
     <refpurpose>
       Filters each channel of an input spectrum.
-          </refpurpose>
+    </refpurpose>
   </refnamediv>
  
   <refsect1>
@@ -50,11 +49,10 @@
     <para>
       <informalexample>
         <programlisting>
-  wsig2    <emphasis>specdiff</emphasis>         wsig1               ; sense onsets 
-  wsig3    <emphasis>specfilt</emphasis>         wsig2, 2            ; absorb slowly 
-           <emphasis>specdisp</emphasis>         wsig2, .1           ; & display both spectra 
-           <emphasis>specdisp</emphasis>         wsig3, .1
-        </programlisting>
+  wsig2    <emphasis role="opc">specdiff</emphasis>    wsig1         <emphasis role="comment">; sense onsets</emphasis>
+  wsig3    <emphasis role="opc">specfilt</emphasis>    wsig2, 2      <emphasis role="comment">; absorb slowly</emphasis>
+           <emphasis role="opc">specdisp</emphasis>    wsig2, 0.1    <emphasis role="comment">; & display both spectra</emphasis>
+           <emphasis role="opc">specdisp</emphasis>    wsig3, 0.1</programlisting>
       </informalexample>
     </para>
   </refsect1>
diff --git a/opcodes/spechist.xml b/opcodes/spechist.xml
index 9dbc167..ef8d94a 100644
--- a/opcodes/spechist.xml
+++ b/opcodes/spechist.xml
@@ -6,13 +6,11 @@
     <refentrytitle>spechist</refentrytitle>
   </refmeta>
 
-
- 
   <refnamediv>
     <refname>spechist</refname>
     <refpurpose>
       Accumulates the values of successive spectral frames.
-          </refpurpose>
+    </refpurpose>
   </refnamediv>
  
   <refsect1>
@@ -43,11 +41,10 @@
     <para>
       <informalexample>
         <programlisting>
-  wsig2    <emphasis>specdiff</emphasis>         wsig1               ; sense onsets 
-  wsig3    <emphasis>specfilt</emphasis>         wsig2, 2            ; absorb slowly 
-           <emphasis>specdisp</emphasis>         wsig2, .1           ; & display both spectra 
-           <emphasis>specdisp</emphasis>         wsig3, .1
-        </programlisting>
+  wsig2    <emphasis role="opc">specdiff</emphasis>    wsig1         <emphasis role="comment">; sense onsets</emphasis>
+  wsig3    <emphasis role="opc">specfilt</emphasis>    wsig2, 2      <emphasis role="comment">; absorb slowly</emphasis>
+           <emphasis role="opc">specdisp</emphasis>    wsig2, 0.1    <emphasis role="comment">; & display both spectra</emphasis>
+           <emphasis role="opc">specdisp</emphasis>    wsig3, 0.1</programlisting>
       </informalexample>
     </para>
   </refsect1>
diff --git a/opcodes/specptrk.xml b/opcodes/specptrk.xml
index 9d1f29f..e10717b 100644
--- a/opcodes/specptrk.xml
+++ b/opcodes/specptrk.xml
@@ -6,13 +6,11 @@
     <refentrytitle>specptrk</refentrytitle>
   </refmeta>
 
-
- 
   <refnamediv>
     <refname>spectrk</refname>
     <refpurpose>
       Estimates the pitch of the most prominent complex tone in the spectrum.
-          </refpurpose>
+    </refpurpose>
   </refnamediv>
  
   <refsect1>
@@ -75,18 +73,17 @@
     <para>
       <informalexample>
         <programlisting>
-  a1,a2   <emphasis>ins</emphasis>                                                         ; read a stereo clarinet input
-  krms    <emphasis>rms</emphasis>        a1, 20                                           ; find a monaural rms value
-  kvar    =          0.6 + krms/8000                                  ; & use to gate the pitch variance
-  wsig    <emphasis>spectrum</emphasis>   a1, .01, 7, 24, 15, 0, 3                         ; get a 7-oct spectrum, 24 bibs/oct
-          <emphasis>specdisp</emphasis>   wsig, .2                                         ; display this and now estimate
-  koct,ka <emphasis>spectrk</emphasis>    wsig, kvar, 7.0, 10, 9, 20,  4, .7, 1, 5, 1, .2  ; the pch and amp
-  aosc    <emphasis>oscil</emphasis>      ka*ka*10, cpsoct(koct),2                         ; & generate \ new tone with these
-  koct    =          (koct<7.0?7.0:koct)                           ; replace non pitch with low C
-          <emphasis>display</emphasis>    koct-7.0, .25, 20                                ; & display the pitch track
-          <emphasis>display</emphasis>    ka, .25, 20                                      ; plus the summed root mag
-          <emphasis>outs</emphasis>       a1, aosc                                         ; output 1 original and 1 new track
-        </programlisting>
+  a1, a2   <emphasis role="opc">ins</emphasis>                                                           <emphasis role="comment">; read a stereo clarinet input</emphasis>
+  krms     <emphasis role="opc">rms</emphasis>        a1, 20                                             <emphasis role="comment">; find a monaural rms value</emphasis>
+  kvar     <emphasis role="op">=</emphasis>          0.6 <emphasis role="op">+</emphasis> krms<emphasis role="op">/</emphasis>8000                                    <emphasis role="comment">; & use to gate the pitch variance</emphasis>
+  wsig     <emphasis role="opc">spectrum</emphasis>   a1, 0.01, 7, 24, 15, 0, 3                          <emphasis role="comment">; get a 7-oct spectrum, 24 bibs/oct</emphasis>
+           <emphasis role="opc">specdisp</emphasis>   wsig, 0.2                                          <emphasis role="comment">; display this and now estimate</emphasis>
+  koct, ka <emphasis role="opc">spectrk</emphasis>    wsig, kvar, 7.0, 10, 9, 20, 4, 0.7, 1, 5, 1, 0.2   <emphasis role="comment">; the pch and amp</emphasis>
+  aosc     <emphasis role="opc">oscil</emphasis>      ka <emphasis role="op">*</emphasis> ka <emphasis role="op">*</emphasis> 10, cpsoct(koct), 2                      <emphasis role="comment">; & generate \ new tone with these</emphasis>
+  koct     <emphasis role="op">=</emphasis>          (koct <emphasis role="op"><</emphasis> 7.0 <emphasis role="op">?</emphasis> 7.0 <emphasis role="op">:</emphasis> koct)                          <emphasis role="comment">; replace non pitch with low C</emphasis>
+           <emphasis role="opc">display</emphasis>    koct <emphasis role="op">-</emphasis> 7.0, 0.25, 20                               <emphasis role="comment">; & display the pitch track</emphasis>
+           <emphasis role="opc">display</emphasis>    ka, 0.25, 20                                       <emphasis role="comment">; plus the summed root mag</emphasis>
+           <emphasis role="opc">outs</emphasis>       a1, aosc                                           <emphasis role="comment">; output 1 original and 1 new track</emphasis></programlisting>
       </informalexample>
     </para>
   </refsect1>
diff --git a/opcodes/specscal.xml b/opcodes/specscal.xml
index b8216e5..c99f67d 100644
--- a/opcodes/specscal.xml
+++ b/opcodes/specscal.xml
@@ -6,13 +6,11 @@
     <refentrytitle>specscal</refentrytitle>
   </refmeta>
 
-
- 
   <refnamediv>
     <refname>specscal</refname>
     <refpurpose>
       Scales an input spectral datablock with spectral envelopes.
-          </refpurpose>
+    </refpurpose>
   </refnamediv>
  
   <refsect1>
@@ -58,11 +56,10 @@
     <para>
       <informalexample>
         <programlisting>
-  wsig2    <emphasis>specdiff</emphasis>         wsig1               ; sense onsets 
-  wsig3    <emphasis>specfilt</emphasis>         wsig2, 2            ; absorb slowly 
-           <emphasis>specdisp</emphasis>         wsig2, .1           ; & display both spectra 
-           <emphasis>specdisp</emphasis>         wsig3, .1
-        </programlisting>
+  wsig2    <emphasis role="opc">specdiff</emphasis>    wsig1         <emphasis role="comment">; sense onsets</emphasis>
+  wsig3    <emphasis role="opc">specfilt</emphasis>    wsig2, 2      <emphasis role="comment">; absorb slowly</emphasis>
+           <emphasis role="opc">specdisp</emphasis>    wsig2, 0.1    <emphasis role="comment">; & display both spectra</emphasis>
+           <emphasis role="opc">specdisp</emphasis>    wsig3, 0.1</programlisting>
       </informalexample>
     </para>
   </refsect1>
diff --git a/opcodes/specsum.xml b/opcodes/specsum.xml
index a7ac9a9..3fd6ef5 100644
--- a/opcodes/specsum.xml
+++ b/opcodes/specsum.xml
@@ -6,13 +6,11 @@
     <refentrytitle>specsum</refentrytitle>
   </refmeta>
 
-
- 
   <refnamediv>
     <refname>specsum</refname>
     <refpurpose>
       Sums the magnitudes across all channels of the spectrum.
-          </refpurpose>
+    </refpurpose>
   </refnamediv>
  
   <refsect1>
@@ -54,14 +52,13 @@
     <para>
       <informalexample>
         <programlisting>
-  ksum     <emphasis>specsum</emphasis>   wsig,  1                    ; sum the spec bins, and ksmooth
-           <emphasis>if</emphasis>        ksum < 2000   <emphasis>kgoto</emphasis>  zero   ; if sufficient amplitude
-  koct     <emphasis>specptrk</emphasis>  wsig                        ;    pitch-track the signal
-           <emphasis>kgoto</emphasis>      contin
-zero:  
-  koct    =     0                                ; else output zero
-contin:
-        </programlisting>
+  ksum     <emphasis role="opc">specsum</emphasis>   wsig, 1              <emphasis role="comment">; sum the spec bins, and ksmooth</emphasis>
+           <emphasis role="octrl">if</emphasis> ksum <emphasis role="op"><</emphasis> 2000 <emphasis role="octrl">kgoto</emphasis> <emphasis role="olabel">zero</emphasis>      <emphasis role="comment">; if sufficient amplitude</emphasis>
+  koct     <emphasis role="opc">specptrk</emphasis>  wsig                 <emphasis role="comment">;    pitch-track the signal</emphasis>
+           <emphasis role="octrl">kgoto</emphasis>     <emphasis role="olabel">contin</emphasis>
+<emphasis role="olabel">zero:</emphasis> 
+  koct     <emphasis role="op">=</emphasis>         0                    <emphasis role="comment">; else output zero</emphasis>
+<emphasis role="olabel">contin:</emphasis></programlisting>
       </informalexample>
     </para>
   </refsect1>
diff --git a/opcodes/spectrum.xml b/opcodes/spectrum.xml
index 3323df3..135880b 100644
--- a/opcodes/spectrum.xml
+++ b/opcodes/spectrum.xml
@@ -6,13 +6,11 @@
     <refentrytitle>spectrum</refentrytitle>
   </refmeta>
 
-
- 
   <refnamediv>
     <refname>spectrum</refname>
     <refpurpose>
       Generate a constant-Q, exponentially-spaced DFT.
-          </refpurpose>
+    </refpurpose>
   </refnamediv>
  
   <refsect1>
@@ -77,7 +75,7 @@
     </para>
 
     <para>
-      This unit produces a self-defining spectral datablock <emphasis>wsig</emphasis>, whose characteristics used (<emphasis>iprd</emphasis>, <emphasis>iocts</emphasis>, <emphasis>ifrqs</emphasis>, <emphasis>idbout</emphasis>) are passed via the data block itself to all derivative <emphasis>wsigs</emphasis>. There can be any number of spectrum units in an instrument or orchestra, but all <emphasis>wsig</emphasis> names must be unique.
+      This unit produces a self-defining spectral datablock <emphasis>wsig</emphasis>, whose characteristics used (<emphasis>iprd</emphasis>, <emphasis>iocts</emphasis>, <emphasis>ifrqs</emphasis>, <emphasis>idbout</emphasis>) are passed via the data block itself to all derivative <emphasis>wsigs</emphasis>. There can be any number of <emphasis>spectrum</emphasis> units in an instrument or orchestra, but all <emphasis>wsig</emphasis> names must be unique.
     </para>
   </refsect1>
  
@@ -86,9 +84,9 @@
     <para>
       <informalexample>
         <programlisting>
-asig <emphasis>in</emphasis>                                ; get external audio
-wsig <emphasis>spectrum</emphasis>  asig,.02,6,12,33,0,1,1  ; downsample in 6 octs & calc a 72 pt dft (Q 33, dB out) every 20 msecs
-        </programlisting>
+asig <emphasis role="opc">in</emphasis>                                        <emphasis role="comment">; get external audio</emphasis>
+wsig <emphasis role="opc">spectrum</emphasis>  asig, 0.02, 6, 12, 33, 0, 1, 1  <emphasis role="comment">; downsample in 6 octs & calc a 72 pt dft</emphasis>
+                                               <emphasis role="comment">; (Q 33, dB out) every 20 msecs</emphasis></programlisting>
       </informalexample>
     </para>
   </refsect1>
diff --git a/opcodes/sprintf.xml b/opcodes/sprintf.xml
index 331c502..325cf1c 100644
--- a/opcodes/sprintf.xml
+++ b/opcodes/sprintf.xml
@@ -49,12 +49,20 @@
   </refsect1>
 
   <refsect1>
-    <title>Example</title>
-    <programlisting>
-Sname   <emphasis role="opc">sprintf</emphasis> "soundin-%04d.wav", ifileno
-Smsg    <emphasis role="opc">sprintf</emphasis> "The file name is: '%s'", Sname
-        <emphasis role="opc">puts</emphasis>    Smsg, 1
-asig    <emphasis role="opc">soundin</emphasis> Sname</programlisting>
+    <title>Examples</title>
+    <para>
+      Here is an example of the sprintf opcode. It uses the file <ulink url="examples/sprintf.csd"><citetitle>sprintf.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the sprintf opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/sprintf.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+            Its output should include lines like this:
+      <screen>
+The file name is: 'impuls20.aiff'
+soundin: opened 'impuls20.aiff'
+      </screen>
+    </para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/sprintfk.xml b/opcodes/sprintfk.xml
index d90dd5b..c32df76 100644
--- a/opcodes/sprintfk.xml
+++ b/opcodes/sprintfk.xml
@@ -52,12 +52,24 @@
     <title>Examples</title>
     <para>
       Here is an example of the sprintfk opcode. It uses the file <ulink url="examples/sprintfk.csd"><citetitle>sprintfk.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the sprintfk opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/sprintfk.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
+            Its output should include lines like this:
+      <screen>
+1 + 1 = 2
+1 + 1 + 1 = 3
+1 + 1 + 1 + 1 = 4
+1 + 1 + 1 + 1 + 1 = 5
+1 + 1 + 1 + 1 + 1 + 1 = 6
+1 + 1 + 1 + 1 + 1 + 1 + 1 = 7
+1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 8
+1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 9
+1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 10
+1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 11
+1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 12</screen>
     </para>
   </refsect1>
 
diff --git a/opcodes/spsend.xml b/opcodes/spsend.xml
index 2f4257b..9f6b7cf 100644
--- a/opcodes/spsend.xml
+++ b/opcodes/spsend.xml
@@ -52,96 +52,16 @@
       This assumes a loudspeaker set up as a1 is left front, a2 is right front, a3 is left back, a4 is right back. Values greater than 1 will result in sounds being attenuated, as if in the distance. <emphasis>space</emphasis> considers the speakers to be at a distance of 1; smaller values of xy can be used, but <emphasis>space</emphasis> will not amplify the signal in this case. It will, however balance the signal so that it can sound as if it were within the 4 speaker <emphasis>space</emphasis>.  x=0, y=1, will place the signal equally balanced between left and right front channels, x=y=0 will place the signal equally in all 4 channels, and so on. Although there must be 4 output signals from <emphasis>space</emphasis>, it can be used in a 2 channel orchestra. If the xy's are kept so that Y>=1, it should work well to do panning and fixed localization in a stereo field.
     </para>
   </refsect1>
- 
+
   <refsect1>
     <title>Examples</title>
     <para>
-      <informalexample>
-        <programlisting>
-<emphasis role="oblock">instr</emphasis> 1
-  asig    <emphasis role="comment">;some audio signal</emphasis>
-  ktime              <emphasis role="opc">line</emphasis>  0, p3, p10
-  a1, a2, a3, a4     <emphasis role="opc">space</emphasis> asig,1, ktime, .1
-  ar1, ar2, ar3, ar4 <emphasis role="opc">spsend</emphasis>        
-  
-  ga1 <emphasis role="op">=</emphasis> ga1<emphasis role="op">+</emphasis>ar1
-  ga2 <emphasis role="op">=</emphasis> ga2<emphasis role="op">+</emphasis>ar2
-  ga3 <emphasis role="op">=</emphasis> ga3<emphasis role="op">+</emphasis>ar3
-  ga4 <emphasis role="op">=</emphasis> ga4<emphasis role="op">+</emphasis>ar4
-  
-                     <emphasis role="op">outq</emphasis> a1, a2, a3, a4
-<emphasis role="oblock">endin</emphasis>
-
-<emphasis role="oblock">instr</emphasis> 99 <emphasis role="comment">; reverb instrument</emphasis>
-          
-  a1 <emphasis role="opc">reverb2</emphasis> ga1, 2.5, .5
-  a2 <emphasis role="opc">reverb2</emphasis> ga2, 2.5, .5
-  a3 <emphasis role="opc">reverb2</emphasis> ga3, 2.5, .5
-  a4 <emphasis role="opc">reverb2</emphasis> ga4, 2.5, .5
-  
-     <emphasis>outq</emphasis> a1, a2, a3, a4
-  ga1 <emphasis role="op">=</emphasis>0
-  ga2 <emphasis role="op">=</emphasis>0
-  ga3 <emphasis role="op">=</emphasis>0
-  ga4 <emphasis role="op">=</emphasis>0
-<emphasis role="oblock">endin</emphasis></programlisting>
-      </informalexample>
-    </para>
-
-    <para>
-      In the above example, the signal, <emphasis>asig</emphasis>, is moved according to the data in Function #1 indexed by <emphasis>ktime</emphasis>. <emphasis>space</emphasis> sends the appropriate amount of the signal internally to <emphasis>spsend</emphasis>. The outputs of the <emphasis>spsend</emphasis> are added to global accumulators in a common Csound style and the global signals are used as inputs to the reverb units in a separate instrument.
-    </para>
-
-    <para>
-      <emphasis>space</emphasis> can be useful for quad and stereo panning as well as fixed placed of sounds anywhere between two loudspeakers. Below is an example of the fixed placement of sounds in a stereo field using xy values from the score instead of a function table.
-      <informalexample>
-        <programlisting>
-<emphasis role="oblock">instr</emphasis> 1
-  ...
-  a1, a2, a3, a4     <emphasis role="opc">space</emphasis> asig, 0, 0, .1, p4, p5
-  ar1, ar2, ar3, ar4 <emphasis role="opc">spsend
-  </emphasis>
-  ga1 <emphasis role="op">=</emphasis> ga1<emphasis role="op">+</emphasis>ar1
-  ga2 <emphasis role="op">=</emphasis> ga2<emphasis role="op">+</emphasis>ar2
-                     <emphasis role="opc">outs</emphasis>  a1, a2
-<emphasis role="oblock">endin</emphasis>
-
-<emphasis role="oblock">instr</emphasis> 99 <emphasis role="comment">; reverb....</emphasis>
-  ....
-<emphasis role="oblock">endin</emphasis></programlisting>
-      </informalexample>
-    </para>
-
-    <para>
-      A few notes: p4 and p5 are the x and y values
-      <informalexample>
-        <programlisting>
-  <emphasis role="comment">;place the sound in the left speaker and near</emphasis>
-    <emphasis role="stamnt">i</emphasis>1 0 1 -1 1
-  <emphasis role="comment">;place the sound in the right speaker and far</emphasis>
-    <emphasis role="stamnt">i</emphasis>1 1 1 45 45
-  <emphasis role="comment">;place the sound equally between left and right and in the middle ground distance</emphasis>
-    <emphasis role="stamnt">i</emphasis>1 2 1 0 12
-<emphasis role="stamnt">e</emphasis></programlisting>
-      </informalexample>
-    </para>
-
-    <para>
-      The next example shows a simple intuitive use of the distance values returned by <emphasis>spdist</emphasis> to simulate Doppler shift.
-      <informalexample>
-        <programlisting>
-  ktime              <emphasis role="opc">line</emphasis>   0, p3, 10
-  kdist              <emphasis role="opc">spdist</emphasis> 1, ktime
-  kfreq <emphasis role="op">=</emphasis> (ifreq <emphasis role="op">*</emphasis> 340) <emphasis role="op">/</emphasis> (340 <emphasis role="op">+</emphasis> kdist)
-  asig               <emphasis role="opc">oscili</emphasis> iamp, kfreq, 1
-  
-  a1, a2, a3, a4     <emphasis role="opc">space</emphasis>  asig, 1, ktime, .1
-  ar1, ar2, ar3, ar4 <emphasis role="opc">spsend</emphasis></programlisting>
-      </informalexample>
-    </para>
-
-    <para>
-      The same function and time values are used for both <emphasis>spdist</emphasis> and <emphasis>space</emphasis>. This insures that the distance values used internally in the <emphasis>space</emphasis> unit will be the same as those returned by <emphasis>spdist</emphasis> to give the impression of a Doppler shift!
+      Here is a stereo example of the spsend opcode. It uses the file <ulink url="examples/spsend.csd"><citetitle>spsend.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the spsend opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/spsend.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
     </para>
   </refsect1>
 
diff --git a/opcodes/sqrt.xml b/opcodes/sqrt.xml
index 6246f50..c88aaff 100644
--- a/opcodes/sqrt.xml
+++ b/opcodes/sqrt.xml
@@ -41,18 +41,24 @@
     <title>Examples</title>
     <para>
       Here is an example of the sqrt opcode. It uses the file <ulink url="examples/sqrt.csd"><citetitle>sqrt.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the sqrt opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/sqrt.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-      Its output should include lines like this:
-      <screen>instr 1:  i1 = 8.000</screen>
+      Its output should include lines like these:
+      <screen>
+square root of left channel = 1.000000
+square root of left channel = 0.948688
+square root of left channel = 0.894437
+square root of left channel = 0.836676
+square root of left channel = 0.774620
+square root of left channel = 0.707139
+square root of left channel = 0.632499
+square root of left channel = 0.547781
+square root of left channel = 0.447295
+square root of left channel = 0.316242
+	</screen>
     </para>
   </refsect1>
 
@@ -69,8 +75,4 @@
     </para>
   </refsect1>
 
-  <refsect1>
-    <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
-  </refsect1>
 </refentry>
diff --git a/opcodes/sr.xml b/opcodes/sr.xml
index 2da6072..1562dd2 100644
--- a/opcodes/sr.xml
+++ b/opcodes/sr.xml
@@ -56,6 +56,20 @@ ga <emphasis role="opc">init</emphasis> 0
 itranspose <emphasis role="op">=</emphasis> <emphasis role="opc">octpch</emphasis>(.0l)</programlisting>
       </informalexample>
     </para>
+    <para>
+      Here is another example of the sr opcode. It uses the file <ulink url="examples/sr.csd"><citetitle>sr.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the sr opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/sr.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+            Its output should include lines like this:
+      <screen>
+maximum number of harmonics = 240 
+maximum number of harmonics = 24 
+maximum number of harmonics = 2 
+      </screen>
+    </para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/stack.xml b/opcodes/stack.xml
index 41097f7..97a48c6 100644
--- a/opcodes/stack.xml
+++ b/opcodes/stack.xml
@@ -39,7 +39,7 @@
       The global stack works in LIFO order: after multiple <link linkend="push"><citetitle>push</citetitle></link> calls, <link linkend="pop"><citetitle>pop</citetitle></link> should be used in reverse order.
     </para>
     <para>
-      Each <link linkend="push"><citetitle>push</citetitle></link> or <link linkend="pop"><citetitle>pop</citetitle></link> operation can work on a "bundle" of multiple variables. When using <link linkend="pop"><citetitle>pop</citetitle></link>, the number, type, and order of items must match those used by the corresponding <link linkend="push"><citetitle>push</citetitle></link>. That is, after a 'push Sfoo, ibar', you must call something like 'pop Sbar, ifoo', and not e.g. two separate 'pop' statements.
+      Each <link linkend="push"><citetitle>push</citetitle></link> or <link linkend="pop"><citetitle>pop</citetitle></link> operation can work on a "bundle" of multiple variables. When using <link linkend="pop"><citetitle>pop</citetitle></link>, the number, type, and order of items must match those used by the corresponding <link linkend="push"><citetitle>push</citetitle></link>. That is, after a 'push Sfoo, ibar', you must call something like 'Sbar, ifoo pop', and not e.g. two separate 'pop' statements.
     </para>
     <para>
       <link linkend="push"><citetitle>push</citetitle></link> and <link linkend="pop"><citetitle>pop</citetitle></link> opcodes can take variables of any type (i-, k-, a- and strings). Variables of type 'a' and 'k' are passed at performance time only, while 'i' and 'S' are passed at init time only.
@@ -51,6 +51,19 @@
       Any stack errors (trying to push when there is no more space, or pop from an empty stack, inconsistent number or type of arguments, etc.) are fatal and terminate performance.
     </para>
   </refsect1>
+   
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the stack opcode. It uses the file <ulink url="examples/stack.csd"><citetitle>stack.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the stack opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/stack.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
   <refsect1>
     <title>See also</title>
     <para>
@@ -59,7 +72,9 @@
       <link linkend="pop_f"><citetitle>pop_f</citetitle></link> and 
       <link linkend="push_f"><citetitle>push_f</citetitle></link>.
     </para>
+   <para>Using this opcode is somewhat hackish, as you can read here: <ulink url="http://csound.1045644.n5.nabble.com/passing-a-string-to-a-UDO-td1099284.html"></ulink></para>
   </refsect1>
+  
   <refsect1>
     <title>Credits</title>
     <para>By: &nameistvan;.</para>
diff --git a/opcodes/statevar.xml b/opcodes/statevar.xml
index 94b47ec..e42e607 100644
--- a/opcodes/statevar.xml
+++ b/opcodes/statevar.xml
@@ -27,7 +27,7 @@ resonance limiter that prevents the filter from getting unstable.
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis>ahp,alp,abp,abr <command>statevar</command> ain, kcf, kq [, iosamps, istor]</synopsis>
+    <synopsis>ahp,alp,abp,abr <command>statevar</command> ain, xcf, xq [, iosamps, istor]</synopsis>
   </refsect1>
 
   <refsect1>
@@ -49,6 +49,7 @@ previous information to remain. The default value is 0.
     </para>
 	  
   </refsect1>
+  
   <refsect1>
     <title>Performance</title>
 	    <para>
@@ -67,27 +68,26 @@ previous information to remain. The default value is 0.
       <emphasis>asig</emphasis> -- input signal.
     </para>
     <para>
-      <emphasis>kcf</emphasis> -- filter cutoff frequency
+      <emphasis>xcf</emphasis> -- filter cutoff frequency (k-rate or a-rate).
     </para>
 
     <para>
-      <emphasis>kq</emphasis> -- filter Q. This value is limited internally depending on
-the frequency and the number of times of oversampling used in
-the process (3-times oversampling by default).
+      <emphasis>xq</emphasis> -- filter Q (k-rate or a-rate). This
+      value is limited internally depending on the frequency and the
+      number of times of oversampling used in the process (3-times
+      oversampling by default).
     </para>
 
   </refsect1>
+  
   <refsect1>
     <title>Examples</title>
     <para>
+      Here is an example of the statevar opcode. It uses the file <ulink url="examples/statevar.csd"><citetitle>statevar.csd</citetitle></ulink>.
       <example>
-        <title>Example</title>
-        <programlisting>
-kenv                  <emphasis role="opc">linseg</emphasis>    0, 0.1, 1, p3<emphasis role="op">-</emphasis>0.2, 1, 0.1, 0
-asig                  <emphasis role="opc">buzz</emphasis>      16000<emphasis role="op">*</emphasis>kenv, 100, 100, 1;  
-kf                    <emphasis role="opc">expseg</emphasis>    100, p3<emphasis role="op">/</emphasis>2, 5000, p3<emphasis role="op">/</emphasis>2, 1000
-ahp, alp, abp, abr    <emphasis role="opc">statevar</emphasis>  asig, kf, 200
-                      <emphasis role="opc">outs</emphasis>      alp, ahp</programlisting>
+        <title>Example of the statevar opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/statevar.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
     </para>
   </refsect1>
@@ -100,8 +100,9 @@ ahp, alp, abp, abr    <emphasis role="opc">statevar</emphasis>  asig, kf, 200
         <member>January 2005</member>
       </simplelist>
     </para>
-
     <para>New plugin in version 5</para>
     <para>January 2005.</para>
+    <para>Audio rate parameters introduced in version 6.02</para>
+    <para>October 2013.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/strcat.xml b/opcodes/strcat.xml
index df535a8..ba144ca 100644
--- a/opcodes/strcat.xml
+++ b/opcodes/strcat.xml
@@ -26,13 +26,17 @@
   </refsect1>
 
   <refsect1>
-    <title>Example</title>
-    <programlisting>
-Sname   <emphasis role="op">=</emphasis>  "beats"
-Sname   <emphasis role="opc">strcat</emphasis>  Sname, ".wav"
-asig    <emphasis role="opc">soundin</emphasis> Sname</programlisting>
+    <title>Examples</title>
+    <para>
+      Here is an example of the strcat opcode. It uses the file <ulink url="examples/strcat.csd"><citetitle>strcat.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the strcat opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/strcat.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
   </refsect1>
-  
+ 
   <refsect1>
 	  <title>See also</title>
 	  <para><link linkend="strcatk"><citetitle>strcatk</citetitle></link></para>
diff --git a/opcodes/strcatk.xml b/opcodes/strcatk.xml
index b096fff..be7e485 100644
--- a/opcodes/strcatk.xml
+++ b/opcodes/strcatk.xml
@@ -26,7 +26,32 @@
     <title>Syntax</title>
     <synopsis>Sdst <command>strcatk</command> Ssrc1, Ssrc2</synopsis>
   </refsect1>
-  
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the strcatk opcode. It uses the file <ulink url="examples/strcatk.csd"><citetitle>strcatk.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the strcatk opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/strcatk.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+            Its output should include lines like this:
+      <screen>
+1 + 1 = 2
+1 + 1 + 1 = 3
+1 + 1 + 1 + 1 = 4
+1 + 1 + 1 + 1 + 1 = 5
+1 + 1 + 1 + 1 + 1 + 1 = 6
+1 + 1 + 1 + 1 + 1 + 1 + 1 = 7
+1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 8
+1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 9
+1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 10
+1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 11
+1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 12</screen>
+    </para>
+  </refsect1>
+
   <refsect1>
 	  <title>See also</title>
 	  <para><link linkend="strcat"><citetitle>strcat</citetitle></link></para>
diff --git a/opcodes/strchar.xml b/opcodes/strchar.xml
index 26d9438..2395464 100644
--- a/opcodes/strchar.xml
+++ b/opcodes/strchar.xml
@@ -6,8 +6,6 @@
     <refentrytitle>strchar</refentrytitle>
   </refmeta>
 
-
-
   <refnamediv>
     <refname>strchar</refname>
     <refpurpose>
@@ -30,6 +28,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the strchar opcode. It uses the file <ulink url="examples/strchar.csd"><citetitle>strchar.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the strchar opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/strchar.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
 	  <title>See also</title>
 	  <para><link linkend="strchark"><citetitle>strchark</citetitle></link></para>
   </refsect1>
diff --git a/opcodes/strcmp.xml b/opcodes/strcmp.xml
index c76c9e7..9d77fad 100644
--- a/opcodes/strcmp.xml
+++ b/opcodes/strcmp.xml
@@ -26,7 +26,18 @@
     <title>Syntax</title>
     <synopsis>ires <command>strcmp</command> S1, S2</synopsis>
   </refsect1>
-  
+    
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the strcmp opcode. It uses the file <ulink url="examples/strcmp.csd"><citetitle>strcmp.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the strcmp opcode.</title>
+        <xi:include href="examples-xml/strcmp.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
   <refsect1>
 	  <title>See also</title>
 	  <para><link linkend="strcmpk"><citetitle>strcmpk</citetitle></link></para>
diff --git a/opcodes/strcpyk.xml b/opcodes/strcpyk.xml
index 733b9c3..6ccd063 100644
--- a/opcodes/strcpyk.xml
+++ b/opcodes/strcpyk.xml
@@ -26,6 +26,18 @@
     <title>Syntax</title>
     <synopsis>Sdst <command>strcpyk</command> Ssrc</synopsis>
   </refsect1>
+     
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the strcpyk opcode. It uses the file <ulink url="examples/strcpyk.csd"><citetitle>strcpyk.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the strcpyk opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/strcpyk.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
 
   <refsect1>
 	  <title>See also</title>
diff --git a/opcodes/streson.xml b/opcodes/streson.xml
index b2262c4..2627291 100644
--- a/opcodes/streson.xml
+++ b/opcodes/streson.xml
@@ -60,12 +60,8 @@
     <title>Examples</title>
     <para>
       Here is an example of the streson opcode. It uses the file <ulink url="examples/streson.csd"><citetitle>streson.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the streson opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/streson.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
@@ -83,8 +79,6 @@
         <member>1998</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
-
     <para>New in Csound version 3.494</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/strfromurl.xml b/opcodes/strfromurl.xml
new file mode 100644
index 0000000..9064254
--- /dev/null
+++ b/opcodes/strfromurl.xml
@@ -0,0 +1,65 @@
+
+<refentry id="strfromurl">
+<indexterm id="Indexstrfromurl"><primary>strfromurl</primary></indexterm>
+  <refentryinfo><title>Strings:Definition</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>strfromurl</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>strfromurl</refname>
+    <refpurpose>
+      Set string variable to value read from an URL
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      <emphasis>strfromurl</emphasis> sets a string variable at
+      initialization time to the value found from reading an URL.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>Sdst <command>strfromurl</command> StringURL</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>StringURL</emphasis> -- string naming an URL.
+    </para>
+
+    <para>
+      <emphasis>Sdst</emphasis> -- destination string variable
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the strfromurl opcode. It uses the file <ulink url="examples/strfromurl.csd"><citetitle>strfromurl.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the strfromurl opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/strfromurl.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>See also</title>
+    <para><link linkend="strset"><citetitle>strset</citetitle></link>
+    </para>
+  </refsect1>
+
+
+  <refsect1>
+    <title>Credits</title>
+    <para>Author: &namejohn;</para>
+    <para>2013</para>
+    <para>URLs available from Csound 6.02 if built with support</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/strget.xml b/opcodes/strget.xml
index 59a064c..15f188d 100644
--- a/opcodes/strget.xml
+++ b/opcodes/strget.xml
@@ -37,6 +37,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the strget opcode. It uses the file <ulink url="examples/strget.csd"><citetitle>strget.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the strget opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/strget.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
     <title>See also</title>
     <para><link linkend="strset"><citetitle>strset</citetitle></link>
     </para>
diff --git a/opcodes/strindexk.xml b/opcodes/strindexk.xml
index 28b14da..d232c45 100644
--- a/opcodes/strindexk.xml
+++ b/opcodes/strindexk.xml
@@ -28,6 +28,18 @@
     <title>Syntax</title>
     <synopsis>kpos <command>strindexk</command> S1, S2</synopsis>
   </refsect1>
+     
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the strindexk opcode. It uses the file <ulink url="examples/strindexk.csd"><citetitle>strindexk.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the strindexk opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/strindexk.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
 
   <refsect1>
 	  <title>See also</title>
diff --git a/opcodes/strlower.xml b/opcodes/strlower.xml
index 20e14db..c29191c 100644
--- a/opcodes/strlower.xml
+++ b/opcodes/strlower.xml
@@ -29,6 +29,19 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the strlower opcode. It uses the file <ulink url="examples/strlower.csd"><citetitle>strlower.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the strlower opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/strlower.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
 	  <title>See also</title>
 	  <para><link linkend="strlowerk"><citetitle>strlowerk</citetitle></link></para>
   </refsect1>
diff --git a/opcodes/strrindex.xml b/opcodes/strrindex.xml
index 36e04b3..05be5ff 100644
--- a/opcodes/strrindex.xml
+++ b/opcodes/strrindex.xml
@@ -30,6 +30,19 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the strrindex opcode. It uses the file <ulink url="examples/strrindex.csd"><citetitle>strrindex.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the strrindex opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/strrindex.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
 	  <title>See also</title>
 	  <para><link linkend="strrindexk"><citetitle>strrindexk</citetitle></link></para>
   </refsect1>
diff --git a/opcodes/subtracts.xml b/opcodes/subtracts.xml
index 337d5c8..b092127 100644
--- a/opcodes/subtracts.xml
+++ b/opcodes/subtracts.xml
@@ -75,22 +75,29 @@ a - b - c
   </refsect1>
 
   <refsect1>
+    <title>Arguments</title>
+    <para>
+      The arguments of − can be scalar values or k-rate one
+      dimensional arrays (vectors), or any combination.  If one of the
+      arguments is an array, so is the value.
+    </para>
+  </refsect1>
+
+
+  <refsect1>
     <title>Examples</title>
     <para>
       Here is an example of the - operator. It uses the file <ulink url="examples/subtracts.csd"><citetitle>subtracts.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the - operator.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/subtracts.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-      Its output should include lines like this:
+      Its output should include lines like these:
       <screen>
-instr 1:  i1 = 16.000</screen>
+sutain time= note duration - attack - decay --> 3.0-0.1-0.2 = 2.7
+sutain time= note duration - attack - decay --> 3.0-0.5-1.5 = 1.0
+sutain time= note duration - attack - decay --> 5.0-4.0-0.5 = 0.5</screen>
     </para>
   </refsect1>
 
@@ -109,6 +116,7 @@ instr 1:  i1 = 16.000</screen>
 
   <refsect1>
     <title>Credits</title>
-    <para>Example written by &namekevin;.</para>
+    <para>Arithmetic on vectors is new in version 6.00</para>
   </refsect1>
+
 </refentry>
diff --git a/opcodes/sum.xml b/opcodes/sum.xml
index 5ddf820..7ff3e7a 100644
--- a/opcodes/sum.xml
+++ b/opcodes/sum.xml
@@ -34,7 +34,19 @@
       <emphasis>asig1, asig2, ...</emphasis> --  a-rate signals to be summed (mixed or added).
     </para>
   </refsect1>
- 
+   
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the sum opcode. It uses the file <ulink url="examples/sum.csd"><citetitle>sum.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the sum opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/sum.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
   <refsect1>
     <title>Credits</title>
     <para>
diff --git a/opcodes/sumarray.xml b/opcodes/sumarray.xml
new file mode 100644
index 0000000..55f1f1a
--- /dev/null
+++ b/opcodes/sumarray.xml
@@ -0,0 +1,76 @@
+
+<refentry id="sumarray">
+<indexterm id="IndexSumarray"><primary>sumarray</primary></indexterm>
+  <refentryinfo><title>Array Opcodes</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>sumarray</refentrytitle>
+  </refmeta>
+
+
+ 
+  <refnamediv>
+    <refname>sumarray</refname>
+
+    <refpurpose>
+      returns the sum of the elements in an array.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      The <emphasis>sumarray</emphasis> opcode returns the sum of all
+      elements in a k-rate array array.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ksum <command>sumarray</command> karray</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>ksum</emphasis> --  variable for result.
+    </para>
+    <para>
+      <emphasis>karray</emphasis> --  array for reading.
+    </para>
+
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the sumarray opcode. It uses the file <ulink url="examples/sumarray.csd"><citetitle>sumarray.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the sumarray opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/sumarray.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="maxarray"><citetitle>minarray</citetitle></link>, 
+      <link linkend="minarray"><citetitle>sumarray</citetitle></link>, 
+      <link linkend="scalearray"><citetitle>scalearray</citetitle></link>, 
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>October 2011</member>
+      </simplelist>
+    </para>
+
+    <para>New in Csound version 5.14</para>
+    <para>Revised in Csound version 6.00 to work on multidimensional arrays</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/syncgrain.xml b/opcodes/syncgrain.xml
index 2d2593c..a71cd52 100644
--- a/opcodes/syncgrain.xml
+++ b/opcodes/syncgrain.xml
@@ -103,34 +103,20 @@ will time-compress and smaller values will time-expand the source signal.
 Negative values will cause the pointer to run backwards and zero will 
 freeze it.
     </para>
-
   </refsect1>
+  
   <refsect1>
     <title>Examples</title>
     <para>
+      Here is an example of the syncgrain opcode. It uses the file <ulink url="examples/syncgrain.csd"><citetitle>syncgrain.csd</citetitle></ulink>.
       <example>
-        <title>Example</title>
-        <programlisting>
-		
-iolaps  <emphasis role="op">=</emphasis> 2
-igrsize <emphasis role="op">=</emphasis> 0.04
-ifreq   <emphasis role="op">=</emphasis> iolaps<emphasis role="op">/</emphasis>igrsize
-ips     <emphasis role="op">=</emphasis> 1<emphasis role="op">/</emphasis>iolaps
-
-istr    <emphasis role="op">=</emphasis> .5  <emphasis role="comment">/* timescale  */</emphasis>
-ipitch  <emphasis role="op">=</emphasis> 1   <emphasis role="comment">/* pitchscale */</emphasis>
-
-a1 <emphasis role="opc">syncgrain</emphasis> 16000, ifreq, ipitch, igrsize, ips*istr, 1, 2, iolaps
-   <emphasis role="opc">out</emphasis>       a1</programlisting>
+        <title>Example of the syncgrain opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/syncgrain.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
     </para>
-    
-
   </refsect1>
 
-
-
   <refsect1>
     <title>Credits</title>
     <para>
diff --git a/opcodes/syncloop.xml b/opcodes/syncloop.xml
index ed572f7..c4f5e03 100644
--- a/opcodes/syncloop.xml
+++ b/opcodes/syncloop.xml
@@ -91,32 +91,19 @@ freeze it.
       <emphasis>klend</emphasis> -- loop end in secs.
     </para>
   </refsect1>
+   
   <refsect1>
     <title>Examples</title>
     <para>
+      Here is an example of the syncloop opcode. It uses the file <ulink url="examples/syncloop.csd"><citetitle>syncloop.csd</citetitle></ulink>.
       <example>
-        <title>Example</title>
-        <programlisting>
-		
-iolaps  <emphasis role="op">=</emphasis> 2
-igrsize <emphasis role="op">=</emphasis> 0.04
-ifreq   <emphasis role="op">=</emphasis> iolaps<emphasis role="op">/</emphasis>igrsize
-ips     <emphasis role="op">=</emphasis> 1<emphasis role="op">/</emphasis>iolaps
-
-istr    <emphasis role="op">=</emphasis> .5  <emphasis role="comment">/* timescale  */</emphasis>
-ipitch  <emphasis role="op">=</emphasis> 1   <emphasis role="comment">/* pitchscale */</emphasis>
-
-a1 <emphasis role="opc">syncloop</emphasis> 16000, ifreq, ipitch, igrsize, ips*istr, 1, 2, 1, 2, iolaps
-   <emphasis role="opc">out</emphasis>      a1</programlisting>
+        <title>Example of the syncloop opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/syncloop.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
     </para>
-    
-
   </refsect1>
 
-
-
   <refsect1>
     <title>Credits</title>
     <para>
diff --git a/opcodes/tab.xml b/opcodes/tab.xml
index d3d75c6..ed2422b 100644
--- a/opcodes/tab.xml
+++ b/opcodes/tab.xml
@@ -82,6 +82,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the tab opcode. It uses the file <ulink url="examples/tab.csd"><citetitle>tab.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the tab opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/tab.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
     <title>Credits</title>
     <para>Written by &namegabriel;.</para>
   </refsect1>
diff --git a/opcodes/tab2pvs.xml b/opcodes/tab2pvs.xml
new file mode 100644
index 0000000..3a1a95b
--- /dev/null
+++ b/opcodes/tab2pvs.xml
@@ -0,0 +1,79 @@
+
+<refentry id="tab2pvs">
+<indexterm id="IndexTab2pvs"><primary>tab2pvs</primary></indexterm>
+
+  <refentryinfo><title>Spectral Processing:Streaming</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>tab2pvs</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>tab2pvs</refname>
+    <refpurpose>
+     Copies spectral data from t-variables.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+       Copies a pvs frame from a t-variable. Currently only AMP+FREQ is produced. This opcode requires the t-type to be defined, which means it only works in the new bison/flex-based parser.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>fsig <command>tab2pvs</command> tvar[,ihopsize, iwinsize, iwintype]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+   
+
+    <para>
+      <emphasis>tvar</emphasis> -- t-variable containing the input. It is produced at every k-period, but may not contain a new frame, pvs frames are produced at their own frame rate that is independent of kr. The size of this vector will determine the fftsize, N = size - 2.
+    </para>
+
+    <para>
+      <emphasis>fsig</emphasis> -- output fsig to be copied.
+    </para>
+    
+<para>
+      <emphasis>iolap</emphasis> -- size of the analysis overlap, defaults to <emphasis>isize</emphasis>/4.
+    </para>
+    <para>
+      <emphasis>iwinsize</emphasis> -- size of the analysis window, defaults to <emphasis>isize</emphasis>.
+    </para>
+    <para>
+      <emphasis>iwintype</emphasis> -- type of analysis window, defaults to 1, Hanning.
+    </para>
+
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      <example>
+        <title>Example</title>
+        <programlisting>
+t1 init 1026
+...
+fsig1  <emphasis role="opc">tab2pvs</emphasis>t1</programlisting>
+aout pvsynth fsig1
+      </example>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namevictor;</member>
+        <member>October 2011 </member>
+      </simplelist>
+    </para>
+
+    <para>New plugin in version 5</para>
+    <para>October 2011.</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/tablecopy.xml b/opcodes/tablecopy.xml
index ffc5dc5..cb9d73b 100644
--- a/opcodes/tablecopy.xml
+++ b/opcodes/tablecopy.xml
@@ -53,6 +53,27 @@
       This is primarily to change function tables quickly in a real-time situation.
     </para>
   </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the tablecopy opcode. It uses the file <ulink url="examples/tablecopy.csd"><citetitle>tablecopy.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the tablecopy opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/tablecopy.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+      Its output should include a lines like these:
+<screen>
+i1     5.00000
+i1     3.00000
+i1     2.00000
+i1     4.00000
+i1     7.00000
+i1     6.00000
+i1     7.00000</screen>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/tablefilter.xml b/opcodes/tablefilter.xml
index 9cd9b96..5ae083d 100644
--- a/opcodes/tablefilter.xml
+++ b/opcodes/tablefilter.xml
@@ -1,105 +1,98 @@
-
-<refentry id="tablefilter">
-<indexterm id="IndexTablefilter"><primary>tablefilter</primary></indexterm>
-  <refentryinfo><title>Table Control:Models and Emulations</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>tablefilter</refentrytitle>
-  </refmeta>
-
-
- 
-  <refnamediv>
-    <refname>tablefilter</refname>
-    <refpurpose>
-      Filters a source table and writes result into a destination table.
-    </refpurpose>
-  </refnamediv>
- 
-  <refsect1>
-    <title>Description</title>
-    <para>
-      This opcode can be used in order to filter values from function
-      tables following certain algorithms. The filtered output is
-      written into a destination table and the number of elements that
-      have passed the filter is returned.
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis>knumpassed <command>tablefilter</command> kouttable, kintatble, kmode, kparam</synopsis>
-  </refsect1>
- 
-  <refsect1>
-    <title>Performance</title>
-
-    <para>
-      <emphasis>knumpassed</emphasis> -- the number of elements that
-      have passed the filter.
-    </para>
-
-    <para>
-      <emphasis>kouttable</emphasis> -- the number of the table containing the values that have passed.
-    </para>
-
-    <para>
-      <emphasis>kintatble</emphasis> -- the number of the table used as filter input.
-    </para>
-
-    <para>
-      <emphasis>kmode</emphasis> -- mode of the filter:
-      <itemizedlist>
-        <listitem>
-          1 -- tests the weight of the denominators of the fractions
-          in the source table.  Letting pass only vaules from the
-          source that are less heavy than the weight of the threshold.
-        </listitem>
-        <listitem>
-          2 -- tests the weight of the denominators of the fractions
-          in the source table.  Letting pass only vaules from the
-          source that are heavier than or equal to the weight of the
-          threshold.
-        </listitem>
-      </itemizedlist>
-    </para>
-
-    <para>
-      <emphasis>kparam</emphasis> -- integer threshold parameter for
-      the filter. It means that denominators whose weights are heavier
-      than the weight of this threshold are not passed through the
-      filter. The weight of an integer is calculated using Clarence
-      Barlow's function of indigestibility of a number. According to
-      this function, higher prime numbers contribute to an increased
-      weight of any natural integer they divide.  The order of the
-      first 16 integers according to their indigestibility is: 1, 2,
-      4, 3, 8, 6, 16, 12, 9, 5, 10, 15, 7, 14
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the tablefilter opcode. It uses the file <ulink url="examples/tablefilter.csd"><citetitle>tablefilter.csd</citetitle></ulink>.
-
-      <example>
-        <title>Example of the tablefilter opcode.</title>
- 
-
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/tablefilter.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Credits</title>
-    <para>
-      <simplelist>
-        <member>Author: Georg Boenn </member>
-        <member>University of Glamorgan, UK</member>
-      </simplelist>
-    </para>
-
-    <para>New in Csound version 5.13</para>
-  </refsect1>
-</refentry>
+
+<refentry id="tablefilter">
+<indexterm id="IndexTablefilter"><primary>tablefilter</primary></indexterm>
+  <refentryinfo><title>Table Control:Read/Write Opreations</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>tablefilter</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>tablefilter</refname>
+    <refpurpose>
+      Filters a source table and writes result into a destination table.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      This opcode can be used in order to filter values from function
+      tables following certain algorithms. The filtered output is
+      written into a destination table and the number of elements that
+      have passed the filter is returned.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>knumpassed <command>tablefilter</command> kouttable, kintatble, kmode, kparam</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>knumpassed</emphasis> -- the number of elements that
+      have passed the filter.
+    </para>
+
+    <para>
+      <emphasis>kouttable</emphasis> -- the number of the table containing the values that have passed.
+    </para>
+
+    <para>
+      <emphasis>kintatble</emphasis> -- the number of the table used as filter input.
+    </para>
+
+    <para>
+      <emphasis>kmode</emphasis> -- mode of the filter:
+      <itemizedlist>
+        <listitem>
+          1 -- tests the weight of the denominators of the fractions
+          in the source table.  Letting pass only values from the
+          source that are less heavy than the weight of the threshold.
+        </listitem>
+        <listitem>
+          2 -- tests the weight of the denominators of the fractions
+          in the source table.  Letting pass only values from the
+          source that are heavier than or equal to the weight of the
+          threshold.
+        </listitem>
+      </itemizedlist>
+    </para>
+
+    <para>
+      <emphasis>kparam</emphasis> -- integer threshold parameter for
+      the filter. It means that denominators whose weights are heavier
+      than the weight of this threshold are not passed through the
+      filter. The weight of an integer is calculated using Clarence
+      Barlow's function of indigestibility of a number. According to
+      this function, higher prime numbers contribute to an increased
+      weight of any natural integer they divide.  The order of the
+      first 16 integers according to their indigestibility is: 1, 2,
+      4, 3, 8, 6, 16, 12, 9, 5, 10, 15, 7, 14.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the tablefilter opcode. It uses the file <ulink url="examples/tablefilter.csd"><citetitle>tablefilter.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the tablefilter opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/tablefilter.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: Georg Boenn </member>
+        <member>University of Glamorgan, UK</member>
+      </simplelist>
+    </para>
+    <para>New in Csound version 5.13</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/tablefilteri.xml b/opcodes/tablefilteri.xml
index 8906c55..e363d11 100644
--- a/opcodes/tablefilteri.xml
+++ b/opcodes/tablefilteri.xml
@@ -1,105 +1,98 @@
-
-<refentry id="tablefilteri">
-<indexterm id="IndexTablefilteri"><primary>tablefilteri</primary></indexterm>
-  <refentryinfo><title>Table Control:Models and Emulations</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>tablefilteri</refentrytitle>
-  </refmeta>
-
-
- 
-  <refnamediv>
-    <refname>tablefilteri</refname>
-    <refpurpose>
-      Filters a source table and writes result into a destination table.
-    </refpurpose>
-  </refnamediv>
- 
-  <refsect1>
-    <title>Description</title>
-    <para>
-      This opcode can be used in order to filter values from function
-      tables following certain algorithms. The filtered output is
-      written into a destination table and the number of elements that
-      have passed the filter is returned.
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis>inumpassed <command>tablefilteri</command> iouttable, iintatble, imode, iparam</synopsis>
-  </refsect1>
- 
-  <refsect1>
-    <title>Performance</title>
-
-    <para>
-      <emphasis>inumpassed</emphasis> -- the number of elements that
-      have passed the filter.
-    </para>
-
-    <para>
-      <emphasis>iouttable</emphasis> -- the number of the table containing the values that have passed.
-    </para>
-
-    <para>
-      <emphasis>iintatble</emphasis> -- the number of the table used as filter input.
-    </para>
-
-    <para>
-      <emphasis>imode</emphasis> -- mode of the filter:
-      <itemizedlist>
-        <listitem>
-          1 -- tests the weight of the denominators of the fractions
-          in the source table.  Letting pass only vaules from the
-          source that are less heavy than the weight of the threshold.
-        </listitem>
-        <listitem>
-          2 -- tests the weight of the denominators of the fractions
-          in the source table.  Letting pass only vaules from the
-          source that are heavier than or equal to the weight of the
-          threshold.
-        </listitem>
-      </itemizedlist>
-    </para>
-
-    <para>
-      <emphasis>iparam</emphasis> -- integer threshold parameter for
-      the filter. It means that denominators whose weights are heavier
-      than the weight of this threshold are not passed through the
-      filter. The weight of an integer is calculated using Clarence
-      Barlow's function of indigestibility of a number. According to
-      this function, higher prime numbers contribute to an increased
-      weight of any natural integer they divide.  The order of the
-      first 16 integers according to their indigestibility is: 1, 2,
-      4, 3, 8, 6, 16, 12, 9, 5, 10, 15, 7, 14
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the tablefilteri opcode. It uses the file <ulink url="examples/tablefilter.csd"><citetitle>tablefilter.csd</citetitle></ulink>.
-
-      <example>
-        <title>Example of the tablefilter opcode.</title>
- 
-
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/tablefilter.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Credits</title>
-    <para>
-      <simplelist>
-        <member>Author: Georg Boenn </member>
-        <member>University of Glamorgan, UK</member>
-      </simplelist>
-    </para>
-
-    <para>New in Csound version 5.13</para>
-  </refsect1>
-</refentry>
+
+<refentry id="tablefilteri">
+<indexterm id="IndexTablefilteri"><primary>tablefilteri</primary></indexterm>
+  <refentryinfo><title>Table Control:Read/Write Opreations</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>tablefilteri</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>tablefilteri</refname>
+    <refpurpose>
+      Filters a source table and writes result into a destination table.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      This opcode can be used in order to filter values from function
+      tables following certain algorithms. The filtered output is
+      written into a destination table and the number of elements that
+      have passed the filter is returned.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>inumpassed <command>tablefilteri</command> iouttable, iintatble, imode, iparam</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>inumpassed</emphasis> -- the number of elements that
+      have passed the filter.
+    </para>
+
+    <para>
+      <emphasis>iouttable</emphasis> -- the number of the table containing the values that have passed.
+    </para>
+
+    <para>
+      <emphasis>iintatble</emphasis> -- the number of the table used as filter input.
+    </para>
+
+    <para>
+      <emphasis>imode</emphasis> -- mode of the filter:
+      <itemizedlist>
+        <listitem>
+          1 -- tests the weight of the denominators of the fractions
+          in the source table.  Letting pass only values from the
+          source that are less heavy than the weight of the threshold.
+        </listitem>
+        <listitem>
+          2 -- tests the weight of the denominators of the fractions
+          in the source table.  Letting pass only values from the
+          source that are heavier than or equal to the weight of the
+          threshold.
+        </listitem>
+      </itemizedlist>
+    </para>
+
+    <para>
+      <emphasis>iparam</emphasis> -- integer threshold parameter for
+      the filter. It means that denominators whose weights are heavier
+      than the weight of this threshold are not passed through the
+      filter. The weight of an integer is calculated using Clarence
+      Barlow's function of indigestibility of a number. According to
+      this function, higher prime numbers contribute to an increased
+      weight of any natural integer they divide.  The order of the
+      first 16 integers according to their indigestibility is: 1, 2,
+      4, 3, 8, 6, 16, 12, 9, 5, 10, 15, 7, 14.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the tablefilteri opcode. It uses the file <ulink url="examples/tablefilter.csd"><citetitle>tablefilter.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the tablefilteri opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/tablefilter.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: Georg Boenn </member>
+        <member>University of Glamorgan, UK</member>
+      </simplelist>
+    </para>
+    <para>New in Csound version 5.13</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/tablei.xml b/opcodes/tablei.xml
index e2914d5..7f766a6 100644
--- a/opcodes/tablei.xml
+++ b/opcodes/tablei.xml
@@ -67,6 +67,18 @@
       <emphasis>tablei</emphasis> is a interpolating unit in which the fractional part of index is used to interpolate between adjacent table entries. The smoothness gained by interpolation is at some small cost in execution time (see also <link linkend="oscili"><citetitle>oscili</citetitle></link>, etc.), but the interpolating and non-interpolating units are otherwise interchangeable. Note that when <emphasis>tablei</emphasis> uses a periodic index whose modulo <emphasis>n</emphasis> is less than the power of 2 table length, the interpolation process requires that there be an (<emphasis>n</emphasis> + 1)th table value that is a repeat of the 1st (see <link linkend="f"><citetitle>f Statement</citetitle></link> in score).
     </para>
   </refsect1>
+     
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the tablei opcode. It uses the file <ulink url="examples/tablei.csd"><citetitle>tablei.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the tablei opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/tablei.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>See Also</title>
@@ -77,5 +89,6 @@
       <link linkend="oscil1i"><citetitle>oscil1i</citetitle></link>,
       <link linkend="osciln"><citetitle>osciln</citetitle></link>
     </para>
+        <para> More information on this opcode: <ulink url="http://www.csounds.com/journal/issue12/genInstruments.html"><citetitle>http://www.csounds.com/journal/issue12/genInstruments.html</citetitle></ulink>  , written by Jacob Joaquin </para>
   </refsect1>
 </refentry>
diff --git a/opcodes/tableikt.xml b/opcodes/tableikt.xml
index 26bfbcb..f45801c 100644
--- a/opcodes/tableikt.xml
+++ b/opcodes/tableikt.xml
@@ -69,6 +69,27 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the tableikt opcode. It uses the file <ulink url="examples/tableikt.csd"><citetitle>tableikt.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the tableikt opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/tableikt.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+      Its output should include lines like these:
+      <screen>
+play table no: 8
+play table no: 7
+play table no: 6
+.....
+play table no: 2
+play table no: 1</screen>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="tablekt"><citetitle>tablekt</citetitle></link>
diff --git a/opcodes/tableimix.xml b/opcodes/tableimix.xml
index 59c4a06..fbc04bc 100644
--- a/opcodes/tableimix.xml
+++ b/opcodes/tableimix.xml
@@ -78,6 +78,18 @@
       The tables do not need to be the same length - wrapping occurs individually for each table.
     </para>
   </refsect1>
+     
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the tableimix opcode. It uses the file <ulink url="examples/tableimix.csd"><citetitle>tableimix.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the tableimix opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/tableimix.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/tableiw.xml b/opcodes/tableiw.xml
index 669a31b..9667ca7 100644
--- a/opcodes/tableiw.xml
+++ b/opcodes/tableiw.xml
@@ -145,13 +145,26 @@
       </para>
     </refsect2>
   </refsect1>
- 
+      
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the tableiw opcode. It uses the file <ulink url="examples/tableiw.csd"><citetitle>tableiw.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the tableiw opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/tableiw.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
   <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="tablew"><citetitle>tablew</citetitle></link>, 
       <link linkend="tablewkt"><citetitle>tablewkt</citetitle></link>
     </para>
+    <para> More information on this opcode: <ulink url="http://www.csounds.com/journal/issue12/genInstruments.html"><citetitle>http://www.csounds.com/journal/issue12/genInstruments.html</citetitle></ulink>  , written by Jacob Joaquin </para>
   </refsect1>
  
   <refsect1>
diff --git a/opcodes/tablekt.xml b/opcodes/tablekt.xml
index 07300d8..9d453e1 100644
--- a/opcodes/tablekt.xml
+++ b/opcodes/tablekt.xml
@@ -69,12 +69,33 @@
   </refsect1>
  
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the tablekt opcode. It uses the file <ulink url="examples/tablekt.csd"><citetitle>tablekt.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the tablekt opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/tablekt.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+      Its output should include lines like these:
+      <screen>
+ i1     2.00000
+ i1     1.00000
+ i1     2.00000
+ i1     1.00000
+....
+      </screen>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="tableikt"><citetitle>tableikt</citetitle></link>
     </para>
   </refsect1>
- 
+
   <refsect1>
     <title>Credits</title>
     <para>
diff --git a/opcodes/tablemix.xml b/opcodes/tablemix.xml
index e931c16..411e4d9 100644
--- a/opcodes/tablemix.xml
+++ b/opcodes/tablemix.xml
@@ -77,6 +77,18 @@
       The tables do not need to be the same length - wrapping occurs individually for each table.
     </para>
   </refsect1>
+       
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the tablemix opcode. It uses the file <ulink url="examples/tablemix.csd"><citetitle>tablemix.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the tablemix opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/tablemix.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/tableng.xml b/opcodes/tableng.xml
index 127d140..e3af21e 100644
--- a/opcodes/tableng.xml
+++ b/opcodes/tableng.xml
@@ -55,19 +55,15 @@
     <title>Examples</title>
     <para>
       Here is an example of the tableng opcode. It uses the file <ulink url="examples/tableng.csd"><citetitle>tableng.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the tableng opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/tableng.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
 
-      The table is 16,384 samples long. So its output should include a line like this:
+      Its output should include a line like this:
       <screen>
-instr 1:  ilen = 16384.000
+instr 1:  isize = 115506.000
       </screen>
     </para>
   </refsect1>
@@ -81,6 +77,5 @@ instr 1:  ilen = 16384.000
         <member>May 1997</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/tableseg.xml b/opcodes/tableseg.xml
index f9cff3c..24b0c2f 100644
--- a/opcodes/tableseg.xml
+++ b/opcodes/tableseg.xml
@@ -41,6 +41,18 @@
       <emphasis>idur1</emphasis>, <emphasis>idur2</emphasis>, etc. -- durations during which interpolation from one table to the next will take place.
     </para>
   </refsect1>
+   
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the tableseg opcode. It uses the file <ulink url="examples/tableseg.csd"><citetitle>tableseg.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the tableseg opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/tableseg.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/tablexseg.xml b/opcodes/tablexseg.xml
index f2ffad1..0a6e9b5 100644
--- a/opcodes/tablexseg.xml
+++ b/opcodes/tablexseg.xml
@@ -37,6 +37,18 @@
       <emphasis>idur1</emphasis>, <emphasis>idur2</emphasis>, etc. -- durations during which interpolation from one table to the next will take place.
     </para>
   </refsect1>
+   
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the tablexseg opcode. It uses the file <ulink url="examples/tablexseg.csd"><citetitle>tablexseg.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the tablexseg opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/tablexseg.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/tabmorph.xml b/opcodes/tabmorph.xml
index 2b23af2..8ea1e38 100644
--- a/opcodes/tabmorph.xml
+++ b/opcodes/tabmorph.xml
@@ -56,18 +56,19 @@
     <para>
       <emphasis>tabmorph</emphasis> acts similarly to the <link linkend="table"><citetitle>table</citetitle></link> opcode, that is, without using interpolation. This means that it truncates the fractional part of the <emphasis>kindex</emphasis> argument. Anyway, fractional parts of <emphasis>ktabnum1</emphasis> and <emphasis>ktabnum2</emphasis> are significant, resulting in linear interpolation between the same element of two adjacent subsequent tables.</para>
   </refsect1>
-<!--  <refsect1>
+
+  <refsect1>
     <title>Examples</title>
     <para>
       Here is an example of the tabmorph opcode. It uses the file <ulink url="examples/tabmorph.csd"><citetitle>tabmorph.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the tabmorph opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/tabmorph.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
     </para>
-  </refsect1>-->
+  </refsect1>
+
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/tabmorpha.xml b/opcodes/tabmorpha.xml
index dc4dc1d..5472b45 100644
--- a/opcodes/tabmorpha.xml
+++ b/opcodes/tabmorpha.xml
@@ -57,18 +57,19 @@
       <emphasis>tabmorpha</emphasis> is the audio-rate version of <link linkend="tabmorphi"><citetitle>tabmorphi</citetitle></link> (it uses interpolation). All input arguments work at a-rate.
     </para>
   </refsect1>
-<!--  <refsect1>
+
+  <refsect1>
     <title>Examples</title>
     <para>
       Here is an example of the tabmorpha opcode. It uses the file <ulink url="examples/tabmorpha.csd"><citetitle>tabmorpha.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the tabmorpha opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/tabmorpha.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
     </para>
-  </refsect1>-->
+  </refsect1>
+
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/tabmorphak.xml b/opcodes/tabmorphak.xml
index b6d1e4b..24a6217 100644
--- a/opcodes/tabmorphak.xml
+++ b/opcodes/tabmorphak.xml
@@ -57,18 +57,19 @@
       <emphasis>tabmorphak</emphasis> works at a-rate, but kweightpoint, ktabnum1 and ktabnum2 are working at k-rate, making it more efficient than <link linkend="tabmorpha"><citetitle>tabmorpha</citetitle></link>, since there are less calculations. Except the rate of these three arguments, it is identical to <link linkend="tabmorpha"><citetitle>tabmorpha</citetitle></link>.
     </para>
   </refsect1>
-<!--  <refsect1>
+
+     <refsect1>
     <title>Examples</title>
     <para>
       Here is an example of the tabmorphak opcode. It uses the file <ulink url="examples/tabmorphak.csd"><citetitle>tabmorphak.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the tabmorphak opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/tabmorphak.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
     </para>
-  </refsect1>-->
+  </refsect1>
+
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/tabmorphi.xml b/opcodes/tabmorphi.xml
index c88c309..55223a7 100644
--- a/opcodes/tabmorphi.xml
+++ b/opcodes/tabmorphi.xml
@@ -57,18 +57,19 @@
       <emphasis>tabmorphi</emphasis> is identical to <link linkend="tabmorph"><citetitle>tabmorph</citetitle></link>, but it performs linear interpolation for non-integer values of <emphasis>kindex</emphasis>, much like <link linkend="tablei"><citetitle>tablei</citetitle></link>.
     </para>
   </refsect1>
-<!--  <refsect1>
+
+  <refsect1>
     <title>Examples</title>
     <para>
       Here is an example of the tabmorphi opcode. It uses the file <ulink url="examples/tabmorphi.csd"><citetitle>tabmorphi.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the tabmorphi opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/tabmorphi.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
     </para>
-  </refsect1>-->
+  </refsect1>
+
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/tabsum.xml b/opcodes/tabsum.xml
index 251d82e..19c673e 100644
--- a/opcodes/tabsum.xml
+++ b/opcodes/tabsum.xml
@@ -45,6 +45,18 @@
     </para>
   </refsect1>
 
+ <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the tabsum opcode. It uses the file <ulink url="examples/tabsum.csd"><citetitle>tabsum.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the tabsum opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/tabsum.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/tanh.xml b/opcodes/tanh.xml
index 1a6d651..c38e452 100644
--- a/opcodes/tanh.xml
+++ b/opcodes/tanh.xml
@@ -1,7 +1,7 @@
-
+
 <refentry id="tanh">
 <indexterm id="IndexTanh"><primary>tanh</primary></indexterm>
-  <refentryinfo><title>Mathematical Operations:Trigonometric Functions</title></refentryinfo>
+  <refentryinfo><title>Mathematical Operations:Trigonometric Functions</title></refentryinfo> 
   <refmeta>
     <refentrytitle>tanh</refentrytitle>
   </refmeta>
@@ -19,7 +19,7 @@
   <refsect1>
     <title>Description</title>
     <para>
-      Returns the hyperbolic tangent of <emphasis>x</emphasis> (<emphasis>x</emphasis> in radians).
+      Returns the hyperbolic tangent of <emphasis>x</emphasis>. 
     </para>
   </refsect1>
  
@@ -31,19 +31,23 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the tanh opcode. It uses the file <ulink url="examples/tanh.csd"><citetitle>tanh.csd</citetitle></ulink>.
+      Here is an example of the tanh opcode. It uses the file <ulink
+      url="examples/tanh.csd"><citetitle>tanh.csd</citetitle></ulink>. 
 
       <example>
         <title>Example of the tanh opcode.</title>
 
         
 
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/tanh.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+        <para>See the sections <link
+        linkend="UsingRealTime"><citetitle>Real-time
+        Audio</citetitle></link> and <link
+        linkend="CommandFlags"><citetitle>Command Line
+        Flags</citetitle></link> for more information on using command
+        line flags.</para> 
+          <xi:include href="examples-xml/tanh.csd.xml"
+                      xmlns:xi="http://www.w3.org/2001/XInclude"/> 
       </example>
-
-      Its output should include a line like this:
-      <screen>instr 1:  i1 = 0.762</screen>
     </para>
   </refsect1>
 
@@ -65,6 +69,5 @@
     <title>Credits</title>
     <para>Author: &namejohn;</para>
     <para>New in version 3.47</para>
-    <para>Example written by &namekevin;.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/taninv2.xml b/opcodes/taninv2.xml
index 46640bc..14d706c 100644
--- a/opcodes/taninv2.xml
+++ b/opcodes/taninv2.xml
@@ -30,6 +30,7 @@
     <synopsis>ires <command>taninv2</command> iy, ix</synopsis>
 
     <synopsis>kres <command>taninv2</command> ky, kx</synopsis>
+    <synopsis>...<command>taninv2</command>(ky, kx)... (no rate restriction)</synopsis>
 
     <para>
       Returns the arctangent of <emphasis>iy/ix</emphasis>, <emphasis>ky/kx</emphasis>, or <emphasis>ay/ax</emphasis>. If <emphasis>y</emphasis> is zero, <emphasis>taninv2</emphasis> returns zero regardless of the value of <emphasis>x</emphasis>. If <emphasis>x</emphasis> is zero, the return value is:
@@ -99,5 +100,6 @@
 
     <para>New in Csound version 3.48</para>
     <para>Corrected on May 2002, thanks to &nameistvan;.</para>
+    <para>Available as a function in version 6.00</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/temposcal.xml b/opcodes/temposcal.xml
index f313b82..9a228ef 100644
--- a/opcodes/temposcal.xml
+++ b/opcodes/temposcal.xml
@@ -1,115 +1,95 @@
-<refentry id="temposcal">
-<indexterm id="IndexTemposcal"><primary>temposcal</primary></indexterm>
-  <refentryinfo><title>Spectral processing: temposcal</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>temposcal</refentrytitle>
-  </refmeta>
-
-
-
-  <refnamediv>
-    <refname>temposcal</refname>
-    <refpurpose>
-Phase-locked vocoder processing with onset detection/processing, 'tempo-scaling'.
-          </refpurpose>
-  </refnamediv>
-  
-  <refsect1>
-    <title>Description</title>
-    <para>
-<emphasis>temposcal</emphasis> implements phase-locked vocoder processing using function tables
-containing sampled-sound sources, with <link linkend="GEN01"><citetitle>GEN01</citetitle></link>, and
-<emphasis>temposcal</emphasis> will accept deferred allocation tables.
-  </para>
-  <para>
-This opcode allows for time and frequency-independent scaling. Time is advanced internally, but controlled by a tempo scaling parameter; when an onset is detected, timescaling is momentarily stopped to avoid smearing of attacks. The quality of the effect is generally improved with phase locking switched on. 
-  </para>
-  <para>
-<emphasis>temposcal</emphasis> will also scale pitch, independently of frequency, using a transposition factor (k-rate).
-  </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis>asig <command>temposcal</command> ktimescal,kamp,kpitch,ktab,klock[,ifftsize, idecim, ithresh]
-      </synopsis>
-  </refsect1>
-
-  <refsect1>
-    <title>Initialization</title>
-      <para>
-      <emphasis>ifftsize</emphasis> -- FFT size (power-of-two), defaults to 2048.
-    </para>
-	      <para>
-      <emphasis>idecim</emphasis> -- decimation, defaults to 4 (meaning hopsize = fftsize/4)
-    </para>
-		      <para>
-      <emphasis>idbthresh</emphasis> -- threshold based on dB power spectrum ratio between two successive windows. A detected ratio above it will cancel timescaling momentarily, to avoid smearing (defaults to 1)
-    </para>
-	
-  </refsect1>
-  
-  <refsect1>
-    <title>Performance</title>
-  <para>
-      <emphasis>ktimescal</emphasis> -- timescaling ratio, < 1 stretch, > 1 contract.
-    </para>
-    <para>
-      <emphasis>kamp</emphasis> -- amplitude scaling
-    </para>
-    <para>
-      <emphasis>kpitch</emphasis> -- grain pitch scaling (1=normal pitch, < 1 lower, > 1 higher; negative, backwards)
-    </para>
-
-    <para>
-      <emphasis>klock</emphasis> -- 0 or 1, to switch phase-locking on/off
-    </para>
-    <para>
-      <emphasis>ktab</emphasis> -- source signal function table. Deferred-allocation tables (see
-      <link linkend="GEN01"><citetitle>GEN01</citetitle></link>) are accepted, but the opcode
-      expects a mono source. Tables can be switched at k-rate.
-    </para>
-
-  </refsect1>
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      <example>
-        <title>Example</title>
-        <programlisting>
-		
-idur = p3
-ilock = p4
-itab = 1
-ipitch = 1
-iamp = 0.8
-ktime linseg 0.3, p3/2, 0.8, p3/2, 0.3
-
-a1 temposcal ktime,iamp,ipitch,itab,ilock
-
-   out a1
-    
-
-   </programlisting>
-      </example>
-
-    </para>
-    
-
-  </refsect1>
-
-
-
-  <refsect1>
-    <title>Credits</title>
-    <para>
-      <simplelist>
-        <member>Author: &namevictor;</member>
-        <member>February 2010</member>
-      </simplelist>
-    </para>
-
-    <para>New plugin in version 5.13</para>
-    <para>February 2005.</para>
-  </refsect1>
-</refentry>
+<refentry id="temposcal">
+<indexterm id="IndexTemposcal"><primary>temposcal</primary></indexterm>
+  <refentryinfo><title>Spectral Processing:Other</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>temposcal</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>temposcal</refname>
+    <refpurpose>
+      Phase-locked vocoder processing with onset detection/processing, 'tempo-scaling'.
+    </refpurpose>
+  </refnamediv>
+  
+  <refsect1>
+    <title>Description</title>
+    <para>
+      <emphasis>temposcal</emphasis> implements phase-locked vocoder processing using function tables
+      containing sampled-sound sources, with <link linkend="GEN01"><citetitle>GEN01</citetitle></link>, and
+      <emphasis>temposcal</emphasis> will accept deferred allocation tables.
+    </para>
+    <para>
+      This opcode allows for time and frequency-independent scaling. Time is advanced internally, but controlled by a tempo scaling parameter; when an onset is detected, timescaling is momentarily stopped to avoid smearing of attacks. The quality of the effect is generally improved with phase locking switched on. 
+    </para>
+    <para>
+      <emphasis>temposcal</emphasis> will also scale pitch, independently of frequency, using a transposition factor (k-rate).
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>asig <command>temposcal</command> ktimescal, kamp, kpitch, ktab, klock [,ifftsize, idecim, ithresh]
+      </synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ifftsize</emphasis> -- FFT size (power-of-two), defaults to 2048.
+    </para>
+    <para>
+      <emphasis>idecim</emphasis> -- decimation, defaults to 4 (meaning hopsize = fftsize/4)
+    </para>
+    <para>
+      <emphasis>idbthresh</emphasis> -- threshold based on dB power spectrum ratio between two successive windows. A detected ratio above it will cancel timescaling momentarily, to avoid smearing (defaults to 1)
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>ktimescal</emphasis> -- timescaling ratio, < 1 stretch, > 1 contract.
+    </para>
+    <para>
+      <emphasis>kamp</emphasis> -- amplitude scaling
+    </para>
+    <para>
+      <emphasis>kpitch</emphasis> -- grain pitch scaling (1=normal pitch, < 1 lower, > 1 higher; negative, backwards)
+    </para>
+    <para>
+      <emphasis>klock</emphasis> -- 0 or 1, to switch phase-locking on/off
+    </para>
+    <para>
+      <emphasis>ktab</emphasis> -- source signal function table. Deferred-allocation tables (see
+      <link linkend="GEN01"><citetitle>GEN01</citetitle></link>) are accepted, but the opcode
+      expects a mono source. Tables can be switched at k-rate.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the temposcal opcode. It uses the file <ulink url="examples/temposcal.csd"><citetitle>temposcal.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the temposcal opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/temposcal.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namevictor;</member>
+        <member>February 2010</member>
+      </simplelist>
+    </para>
+
+    <para>New plugin in version 5.13</para>
+    <para>February 2005.</para>
+  </refsect1>
+</refentry>
+
diff --git a/opcodes/tigoto.xml b/opcodes/tigoto.xml
index b5ff366..c4a5e3a 100644
--- a/opcodes/tigoto.xml
+++ b/opcodes/tigoto.xml
@@ -31,6 +31,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the tigoto opcode. It uses the file <ulink url="examples/tigoto.csd"><citetitle>tigoto.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the tigoto opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/tigoto.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="cigoto"><citetitle>cigoto</citetitle></link>,
@@ -39,6 +51,7 @@
       <link linkend="igoto"><citetitle>igoto</citetitle></link>,
       <link linkend="kgoto"><citetitle>kgoto</citetitle></link>,
       <link linkend="timout"><citetitle>timout</citetitle></link>
+      <para> More on this opcode: <ulink url="http://www.csounds.com/journal/2005fall/tiedNotes.html"><citetitle>http://www.csounds.com/journal/2005fall/tiedNotes.html</citetitle></ulink>  , written by Steven Yi </para> 
     </para>
   </refsect1>
 
diff --git a/opcodes/timedseq.xml b/opcodes/timedseq.xml
index 037e300..cd6ca5a 100644
--- a/opcodes/timedseq.xml
+++ b/opcodes/timedseq.xml
@@ -102,10 +102,10 @@
     the same way of pvoc or lpread. When ktimpnt crosses the action time
     of a note, a trigger signal is sent to ktrig output argument, and kp1,
     kp2,...kpN arguments are updated with the values of that note. This
-    information can then be used with schedk or schedkwhen to actually
+    information can then be used with schedkwhen to actually
     activate note events. Notice that kp1,...kpn data can be further
     processed (for example delayed with delayk, transposed, etc.) before
-    feeding schedk or schedkwhen.
+    feeding schedkwhen.
   </para>
   <para>
     <emphasis>ktimpnt</emphasis> can be controlled by a linear signal, for example:
@@ -113,7 +113,7 @@
 <programlisting>
 ktimpnt <emphasis role="opc">line</emphasis>     0, p3, 3  <emphasis role="comment">; original sequence duration was 3 secs</emphasis>
 ktrig   <emphasis role="opc">timedseq</emphasis> ktimpnt, 1, kp1, kp2, kp3, kp4, kp5
-        <emphasis role="opc">schedk</emphasis>   ktrig, 105, 2, 0, kp3, kp4, kp5</programlisting>
+        <emphasis role="opc">schedkwhen</emphasis>   ktrig, 105, 2, 0, kp3, kp4, kp5</programlisting>
   <para>
     in this case the complete sequence (with original duration of 3
     seconds) will be played in <emphasis>p3</emphasis> seconds.
@@ -124,7 +124,7 @@ ktrig   <emphasis role="opc">timedseq</emphasis> ktimpnt, 1, kp1, kp2, kp3, kp4,
 kphs    <emphasis role="opc">phasor</emphasis>   1<emphasis role="op">/</emphasis>3
 ktimpnt <emphasis role="op">=</emphasis>        kphs <emphasis role="op">*</emphasis> 3
 ktrig   <emphasis role="opc">timedseq</emphasis> ktimpnt ,1 ,kp1, kp2, kp3, kp4, kp5
-        <emphasis role="opc">schedk</emphasis>   ktrig, 105, 2, 0, kp3, kp4, kp5</programlisting>
+        <emphasis role="opc">schedkwhen</emphasis>   ktrig, 105, 2, 0, kp3, kp4, kp5</programlisting>
   </para>
   <para>
   Obviously you can play only a fragment of the sequence,  read it
@@ -138,7 +138,7 @@ ktrig   <emphasis role="opc">timedseq</emphasis> ktimpnt ,1 ,kp1, kp2, kp3, kp4,
       <listitem>
         <para>You can't have two notes exactly starting with the same action
         time; actually at least a k-cycle should separate timing of two
-        notes (otherwise the schedk mechanism eats one of them).</para>
+        notes (otherwise the schedkwhen mechanism eats one of them).</para>
       </listitem>
       <listitem>
         <para>All notes of the sequence must have the same number of p-fields
@@ -151,6 +151,18 @@ ktrig   <emphasis role="opc">timedseq</emphasis> ktimpnt ,1 ,kp1, kp2, kp3, kp4,
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is a complete example of the timedseq opcode. It uses the file <ulink url="examples/timedseq.csd"><citetitle>timedseq.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the timedseq opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/timedseq.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="GEN02"><citetitle>GEN02</citetitle></link>,
diff --git a/opcodes/timeinsts.xml b/opcodes/timeinsts.xml
index fdbb9d1..05d668f 100644
--- a/opcodes/timeinsts.xml
+++ b/opcodes/timeinsts.xml
@@ -47,24 +47,11 @@
     <title>Examples</title>
     <para>
       Here is an example of the timeinsts opcode. It uses the file <ulink url="examples/timeinsts.csd"><citetitle>timeinsts.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the timeinsts opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/timeinsts.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-      Its output should include lines like this:
-      <screen>
-k1 = 0.000227 seconds
-k1 = 0.500000 seconds
-k1 = 1.000000 seconds
-k1 = 1.500000 seconds
-k1 = 2.000000 seconds
-      </screen>
     </para>
   </refsect1>
 
@@ -84,6 +71,5 @@ k1 = 2.000000 seconds
         <member>May 1997</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/times.xml b/opcodes/times.xml
index d24b3d6..c700e2a 100644
--- a/opcodes/times.xml
+++ b/opcodes/times.xml
@@ -48,7 +48,7 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the times opcode. It uses the file <ulink url="examples/times.csd"><citetitle>times.csd</citetitle></ulink>.
+      Here is an example of the times opcode. It uses the file <ulink url="examples/times_complex.csd"><citetitle>times_complex.csd</citetitle></ulink>.
 
       <example>
         <title>Example of the times opcode.</title>
@@ -56,16 +56,21 @@
         
 
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/times.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+          <xi:include href="examples-xml/times_complex.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
 
-      Its output should include lines like this:
+      Its output should include lines like these:
       <screen>
-k1 = 0.000227 seconds
-k1 = 0.500000 seconds
-k1 = 1.000000 seconds
-k1 = 1.500000 seconds
-k1 = 2.000000 seconds
+new alloc for instr again:
+instance = 1, start = 0.000000, duration = 0.650439
+new alloc for instr fx_processor:
+instance = 2, start = 0.650884, duration = 0.411043
+new alloc for instr fx_processor:
+instance = 3, start = 1.061587, duration = 0.231085
+new alloc for instr fx_processor:
+instance = 4, start = 1.292336, duration = 0.543473
+new alloc for instr fx_processor:
+instance = 5, start = 1.835828, duration = 1.777097
       </screen>
     </para>
   </refsect1>
@@ -86,6 +91,5 @@ k1 = 2.000000 seconds
         <member>May 1997</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/timout.xml b/opcodes/timout.xml
index 6107d54..e7fde0b 100644
--- a/opcodes/timout.xml
+++ b/opcodes/timout.xml
@@ -31,6 +31,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the timout opcode. It uses the file <ulink url="examples/timout.csd"><citetitle>timout.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the timout opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/timout.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="goto"><citetitle>goto</citetitle></link>,
diff --git a/opcodes/tival.xml b/opcodes/tival.xml
index 3fa7293..5265e80 100644
--- a/opcodes/tival.xml
+++ b/opcodes/tival.xml
@@ -36,11 +36,24 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the tival opcode. It uses the file <ulink url="examples/tival.csd"><citetitle>tival.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the tival opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/tival.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="assign"><citetitle>=</citetitle></link>,
       <link linkend="divz"><citetitle>divz</citetitle></link>,
       <link linkend="init"><citetitle>init</citetitle></link>
+      <para> More on this opcode: <ulink url="http://www.csounds.com/journal/2005fall/tiedNotes.html"><citetitle>http://www.csounds.com/journal/2005fall/tiedNotes.html</citetitle></ulink>  , written by Steven Yi </para> 
     </para>
   </refsect1>
 </refentry>
diff --git a/opcodes/tlineto.xml b/opcodes/tlineto.xml
index 2a9337d..d8fa186 100644
--- a/opcodes/tlineto.xml
+++ b/opcodes/tlineto.xml
@@ -53,6 +53,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the tlineto opcode. It uses the file <ulink url="examples/tlineto.csd"><citetitle>tlineto.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the tlineto opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/tlineto.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="lineto"><citetitle>lineto</citetitle></link>
diff --git a/opcodes/tone.xml b/opcodes/tone.xml
index 3d07c5e..4b7b523 100644
--- a/opcodes/tone.xml
+++ b/opcodes/tone.xml
@@ -81,6 +81,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the tone opcode. It uses the file <ulink url="examples/tone.csd"><citetitle>tone.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the tone opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/tone.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="areson"><citetitle>areson</citetitle></link>,
diff --git a/opcodes/tonek.xml b/opcodes/tonek.xml
index 475beee..a8ea4aa 100644
--- a/opcodes/tonek.xml
+++ b/opcodes/tonek.xml
@@ -55,6 +55,18 @@ output is at control-rate rather than audio rate.
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the tonek opcode. It uses the file <ulink url="examples/tonek.csd"><citetitle>tonek.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the tonek opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/tonek.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="areson"><citetitle>areson</citetitle></link>,
diff --git a/opcodes/tonex.xml b/opcodes/tonex.xml
index 390405d..86781ad 100644
--- a/opcodes/tonex.xml
+++ b/opcodes/tonex.xml
@@ -25,6 +25,7 @@
   <refsect1>
     <title>Syntax</title>
     <synopsis>ares <command>tonex</command>  asig, khp [, inumlayer] [, iskip]</synopsis>
+    <synopsis>ares <command>tonex</command>  asig, ahp [, inumlayer] [, iskip]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -45,7 +46,21 @@
     </para>
 
     <para>
-      <emphasis>khp</emphasis> -- the response curve's half-power point. Half power is defined as peak power / root 2.
+      <emphasis>khp</emphasis>/<emphasis>ahp</emphasis> -- the
+      response curve's half-power point. Half power is defined as peak
+      power / root 2. 
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the tonex opcode. It uses the file <ulink url="examples/tonex.csd"><citetitle>tonex.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the tonex opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/tonex.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
     </para>
   </refsect1>
 
@@ -65,7 +80,8 @@
         <member>Italy</member>
       </simplelist>
     </para>
-
     <para>New in Csound version 3.49</para>
+    <para>Audio rate parameters introduced in version 6.02</para>
+    <para>October 2013.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/top.xml b/opcodes/top.xml
index f776572..b9f7166 100644
--- a/opcodes/top.xml
+++ b/opcodes/top.xml
@@ -1,3 +1,4 @@
+
 <chapter id="OpcodesTop">
   <title>Orchestra Opcodes and Operators</title>
 
@@ -19,6 +20,7 @@
   &opcodessubtracts;
   &opcodesdivides;
   &opcodesassign;
+  &opcodesplusbecomes;
   &opcodesequals;
   &opcodesraises;
   &opcodesopor;
@@ -30,35 +32,24 @@
   &opcodesopbitnot;
   &opcodesopnonequiv;
   &opcodesopa;
-  &opcodesabetarand;
-  &opcodesabexprnd;
   &opcodesabs;
-  &opcodesacauchy;
   &opcodesactive;
   &opcodesadsr;
   &opcodesadsyn;
   &opcodesadsynt;
   &opcodesadsynt2;
-  &opcodesaexprand;
   &opcodesaftouch;
-  &opcodesagauss;
-  &opcodesagogobel;
-  &opcodesalinrand;
   &opcodesalpass;
   &opcodesalwayson;
   &opcodesampdb;
   &opcodesampdbfs;
   &opcodesampmidi;
   &opcodesampmidid;
-  &opcodesapcauchy;
-  &opcodesapoisson;
-  &opcodesapow;
   &opcodesareson;
   &opcodesaresonk;
   &opcodesatone;
   &opcodesatonek;
   &opcodesatonex;
-  &opcodesatrirand;
   &opcodesATSadd;
   &opcodesATSaddnz;
   &opcodesATSbufread;
@@ -69,8 +60,6 @@
   &opcodesATSreadnz;
   &opcodesATSpartialtap;
   &opcodesATSsinnoi;
-  &opcodesaunirand;
-  &opcodesaweibull;
   &opcodesbabo;
   &opcodesbalance;
   &opcodesbamboo;
@@ -79,9 +68,7 @@
   &opcodesbbcuts;
   &opcodesbetarand;
   &opcodesbexprnd;
-  &opcodesbformenc;
   &opcodesbformenc1;
-  &opcodesbformdec;
   &opcodesbformdec1;
   &opcodesbinit;
   &opcodesbiquad;
@@ -100,8 +87,11 @@
   &opcodesbuzz;
   &opcodescabasa;
   &opcodescauchy;
+  &opcodescauchyi;
   &opcodesceil;
+  &opcodescell;
   &opcodescent;
+  &opcodescentroid;
   &opcodescggoto;
   &opcodeschanctrl;
   &opcodeschanged;
@@ -124,17 +114,24 @@
   &opcodesclear;
   &opcodesclfilt;
   &opcodesclip;
-  &opcodesclock;
   &opcodesclockoff;
   &opcodesclockon;
   &opcodescngoto;
   &opcodescomb;
+  &opcodescombinv;
   &opcodescompress;
+  &opcodescompileorc;
+  &opcodescompilestr;
   &opcodesconnect;
   &opcodescontrol;
   &opcodesconvle;
   &opcodesconvolve;
+  &opcodescopya2ftab;
+  &opcodescopyf2array;
   &opcodescos;
+  &opcodescosseg;
+  &opcodescossegb;
+  &opcodescossegr;
   &opcodescosh;
   &opcodescosinv;
   &opcodescps2pch;
@@ -147,6 +144,7 @@
   &opcodescpstun;
   &opcodescpstuni;
   &opcodescpsxpch;
+  &opcodescpumeter;
   &opcodescpuprc;
   &opcodescross2;
   &opcodescrossfm;
@@ -179,7 +177,6 @@
   &opcodesdenorm;
   &opcodesdiff;
   &opcodesdiskgrain;
-  &opcodesdiskin;
   &opcodesdiskin2;
   &opcodesdispfft;
   &opcodesdisplay;
@@ -201,6 +198,8 @@
   &opcodesdumpk3;
   &opcodesdumpk4;
   &opcodesduserrnd;
+  &opcodesdust;
+  &opcodesdust2;
   &opcodeselse;
   &opcodeselseif;
   &opcodesendif;
@@ -210,6 +209,7 @@
   &opcodesenvlpxr;
   &opcodesephasor;
   &opcodeseqfil;
+  &opcodesevalstr;
   &opcodesevent;
   &opcodesevent_i;
   &opcodesexitnow;
@@ -217,9 +217,16 @@
   &opcodesexpcurve;
   &opcodesexpon;
   &opcodesexprand;
+  &opcodesexprandi;
   &opcodesexpseg;
   &opcodesexpsega;
+  &opcodesexpsegb;
+  &opcodesexpsegba;
   &opcodesexpsegr;
+  &opcodesfaustaudio;
+  &opcodesfaustcompile;
+  &opcodesfaustctl;
+  &opcodesfaustgen;
   &opcodesfareylen;
   &opcodesfareyleni;
   &opcodesficlose;
@@ -229,6 +236,8 @@
   &opcodesfilepeak;
   &opcodesfilesr;
   &opcodesfilevalid;
+  &opcodesfillarray;
+  &opcodesarray;
   &opcodesfilter2;
   &opcodesfin;
   &opcodesfini;
@@ -343,6 +352,7 @@
   &opcodesfprintks;
   &opcodesfprints;
   &opcodesfrac;
+  &opcodesfractalnoise;
   &opcodesfreeverb;
   &opcodesftchnls;
   &opcodesftconv;
@@ -362,7 +372,14 @@
   &opcodesgain;
   &opcodesgainslider;
   &opcodesgauss;
+  &opcodesgaussi;
+  &opcodesgausstrig;
   &opcodesgbuzz;
+  &opcodesgenarray;
+  &opcodesgenarray_i;
+  &opcodesgendy;
+  &opcodesgendyc;
+  &opcodesgendyx;
   &opcodesgetcfg;
   &opcodesgogobel;
   &opcodesgoto;
@@ -375,26 +392,19 @@
   &opcodesharmon2;
   &opcodeshilbert;
   &opcodeshrtfer;
+  &opcodeshrtfearly;
   &opcodeshrtfmove;
   &opcodeshrtfmove2;
+  &opcodeshrtfreverb;
   &opcodeshrtfstat;
   &opcodeshsboscil;
   &opcodeshvs1;
   &opcodeshvs2;
   &opcodeshvs3;
   &opcodesopi;
-  &opcodesibetarand;
-  &opcodesibexprnd;
-  &opcodesicauchy;
-  &opcodesictrl14;
-  &opcodesictrl21;
-  &opcodesictrl7;
-  &opcodesiexprand;
   &opcodesif;
-  &opcodesigauss;
   &opcodesigoto;
   &opcodesihold;
-  &opcodesilinrand;
   &opcodesimagecreate;
   &opcodesimagefree;
   &opcodesimagegetpixel;
@@ -402,9 +412,6 @@
   &opcodesimagesave;
   &opcodesimagesetpixel;
   &opcodesimagesize;
-  &opcodesimidic14;
-  &opcodesimidic21;
-  &opcodesimidic7;
   &opcodesin;
   &opcodesin32;
   &opcodesinch;
@@ -415,6 +422,7 @@
   &opcodesinitc7;
   &opcodesinleta;
   &opcodesinletk;
+  &opcodesinletkid;
   &opcodesinletf;
   &opcodesino;
   &opcodesinq;
@@ -422,41 +430,14 @@
   &opcodesins;
   &opcodesinsremot;
   &opcodesinsglobal;
-  &opcodesinstimek;
-  &opcodesinstimes;
   &opcodesinstr;
+    &opcodesinstance;
   &opcodesint;
   &opcodesinteg;
   &opcodesinterp;
   &opcodesinvalue;
   &opcodesinx;
   &opcodesinz;
-  &opcodesioff;
-  &opcodesion;
-  &opcodesiondur;
-  &opcodesiondur2;
-  &opcodesioutat;
-  &opcodesioutc;
-  &opcodesioutc14;
-  &opcodesioutpat;
-  &opcodesioutpb;
-  &opcodesioutpc;
-  &opcodesipcauchy;
-  &opcodesipoisson;
-  &opcodesipow;
-  &opcodesis16b14;
-  &opcodesis32b14;
-  &opcodesislider16;
-  &opcodesislider32;
-  &opcodesislider64;
-  &opcodesislider8;
-  &opcodesitablecopy;
-  &opcodesitablegpw;
-  &opcodesitablemix;
-  &opcodesitablew;
-  &opcodesitrirand;
-  &opcodesiunirand;
-  &opcodesiweibull;
   
   &opcodesjackoaudioin;
   &opcodesjackoaudioinconnect;
@@ -474,41 +455,15 @@
   &opcodesjacktransport;
   &opcodesjitter;
   &opcodesjitter2;
+  &opcodesjoystick;
   &opcodesjspline;
 
   &opcodesopk;
-  &opcodeskbetarand;
-  &opcodeskbexprnd;
-  &opcodeskcauchy;
-  &opcodeskdump;
-  &opcodeskdump2;
-  &opcodeskdump3;
-  &opcodeskdump4;
-  &opcodeskexprand;
-  &opcodeskfilter2;
-  &opcodeskgauss;
   &opcodeskgoto;
-  &opcodesklinrand;
-  &opcodeskon;
-  &opcodeskoutat;
-  &opcodeskoutc;
-  &opcodeskoutc14;
-  &opcodeskoutpat;
-  &opcodeskoutpb;
-  &opcodeskoutpc;
-  &opcodeskpcauchy;
-  &opcodeskpoisson;
-  &opcodeskpow;
+    &opcodeskill;
   &opcodeskr;
-  &opcodeskread;
-  &opcodeskread2;
-  &opcodeskread3;
-  &opcodeskread4;
   &opcodesksmps;
-  &opcodesktableseg;
-  &opcodesktrirand;
-  &opcodeskunirand;
-  &opcodeskweibull;
+  &opcodeslenarray;
   &opcodeslfo;
   &opcodeslimit;
 <!--   &opcodeslinearalgebra; -->
@@ -518,11 +473,13 @@
   &opcodeslineto;
   &opcodeslinrand;
   &opcodeslinseg;
+  &opcodeslinsegb;
   &opcodeslinsegr;
   &opcodeslocsend;
   &opcodeslocsig;
   &opcodeslog;
   &opcodeslog10;
+  &opcodeslog2;
   &opcodeslogbtwo;
   &opcodeslogcurve;
   &opcodesloop_ge;
@@ -557,11 +514,15 @@
   &opcodeslpshold;
   &opcodeslpsholdp;
   &opcodeslpslot;
+  &opcodeslua_exec;
+  &opcodeslua_opdef;
+  &opcodeslua_opcall;
   &opcodesmac;
   &opcodesmaca;
   &opcodesmadsr;
   &opcodesmandel;
   &opcodesmandol;
+  &opcodesmaparray;
   &opcodesmarimba;
   &opcodesmassign;
   &opcodesmax;
@@ -570,11 +531,13 @@
   &opcodesmaxaccum;
   &opcodesmaxalloc;
   &opcodesmax_k;
+  &opcodesmaxarray;
   &opcodesmclock;
   &opcodesmdelay;
   &opcodesmedian;
   &opcodesmediank;
   &opcodesmetro;
+  &opcodesmidglobal;
   &opcodesmidic14;
   &opcodesmidic21;
   &opcodesmidic7;
@@ -584,25 +547,26 @@
   &opcodesmidictrl;
   &opcodesmididefault;
   &opcodesmidiin;
+   &opcodesmidifilestatus;
   &opcodesmidinoteoff;
   &opcodesmidinoteoncps;
   &opcodesmidinoteonkey;
   &opcodesmidinoteonoct;
   &opcodesmidinoteonpch;
-  &opcodesmidion;
   &opcodesmidion2;
+  &opcodesmidion;
   &opcodesmidiout;
   &opcodesmidipitchbend;
   &opcodesmidipolyaftertouch;
   &opcodesmidiprogramchange;
   &opcodesmiditempo;
   &opcodesmidremot;
-  &opcodesmidglobal;
   &opcodesmin;
   &opcodesminabs;
   &opcodesminabsaccum;
   &opcodesminaccum;
   &opcodesmincer;
+  &opcodesminarray;
   &opcodesmirror;
 
   &opcodesmixersetlevel;
@@ -621,6 +585,7 @@
   &opcodesmoogvcf2;
   &opcodesmoscil;
   &opcodesmp3in;
+  &opcodesmp3len;
   &opcodesmpulse;
   &opcodesmrtmsg;
   &opcodesmultitap;
@@ -630,11 +595,12 @@
   &opcodesnchnlsi;
   &opcodesnestedap;
   &opcodesnlfilt;
+  &opcodesnlfilt2;
   &opcodesnoise;
   &opcodesnoteoff;
   &opcodesnoteon;
-  &opcodesnoteondur;
   &opcodesnoteondur2;
+  &opcodesnoteondur;
   &opcodesnotnum;
   &opcodesnreverb;
   &opcodesnrpn;
@@ -648,14 +614,11 @@
   &opcodesoctmidinn;
   &opcodesoctpch;
   &opcodesopcode;
-  &opcodesOSCsend;
-  &opcodesOSCinit;
-  &opcodesOSClisten;
   &opcodesoscbnk;
-  &opcodesoscil;
   &opcodesoscil1;
   &opcodesoscil1i;
   &opcodesoscil3;
+  &opcodesoscil;
   &opcodesoscili;
   &opcodesoscilikt;
   &opcodesosciliktp;
@@ -663,44 +626,48 @@
   &opcodesosciln;
   &opcodesoscils;
   &opcodesoscilx;
-  &opcodesout;
+  &opcodesOSCinit;
+  &opcodesOSClisten;
+  &opcodesOSCsend;
   &opcodesout32;
+  &opcodesout;
   &opcodesoutc;
   &opcodesoutch;
   &opcodesouth;
   &opcodesoutiat;
-  &opcodesoutic;
   &opcodesoutic14;
+  &opcodesoutic;
   &opcodesoutipat;
   &opcodesoutipb;
   &opcodesoutipc;
   &opcodesoutkat;
-  &opcodesoutkc;
   &opcodesoutkc14;
+  &opcodesoutkc;
   &opcodesoutkpat;
   &opcodesoutkpb;
   &opcodesoutkpc;
   &opcodesoutleta;
-  &opcodesoutletk;
   &opcodesoutletf;
+  &opcodesoutletk;
+  &opcodesoutletkid;
   &opcodesouto;
-  &opcodesoutq;
   &opcodesoutq1;
   &opcodesoutq2;
   &opcodesoutq3;
   &opcodesoutq4;
+  &opcodesoutq;
   &opcodesoutrg;
-  &opcodesouts;
   &opcodesouts1;
   &opcodesouts2;
+  &opcodesouts;
   &opcodesoutvalue;
   &opcodesoutx;
   &opcodesoutz;
-  &opcodesp;
   &opcodesp5gconnect;
   &opcodesp5gdata;
-  &opcodespan;
+  &opcodesp;
   &opcodespan2;
+  &opcodespan;
   &opcodespareq;
   &opcodespartials;
   &opcodespartikkel;
@@ -718,7 +685,6 @@
   &opcodespdhalf;
   &opcodespdhalfy;
   &opcodespeak;
-  &opcodespeakk;
   &opcodespgmassign;
   &opcodesphaser1;
   &opcodesphaser2;
@@ -729,6 +695,8 @@
   &opcodespitch;
   &opcodespitchamdf;
   &opcodesplanet;
+  &opcodesplaterev;
+  &opcodesplltrack;
   &opcodespluck;
   &opcodespoisson;
   &opcodespolyaft;
@@ -737,8 +705,8 @@
   &opcodespop_f;
   &opcodesport;
   &opcodesportk;
-  &opcodesposcil;
   &opcodesposcil3;
+  &opcodesposcil;
   &opcodespow;
   &opcodespowershape;
   &opcodespowoftwo;
@@ -746,16 +714,20 @@
   &opcodesprepiano;
   &opcodesprint;
   &opcodesprintf;
-  &opcodesprintk;
   &opcodesprintk2;
+  &opcodesprintk;
   &opcodesprintks;
   &opcodesprints;
   &opcodesproduct;
   &opcodespset;
+  &opcodesptable;
+  &opcodesptablei;
+  &opcodesptable3;
+  &opcodesptablew;
   &opcodesptrack;
-  &opcodesputs;
   &opcodespush;
   &opcodespush_f;
+  &opcodesputs;
   &opcodespvadd;
   &opcodespvbufread;
   &opcodespvcross;
@@ -771,6 +743,7 @@
   &opcodespvsblur;
   &opcodespvsbuffer;
   &opcodespvsbufread;
+  &opcodespvsbufread2;
   &opcodespvscale;
   &opcodespvscent;
   &opcodespvscross;
@@ -779,10 +752,12 @@
   &opcodespvsdisp;
   &opcodespvsfilter;
   &opcodespvsfread;
+ 
   &opcodespvsfreeze;
   &opcodespvsftr;
   &opcodespvsftw;
   &opcodespvsfwrite;
+  &opcodespvsgain;
   &opcodespvshift;
   &opcodespvsifd;
   &opcodespvsinfo;
@@ -801,14 +776,16 @@
   &opcodespvsvoc;
   &opcodespvsynth;
   &opcodespvswarp;
-
+  &opcodespvs2tab;
   &opcodespyassign;
   &opcodespycall;
   &opcodespyeval;
   &opcodespyexec;
   &opcodespyinit;
   &opcodespyrun;
-
+  &opcodespwd;
+  &opcodesqinf;
+  &opcodesqnan;
   &opcodesrand;
   &opcodesrandh;
   &opcodesrandi;
@@ -817,10 +794,14 @@
   &opcodesrandomi;
   &opcodesrbjeq;
   &opcodesreadclock;
+  &opcodesreadf;
+  &opcodesreadfi;
   &opcodesreadk;
   &opcodesreadk2;
   &opcodesreadk3;
   &opcodesreadk4;
+  &opcodesreadscore;
+  &opcodesreadscratch;
   &opcodesreinit;
   &opcodesrelease;
   &opcodesremoteport;
@@ -834,6 +815,7 @@
   &opcodesresony;
   &opcodesresonz;
   &opcodesresyn;
+  &opcodesreturn;
   &opcodesreverb;
   &opcodesreverb2;
   &opcodesreverbsc;
@@ -849,44 +831,53 @@
   &opcodesrtclock;
   &opcodess16b14;
   &opcodess32b14;
-  &opcodesscale;
   &opcodessamphold;
   &opcodessandpaper;
+  &opcodesscale;
+  &opcodesscalearray;
   &opcodesscanhammer;
   &opcodesscans;
   &opcodesscantable;
   &opcodesscanu;
-  &opcodesscoreline;
-  &opcodesscoreline_i;
   &opcodesschedkwhen;
   &opcodesschedkwhennamed;
   &opcodesschedule;
   &opcodesschedwhen;
+  &opcodesscoreline;
+  &opcodesscoreline_i;
   &opcodesseed;
   &opcodessekere;
   &opcodessemitone;
   &opcodessense;
   &opcodessensekey;
-  &opcodesseqtime;
+  &opcodesserialBegin;
+  &opcodesserialEnd;
+  &opcodesserialFlush;
+  &opcodesserialPrint;
+  &opcodesserialRead;
+  &opcodesserialWrite_i;
+  &opcodesserialWrite;
   &opcodesseqtime2;
+  &opcodesseqtime;
   &opcodessetctrl;
   &opcodessetksmps;
   &opcodessetscorepos;
   &opcodessfilist;
-  &opcodessfinstr;
   &opcodessfinstr3;
   &opcodessfinstr3m;
+  &opcodessfinstr;
   &opcodessfinstrm;
   &opcodessfload;
   &opcodessflooper;
   &opcodessfpassign;
-  &opcodessfplay;
   &opcodessfplay3;
   &opcodessfplay3m;
+  &opcodessfplay;
   &opcodessfplaym;
   &opcodessfplist;
   &opcodessfpreset;
   &opcodesshaker;
+  &opcodessignum;
   &opcodessin;
   &opcodessinh;
   &opcodessininv;
@@ -894,18 +885,18 @@
   &opcodessleighbells;
   &opcodesslider16;
   &opcodesslider16f;
-  &opcodesslider32;
-  &opcodesslider32f;
-  &opcodesslider64;
-  &opcodesslider64f;
-  &opcodesslider8;
-  &opcodesslider8f;
   &opcodesslider16table;
   &opcodesslider16tablef;
+  &opcodesslider32;
+  &opcodesslider32f;
   &opcodesslider32table;
   &opcodesslider32tablef;
+  &opcodesslider64;
+  &opcodesslider64f;
   &opcodesslider64table;
   &opcodesslider64tablef;
+  &opcodesslider8;
+  &opcodesslider8f;
   &opcodesslider8table;
   &opcodesslider8tablef;
   &opcodessliderkawai;
@@ -913,11 +904,9 @@
   &opcodessndloop;
   &opcodessndwarp;
   &opcodessndwarpst;
-  &opcodessocksend;
   &opcodessockrecv;
+  &opcodessocksend;
   &opcodessoundin;
-  &opcodessoundout;
-  &opcodessoundouts;
   &opcodesspace;
   &opcodesspat3d;
   &opcodesspat3di;
@@ -933,9 +922,9 @@
   &opcodesspecsum;
   &opcodesspectrum;
   &opcodessplitrig;
-  &opcodesspsend;
   &opcodessprintf;
   &opcodessprintfk;
+  &opcodesspsend;
   &opcodessqrt;
   &opcodessr;
   &opcodesstack;
@@ -977,6 +966,7 @@
   &opcodesstrcmp;
   &opcodesstrcmpk;
   &opcodesstreson;
+  &opcodesstrfromurl;
   &opcodesstrget;
   &opcodesstrindex;
   &opcodesstrindexk;
@@ -998,6 +988,7 @@
   &opcodessubinstr;
   &opcodessubinstrinit;
   &opcodessum;
+  &opcodessumarray;
   &opcodessvfilter;
   &opcodessyncgrain;
   &opcodessyncloop;
@@ -1034,7 +1025,9 @@
   &opcodestabmorphak;
   &opcodestabmorphi;
   &opcodestabplay;
+  &opcodesslicearray;
   &opcodestabsum;
+  &opcodestab2pvs;
   &opcodestambourine;
   &opcodestan;
   &opcodestanh;
@@ -1060,6 +1053,7 @@
   &opcodestrandom;
   &opcodestradsyn;
   &opcodestranseg;
+  &opcodestransegb;
   &opcodestransegr;
   &opcodestrcross;
   &opcodestrfilter;
@@ -1076,6 +1070,7 @@
   &opcodesturnoff2;
   &opcodesturnon;
   &opcodesunirand;
+  &opcodesuntil;
   &opcodesupsamp;
   &opcodesurandom;
   &opcodesurd;
@@ -1086,6 +1081,10 @@
   &opcodesvaget;
   &opcodesvalpass;
   &opcodesvaset;
+  &opcodesvbap;
+  &opcodesvbapmove;
+  &opcodesvbapg;
+  &opcodesvbapgmove;
   &opcodesvbap16;
   &opcodesvbap16move;
   &opcodesvbap4;
@@ -1190,6 +1189,7 @@
   &opcodeswiirange;
   &opcodeswiisend;
   &opcodeswrap;
+  &opcodeswritescratch;
   &opcodeswterrain;
   &opcodesxadsr;
   &opcodesxin;
diff --git a/opcodes/topXO.xml b/opcodes/topXO.xml
index 8241bc4..097d49f 100644
--- a/opcodes/topXO.xml
+++ b/opcodes/topXO.xml
@@ -194,6 +194,8 @@
   &opcodesdumpk3;
   &opcodesdumpk4;
   &opcodesduserrnd;
+  &opcodesdust;
+  &opcodesdust2;
   &opcodeselse;
   &opcodeselseif;
   &opcodesendif;
@@ -332,6 +334,7 @@
   &opcodesfprintks;
   &opcodesfprints;
   &opcodesfrac;
+  &opcodesfractalnoise;
   &opcodesfreeverb;
   &opcodesftchnls;
   &opcodesftconv;
@@ -349,7 +352,11 @@
   &opcodesgain;
   &opcodesgainslider;
   &opcodesgauss;
+  &opcodesgausstrig;
   &opcodesgbuzz;
+  &opcodesgendy
+  &opcodesgendyc;
+  &opcodesgendyx;
   &opcodesgetcfg;
   &opcodesgogobel;
   &opcodesgoto;
diff --git a/opcodes/tradsyn.xml b/opcodes/tradsyn.xml
index d9f1177..ff915ac 100644
--- a/opcodes/tradsyn.xml
+++ b/opcodes/tradsyn.xml
@@ -6,23 +6,21 @@
     <refentrytitle>tradsyn</refentrytitle>
   </refmeta>
 
-
-
   <refnamediv>
     <refname>tradsyn</refname>
     <refpurpose>
-    Streaming partial track additive synthesis
-          </refpurpose>
+      Streaming partial track additive synthesis
+    </refpurpose>
   </refnamediv>
   
   <refsect1>
     <title>Description</title>
     <para>
-  The tradsyn opcode takes an input containg a TRACKS pv streaming signal (as generated,
-  for instance by partials),as described in Lazzarini et al, "Time-stretching using the Instantaneous Frequency Distribution and Partial
-  Tracking", Proc.of ICMC05, Barcelona. It resynthesises the signal using linear amplitude and frequency
-  interpolation to drive a bank of interpolating oscillators with amplitude and pitch scaling controls.
-	      </para>
+      The <emphasis>tradsyn</emphasis> opcode takes an input containg a TRACKS pv streaming signal (as generated,
+      for instance by <emphasis>partials</emphasis>),as described in Lazzarini et al, "Time-stretching using the Instantaneous Frequency Distribution and Partial
+      Tracking", Proc.of ICMC05, Barcelona. It resynthesises the signal using linear amplitude and frequency
+      interpolation to drive a bank of interpolating oscillators with amplitude and pitch scaling controls.
+    </para>
   </refsect1>
 
   <refsect1>
@@ -32,10 +30,10 @@
 
   <refsect1>
     <title>Performance</title>
-	    <para>
+    <para>
       <emphasis>asig</emphasis> -- output audio rate signal
     </para>
-	
+  
     <para>
       <emphasis>fin</emphasis> -- input pv stream in TRACKS format
     </para>
@@ -50,42 +48,29 @@
 
     <para>
       <emphasis>kmaxtracks</emphasis> -- max number of tracks in resynthesis. Limiting this will cause
-	  a non-linear filtering effect, by discarding newer and higher-frequency tracks (tracks are ordered
-	  by start time and ascending frequency, respectively)
+      a non-linear filtering effect, by discarding newer and higher-frequency tracks (tracks are ordered
+      by start time and ascending frequency, respectively)
     </para>
 
     <para>
-      <emphasis>ifn</emphasis> -- function table containing one cycle of a sinusoid (sine or cosine) </para>
-    
-  <para>
-    
-  </para>    
-    
+      <emphasis>ifn</emphasis> -- function table containing one cycle of a sinusoid (sine or cosine).
+    </para>
   </refsect1>
 
   <refsect1>
     <title>Examples</title>
     <para>
+      Here is an example of the tradsyn opcode. It uses the file <ulink url="examples/tradsyn.csd"><citetitle>tradsyn.csd</citetitle></ulink>.
       <example>
-        <title>Example</title>
-        <programlisting>
-ain inch 1                  ; input signal
-fs1,fsi2 pvsifd ain,2048,512,1 ; ifd analysis
-fst  partials fs1,fsi2,.003,1,3,500  ; partial tracking
-      aout  tradsyn fst, 1, 1.5, 500, 1 ; resynthesis (up a 5th)
-out aout
-        </programlisting>
+        <title>Example of the tradsyn opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/tradsyn.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-
     </para>
-    
     <para>
-The example above shows partial tracking of an ifd-analysis signal and
-linear additive resynthesis with pitch shifting. 
-    
+      The example above shows partial tracking of an ifd-analysis signal and
+      linear additive resynthesis with pitch shifting. 
     </para>
-    
   </refsect1>
  
   <refsect1>
@@ -96,7 +81,6 @@ linear additive resynthesis with pitch shifting.
         <member>June 2005 </member>
       </simplelist>
     </para>
-
     <para>New plugin in version 5</para>
     <para>November 2004.</para>
   </refsect1>
diff --git a/opcodes/trandom.xml b/opcodes/trandom.xml
index a7186d2..2c58822 100644
--- a/opcodes/trandom.xml
+++ b/opcodes/trandom.xml
@@ -51,21 +51,20 @@
     <para>
      <emphasis>trandom</emphasis> is almost identical to <link linkend="random"><citetitle>random</citetitle></link> opcode, except <emphasis>trandom</emphasis> updates its output with a new random value only when the <emphasis>ktrig</emphasis> argument is triggered (i.e. whenever it is not zero).
     </para>
-
   </refsect1>
 
-<!--  <refsect1>
+  <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the trandom opcode. It uses the files <ulink url="examples/trandom.csd"><citetitle>trandom.csd</citetitle></ulink>.
-
+      Here is an example of the trandom opcode. It uses the file <ulink url="examples/trandom.csd"><citetitle>trandom.csd</citetitle></ulink>.
       <example>
         <title>Example of the trandom opcode.</title>
-        <xi:include href="examples-xml/trandom.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/trandom.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
     </para>
-  </refsect1>-->
+  </refsect1>
+
   <refsect1>
     <title>See also</title>
     <para>
diff --git a/opcodes/transegb.xml b/opcodes/transegb.xml
new file mode 100644
index 0000000..bb43084
--- /dev/null
+++ b/opcodes/transegb.xml
@@ -0,0 +1,117 @@
+
+<refentry id="transegb">
+<indexterm id="IndexTransegb"><primary>transegb</primary></indexterm>
+  <refentryinfo><title>Signal Generators:Linear and Exponential Generators</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>transegb</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>transegb</refname>
+    <refpurpose>
+      Constructs a user-definable envelope in absolute time.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Constructs a user-definable envelope in absolute time.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>transegb</command> ia, itim, itype, ib [, itim2] [, itype] [, ic] ...</synopsis>
+    <synopsis>kres <command>transegb</command> ia, itim, itype, ib [, itim2] [, itype] [, ic] ...</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ia</emphasis> -- starting value.
+    </para>
+
+    <para>
+      <emphasis>ib, ic,</emphasis> etc. -- value after <emphasis>itim</emphasis> seconds.
+    </para>
+
+    <para>
+      <emphasis>itim</emphasis> -- time in seconds of end of first segment.
+    </para>
+
+    <para>
+      <emphasis>itim2,... itimx</emphasis> etc. -- time in seconds at
+      the end of the segment.
+    </para>
+
+    <para>
+      <emphasis>itype, itype2,</emphasis> etc. -- if 0, a straight line is produced. If non-zero, then <emphasis>transegb</emphasis> creates the following curve, for <emphasis>n</emphasis> steps:
+
+      <literallayout>
+ibeg + (ivalue - ibeg) * (1 - exp( i*itype/(n-1) )) / (1 - exp(itype))
+      </literallayout>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      If <emphasis>itype</emphasis> > 0, there is a slowly rising (concave) or slowly decaying
+      (convex) curve, while if <emphasis>itype</emphasis> < 0, the curve is fast rising (convex) or
+      fast decaying (concave). See also <link linkend="GEN16"><citetitle>GEN16</citetitle></link>.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the transegb opcode. It uses the file <ulink url="examples/transegb.csd"><citetitle>transegb.csd</citetitle></ulink>. The example produces the following output:
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/transegb.png" format="PNG"/>
+        </imageobject>
+        <textobject>
+          <phrase>Output of the transegb example.</phrase>
+        </textobject>
+        <caption>
+          <para>Output of the transegb example.</para>
+        </caption>
+      </mediaobject>
+      <example>
+        <title>Example of the transegb opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/transegb.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="expseg"><citetitle>expseg</citetitle></link>,
+      <link linkend="expsega"><citetitle>expsega</citetitle></link>,
+      <link linkend="expsegb"><citetitle>expsega</citetitle></link>,
+      <link linkend="expsegr"><citetitle>expsegr</citetitle></link>,
+      <link linkend="linseg"><citetitle>linseg</citetitle></link>,
+      <link linkend="linsegb"><citetitle>linsegb</citetitle></link>,
+      <link linkend="linsegr"><citetitle>linsegr</citetitle></link>,
+      <link linkend="transeg"><citetitle>transeg</citetitle></link>
+      <link linkend="transegr"><citetitle>transegr</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>University of Bath, Codemist. Ltd.</member>
+        <member>Bath, UK</member>
+        <member>June 2011</member>
+      </simplelist>
+    </para>
+
+    <para>New in Csound version 5.14</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/transegr.xml b/opcodes/transegr.xml
index 053baf2..4702819 100644
--- a/opcodes/transegr.xml
+++ b/opcodes/transegr.xml
@@ -72,29 +72,18 @@ ibeg + (ivalue - ibeg) * (1 - exp( i*itype/(n-1) )) / (1 - exp(itype))
     </para>
   </refsect1>
 
- <!--  <refsect1> -->
-<!--     <title>Examples</title> -->
-<!--     <para> -->
-<!--       Here is an example of the transegr opcode. It uses the file <ulink url="examples/transegr.csd"><citetitle>transegr.csd</citetitle></ulink>. The example produces the following output: -->
-<!--       <mediaobject> -->
-<!--         <imageobject> -->
-<!--           <imagedata fileref="images/transegr.png" format="PNG"/> -->
-<!--         </imageobject> -->
-<!--         <textobject> -->
-<!--           <phrase>Output of the transegr example.</phrase> -->
-<!--         </textobject> -->
-<!--         <caption> -->
-<!--           <para>Output of the transegr example.</para> -->
-<!--         </caption> -->
-<!--       </mediaobject> -->
-<!--       <example> -->
-<!--         <title>Example of the transegr opcode.</title> -->
-<!--         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para> -->
-<!--         <xi:include href="examples-xml/transegr.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> -->
-<!--       </example> -->
-<!--     </para> -->
-<!--   </refsect1> -->
- 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the transegr opcode. It uses the file <ulink url="examples/transegr.csd"><citetitle>transegr.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the transegr opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/transegr.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/trcross.xml b/opcodes/trcross.xml
index e0014ef..13a46e4 100644
--- a/opcodes/trcross.xml
+++ b/opcodes/trcross.xml
@@ -7,93 +7,77 @@
     <refentrytitle>trcross</refentrytitle>
   </refmeta>
 
-
-
   <refnamediv>
     <refname>trcross</refname>
     <refpurpose>
-    Streaming partial track cross-synthesis.
-      
+      Streaming partial track cross-synthesis.
     </refpurpose>
   </refnamediv>
   
   <refsect1>
     <title>Description</title>
     <para>
-  The trcross opcode takes two inputs containg TRACKS pv streaming signals (as generated,
-  for instance by partials) and cross-synthesises them into a single TRACKS stream. Two
-  different modes of operation are used: mode 0, cross-synthesis by multiplication of
-  the amplitudes of the two inputs and mode 1, cross-synthesis by the substititution of
-  the amplitudes of input 1 by the input 2. Frequencies and phases of input 1 are preserved
-  in the output. The cross-synthesis is done by matching tracks between the two inputs using
-  a 'search interval'. The matching algorithm will look for tracks in the second input that 
-  are within the search interval around each track in the first input. This interval can be changed
-  at the control rate. Wider search intervals will find more matches.
-	</para>
+      The <emphasis>trcross</emphasis> opcode takes two inputs containg TRACKS pv streaming signals (as generated,
+      for instance by <emphasis>partials</emphasis>) and cross-synthesises them into a single TRACKS stream. Two
+      different modes of operation are used: mode 0, cross-synthesis by multiplication of
+      the amplitudes of the two inputs and mode 1, cross-synthesis by the substititution of
+      the amplitudes of input 1 by the input 2. Frequencies and phases of input 1 are preserved
+      in the output. The cross-synthesis is done by matching tracks between the two inputs using
+      a 'search interval'. The matching algorithm will look for tracks in the second input that 
+      are within the search interval around each track in the first input. This interval can be changed
+      at the control rate. Wider search intervals will find more matches.
+    </para>
   </refsect1>
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis>fsig <command>trcross</command> fin1, fin2, ksearch,kdepth[,kmode] </synopsis>
+    <synopsis>fsig <command>trcross</command> fin1, fin2, ksearch, kdepth [, kmode] </synopsis>
   </refsect1>
 
   <refsect1>
     <title>Performance</title>
-	    <para>
+      <para>
       <emphasis>fsig</emphasis> -- output pv stream in TRACKS format 
     </para>
-<para>
-	      <emphasis>fin1</emphasis> -- first input pv stream in TRACKS format.
+    
+    <para>
+      <emphasis>fin1</emphasis> -- first input pv stream in TRACKS format.
     </para>
-	
+  
     <para>
       <emphasis>fin2</emphasis> -- second input pv stream in TRACKS format
     </para>
       
-	      <para>
+    <para>
       <emphasis>ksearch</emphasis> -- search interval ratio, defining a 'search area'
-	  around each track of 1st input for matching purposes.
-	      </para>
+      around each track of 1st input for matching purposes.
+    </para>
       
-	  	      <para>
+    <para>
       <emphasis>kdepth</emphasis> -- depth of effect (0-1).
-	      </para>
-		  
-		  	      <para>
+    </para>
+      
+    <para>
       <emphasis>kmode</emphasis> -- mode of cross-synthesis. 0, multiplication
-	  of amplitudes (filtering), 1, subsitution of amplitudes of input 1 by
-	  input 2 (akin to vocoding). Defaults to 0.
-	      </para>
-		  
+      of amplitudes (filtering), 1, subsitution of amplitudes of input 1 by
+      input 2 (akin to vocoding). Defaults to 0.
+    </para>
   </refsect1>
 
   <refsect1>
     <title>Examples</title>
     <para>
+      Here is an example of the trcross opcode. It uses the file <ulink url="examples/trcross.csd"><citetitle>trcross.csd</citetitle></ulink>.
       <example>
-        <title>Example</title>
-        <programlisting>
-ain inch 1                  ; input signals
-ain inch 2
-fs1,fsi2 pvsifd ain,2048,512,1 ; ifd analysis
-fst  partials fs1,fsi2,.003,1,3,500  ; partial tracking
-fs11,fsi12 pvsifd ain,2048,512,1 ; ifd analysis (second input)
-fst1  partials fs11,fsi12,.003,1,3,500  ; partial tracking \(second input
-fcr trcross fst,fst1, 1.05, 1 ; cross-synthesis (mode 0)
-      aout  tradsyn fcr, 1, 1, 500, 1 ; resynthesis of tracks
-out aout
-        </programlisting>
+        <title>Example of the trcross opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/trcross.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-
     </para>
-    
     <para>
-The example above shows partial tracking of two ifd-analysis signals, cross-synthesis, 
-followed by the remix of the two parts of the spectrum and resynthesis. 
-   
+      The example above shows partial tracking of two ifd-analysis signals, cross-synthesis, 
+      followed by the remix of the two parts of the spectrum and resynthesis. 
     </para>
-    
   </refsect1>
  
   <refsect1>
@@ -104,6 +88,6 @@ followed by the remix of the two parts of the spectrum and resynthesis.
         <member>February 2006 </member>
       </simplelist>
     </para>
-    <para>New in Csound5.01</para>
+    <para>New in Csound 5.01</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/trfilter.xml b/opcodes/trfilter.xml
index 4b7f125..fe7a374 100644
--- a/opcodes/trfilter.xml
+++ b/opcodes/trfilter.xml
@@ -7,25 +7,22 @@
     <refentrytitle>trfilter</refentrytitle>
   </refmeta>
 
-
-
   <refnamediv>
     <refname>trfilter</refname>
     <refpurpose>
-    Streaming partial track filtering.
-      
+      Streaming partial track filtering.
     </refpurpose>
   </refnamediv>
   
   <refsect1>
     <title>Description</title>
     <para>
-  The trfilter opcode takes an input containg a TRACKS pv streaming signal (as generated,
-  for instance by partials) and filters it using an amplitude response curve stored in
-  a function table. The function table can have any size (no restriction to powers-of-two).
-  The table lookup is done by linear-interpolation. It is possible to create time-varying
-  filter curves by updating the amlitude response table with a table-writing opcode.
-	      </para>
+      The <emphasis>trfilter</emphasis> opcode takes an input containg a TRACKS pv streaming signal (as generated,
+      for instance by <emphasis>partials</emphasis>) and filters it using an amplitude response curve stored in
+      a function table. The function table can have any size (no restriction to powers-of-two).
+      The table lookup is done by linear-interpolation. It is possible to create time-varying
+      filter curves by updating the amlitude response table with a table-writing opcode.
+    </para>
   </refsect1>
 
   <refsect1>
@@ -35,55 +32,39 @@
 
   <refsect1>
     <title>Performance</title>
-	    <para>
+      <para>
       <emphasis>fsig</emphasis> -- output pv stream in TRACKS format
     </para>
-	
+  
     <para>
       <emphasis>fin</emphasis> -- input pv stream in TRACKS format
     </para>
     <para>
       <emphasis>kamnt</emphasis> -- amount of filtering (0-1)
     </para>
+    
     <para>
       <emphasis>ifn</emphasis> -- function table number. This will contain an
-	  amplitude response curve, from 0 Hz to the Nyquist (table indexes 0 to N). Any size is
-	  allowed. Larger tables will provide a smoother amplitude response curve. Table reading uses
-	  linear interpolation.
+      amplitude response curve, from 0 Hz to the Nyquist (table indexes 0 to N). Any size is
+      allowed. Larger tables will provide a smoother amplitude response curve. Table reading uses
+      linear interpolation.
     </para>
-  <para>
-    
-  </para>    
-    
   </refsect1>
 
   <refsect1>
     <title>Examples</title>
     <para>
+      Here is an example of the trfilter opcode. It uses the file <ulink url="examples/trfilter.csd"><citetitle>trfilter.csd</citetitle></ulink>.
       <example>
-        <title>Example</title>
-        <programlisting>
-gifn ftgen 2, 0, -22050, 5 1 1000 1 4000 0.000001 17050 0.000001 ; low-pass filter curve of 22050 points	
-instr 1
-ain inch 1                  ; input signal
-fs1,fsi2 pvsifd ain,2048,512,1 ; ifd analysis
-fst  partials fs1,fsi2,.003,1,3,500  ; partial tracking
-fscl trfilter  fst, 1, gifn ; filtering using function table 2
-      aout  tradsyn fscl, 1, 1, 500, 1 ; resynthesis 
-out aout
-endin
-        </programlisting>
+        <title>Example of the trfilter opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/trfilter.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-
     </para>
-    
     <para>
-The example above shows partial tracking of an ifd-analysis signal and
-linear additive resynthesis with low-pass filtering. 
-    
+      The example above shows partial tracking of an ifd-analysis signal and
+      linear additive resynthesis with low-pass filtering. 
     </para>
-    
   </refsect1>
  
   <refsect1>
@@ -94,7 +75,6 @@ linear additive resynthesis with low-pass filtering.
         <member>February 2006 </member>
       </simplelist>
     </para>
-    <para>New in Csound5.01</para>
-
+    <para>New in Csound 5.01</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/trhighest.xml b/opcodes/trhighest.xml
index e19006c..fed2e7f 100644
--- a/opcodes/trhighest.xml
+++ b/opcodes/trhighest.xml
@@ -7,79 +7,65 @@
     <refentrytitle>trhighest</refentrytitle>
   </refmeta>
 
-
-
   <refnamediv>
     <refname>trhighest</refname>
     <refpurpose>
-   Extracts the highest-frequency track from a streaming track input signal. 
-      
+      Extracts the highest-frequency track from a streaming track input signal. 
     </refpurpose>
   </refnamediv>
   
   <refsect1>
     <title>Description</title>
     <para>
-  The trhighest opcode takes an input containg TRACKS pv streaming signals (as generated,
-  for instance by partials) and outputs only the highest track. In addition it outputs
-  two k-rate signals, corresponding to the frequency and amplitude of the highest track
-  signal.
-	</para>
+      The <emphasis>trhighest</emphasis> opcode takes an input containg TRACKS pv streaming signals (as generated,
+      for instance by <emphasis>partials</emphasis>) and outputs only the highest track. In addition it outputs
+      two k-rate signals, corresponding to the frequency and amplitude of the highest track
+      signal.
+    </para>
   </refsect1>
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis>fsig, kfr,kamp <command>trhighest</command> fin1, kscal</synopsis>
+    <synopsis>fsig, kfr, kamp <command>trhighest</command> fin1, kscal</synopsis>
   </refsect1>
 
   <refsect1>
     <title>Performance</title>
-	    <para>
+      <para>
       <emphasis>fsig</emphasis> -- output pv stream in TRACKS format 
     </para>
-	
-		    <para>
+  
+    <para>
       <emphasis>kfr</emphasis> -- frequency (in Hz) of the highest-frequency track 
     </para>
-	
-		    <para>
+  
+    <para>
       <emphasis>kamp</emphasis> -- amplitude of the highest-frequency track
     </para>
+    
     <para>
-	
-	      <emphasis>fin</emphasis> -- input pv stream in TRACKS format.
+      <emphasis>fin</emphasis> -- input pv stream in TRACKS format.
     </para>
-	
+  
     <para>
       <emphasis>kscal</emphasis> -- amplitude scaling of output.
     </para>
-      
   </refsect1>
 
   <refsect1>
     <title>Examples</title>
     <para>
+      Here is an example of the trhighest opcode. It uses the file <ulink url="examples/trhighest.csd"><citetitle>trhighest.csd</citetitle></ulink>.
       <example>
-        <title>Example</title>
-        <programlisting>
-ain inch 1                  ; input signal
-fs1,fsi2 pvsifd ain,2048,512,1 ; ifd analysis
-fst  partials fs1,fsi2,.003,1,3,500  ; partial tracking
-fhi,kfr,kamp trhighest fst,1 ; highest freq-track 
-      aout  tradsyn fhi, 1, 1, 1, 1 ; resynthesis of highest frequency
-out aout
-        </programlisting>
+        <title>Example of the trhighest opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/trhighest.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-
     </para>
-    
     <para>
-The example above shows partial tracking of an ifd-analysis signal, extraction of
-the highest frequency and resynthesis. 
-   
+      The example above shows partial tracking of an ifd-analysis signal, extraction of
+      the highest frequency and resynthesis. 
     </para>
-    
   </refsect1>
  
   <refsect1>
@@ -90,7 +76,6 @@ the highest frequency and resynthesis.
         <member>February 2006 </member>
       </simplelist>
     </para>
-    <para>New in Csound5.01</para>
-
+    <para>New in Csound 5.01</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/trigger.xml b/opcodes/trigger.xml
index 4c46772..f795c02 100644
--- a/opcodes/trigger.xml
+++ b/opcodes/trigger.xml
@@ -56,29 +56,11 @@
     <title>Examples</title>
     <para>
       Here is an example of the trigger opcode. It uses the file <ulink url="examples/trigger.csd"><citetitle>trigger.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the trigger opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/trigger.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-      Its output should include lines like this:
-      <screen>
-time = 0.050340 seconds, trigger = 1.000000
-time = 0.150340 seconds, trigger = 1.000000
-time = 0.250340 seconds, trigger = 1.000000
-time = 0.350340 seconds, trigger = 1.000000
-time = 0.450340 seconds, trigger = 1.000000
-time = 0.550340 seconds, trigger = 1.000000
-time = 0.650340 seconds, trigger = 1.000000
-time = 0.750340 seconds, trigger = 1.000000
-time = 0.850340 seconds, trigger = 1.000000
-time = 0.950340 seconds, trigger = 1.000000
-      </screen>
     </para>
   </refsect1>
  
@@ -90,8 +72,6 @@ time = 0.950340 seconds, trigger = 1.000000
         <member>Italy</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
-
     <para>New in Csound version 3.49</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/trigseq.xml b/opcodes/trigseq.xml
index dce4660..bd41400 100644
--- a/opcodes/trigseq.xml
+++ b/opcodes/trigseq.xml
@@ -84,6 +84,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the trigseq opcode. It uses the file <ulink url="examples/trigseq.csd"><citetitle>trigseq.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the trigseq opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/trigseq.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="seqtime"><citetitle>seqtime</citetitle></link>,
diff --git a/opcodes/trirand.xml b/opcodes/trirand.xml
index 8bce292..cbade3a 100644
--- a/opcodes/trirand.xml
+++ b/opcodes/trirand.xml
@@ -55,16 +55,36 @@
     <title>Examples</title>
     <para>
       Here is an example of the trirand opcode. It uses the file <ulink url="examples/trirand.csd"><citetitle>trirand.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the trirand opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/trirand.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
       Its output should include a line like this:
       <screen>
-instr 1:  i1 = 7506.261
+ i   1 time     0.00067:    -4.97993
+ i   1 time     0.20067:     1.20909
+ i   1 time     0.40067:    17.45873
+ i   1 time     0.60067:    52.55409
+ i   1 time     0.80067:    -1.92888
+ i   1 time     1.00000:   -11.01149
+ i   1 time     1.20067:     9.79521
+ i   1 time     1.40067:    26.98504
+ i   1 time     1.60067:    24.67405
+ i   1 time     1.80000:   -67.59846
+ i   1 time     2.00000:    64.24861
+WARNING: Seeding from current time 521999639
+ i   2 time     3.00067:     3.28969
+ i   2 time     3.20067:    54.98986
+ i   2 time     3.40067:   -33.84788
+ i   2 time     3.60000:   -41.93523
+ i   2 time     3.80067:    -6.61742
+ i   2 time     4.00000:    39.67097
+ i   2 time     4.20000:     2.95123
+ i   2 time     4.40067:    45.59255
+ i   2 time     4.60067:    16.57259
+ i   2 time     4.80067:   -18.80273
+ i   2 time     5.00000:    -2.01697
       </screen>
     </para>
   </refsect1>
@@ -94,6 +114,5 @@ instr 1:  i1 = 7506.261
         <member>1995</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/trlowest.xml b/opcodes/trlowest.xml
index 17af346..ee3ef29 100644
--- a/opcodes/trlowest.xml
+++ b/opcodes/trlowest.xml
@@ -7,79 +7,65 @@
     <refentrytitle>trlowest</refentrytitle>
   </refmeta>
 
-
-
   <refnamediv>
     <refname>trlowest</refname>
     <refpurpose>
-   Extracts the lowest-frequency track from a streaming track input signal. 
-      
+      Extracts the lowest-frequency track from a streaming track input signal. 
     </refpurpose>
   </refnamediv>
   
   <refsect1>
     <title>Description</title>
     <para>
-  The trlowest opcode takes an input containg TRACKS pv streaming signals (as generated,
-  for instance by partials) and outputs only the lowest track. In addition it outputs
-  two k-rate signals, corresponding to the frequency and amplitude of the lowest track
-  signal.
-	</para>
+      The <emphasis>trlowest</emphasis> opcode takes an input containg TRACKS pv streaming signals (as generated,
+      for instance by <emphasis>partials</emphasis>) and outputs only the lowest track. In addition it outputs
+      two k-rate signals, corresponding to the frequency and amplitude of the lowest track
+      signal.
+    </para>
   </refsect1>
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis>fsig, kfr,kamp <command>trlowest</command> fin1, kscal</synopsis>
+    <synopsis>fsig, kfr, kamp <command>trlowest</command> fin1, kscal</synopsis>
   </refsect1>
 
   <refsect1>
     <title>Performance</title>
-	    <para>
+      <para>
       <emphasis>fsig</emphasis> -- output pv stream in TRACKS format 
     </para>
-	
-		    <para>
+  
+        <para>
       <emphasis>kfr</emphasis> -- frequency (in Hz) of the lowest-frequency track 
     </para>
-	
-		    <para>
+  
+        <para>
       <emphasis>kamp</emphasis> -- amplitude of the lowest-frequency track
     </para>
     <para>
-	
-	      <emphasis>fin</emphasis> -- input pv stream in TRACKS format.
+  
+        <emphasis>fin</emphasis> -- input pv stream in TRACKS format.
     </para>
-	
+  
     <para>
       <emphasis>kscal</emphasis> -- amplitude scaling of output.
-    </para>
-      
+    </para>     
   </refsect1>
 
   <refsect1>
     <title>Examples</title>
     <para>
+      Here is an example of the trlowest opcode. It uses the file <ulink url="examples/trlowest.csd"><citetitle>trlowest.csd</citetitle></ulink>.
       <example>
-        <title>Example</title>
-        <programlisting>
-ain inch 1                  ; input signal
-fs1,fsi2 pvsifd ain,2048,512,1 ; ifd analysis
-fst  partials fs1,fsi2,.003,1,3,500  ; partial tracking
-flow,kfr,kamp trlowest fst,1 ; lowest freq-track 
-      aout  tradsyn flow, 1, 1, 1, 1 ; resynthesis of lowest frequency
-out aout
-        </programlisting>
+        <title>Example of the trlowest opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/trlowest.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-
     </para>
-    
     <para>
-The example above shows partial tracking of an ifd-analysis signal, extraction of
-the lowest frequency and resynthesis. 
-   
+      The example above shows partial tracking of an ifd-analysis signal, extraction of
+      the lowest frequency and resynthesis. 
     </para>
-    
   </refsect1>
  
   <refsect1>
@@ -90,7 +76,6 @@ the lowest frequency and resynthesis.
         <member>February 2006 </member>
       </simplelist>
     </para>
-    <para>New in Csound5.01</para>
-
+    <para>New in Csound 5.01</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/trmix.xml b/opcodes/trmix.xml
index 389814f..5a21848 100644
--- a/opcodes/trmix.xml
+++ b/opcodes/trmix.xml
@@ -7,25 +7,22 @@
     <refentrytitle>trmix</refentrytitle>
   </refmeta>
 
-
-
   <refnamediv>
     <refname>trmix</refname>
     <refpurpose>
-    Streaming partial track mixing.
-      
+      Streaming partial track mixing.
     </refpurpose>
   </refnamediv>
   
   <refsect1>
     <title>Description</title>
     <para>
-  The trmix opcode takes two inputs containg TRACKS pv streaming signals (as generated,
-  for instance by partials) and mixes them into a single TRACKS stream. Tracks will be
-  mixed up to the available space (defined by the original number of FFT bins in 
-  the analysed signals). If the sum of the input tracks exceeds this space, the higher-ordered
-  tracks in the second input will be pruned. 
-	</para>
+      The <emphasis>trmix</emphasis> opcode takes two inputs containg TRACKS pv streaming signals (as generated,
+      for instance by <emphasis>partials</emphasis>) and mixes them into a single TRACKS stream. Tracks will be
+      mixed up to the available space (defined by the original number of FFT bins in 
+      the analysed signals). If the sum of the input tracks exceeds this space, the higher-ordered
+      tracks in the second input will be pruned. 
+    </para>
   </refsect1>
 
   <refsect1>
@@ -35,46 +32,34 @@
 
   <refsect1>
     <title>Performance</title>
-	    <para>
+      <para>
       <emphasis>fsig</emphasis> -- output pv stream in TRACKS format 
     </para>
+    
     <para>
-	      <emphasis>fin1</emphasis> -- first input pv stream in TRACKS format.
+      <emphasis>fin1</emphasis> -- first input pv stream in TRACKS format.
     </para>
-	
+  
     <para>
       <emphasis>fin2</emphasis> -- second input pv stream in TRACKS format
     </para>
-      
   </refsect1>
 
   <refsect1>
     <title>Examples</title>
     <para>
+      Here is an example of the trmix opcode. It uses the file <ulink url="examples/trmix.csd"><citetitle>trmix.csd</citetitle></ulink>.
       <example>
-        <title>Example</title>
-        <programlisting>
-ain inch 1                  ; input signal
-fs1,fsi2 pvsifd ain,2048,512,1 ; ifd analysis
-fst  partials fs1,fsi2,.003,1,3,500  ; partial tracking
-fslo,fshi trsplit  fst, 1500 ; split partial tracks at 1500 Hz
-fscl trscale fshi, 1.15  ; shift the upper tracks
-fmix trmix fslo,fscl ; mix the shifted and unshifted tracks
-      aout  tradsyn fmix, 1, 1, 500, 1 ; resynthesis of tracks
-out aout
-        </programlisting>
+        <title>Example of the trmix opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/trmix.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-
     </para>
-    
     <para>
-The example above shows partial tracking of an ifd-analysis signal, frequency
-splitting and pitch shifting of the upper part of the spectrum, followed by
-the remix of the two parts of the spectrum and resynthesis. 
-   
+      The example above shows partial tracking of an ifd-analysis signal, frequency
+      splitting and pitch shifting of the upper part of the spectrum, followed by
+      the remix of the two parts of the spectrum and resynthesis. 
     </para>
-    
   </refsect1>
  
   <refsect1>
@@ -85,7 +70,6 @@ the remix of the two parts of the spectrum and resynthesis.
         <member>February 2006 </member>
       </simplelist>
     </para>
-    <para>New in Csound5.01</para>
-
+    <para>New in Csound 5.01</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/trscale.xml b/opcodes/trscale.xml
index 969b505..4f832fe 100644
--- a/opcodes/trscale.xml
+++ b/opcodes/trscale.xml
@@ -7,24 +7,21 @@
     <refentrytitle>trscale</refentrytitle>
   </refmeta>
 
-
-
   <refnamediv>
     <refname>trscale</refname>
     <refpurpose>
-    Streaming partial track frequency scaling.
-      
+      Streaming partial track frequency scaling.
     </refpurpose>
   </refnamediv>
   
   <refsect1>
     <title>Description</title>
     <para>
-  The trscale opcode takes an input containg a TRACKS pv streaming signal (as generated,
-  for instance by partials) and scales all frequencies by a k-rate amount. It can also, optionally,
-  scale the gain of the signal by a k-rate amount (default 1). The result is pitch shifting of
-  the input tracks.
-	      </para>
+      The <emphasis>trscale</emphasis> opcode takes an input containg a TRACKS pv streaming signal (as generated,
+      for instance by <emphasis>partials</emphasis>) and scales all frequencies by a k-rate amount. It can also, optionally,
+      scale the gain of the signal by a k-rate amount (default 1). The result is pitch shifting of
+      the input tracks.
+    </para>
   </refsect1>
 
   <refsect1>
@@ -34,49 +31,37 @@
 
   <refsect1>
     <title>Performance</title>
-	    <para>
+      <para>
       <emphasis>fsig</emphasis> -- output pv stream in TRACKS format
     </para>
-	
+  
     <para>
       <emphasis>fin</emphasis> -- input pv stream in TRACKS format
     </para>
+    
     <para>
       <emphasis>kpitch</emphasis> -- frequency scaling
     </para>
+    
     <para>
       <emphasis>kgain</emphasis> -- amplitude scaling (default 1)
     </para>
-  <para>
-    
-  </para>    
-    
   </refsect1>
 
   <refsect1>
     <title>Examples</title>
     <para>
+      Here is an example of the trscale opcode. It uses the file <ulink url="examples/trscale.csd"><citetitle>trscale.csd</citetitle></ulink>.
       <example>
-        <title>Example</title>
-        <programlisting>
-ain inch 1                  ; input signal
-fs1,fsi2 pvsifd ain,2048,512,1 ; ifd analysis
-fst  partials fs1,fsi2,.003,1,3,500  ; partial tracking
-fscl trscale  fst, 1.5 ; frequency scale (up a 5th)
-      aout  tradsyn fscl, 1, 1, 500, 1 ; resynthesis 
-out aout
-        </programlisting>
+        <title>Example of the trscale opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/trscale.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-
     </para>
-    
     <para>
-The example above shows partial tracking of an ifd-analysis signal and
-linear additive resynthesis with pitch shifting. 
-    
+      The example above shows partial tracking of an ifd-analysis signal and
+      linear additive resynthesis with pitch shifting. 
     </para>
-    
   </refsect1>
  
   <refsect1>
@@ -87,7 +72,6 @@ linear additive resynthesis with pitch shifting.
         <member>February 2006 </member>
       </simplelist>
     </para>
-    <para>New in Csound5.01</para>
-
+    <para>New in Csound 5.01</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/trshift.xml b/opcodes/trshift.xml
index a09c663..6c54d4b 100644
--- a/opcodes/trshift.xml
+++ b/opcodes/trshift.xml
@@ -7,24 +7,21 @@
     <refentrytitle>trshift</refentrytitle>
   </refmeta>
 
-
-
   <refnamediv>
     <refname>trshift</refname>
     <refpurpose>
-    Streaming partial track frequency scaling.
-      
+      Streaming partial track frequency scaling.
     </refpurpose>
   </refnamediv>
   
   <refsect1>
     <title>Description</title>
     <para>
-  The trshift opcode takes an input containg a TRACKS pv streaming signal (as generated,
-  for instance by partials) and shifts all frequencies by a k-rate frequency. It can also, optionally,
-  scale the gain of the signal by a k-rate amount (default 1). The result is frequency shifting of
-  the input tracks.
-	      </para>
+      The <emphasis>trshift</emphasis> opcode takes an input containg a TRACKS pv streaming signal (as generated,
+      for instance by <emphasis>partials</emphasis>) and shifts all frequencies by a k-rate frequency. It can also, optionally,
+      scale the gain of the signal by a k-rate amount (default 1). The result is frequency shifting of
+      the input tracks.
+    </para>
   </refsect1>
 
   <refsect1>
@@ -34,49 +31,37 @@
 
   <refsect1>
     <title>Performance</title>
-	    <para>
+      <para>
       <emphasis>fsig</emphasis> -- output pv stream in TRACKS format
     </para>
-	
+  
     <para>
       <emphasis>fin</emphasis> -- input pv stream in TRACKS format
     </para>
+    
     <para>
       <emphasis>kshift</emphasis> -- frequency shift in Hz
     </para>
+    
     <para>
       <emphasis>kgain</emphasis> -- amplitude scaling (default 1)
     </para>
-  <para>
-    
-  </para>    
-    
   </refsect1>
 
   <refsect1>
     <title>Examples</title>
     <para>
+      Here is an example of the trshift opcode. It uses the file <ulink url="examples/trshift.csd"><citetitle>trshift.csd</citetitle></ulink>.
       <example>
-        <title>Example</title>
-        <programlisting>
-ain inch 1                  ; input signal
-fs1,fsi2 pvsifd ain,2048,512,1 ; ifd analysis
-fst  partials fs1,fsi2,.003,1,3,500  ; partial tracking
-fscl trshift  fst, 150 ; frequency shift (adds 150Hz to all tracks)
-      aout  tradsyn fscl, 1, 1, 500, 1 ; resynthesis 
-out aout
-        </programlisting>
+        <title>Example of the trshift opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/trshift.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-
-    </para>
-    
+    </para>  
     <para>
-The example above shows partial tracking of an ifd-analysis signal and
-linear additive resynthesis with frequency shifting. 
-    
+      The example above shows partial tracking of an ifd-analysis signal and
+      linear additive resynthesis with frequency shifting. 
     </para>
-    
   </refsect1>
  
   <refsect1>
@@ -87,7 +72,6 @@ linear additive resynthesis with frequency shifting.
         <member>February 2006 </member>
       </simplelist>
     </para>
-    <para>New in Csound5.01</para>
-
+    <para>New in Csound 5.01</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/trsplit.xml b/opcodes/trsplit.xml
index a7d0dd8..679deb9 100644
--- a/opcodes/trsplit.xml
+++ b/opcodes/trsplit.xml
@@ -7,26 +7,23 @@
     <refentrytitle>trsplit</refentrytitle>
   </refmeta>
 
-
-
   <refnamediv>
     <refname>trsplit</refname>
     <refpurpose>
-    Streaming partial track frequency splitting.
-      
+      Streaming partial track frequency splitting.
     </refpurpose>
   </refnamediv>
   
   <refsect1>
     <title>Description</title>
     <para>
-  The trsplit opcode takes an input containg a TRACKS pv streaming signal (as generated,
-  for instance by partials) and splits it into two signals according to a k-rate frequency 'split point'. 
-  The first output will contain all tracks up from 0Hz to the split frequency and the second will 
-  contain the tracks from the split frequency up to the Nyquist.
-  It can also, optionally, scale the gain of the output signals by a k-rate amount (default 1). 
-  The result is two output signals containing only part of the original spectrum.
-	</para>
+      The <emphasis>trsplit</emphasis> opcode takes an input containg a TRACKS pv streaming signal (as generated,
+      for instance by <emphasis>partials</emphasis>) and splits it into two signals according to a k-rate frequency 'split point'. 
+      The first output will contain all tracks up from 0Hz to the split frequency and the second will 
+      contain the tracks from the split frequency up to the Nyquist.
+      It can also, optionally, scale the gain of the output signals by a k-rate amount (default 1). 
+      The result is two output signals containing only part of the original spectrum.
+    </para>
   </refsect1>
 
   <refsect1>
@@ -36,55 +33,44 @@
 
   <refsect1>
     <title>Performance</title>
-	    <para>
+      <para>
       <emphasis>fsiglow</emphasis> -- output pv stream in TRACKS format containing the tracks below
-	  the split point.
+      the split point.
     </para>
+    
     <para>
-	      <emphasis>fsighi</emphasis> -- output pv stream in TRACKS format containing the tracks above and
-		  including the split point.
+      <emphasis>fsighi</emphasis> -- output pv stream in TRACKS format containing the tracks above and
+      including the split point.
     </para>
-	
+  
     <para>
       <emphasis>fin</emphasis> -- input pv stream in TRACKS format
     </para>
+    
     <para>
       <emphasis>ksplit</emphasis> -- frequency split point in Hz
     </para>
+    
     <para>
       <emphasis>kgainlow, kgainhig</emphasis> -- amplitude scaling of each one of the
-	  outputs (default 1).
+      outputs (default 1).
     </para>
-  <para>
-    
-  </para>    
-    
   </refsect1>
 
   <refsect1>
     <title>Examples</title>
     <para>
+      Here is an example of the trsplit opcode. It uses the file <ulink url="examples/trsplit.csd"><citetitle>trsplit.csd</citetitle></ulink>.
       <example>
-        <title>Example</title>
-        <programlisting>
-ain inch 1                  ; input signal
-fs1,fsi2 pvsifd ain,2048,512,1 ; ifd analysis
-fst  partials fs1,fsi2,.003,1,3,500  ; partial tracking
-fslo,fshi trsplit  fst, 1500 ; split partial tracks at 1500 Hz
-      aout  tradsyn fshi, 1, 1, 500, 1 ; resynthesis of tracks above 1500Hz
-out aout
-        </programlisting>
+        <title>Example of the trsplit opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/trsplit.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
-
-
-    </para>
-    
+    </para>  
     <para>
-The example above shows partial tracking of an ifd-analysis signal and
-linear additive resynthesis of the upper part of the spectrum (from 1500Hz). 
-    
+      The example above shows partial tracking of an ifd-analysis signal and
+      linear additive resynthesis of the upper part of the spectrum (from 1500Hz). 
     </para>
-    
   </refsect1>
  
   <refsect1>
@@ -95,7 +81,6 @@ linear additive resynthesis of the upper part of the spectrum (from 1500Hz).
         <member>February 2006 </member>
       </simplelist>
     </para>
-    <para>New in Csound5.01</para>
-
+    <para>New in Csound 5.01</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/unirand.xml b/opcodes/unirand.xml
index 8aed4f7..b13e382 100644
--- a/opcodes/unirand.xml
+++ b/opcodes/unirand.xml
@@ -51,20 +51,44 @@
     </para>
   </refsect1>
 
-  <refsect1>
+    <refsect1>
     <title>Examples</title>
     <para>
       Here is an example of the unirand opcode. It uses the file <ulink url="examples/unirand.csd"><citetitle>unirand.csd</citetitle></ulink>.
-
-      <example>
+            <example>
         <title>Example of the unirand opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/unirand.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-
-      Its output should include a line like this:
+      </example>     
+      Its output should include lines like these:
       <screen>
-instr 1:  i1 = 0.840
+ i   1 time     0.00067:    81.47237
+ i   1 time     0.20067:    41.72671
+ i   1 time     0.40067:     5.96189
+ i   1 time     0.60067:    91.59912
+ i   1 time     0.80067:    85.07127
+ i   1 time     1.00000:    92.50948
+ i   1 time     1.20067:    98.79347
+ i   1 time     1.40067:    98.91449
+ i   1 time     1.60067:    50.37808
+ i   1 time     1.80000:    72.02497
+ i   1 time     2.00000:    52.94362
+
+WARNING: Seeding from current time 4007444022
+
+ i   2 time     3.00067:    91.86294
+ i   2 time     3.20067:    94.68759
+ i   2 time     3.40067:     1.05825
+ i   2 time     3.60000:    78.57628
+ i   2 time     3.80067:    27.67408
+ i   2 time     4.00000:    76.46347
+ i   2 time     4.20000:    77.10071
+ i   2 time     4.40067:    34.28921
+ i   2 time     4.60067:    37.72286
+ i   2 time     4.80067:    54.96646
+ i   2 time     5.00000:    11.67566
+B  3.000 ..  5.000 T  5.000 TT  5.000 M:  0.80000  0.80000
+Score finished in csoundPerform().
       </screen>
     </para>
   </refsect1>
@@ -95,6 +119,5 @@ instr 1:  i1 = 0.840
         <member>1995</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/until.xml b/opcodes/until.xml
new file mode 100644
index 0000000..ac508dc
--- /dev/null
+++ b/opcodes/until.xml
@@ -0,0 +1,84 @@
+
+<refentry id="until">
+<indexterm id="IndexUntil"><primary>until</primary></indexterm>
+  <refentryinfo><title>Instrument Control:Program Flow Control</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>until</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>until</refname>
+    <refpurpose>
+      A syntactic looping construction.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      A syntactic looping construction.
+   </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>until</command>  condition <command>do</command>
+    ... <command>od</command></synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      The statements between the <emphasis>do</emphasis> and
+      <emphasis>od</emphasis> form the body of a loop which is obeyed
+      until the conditional becomes true.
+    </para>
+   </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the until construction. It uses the file <ulink url="examples/until.csd"><citetitle>until.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the until opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/until.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+            Its output should include lines like this:
+      <screen>
+B  0.000 ..  1.000 T  1.000 TT  1.000 M:      0.0
+new alloc for instr 1:
+instr 1:  p4 = 3.000
+instr 1:  p4 = 2.000
+instr 1:  p4 = 1.000
+instr 1:  p4 = 0.000
+instr 1:  p4 = -1.000
+B  1.000 ..  2.000 T  2.000 TT  2.000 M:      0.0
+new alloc for instr 2:
+instr 2:  p4 = 3.000
+instr 2:  p4 = 2.000
+instr 2:  p4 = 1.000
+instr 2:  p4 = 0.000
+instr 2:  p4 = -1.000
+B  2.000 ..  3.000 T  3.000 TT  3.000 M:      0.0
+      </screen>
+    </para>
+  </refsect1>
+      
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="loop_ge"><citetitle>loop_ge</citetitle></link>,
+      <link linkend="loop_gt"><citetitle>loop_gt</citetitle></link> and
+      <link linkend="loop_le"><citetitle>loop_le</citetitle></link>.
+      <link linkend="loop_lt"><citetitle>loop_lt</citetitle></link>.
+    </para>
+    
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>&namejohn;.</para>
+    <para>New in Csound version 5.14 with new parser</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/upsamp.xml b/opcodes/upsamp.xml
index 2925cbc..e3ed380 100644
--- a/opcodes/upsamp.xml
+++ b/opcodes/upsamp.xml
@@ -31,22 +31,18 @@
       <emphasis>upsamp</emphasis> converts a control signal to an audio signal. It does it by simple repetition of the kval. <emphasis>upsamp</emphasis> is a slightly more efficient form of the assignment, <emphasis>asig</emphasis> = <emphasis>ksig</emphasis>.
     </para>
   </refsect1>
- 
+  
   <refsect1>
     <title>Examples</title>
     <para>
-      <informalexample>
-        <programlisting>
-asrc  <emphasis role="opc">buzz</emphasis>      10000, 440, 20, 1     <emphasis role="comment">; band-limited pulse train</emphasis>
-adif  <emphasis role="opc">diff</emphasis>      asrc                  <emphasis role="comment">; emphasize the highs</emphasis>
-anew  <emphasis role="opc">balance</emphasis>   adif, asrc            <emphasis role="comment">;   but retain the power</emphasis>
-agate <emphasis role="opc">reson</emphasis>     asrc, 0, 440          <emphasis role="comment">; use a lowpass of the original</emphasis>
-asamp <emphasis role="opc">samphold</emphasis>  anew, agate           <emphasis role="comment">;   to gate the new audiosig</emphasis>
-aout  <emphasis role="opc">tone</emphasis>      asamp, 100            <emphasis role="comment">; smooth out the rough edges</emphasis></programlisting>
-      </informalexample>
+      Here is an example of the upsamp opcode. It uses the file <ulink url="examples/upsamp.csd"><citetitle>upsamp.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the upsamp opcode.</title>
+        <xi:include href="examples-xml/upsamp.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
     </para>
   </refsect1>
-
+  
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/urd.xml b/opcodes/urd.xml
index 780c4b6..016b28b 100644
--- a/opcodes/urd.xml
+++ b/opcodes/urd.xml
@@ -61,6 +61,36 @@
     </para>
   </refsect1>
 
+    <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the urd opcode. It uses the file <ulink url="examples/urd.csd"><citetitle>urd.csd</citetitle></ulink>.
+            <example>
+        <title>Example of the urd opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/urd.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>     
+      Its output should include lines like these:
+      <screen>
+ i1   184.61538
+ i1   130.76923
+ i1   169.23077
+ i1    12.00000
+.......
+
+WARNING: Seeding from current time 3751086165
+
+ i2   138.46154
+ i2    12.00000
+ i2   123.07692
+ i2   161.53846
+ i2   123.07692
+ i2   153.84615
+......
+      </screen>
+    </para>
+  </refsect1>
+
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/vadd.xml b/opcodes/vadd.xml
index 11ddb5f..9f4cee7 100644
--- a/opcodes/vadd.xml
+++ b/opcodes/vadd.xml
@@ -1,104 +1,107 @@
-
-<refentry id="vadd">
-<indexterm id="IndexVadd"><primary>vadd</primary></indexterm>
-  <refentryinfo><title>Vectorial:Scalar operations</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>vadd</refentrytitle>
-  </refmeta>
-
-  <refnamediv>
-    <refname>vadd</refname>
-    <refpurpose>
-      Adds a scalar value to a vector in a table.
-    </refpurpose>
-  </refnamediv>
-  
-  <refsect1>
-    <title>Description</title>
-    <para>
-      Adds a scalar value to a vector in a table.
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis><command>vadd</command>  ifn, kval, kelements [, kdstoffset] [, kverbose]</synopsis>
-  </refsect1>
- 
-  <refsect1>
-    <title>Initialization</title>
-    <para>
-      <emphasis>ifn</emphasis>  - number of the table hosting the vectorial signal to be processed
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      <emphasis>kval</emphasis> - scalar value to be added
-    </para>
-    <para>
-      <emphasis>kelements</emphasis> - number of elements of the vector
-    </para>
-    <para>
-      <emphasis>kdstoffset</emphasis> - index offset for the destination table (Optional, default = 0)
-    </para>
-    <para>
-      <emphasis>kverbose</emphasis> - Selects whether or not warnings are printed (Default=0)
-    </para>
-    <para>
-      <emphasis>vadd</emphasis> adds the value of <emphasis>kval</emphasis> to each element of the vector contained in the table <emphasis>ifn</emphasis>, starting from table index <emphasis>idstoffset</emphasis>. This enables you to process a specific section of a table by specifying the offset and the number of elements to be processed. Offset is counted starting from 0, so if no offset is specified (or set to 0), the table will be modified from the beginning.
-    </para>
-    <para>
-      Note that this opcode runs at k-rate so the value of <emphasis>kval</emphasis> is added every control period. Use with care or you will end up with very large numbers (or use <link linkend="vadd_i"><citetitle>vadd_i</citetitle></link>).
-    </para>
-    <para>
-      These opcodes (<link linkend="vadd"><citetitle>vadd</citetitle></link>, <link linkend="vmult"><citetitle>vmult</citetitle></link>, <link linkend="vpow"><citetitle>vpow</citetitle></link> and <link linkend="vexp"><citetitle>vexp</citetitle></link>) perform numeric operations between a vectorial control signal (hosted by the table <emphasis>ifn</emphasis>), and a scalar signal (<emphasis>kval</emphasis>). Result is a new vector that overrides old values of <emphasis>ifn</emphasis>. All these opcodes work at k-rate.
-    </para>
-    <para>
-      Negative values for <emphasis>kdstoffset</emphasis> are valid. Elements from the vector that are outside the table, will be discarded, and they will not wrap around the table.
-    </para>
-    <para>
-      If the optional <emphasis>kverbose</emphasis> argument is different to 0, the opcode will print warning messages every k-pass if table lengths are exceeded.
-    </para>
-    <para>
-      In all these opcodes, the resulting vectors are stored in <emphasis>ifn</emphasis>, overriding the intial vectors. If you want to keep initial vector, use <link linkend="vcopy"><citetitle>vcopy</citetitle></link> or <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link> to copy it in another table. All these operators are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link>, etc.  They can also be useful in conjunction with the spectral opcodes <link linkend="pvsftw"><citetitle>pvsftw</citetitle></link> and <link linkend="pvsftr"><citetitle>pvsftr</citetitle></link>.
-    </para>
-    <note>
-      <para>
-        Please note that the <emphasis>elements</emphasis> argument has changed in version 5.03 from i-rate to k-rate. This will change the opcode's behavior in the unusual cases where the i-rate variable <emphasis>ielements</emphasis> is changed inside the instrument, for example in:
-        <programlisting>
-    instr 1
-ielements = 10
-vadd 1, 1, ielements
-ielements = 20
-vadd 2, 1, ielements
-turnoff
-    endin</programlisting>
-      </para>
-    </note>
-  </refsect1>
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the vadd opcode. It uses the file <ulink url="examples/vadd.csd"><citetitle>vadd.csd</citetitle></ulink>.
-
-      <example>
-        <title>Example of the vadd opcode.</title>
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-<xi:include href="examples-xml/vadd.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>See also</title>
-    <para>
-      <link linkend="vadd_i"><citetitle>vadd_i</citetitle></link>, <link linkend="vmult"><citetitle>vmult</citetitle></link>, <link linkend="vpow"><citetitle>vpow</citetitle></link> and <link linkend="vexp"><citetitle>vexp</citetitle></link>.
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Credits</title>
-    <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
-    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
-  </refsect1>
+
+<refentry id="vadd">
+<indexterm id="IndexVadd"><primary>vadd</primary></indexterm>
+  <refentryinfo><title>Vectorial:Scalar operations</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>vadd</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>vadd</refname>
+    <refpurpose>
+      Adds a scalar value to a vector in a table.
+    </refpurpose>
+  </refnamediv>
+  
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Adds a scalar value to a vector in a table.
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>vadd</command>  ifn, kval, kelements [, kdstoffset] [, kverbose]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ifn</emphasis>  - number of the table hosting the vectorial signal to be processed
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kval</emphasis> - scalar value to be added
+    </para>
+    <para>
+      <emphasis>kelements</emphasis> - number of elements of the vector
+    </para>
+    <para>
+      <emphasis>kdstoffset</emphasis> - index offset for the destination table (Optional, default=0)
+    </para>
+    <para>
+      <emphasis>kverbose</emphasis> - Selects whether or not warnings are printed (Optional, default=0)
+    </para>
+    <para>
+      <emphasis>vadd</emphasis> adds the value of <emphasis>kval</emphasis> to each element of the vector contained in the table <emphasis>ifn</emphasis>, starting from table index <emphasis>kdstoffset</emphasis>. This enables you to process a specific section of a table by specifying the offset and the number of elements to be processed. Offset is counted starting from 0, so if no offset is specified (or set to 0), the table will be modified from the beginning.
+    </para>
+    <para>
+      Note that this opcode runs at k-rate so the value of <emphasis>kval</emphasis> is added every control period. Use with care or you will end up with very large numbers (or use <link linkend="vadd_i"><citetitle>vadd_i</citetitle></link>).
+    </para>
+    <para>
+      These opcodes (<link linkend="vadd"><citetitle>vadd</citetitle></link>, <link linkend="vmult"><citetitle>vmult</citetitle></link>, <link linkend="vpow"><citetitle>vpow</citetitle></link> and <link linkend="vexp"><citetitle>vexp</citetitle></link>) perform numeric operations between a vectorial control signal (hosted by the table <emphasis>ifn</emphasis>), and a scalar signal (<emphasis>kval</emphasis>). Result is a new vector that overrides old values of <emphasis>ifn</emphasis>. All these opcodes work at k-rate.
+    </para>
+    <para>
+      Negative values for <emphasis>kdstoffset</emphasis> are valid. Elements from the vector that are outside the table, will be discarded, and they will not wrap around the table.
+    </para>
+    <para>
+      If the optional <emphasis>kverbose</emphasis> argument is different to 0, the opcode will print warning messages every k-pass if table lengths are exceeded.
+    </para>
+    <para>
+      In all these opcodes, the resulting vectors are stored in <emphasis>ifn</emphasis>, overriding the intial vectors. If you want to keep initial vector, use <link linkend="vcopy"><citetitle>vcopy</citetitle></link> or <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link> to copy it in another table. All these operators are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link>, etc.  They can also be useful in conjunction with the spectral opcodes <link linkend="pvsftw"><citetitle>pvsftw</citetitle></link> and <link linkend="pvsftr"><citetitle>pvsftr</citetitle></link>.
+    </para>
+    <note>
+      <para>
+        Please note that the <emphasis>elements</emphasis> argument has changed in version 5.03 from i-rate to k-rate. This will change the opcode's behavior in the unusual cases where the i-rate variable <emphasis>ielements</emphasis> is changed inside the instrument, for example in:
+        <programlisting>
+    <emphasis role="oblock">instr</emphasis> 1
+ielements  <emphasis role="op">=</emphasis>        10
+           <emphasis role="opc">vadd</emphasis>     1, 1, ielements
+ielements  <emphasis role="op">=</emphasis>        20
+           <emphasis role="opc">vadd</emphasis>     2, 1, ielements
+           <emphasis role="opc">turnoff</emphasis>
+    <emphasis role="oblock">endin</emphasis></programlisting>
+      </para>
+    </note>
+  </refsect1>
+  
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the vadd opcode. It uses the file <ulink url="examples/vadd.csd"><citetitle>vadd.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the vadd opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/vadd.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>See also</title>
+    <para>
+      <link linkend="vadd_i"><citetitle>vadd_i</citetitle></link>, <link linkend="vmult"><citetitle>vmult</citetitle></link>, <link linkend="vpow"><citetitle>vpow</citetitle></link> and <link linkend="vexp"><citetitle>vexp</citetitle></link>.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
+    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
+  </refsect1>
 </refentry>
\ No newline at end of file
diff --git a/opcodes/vaddv.xml b/opcodes/vaddv.xml
index 7c0318a..871ffee 100644
--- a/opcodes/vaddv.xml
+++ b/opcodes/vaddv.xml
@@ -1,106 +1,105 @@
-
-<refentry id="vaddv">
-<indexterm id="IndexVaddv"><primary>vaddv</primary></indexterm>
-  <refentryinfo><title>Vectorial:Vectorial operations</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>vaddv</refentrytitle>
-  </refmeta>
-
-  <refnamediv>
-    <refname>vaddv</refname>
-    <refpurpose>
-     Performs addition between two vectorial control signals
-      
-    </refpurpose>
-  </refnamediv>
-  
-  <refsect1>
-    <title>Description</title>
-    <para>
-	Performs addition between two vectorial control signals
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis><command>vaddv</command>  ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [,kverbose]</synopsis>
-  </refsect1>
- 
-  <refsect1>
-    <title>Initialization</title>
-    <para>
-      <emphasis>ifn1</emphasis>  - number of the table hosting the first vector to be processed
-    </para>
-    <para>
-      <emphasis>ifn2</emphasis>  - number of the table hosting the second vector to be processed
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      <emphasis>kelements</emphasis> - number of elements of the two vectors
-    </para>
-    <para>
-      <emphasis>kdstoffset</emphasis> - index offset for the destination (ifn1) table (Default=0)
-    </para>
-    <para>
-      <emphasis>ksrcoffset</emphasis> - index offset for the source (ifn2) table (Default=0)
-    </para>
-    <para>
-      <emphasis>kverbose</emphasis> - Selects whether or not warnings are printed (Default=0)
-    </para>
-    <para>
-      <emphasis>vaddv</emphasis> adds two vectorial control signals, that is, each element of the first vector is processed (only) with the corresponding element of the other vector. Each vectorial signal is hosted by a table (ifn1 and ifn2). The number of elements contained in both vectors must be the same.
-    </para>
-    <para>
-      The result is a new vectorial control signal that overrides old values of ifn1. If you want to keep the old ifn1 vector, use <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link>opcode to copy it in another table. You can use <emphasis>kdstoffset</emphasis> and <emphasis>ksrcoffset</emphasis> to specify vectors in any location of the tables.
-    </para>
-    <para>
-      Negative values for <emphasis>kdstoffset</emphasis> and <emphasis>ksrcoffset</emphasis> are acceptable. If <emphasis>kdstoffset</emphasis> is negative, the out of range section of the vector will be discarded. If <emphasis>ksrcoffset</emphasis> is negative, the out of range elements will be assumed to be 0 (i.e. the destination elements will not be changed). If elements for the destination vector are beyond the size of the table (including guard point), these elements are discarded (i.e. elements do not wrap around the tables). If elements for the source vector are beyond the table length, these elements are taken as 0 (i.e. the destination vector will not be changed for these elements).
-    </para>
-    <warning>
-      <para>
-        Using the same table as source and destination table in versions earlier than 5.04, might produce unexpected behavior, so use with care.
-      </para>
-    </warning>
-    <para>
-      Please note that using the same table as source and destination table, might produce unexpected behavior so use with care.
-    </para>
-    <para>
-      This opcode works at k-rate (this means that every k-pass the vectors are added). There's an i-rate version of this opcode called <link linkend="vaddv_i"><citetitle>vaddv_i</citetitle></link>.
-    </para>
-    <note>
-      <para>
-        Please note that the <emphasis>elements</emphasis> argument has changed in version 5.03 from i-rate to k-rate. This will change the opcode's behavior in the unusual cases where the i-rate variable <emphasis>ielements</emphasis> is changed inside the instrument, for example in:
-        <programlisting>
-    instr 1
-ielements = 10
-vadd 1, 1, ielements
-ielements = 20
-vadd 2, 1, ielements
-turnoff
-    endin</programlisting>
-      </para>
-    </note>
-    <para>
-      All these operators (<link linkend="vaddv"><citetitle>vaddv</citetitle></link>,<link linkend="vsubv"><citetitle>vsubv</citetitle></link>,<link linkend="vmultv"><citetitle>vmultv</citetitle></link>,<link linkend="vdivv"><citetitle>vdivv</citetitle></link>,<link linkend="vpowv"><citetitle>vpowv</citetitle></link>,<link linkend="vexpv"><citetitle>vexpv</citetitle></link>, <link linkend="vcopy"><citetitle>vcopy</citetitle></link> and <link linkend="vmap"><citetitle>vmap</citetitle></link>) are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link> etc. 
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the vaddv opcode. It uses the file <ulink url="examples/vaddv.csd"><citetitle>vaddv.csd</citetitle></ulink>.
-
-      <example>
-        <title>Example of the vaddv opcode.</title>
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-<xi:include href="examples-xml/vaddv.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Credits</title>
-    <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
-    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
-  </refsect1>
+
+<refentry id="vaddv">
+<indexterm id="IndexVaddv"><primary>vaddv</primary></indexterm>
+  <refentryinfo><title>Vectorial:Vectorial operations</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>vaddv</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>vaddv</refname>
+    <refpurpose>
+      Performs addition between two vectorial control signals.
+    </refpurpose>
+  </refnamediv>
+  
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Performs addition between two vectorial control signals.
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>vaddv</command>  ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [,kverbose]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ifn1</emphasis>  - number of the table hosting the first vector to be processed
+    </para>
+    <para>
+      <emphasis>ifn2</emphasis>  - number of the table hosting the second vector to be processed
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kelements</emphasis> - number of elements of the two vectors
+    </para>
+    <para>
+      <emphasis>kdstoffset</emphasis> - index offset for the destination (<emphasis>ifn1</emphasis>) table (Default=0)
+    </para>
+    <para>
+      <emphasis>ksrcoffset</emphasis> - index offset for the source (<emphasis>ifn2</emphasis>) table (Default=0)
+    </para>
+    <para>
+      <emphasis>kverbose</emphasis> - Selects whether or not warnings are printed (Default=0)
+    </para>
+    <para>
+      <emphasis>vaddv</emphasis> adds two vectorial control signals, that is, each element of the first vector is processed (only) with the corresponding element of the other vector. Each vectorial signal is hosted by a table (<emphasis>ifn1</emphasis> and <emphasis>ifn2</emphasis>). The number of elements contained in both vectors must be the same.
+    </para>
+    <para>
+      The result is a new vectorial control signal that overrides old values of ifn1. If you want to keep the old ifn1 vector, use <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link>opcode to copy it in another table. You can use <emphasis>kdstoffset</emphasis> and <emphasis>ksrcoffset</emphasis> to specify vectors in any location of the tables.
+    </para>
+    <para>
+      Negative values for <emphasis>kdstoffset</emphasis> and <emphasis>ksrcoffset</emphasis> are acceptable. If <emphasis>kdstoffset</emphasis> is negative, the out of range section of the vector will be discarded. If <emphasis>ksrcoffset</emphasis> is negative, the out of range elements will be assumed to be 0 (i.e. the destination elements will not be changed). If elements for the destination vector are beyond the size of the table (including guard point), these elements are discarded (i.e. elements do not wrap around the tables). If elements for the source vector are beyond the table length, these elements are taken as 0 (i.e. the destination vector will not be changed for these elements).
+    </para>
+    <warning>
+      <para>
+        Using the same table as source and destination table in versions earlier than 5.04, might produce unexpected behavior, so use with care.
+      </para>
+    </warning>
+    <para>
+      This opcode works at k-rate (this means that every k-pass the vectors are added). There's an i-rate version of this opcode called <link linkend="vaddv_i"><citetitle>vaddv_i</citetitle></link>.
+    </para>
+    <note>
+      <para>
+        Please note that the <emphasis>elements</emphasis> argument has changed in version 5.03 from i-rate to k-rate. This will change the opcode's behavior in the unusual cases where the i-rate variable <emphasis>ielements</emphasis> is changed inside the instrument, for example in:
+        <programlisting>
+    <emphasis role="oblock">instr</emphasis> 1
+ielements  <emphasis role="op">=</emphasis>        10
+           <emphasis role="opc">vadd</emphasis>     1, 1, ielements
+ielements  <emphasis role="op">=</emphasis>        20
+           <emphasis role="opc">vadd</emphasis>     2, 1, ielements
+           <emphasis role="opc">turnoff</emphasis>
+    <emphasis role="oblock">endin</emphasis></programlisting>
+      </para>
+    </note>
+    <para>
+      All these operators (<link linkend="vaddv"><citetitle>vaddv</citetitle></link>,<link linkend="vsubv"><citetitle>vsubv</citetitle></link>,<link linkend="vmultv"><citetitle>vmultv</citetitle></link>,<link linkend="vdivv"><citetitle>vdivv</citetitle></link>,<link linkend="vpowv"><citetitle>vpowv</citetitle></link>,<link linkend="vexpv"><citetitle>vexpv</citetitle></link>, <link linkend="vcopy"><citetitle>vcopy</citetitle></link> and <link linkend="vmap"><citetitle>vmap</citetitle></link>) are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link> etc. 
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the vaddv opcode. It uses the file <ulink url="examples/vaddv.csd"><citetitle>vaddv.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the vaddv opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/vaddv.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Credits</title>
+    <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
+    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
+  </refsect1>
 </refentry>
\ No newline at end of file
diff --git a/opcodes/vaget.xml b/opcodes/vaget.xml
index 7cc95b0..cf1b70c 100644
--- a/opcodes/vaget.xml
+++ b/opcodes/vaget.xml
@@ -1,86 +1,90 @@
-<refentry id="vaget">
-<indexterm id="IndexAvarGet"><primary>vaget</primary></indexterm>
-  <refentryinfo><title>Signal Modifiers:Sample Level Operators</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>vaget</refentrytitle>
-  </refmeta>
-
-
-
-  <refnamediv>
-    <refname>vaget</refname>
-    <refpurpose>
-      Access values of the current buffer of an a-rate variable by indexing.
-    </refpurpose>
-  </refnamediv>
-
-  <refsect1>
-    <title>Description</title>
-    <para>
-      Access values of the current buffer of an a-rate variable by indexing.
-      Useful for doing sample-by-sample manipulation at k-rate without using
-      setksmps 1.
-
-      <note>
-        <title>Note</title>
-        <para>Because this opcode does not do any bounds checking, the user
-        must be careful not to try to read values past ksmps (the
-        size of a buffer for an a-rate variable) by using index values greater
-        than ksmps.</para>
-      </note>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis>kval <command>vaget</command> kndx, avar</synopsis>
-  </refsect1>
-
-
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      <emphasis>kval</emphasis> - value read from avar
-    </para>
-    <para>
-      <emphasis>kndx</emphasis> - index of the sample to read from the current
-      buffer of the given avar variable
-    </para>
-    <para>
-      <emphasis>avar</emphasis> - a-rate variable to read from
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the vaget opcode. It uses the file <ulink url="examples/vaget.csd"><citetitle>vaget.csd</citetitle></ulink>.
-
-      <example>
-        <title>Example of the vaget opcode.</title>
-
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/vaget.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>See Also</title>
-    <para>
-      <link linkend="vaset"><citetitle>vaset</citetitle></link>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Credits</title>
-    <para>
-      <simplelist>
-        <member>Author: Steven Yi</member>
-      </simplelist>
-    </para>
-
-    <para>New in version 5.04</para>
-    <para>September 2006.</para>
-  </refsect1>
-</refentry>
+<refentry id="vaget">
+<indexterm id="IndexAvarGet"><primary>vaget</primary></indexterm>
+  <refentryinfo><title>Signal Modifiers:Sample Level Operators</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>vaget</refentrytitle>
+  </refmeta>
+
+
+
+  <refnamediv>
+    <refname>vaget</refname>
+    <refpurpose>
+      Access values of the current buffer of an a-rate variable by indexing.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Access values of the current buffer of an a-rate variable by indexing.
+      Useful for doing sample-by-sample manipulation at k-rate without using
+      setksmps 1.
+
+      <note>
+        <title>Note</title>
+        <para>Because this opcode does not do any bounds checking, the user
+        must be careful not to try to read values past ksmps (the
+        size of a buffer for an a-rate variable) by using index values greater
+        than ksmps.</para>
+      </note>
+      <note>
+        <title>Note</title>
+        <para>In Csound6 this opcode does do bounds checking.</para>
+      </note>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>kval <command>vaget</command> kndx, avar</synopsis>
+  </refsect1>
+
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kval</emphasis> - value read from avar
+    </para>
+    <para>
+      <emphasis>kndx</emphasis> - index of the sample to read from the current
+      buffer of the given avar variable
+    </para>
+    <para>
+      <emphasis>avar</emphasis> - a-rate variable to read from
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the vaget opcode. It uses the file <ulink url="examples/vaget.csd"><citetitle>vaget.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the vaget opcode.</title>
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/vaget.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="vaset"><citetitle>vaset</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: Steven Yi</member>
+      </simplelist>
+    </para>
+
+    <para>New in version 5.04</para>
+    <para>September 2006.</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/valpass.xml b/opcodes/valpass.xml
index a7e1379..927d7c0 100644
--- a/opcodes/valpass.xml
+++ b/opcodes/valpass.xml
@@ -54,6 +54,25 @@
       This filter reiterates input with an echo density determined by loop time <emphasis>xlpt</emphasis>. The attenuation rate is independent and is determined by <emphasis>krvt</emphasis>, the reverberation time (defined as the time in seconds for a signal to decay to 1/1000, or 60dB down from its original amplitude). Its output will begin to appear immediately.
     </para>
   </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the valpass opcode. It uses the file <ulink url="examples/valpass.csd"><citetitle>valpass.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the valpass opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/valpass.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+        <para>
+      Here is another example of the valpass opcode. It uses the file <ulink url="examples/valpass-2.csd"><citetitle>valpass-2.csd</citetitle></ulink>.
+      <example>
+        <title>Second example of the valpass opcode.</title>
+	  <xi:include href="examples-xml/valpass-2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/vaset.xml b/opcodes/vaset.xml
index 3f95f42..e29b535 100644
--- a/opcodes/vaset.xml
+++ b/opcodes/vaset.xml
@@ -1,86 +1,90 @@
-<refentry id="vaset">
-<indexterm id="IndexAvarSet"><primary>vaset</primary></indexterm>
-  <refentryinfo><title>Signal Modifiers:Sample Level Operators</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>vaset</refentrytitle>
-  </refmeta>
-
-
-
-  <refnamediv>
-    <refname>vaset</refname>
-    <refpurpose>
-      Write value of into the current buffer of an a-rate variable by index.
-    </refpurpose>
-  </refnamediv>
-
-  <refsect1>
-    <title>Description</title>
-    <para>
-      Write values into the current buffer of an a-rate variable at the given
-      index.  Useful for doing sample-by-sample manipulation at k-rate without
-      using setksmps 1.
-
-      <note>
-        <title>Note</title>
-        <para>Because this opcode does not do any bounds checking, the user
-        must be careful not to try to write values past ksmps (the
-        size of a buffer for an a-rate variable) by using index values greater
-        than ksmps.</para>
-      </note>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis><command>vaset</command> kval, kndx, avar</synopsis>
-  </refsect1>
-
-
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      <emphasis>kval</emphasis> - value to write into avar
-    </para>
-    <para>
-      <emphasis>kndx</emphasis> - index of the sample to write to the current
-      buffer of the given avar variable
-    </para>
-    <para>
-      <emphasis>avar</emphasis> - a-rate variable to write to
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the vaset opcode. It uses the file <ulink url="examples/vaset.csd"><citetitle>vaset.csd</citetitle></ulink>.
-
-      <example>
-        <title>Example of the vaset opcode.</title>
-
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/vaset.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>See Also</title>
-    <para>
-      <link linkend="vaget"><citetitle>vaget</citetitle></link>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Credits</title>
-    <para>
-      <simplelist>
-        <member>Author: Steven Yi</member>
-      </simplelist>
-    </para>
-
-    <para>New in version 5.04</para>
-    <para>September 2006.</para>
-  </refsect1>
-</refentry>
+<refentry id="vaset">
+<indexterm id="IndexAvarSet"><primary>vaset</primary></indexterm>
+  <refentryinfo><title>Signal Modifiers:Sample Level Operators</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>vaset</refentrytitle>
+  </refmeta>
+
+
+
+  <refnamediv>
+    <refname>vaset</refname>
+    <refpurpose>
+      Write value of into the current buffer of an a-rate variable by index.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Write values into the current buffer of an a-rate variable at the given
+      index.  Useful for doing sample-by-sample manipulation at k-rate without
+      using setksmps 1.
+
+      <note>
+        <title>Note</title>
+        <para>Because this opcode does not do any bounds checking, the user
+        must be careful not to try to write values past ksmps (the
+        size of a buffer for an a-rate variable) by using index values greater
+        than ksmps.</para>
+      </note>
+      <note>
+        <title>Note</title>
+        <para>In Csound6 this opcode does do bounds checking.</para>
+      </note>
+     </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>vaset</command> kval, kndx, avar</synopsis>
+  </refsect1>
+
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kval</emphasis> - value to write into avar
+    </para>
+    <para>
+      <emphasis>kndx</emphasis> - index of the sample to write to the current
+      buffer of the given avar variable
+    </para>
+    <para>
+      <emphasis>avar</emphasis> - a-rate variable to write to
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the vaset opcode. It uses the file <ulink url="examples/vaset.csd"><citetitle>vaset.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the vaset opcode.</title>
+
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/vaset.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="vaget"><citetitle>vaget</citetitle></link>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: Steven Yi</member>
+      </simplelist>
+    </para>
+
+    <para>New in version 5.04</para>
+    <para>September 2006.</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/vbap.xml b/opcodes/vbap.xml
new file mode 100644
index 0000000..9851c0f
--- /dev/null
+++ b/opcodes/vbap.xml
@@ -0,0 +1,160 @@
+
+<refentry id="vbap">
+<indexterm id="IndexVbap"><primary>vbap</primary></indexterm>
+  <refentryinfo><title>Signal Modifiers:Panning and Spatialization</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>vbap</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>vbap</refname>
+    <refpurpose>
+      Distributes an audio signal among many channels.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Distributes an audio signal amongmany channels, up to 64 in the
+      first form, arbitrary in the second.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ar1[, ar2...] <command>vbap</command> asig, kazim [,
+    kelev] [, kspread] [, ilayout]</synopsis>
+    <synopsis>array[] <command>vbap</command> asig, kazim [,
+    kelev] [, kspread] [, ilayout]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ilayout</emphasis> -- index of the speaker layout in
+      the range 0-99, corresponding to a call to
+      <emphasis>vbaplsinit</emphasis>.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>asig</emphasis> -- audio signal to be panned
+    </para>
+    <para>
+      <emphasis>kazim</emphasis> -- azimuth angle of the virtual source
+    </para>
+
+    <para>
+      <emphasis>kelev</emphasis> (optional) -- elevation angle of the virtual source
+    </para>
+
+    <para>
+      <emphasis>kspread</emphasis> (optional) -- spreading of the
+      virtual source (range 0 - 100).  If value is zero, conventional
+      amplitude panning is used. When <emphasis>kspread</emphasis> is
+      increased, the number of loudspeakers used in panning
+      increases. If value is 100, the sound is applied to all
+      loudspeakers. 
+    </para>
+
+    <para>
+      <emphasis>vbap</emphasis> takes an input signal,
+      <emphasis>asig</emphasis> and distributes it among the outputs,
+      according to the controls <emphasis>kazim</emphasis> and
+      <emphasis>kelev</emphasis>, and the configured loudspeaker
+      placement.  If <emphasis>idim</emphasis> = 2,
+      <emphasis>kelev</emphasis> is set to zero. The distribution is
+      performed using Vector Base Amplitude Panning (VBAP - See
+      reference).  VBAP distributes the signal using loudspeaker data
+      configured with <emphasis>vbaplsinit</emphasis>. The signal is
+      applied to, at most, two loudspeakers in 2-D loudspeaker
+      configurations, and three loudspeakers in 3-D loudspeaker
+      configurations. If the virtual source is panned outside the
+      region spanned by loudspeakers, the nearest loudspeakers are
+      used in panning.
+    </para>
+    <warning>
+      <para>Please note that all <emphasis>vbap</emphasis> panning opcodes require the <emphasis>vbap</emphasis> system to be initialized using <link linkend="vbaplsinit"><citetitle>vbaplsinit</citetitle></link>.</para>
+    </warning>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      See the entry for <link linkend="vbap8"><citetitle>vbap8</citetitle></link> for an example of usage of the <emphasis>vbap</emphasis> opcodes.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Reference</title>
+    <para>
+      Ville Pulkki: <quote>Virtual Sound Source Positioning Using Vector Base Amplitude Panning</quote> <emphasis>Journal of the Audio Engineering Society</emphasis>, 1997 June, Vol. 45/6, p. 456.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the vbap opcode. It uses the file <ulink url="examples/vbap.csd"><citetitle>vbap.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the vbap opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/vbap.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+        Its output should include lines like these:
+      <screen>
+spread of source = 0
+spread of source = 8
+spread of source = 17
+spread of source = 25
+spread of source = 33
+spread of source = 42
+spread of source = 50
+spread of source = 58
+spread of source = 67
+spread of source = 75
+spread of source = 83
+spread of source = 92
+spread of source = 100
+      </screen>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="vbapmove"><citetitle>vbapmove</citetitle></link>,
+      <link linkend="vbap16"><citetitle>vbap16</citetitle></link>,
+      <link linkend="vbap16move"><citetitle>vbap16move</citetitle></link>,
+      <link linkend="vbap4"><citetitle>vbap4</citetitle></link>,
+      <link linkend="vbap4move"><citetitle>vbap4move</citetitle></link>,
+      <link linkend="vbap8"><citetitle>vbap8</citetitle></link>,
+      <link linkend="vbap8move"><citetitle>vbap8move</citetitle></link>,
+      <link linkend="vbaplsinit"><citetitle>vbaplsinit</citetitle></link>,
+      <link linkend="vbapz"><citetitle>vbapz</citetitle></link>,
+      <link linkend="vbapzmove"><citetitle>vbapzmove</citetitle></link>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: Ville Pulkki</member>
+        <member>Sibelius Academy Computer Music Studio</member>
+        <member>Laboratory of Acoustics and Audio Signal Processing</member>
+        <member>Helsinki University of Technology</member>
+        <member>Helsinki, Finland</member>
+        <member>May 2000</member>
+        <member>Author: &namejohn;</member>
+        <member>July 2012, Sept 2013</member>
+       </simplelist>
+    </para>
+
+    <para>New in Csound Version 5.17.13. </para>
+    <para>Array version new in Csound Version 6.01. </para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/vbap4.xml b/opcodes/vbap4.xml
index 2a59102..7652c76 100644
--- a/opcodes/vbap4.xml
+++ b/opcodes/vbap4.xml
@@ -67,6 +67,34 @@
       Ville Pulkki: <quote>Virtual Sound Source Positioning Using Vector Base Amplitude Panning</quote> <emphasis>Journal of the Audio Engineering Society</emphasis>, 1997 June, Vol. 45/6, p. 456.
     </para>
   </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the vbap4 opcode. It uses the file <ulink url="examples/vbap4.csd"><citetitle>vbap4.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the vbap4 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/vbap4.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+        Its output should include lines like these:
+      <screen>
+spread of source = 0
+spread of source = 8
+spread of source = 17
+spread of source = 25
+spread of source = 33
+spread of source = 42
+spread of source = 50
+spread of source = 58
+spread of source = 67
+spread of source = 75
+spread of source = 83
+spread of source = 92
+spread of source = 100
+      </screen>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/vbap4move.xml b/opcodes/vbap4move.xml
index a97cb58..4bd8380 100644
--- a/opcodes/vbap4move.xml
+++ b/opcodes/vbap4move.xml
@@ -79,6 +79,18 @@
       Ville Pulkki: <quote>Virtual Sound Source Positioning Using Vector Base Amplitude Panning</quote> <emphasis>Journal of the Audio Engineering Society</emphasis>, 1997 June, Vol. 45/6, p. 456.
     </para>
   </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the vbap4move opcode. It uses the file <ulink url="examples/vbap4move.csd"><citetitle>vbap4move.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the vbap4move opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/vbap4move.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>See Also</title>
diff --git a/opcodes/vbapg.xml b/opcodes/vbapg.xml
new file mode 100644
index 0000000..29a7f7c
--- /dev/null
+++ b/opcodes/vbapg.xml
@@ -0,0 +1,154 @@
+
+<refentry id="vbapg">
+<indexterm id="IndexVbapg"><primary>vbapg</primary></indexterm>
+  <refentryinfo><title>Signal Modifiers:Panning and Spatialization</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>vbapg</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>vbapg</refname>
+    <refpurpose>
+      Calculates the gains for a sound location between multiple channels.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Calculates the gains for a sound location for up to 64.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>k1[, k2...] <command>vbapg</command> kazim [,kelev] [, kspread] [, ilayout]</synopsis>
+    <synopsis>karray[] <command>vbapg</command> kazim [,kelev] [, kspread] [, ilayout]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ilayout</emphasis> -- index of the speaker layout in
+      the range 0-99, corresponding to a call to
+      <emphasis>vbaplsinit</emphasis>.  The default value is 0.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kazim</emphasis> -- azimuth angle of the virtual source
+    </para>
+
+    <para>
+      <emphasis>kelev</emphasis> (optional) -- elevation angle of the virtual source
+    </para>
+
+    <para>
+      <emphasis>kspread</emphasis> (optional) -- spreading of the
+      virtual source (range 0 - 100).  If value is zero, conventional
+      amplitude panning is used. When <emphasis>kspread</emphasis> is
+      increased, the number of loudspeakers used in panning
+      increases. If value is 100, the sound is applied to all
+      loudspeakers. 
+    </para>
+
+    <para>
+      <emphasis>vbapg</emphasis> calculates the gains that an input
+      signal would have between multiple speakers
+      according to the controls <emphasis>kazim</emphasis> and
+      <emphasis>kelev</emphasis>, and the configured loudspeaker
+      placement <emphasis>ilayout</emphasis>.  If <emphasis>idim</emphasis> = 2,
+      <emphasis>kelev</emphasis> is set to zero. The distribution is
+      performed using Vector Base Amplitude Panning (VBAP - See
+      reference).  VBAP distributes the signal using loudspeaker data
+      configured with <emphasis>vbaplsinit</emphasis>. The signal is
+      applied to, at most, two loudspeakers in 2-D loudspeaker
+      configurations, and three loudspeakers in 3-D loudspeaker
+      configurations. If the virtual source is panned outside the
+      region spanned by loudspeakers, the nearest loudspeakers are
+      used in panning.
+    </para>
+    <warning>
+      <para>Please note that all <emphasis>vbap</emphasis> panning opcodes require the <emphasis>vbap</emphasis> system to be initialized using <link linkend="vbaplsinit"><citetitle>vbaplsinit</citetitle></link>.</para>
+    </warning>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Reference</title>
+    <para>
+      Ville Pulkki: <quote>Virtual Sound Source Positioning Using Vector Base Amplitude Panning</quote> <emphasis>Journal of the Audio Engineering Society</emphasis>, 1997 June, Vol. 45/6, p. 456.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the vbapg opcode. It uses the file <ulink url="examples/vbapg.csd"><citetitle>vbapg.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the vbapg opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/vbapg.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+        Its output should include lines like these:
+      <screen>
+spread of source = 0
+spread of source = 8
+spread of source = 17
+spread of source = 25
+spread of source = 33
+spread of source = 42
+spread of source = 50
+spread of source = 58
+spread of source = 67
+spread of source = 75
+spread of source = 83
+spread of source = 92
+spread of source = 100
+      </screen>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="vbap"><citetitle>vbap</citetitle></link>,
+      <link linkend="vbapmove"><citetitle>vbapmove</citetitle></link>,
+      <link linkend="vbap4"><citetitle>vbap4</citetitle></link>,
+      <link linkend="vbap4move"><citetitle>vbap4move</citetitle></link>,
+      <link linkend="vbap8"><citetitle>vbap8</citetitle></link>,
+      <link linkend="vbap8move"><citetitle>vbap8move</citetitle></link>,
+      <link linkend="vbap16"><citetitle>vbap16</citetitle></link>,
+      <link linkend="vbap16move"><citetitle>vbap16move</citetitle></link>,
+      <link linkend="vbaplsinit"><citetitle>vbaplsinit</citetitle></link>,
+      <link linkend="vbapz"><citetitle>vbapz</citetitle></link>,
+      <link linkend="vbapzmove"><citetitle>vbapzmove</citetitle></link>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: Ville Pulkki</member>
+        <member>Sibelius Academy Computer Music Studio</member>
+        <member>Laboratory of Acoustics and Audio Signal Processing</member>
+        <member>Helsinki University of Technology</member>
+        <member>Helsinki, Finland</member>
+        <member>May 2000</member>
+        <member>Author: &namejohn;</member>
+        <member>July 2012, Sept 2013</member>
+       </simplelist>
+    </para>
+
+    <para>New in Csound Version 5.17.13. </para>
+    <para>Array version new in Csound Version 6.01. </para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/vbapgmove.xml b/opcodes/vbapgmove.xml
new file mode 100644
index 0000000..e7ba7d0
--- /dev/null
+++ b/opcodes/vbapgmove.xml
@@ -0,0 +1,131 @@
+
+<refentry id="vbapgmove">
+<indexterm id="IndexVbapgmove"><primary>vbapgmove</primary></indexterm>
+  <refentryinfo><title>Signal Modifiers:Panning and Spatialization</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>vbapgmove</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>vbapgmove</refname>
+    <refpurpose>
+      Calculates the gains for a sound location between multiple
+      channels with moving virtual sources. 
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Calculates the gains for a sound location between multiple
+      channels with moving virtual sources.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>kr1[, kr2...] <command>vbapgmove</command> idur, ispread, ifldnum, ifld1 \
+      [, ifld2] [...]</synopsis>
+    <synopsis>karray[] <command>vbapgmove</command> idur, ispread, ifldnum, ifld1 \
+      [, ifld2] [...]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>idur</emphasis> -- the duration over which the
+    movement takes place.
+    </para>
+    <para>
+      <emphasis>ispread</emphasis> -- spreading of the virtual source
+    (range 0 - 100).  If value is zero, conventional amplitude panning
+    is used. When <emphasis>ispread</emphasis> is increased, the
+    number of loudspeakers used in panning increases. If value is 100,
+    the sound is applied to all loudspeakers. 
+    </para>
+
+    <para>
+      <emphasis>ifldnum</emphasis> -- number of fields (absolute value must be 2 or larger). If <emphasis>ifldnum</emphasis> is positive, the virtual source movement is a polyline specified by given directions. Each transition is performed in an equal time interval. If <emphasis>ifldnum</emphasis> is negative, specified angular velocities are applied to the virtual source during specified relative time intervals (see below).
+    </para>
+
+    <para>
+      <emphasis>ifld1, ifld2, ...</emphasis> -- azimuth angles or angular velocities, and relative durations of movement phases (see below).
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+
+    <para>
+      <emphasis>vbapgmove</emphasis> allows the use of moving virtual sources. If <emphasis>ifldnum</emphasis> is positive, the fields represent directions of virtual sources and equal times, <emphasis>iazi1</emphasis>, [<emphasis>iele1</emphasis>,] <emphasis>iazi2</emphasis>, [<emphasis>iele2</emphasis>,], etc.  The position of the virtual source is interpolated between directions starting from the first direction and ending at the last. Each interval is interpolated in time that is fraction total_time / number_of_intervals of the duration of the sound event.
+    </para>
+
+    <para>
+      If <emphasis>ifldnum</emphasis> is negative, the fields represent angular velocities and equal times. The first field is, however, the starting direction, <emphasis>iazi1</emphasis>, [<emphasis>iele1</emphasis>,] <emphasis>iazi_vel1</emphasis>, [<emphasis>iele_vel1</emphasis>,] <emphasis>iazi_vel2</emphasis>, [<emphasis>iele_vel2</emphasis>,] .... Each velocity is applied to the note that is fraction total_time / number_of_velocities of the duration of the sound event.  If the elevation of the virtual source becomes greater than 90 degrees or less than 0 degrees, the polarity of angular velocity is changed. Thus the elevational angular velocity produces a virtual source that moves up and down between 0 and 90 degrees.
+    </para>
+    <warning>
+      <para>Please note that all <emphasis>vbap</emphasis> panning opcodes require the <emphasis>vbap</emphasis> system to be initialized using <link linkend="vbaplsinit"><citetitle>vbaplsinit</citetitle></link>.</para>
+    </warning>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the vbapgmove opcode. It uses the file
+      <ulink
+          url="examples/vbapgmove.csd"><citetitle>vbapgmove.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the vbapg opcode.</title>
+        <para>See the sections <link
+        linkend="UsingRealTime"><citetitle>Real-time
+        Audio</citetitle></link> and <link
+        linkend="CommandFlags"><citetitle>Command Line
+        Flags</citetitle></link> for more information on using command
+        line flags.
+        </para> 
+        <xi:include href="examples-xml/vbapgmove.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>Reference</title>
+    <para>
+      Ville Pulkki: <quote>Virtual Sound Source Positioning Using Vector Base Amplitude Panning</quote> <emphasis>Journal of the Audio Engineering Society</emphasis>, 1997 June, Vol. 45/6, p. 456.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>See Also</title>
+    <para>
+     <link linkend="vbap"><citetitle>vbap</citetitle></link>,
+      <link linkend="vbap16"><citetitle>vbap16</citetitle></link>,
+      <link linkend="vbap16move"><citetitle>vbap16move</citetitle></link>,
+      <link linkend="vbap4"><citetitle>vbap4</citetitle></link>,
+      <link linkend="vbap4move"><citetitle>vbap4move</citetitle></link>,
+      <link linkend="vbap8"><citetitle>vbap8</citetitle></link>,
+      <link linkend="vbap8move"><citetitle>vbap8move</citetitle></link>,
+      <link linkend="vbaplsinit"><citetitle>vbaplsinit</citetitle></link>,
+      <link linkend="vbapz"><citetitle>vbapz</citetitle></link>,
+      <link linkend="vbapzmove"><citetitle>vbapzmove</citetitle></link>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: Ville Pulkki</member>
+        <member>Sibelius Academy Computer Music Studio</member>
+        <member>Laboratory of Acoustics and Audio Signal Processing</member>
+        <member>Helsinki University of Technology</member>
+        <member>Helsinki, Finland</member>
+        <member>May 2000</member>
+        <member>Author: &namejohn;</member>
+        <member>July 2012, Sept 2013</member>
+      </simplelist>
+    </para>
+
+    <para>New in Csound Version 5.17.13</para>
+    <para>Array outputs new in Csound Version 6.01</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/vbaplsinit.xml b/opcodes/vbaplsinit.xml
index bcd942b..194e70c 100644
--- a/opcodes/vbaplsinit.xml
+++ b/opcodes/vbaplsinit.xml
@@ -28,15 +28,35 @@
   <refsect1>
     <title>Initialization</title>
     <para>
-      <emphasis>idim</emphasis> -- dimensionality of loudspeaker array. Either 2 or 3.
+      <emphasis>idim</emphasis> -- dimensionality of loudspeaker
+      array. Either 2 or 3.  If the dimension has a fractional part
+      then that is used as the index of the layout created (used in
+      <emphasis>vbap</emphasis>, <emphasis>vbapz</emphasis> and
+      <emphasis>vbapg</emphasis> only).  The factional part should be
+      between .00 and .99.
     </para>
 
     <para>
-      <emphasis>ilsnum</emphasis> -- number of loudspeakers. In two dimensions, the number can vary from 2 to 16. In three dimensions, the number can vary from 3 and 16.
+      <emphasis>ilsnum</emphasis> -- number of loudspeakers. In two
+      dimensions, the number can vary from 2 to 64. In three
+      dimensions, the number can vary from 3 and 64.
     </para>
 
     <para>
-      <emphasis>idir1, idir2, ..., idir32</emphasis> -- directions of loudspeakers. Number of directions must be less than or equal to 16. In two-dimensional loudspeaker positioning, <emphasis>idir</emphasis>n is the azimuth angle respective to <emphasis>n</emphasis>th channel.  In three-dimensional loudspeaker positioning, fields are the azimuth and elevation angles of each loudspeaker consequently (<emphasis>azi1</emphasis>, <emphasis>ele1</emphasis>, <emphasis>azi2</emphasis>, <emphasis>ele2</emphasis>, etc.).
+      <emphasis>idir1, idir2, ..., idir32</emphasis> -- directions of
+      loudspeakers. Number of directions must be less than or equal to
+      16. In two-dimensional loudspeaker positioning,
+      <emphasis>idir</emphasis>n is the azimuth angle respective to
+      <emphasis>n</emphasis>th channel.  In three-dimensional
+      loudspeaker positioning, fields are the azimuth and elevation
+      angles of each loudspeaker consequently
+      (<emphasis>azi1</emphasis>, <emphasis>ele1</emphasis>,
+      <emphasis>azi2</emphasis>, <emphasis>ele2</emphasis>, etc.).
+    </para>
+    <para>
+      <note> In 2 dimensions the angle between two adjacent speakers
+      must be less than 179 degrees (170 degrees in earlier versions).
+      This is a restriction of the algorithm.</note>
     </para>
   </refsect1>
  
@@ -50,28 +70,13 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      See the entry for <link linkend="vbap8move"><citetitle>vbap8move</citetitle></link> and <link linkend="vbap8"><citetitle>vbap8</citetitle></link> for examples of usage of the <emphasis>vbap</emphasis> opcodes.
-<!--      <example>
-        <title>2-D panning example with stationary virtual sources</title>
-        <programlisting>
-  <emphasis>sr</emphasis>      =          4100
-  <emphasis>kr</emphasis>      =           441
-  <emphasis>ksmps</emphasis>   =           100
-  <emphasis>nchnls</emphasis>  =             4
-  <emphasis>vbaplsinit</emphasis>         2, 6,  0, 45, 90, 135, 200, 245, 290, 315 
-
-          <emphasis>instr</emphasis> 1	           
-  asig    <emphasis>oscil</emphasis>      20000, 440, 1                    
-  a1,a2,a3,a4,a5,a6,a7,a8   <emphasis>vbap8</emphasis>  asig, p4, 0, 20 ;p4 = azimuth
-	
-  ;render twice with alternate <emphasis>outq</emphasis> statements
-  ;  to obtain two 4 channel .wav files:
-
-          <emphasis>outq</emphasis>       a1,a2,a3,a4
-  ;       <emphasis>outq</emphasis>       a5,a6,a7,a8
-          <emphasis>endin</emphasis>
-        </programlisting>
-      </example>-->
+      Here is an example of the vbaplsinit opcode. It uses the file <ulink url="examples/vbaplsinit.csd"><citetitle>vbaplsinit.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the vbaplsinit opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/vbaplsinit.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+      See the other entries of the vbap opcodes for different examples.
     </para>
   </refsect1>
  
@@ -85,12 +90,14 @@
   <refsect1>
     <title>See Also</title>
     <para>
-      <link linkend="vbap16"><citetitle>vbap16</citetitle></link>,
-      <link linkend="vbap16move"><citetitle>vbap16move</citetitle></link>,
+      <link linkend="vbap"><citetitle>vbap</citetitle></link>,
+      <link linkend="vbapg"><citetitle>vbapg</citetitle></link>,
       <link linkend="vbap4"><citetitle>vbap4</citetitle></link>,
       <link linkend="vbap4move"><citetitle>vbap4move</citetitle></link>,
       <link linkend="vbap8"><citetitle>vbap8</citetitle></link>,
       <link linkend="vbap8move"><citetitle>vbap8move</citetitle></link>,
+      <link linkend="vbap16"><citetitle>vbap16</citetitle></link>,
+      <link linkend="vbap16move"><citetitle>vbap16move</citetitle></link>,
       <link linkend="vbapz"><citetitle>vbapz</citetitle></link>,
       <link linkend="vbapzmove"><citetitle>vbapzmove</citetitle></link>
     </para>
@@ -110,5 +117,6 @@
     </para>
 
     <para>New in Csound Version 4.07</para>
+    <para>Multiple layouts new ib version 5.17.14</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/vbapmove.xml b/opcodes/vbapmove.xml
new file mode 100644
index 0000000..fad675c
--- /dev/null
+++ b/opcodes/vbapmove.xml
@@ -0,0 +1,132 @@
+
+<refentry id="vbapmove">
+<indexterm id="IndexVbapmove"><primary>vbapmove</primary></indexterm>
+  <refentryinfo><title>Signal Modifiers:Panning and Spatialization</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>vbapmove</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>vbapmove</refname>
+    <refpurpose>
+      Distributes an audio signal among many channels with moving virtual sources.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Distributes an audio signal among upto 64 channels with moving
+      virtual sources.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ar1[, ar2...] <command>vbapmove</command> asig, idur, ispread, ifldnum, ifld1 \
+      [, ifld2] [...]</synopsis>
+    <synopsis>aarray[] <command>vbapmove</command> asig, idur, ispread, ifldnum, ifld1 \
+      [, ifld2] [...]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>idur</emphasis> -- the duration over which the
+    movement takes place.
+    </para>
+    <para>
+      <emphasis>ispread</emphasis> -- spreading of the virtual source
+    (range 0 - 100).  If value is zero, conventional amplitude panning
+    is used. When <emphasis>ispread</emphasis> is increased, the
+    number of loudspeakers used in panning increases. If value is 100,
+    the sound is applied to all loudspeakers. 
+    </para>
+
+    <para>
+      <emphasis>ifldnum</emphasis> -- number of fields (absolute value must be 2 or larger). If <emphasis>ifldnum</emphasis> is positive, the virtual source movement is a polyline specified by given directions. Each transition is performed in an equal time interval. If <emphasis>ifldnum</emphasis> is negative, specified angular velocities are applied to the virtual source during specified relative time intervals (see below).
+    </para>
+
+    <para>
+      <emphasis>ifld1, ifld2, ...</emphasis> -- azimuth angles or angular velocities, and relative durations of movement phases (see below).
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>asig</emphasis> -- audio signal to be panned
+    </para>
+
+    <para>
+      <emphasis>vbapmove</emphasis> allows the use of moving virtual sources. If <emphasis>ifldnum</emphasis> is positive, the fields represent directions of virtual sources and equal times, <emphasis>iazi1</emphasis>, [<emphasis>iele1</emphasis>,] <emphasis>iazi2</emphasis>, [<emphasis>iele2</emphasis>,], etc.  The position of the virtual source is interpolated between directions starting from the first direction and ending at the last. Each interval is interpolated in time that is fraction total_time / number_of_intervals of the duration of the sound event.
+    </para>
+
+    <para>
+      If <emphasis>ifldnum</emphasis> is negative, the fields represent angular velocities and equal times. The first field is, however, the starting direction, <emphasis>iazi1</emphasis>, [<emphasis>iele1</emphasis>,] <emphasis>iazi_vel1</emphasis>, [<emphasis>iele_vel1</emphasis>,] <emphasis>iazi_vel2</emphasis>, [<emphasis>iele_vel2</emphasis>,] .... Each velocity is applied to the note that is fraction total_time / number_of_velocities of the duration of the sound event.  If the elevation of the virtual source becomes greater than 90 degrees or less than 0 degrees, the polarity of angular velocity is changed. Thus the elevational angular velocity produces a virtual source that moves up and down between 0 and 90 degrees.
+    </para>
+    <warning>
+      <para>Please note that all <emphasis>vbap</emphasis> panning opcodes require the <emphasis>vbap</emphasis> system to be initialized using <link linkend="vbaplsinit"><citetitle>vbaplsinit</citetitle></link>.</para>
+    </warning>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      See the entry for <link linkend="vbap8move"><citetitle>vbap8move</citetitle></link> for an example of usage of the <emphasis>vbapXmove</emphasis> opcodes.
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>Reference</title>
+    <para>
+      Ville Pulkki: <quote>Virtual Sound Source Positioning Using Vector Base Amplitude Panning</quote> <emphasis>Journal of the Audio Engineering Society</emphasis>, 1997 June, Vol. 45/6, p. 456.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the vbapmove opcode. It uses the file <ulink url="examples/vbapmove.csd"><citetitle>vbapmove.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the vbapmove opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/vbapmove.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+     <link linkend="vbap"><citetitle>vbap</citetitle></link>,
+      <link linkend="vbap16"><citetitle>vbap16</citetitle></link>,
+      <link linkend="vbap16move"><citetitle>vbap16move</citetitle></link>,
+      <link linkend="vbap4"><citetitle>vbap4</citetitle></link>,
+      <link linkend="vbap4move"><citetitle>vbap4move</citetitle></link>,
+      <link linkend="vbap8"><citetitle>vbap8</citetitle></link>,
+      <link linkend="vbap8move"><citetitle>vbap8move</citetitle></link>,
+      <link linkend="vbaplsinit"><citetitle>vbaplsinit</citetitle></link>,
+      <link linkend="vbapz"><citetitle>vbapz</citetitle></link>,
+      <link linkend="vbapzmove"><citetitle>vbapzmove</citetitle></link>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: Ville Pulkki</member>
+        <member>Sibelius Academy Computer Music Studio</member>
+        <member>Laboratory of Acoustics and Audio Signal Processing</member>
+        <member>Helsinki University of Technology</member>
+        <member>Helsinki, Finland</member>
+        <member>May 2000</member>
+        <member>Author: &namejohn;</member>
+        <member>July 2012, Sept 2013</member>
+      </simplelist>
+    </para>
+
+    <para>New in Csound Version 5.17.13</para>
+    <para>Array outputs new in Csound Version 6.01</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/vco2ift.xml b/opcodes/vco2ift.xml
index dd48ad1..6542f6a 100644
--- a/opcodes/vco2ift.xml
+++ b/opcodes/vco2ift.xml
@@ -62,6 +62,27 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the vco2ift opcode. It uses the file <ulink url="examples/vco2ift.csd"><citetitle>vco2ift.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the vco2ift opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/vco2ift.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+      Its output should include a line like these:
+      <screen>
+instr 1:  ifn = 22.000
+instr 1:  ifn = 8.000
+instr 1:  ifn = 3.000
+      </screen>
+    </para>
+    <para>
+      See the example for the <link linkend="vco2"><citetitle>vco2</citetitle></link> opcode too.
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="vco2ft"><citetitle>vco2ft</citetitle></link>,
diff --git a/opcodes/vco2init.xml b/opcodes/vco2init.xml
index cbb41cc..3655047 100644
--- a/opcodes/vco2init.xml
+++ b/opcodes/vco2init.xml
@@ -115,7 +115,29 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      See the example for the <link linkend="vco2"><citetitle>vco2</citetitle></link> opcode.
+      Here is an example of the vco2init opcode. It uses the file <ulink url="examples/vco2init.csd"><citetitle>vco2init.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the vco2init opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/vco2init.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+      Its output should include a line like these:
+      <screen>
+ i   1 time     0.00002:   103.00000
+ i   1 time     0.10000:   103.00000
+ i   1 time     0.20000:   103.00000
+ i   1 time     0.30002:   103.00000
+ i   1 time     0.40000:   104.00000
+ i   1 time     0.50000:   104.00000
+.......
+......
+ i   1 time     4.80002:   135.00000
+ i   1 time     4.90000:   136.00000
+ i   1 time     5.00000:   138.00000
+      </screen>
+    </para>
+    <para>
+      See the example for the <link linkend="vco2"><citetitle>vco2</citetitle></link> opcode too.
     </para>
   </refsect1>
 
diff --git a/opcodes/vcopy.xml b/opcodes/vcopy.xml
index 097216b..0ddedcd 100644
--- a/opcodes/vcopy.xml
+++ b/opcodes/vcopy.xml
@@ -1,105 +1,104 @@
-
-<refentry id="vcopy">
-<indexterm id="IndexVcopy"><primary>vcopy</primary></indexterm>
-  <refentryinfo><title>Vectorial:Vectorial operations</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>vcopy</refentrytitle>
-  </refmeta>
-
-  <refnamediv>
-    <refname>vcopy</refname>
-    <refpurpose>
-     Copies between two vectorial control signals
-    </refpurpose>
-  </refnamediv>
-
-  <refsect1>
-    <title>Description</title>
-    <para>
-	Copies between two vectorial control signals
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis><command>vcopy</command>  ifn, ifn2, kelements [, kdstoffset] [, ksrcoffset] [, kverbose]</synopsis>
-  </refsect1>
-
-  <refsect1>
-    <title>Initialization</title>
-    <para>
-      <emphasis>ifn1</emphasis>  - number of the table where the vectorial signal will be copied (destination)
-    </para>
-    <para>
-      <emphasis>ifn2</emphasis>  - number of the table hosting the vectorial signal to be copied (source)
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      <emphasis>kelements</emphasis> - number of elements of the vector
-    </para>
-    <para>
-      <emphasis>kdstoffset</emphasis> - index offset for the destination (ifn1) table (Default=0)
-    </para>
-    <para>
-      <emphasis>ksrcoffset</emphasis> - index offset for the source (ifn2) table (Default=0)
-    </para>
-    <para>
-      <emphasis>kverbose</emphasis> - Selects whether or not warnings are printed (Default=0)
-    </para>
-    <para>
-      <emphasis>vcopy</emphasis> copies <emphasis>kelements</emphasis> elements from <emphasis>ifn2</emphasis> (starting from position <emphasis>isrcoffset</emphasis>) to <emphasis>ifn1</emphasis> (starting from position <emphasis>idstoffset</emphasis>). Useful to keep old vector values, by storing them in another table.
-    </para>
-    <para>
-      Negative values for <emphasis>kdstoffset</emphasis> and <emphasis>ksrcoffset</emphasis> are acceptable. If <emphasis>kdstoffset</emphasis> is negative, the out of range section of the vector will be discarded. If <emphasis>kdstoffset</emphasis> is negative, the out of range elements will be assumed to be 1 (i.e. the destination elements will not be changed). If elements for the destination vector are beyond the size of the table (including guard point), these elements are discarded (i.e. elements do not wrap around the tables). If elements for the source vector are beyond the table length, these elements are taken as 1 (i.e. the destination vector will not be changed for these elements).
-    </para>
-    <para>
-      If the optional <emphasis>kverbose</emphasis> argument is different to 0, the opcode will print warning messages every k-pass if table lengths are exceeded.
-    </para>
-    <warning>
-      <para>
-        Using the same table as source and destination table in versions earlier than 5.04, might produce unexpected behavior, so use with care.
-      </para>
-    </warning>
-    <para>
-      This opcode works at k-rate (this means that every k-pass the vectors are copied). There's an i-rate version of this opcode called <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link>.
-    </para>
-    <note>
-      <para>
-        Please note that the <emphasis>elements</emphasis> argument has changed in version 5.03 from i-rate to k-rate. This will change the opcode's behavior in the unusual cases where the i-rate variable <emphasis>ielements</emphasis> is changed inside the instrument, for example in:
-        <programlisting>
-    instr 1
-ielements = 10
-vadd 1, 1, ielements
-ielements = 20
-vadd 2, 1, ielements
-turnoff
-    endin</programlisting>
-      </para>
-    </note>
-    <para>
-      All these operators (<link linkend="vaddv"><citetitle>vaddv</citetitle></link>,<link linkend="vsubv"><citetitle>vsubv</citetitle></link>,<link linkend="vmultv"><citetitle>vmultv</citetitle></link>,<link linkend="vdivv"><citetitle>vdivv</citetitle></link>,<link linkend="vpowv"><citetitle>vpowv</citetitle></link>,<link linkend="vexp"><citetitle>vexp</citetitle></link>, <link linkend="vcopy"><citetitle>vcopy</citetitle></link> and <link linkend="vmap"><citetitle>vmap</citetitle></link>) are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link> etc. 
-    </para>
-        <para><emphasis>Note:</emphasis> bmscan not yet available on Canonical Csound</para>
-  </refsect1>
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the vcopy opcode. It uses the file <ulink url="examples/vcopy.csd"><citetitle>vcopy.csd</citetitle></ulink>.
-
-      <example>
-        <title>Example of the vcopy opcode.</title>
-
-        <xi:include href="examples-xml/vcopy.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-
-      </example>
-
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Credits</title>
-    <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
-    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
-  </refsect1>
+
+<refentry id="vcopy">
+<indexterm id="IndexVcopy"><primary>vcopy</primary></indexterm>
+  <refentryinfo><title>Vectorial:Vectorial operations</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>vcopy</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>vcopy</refname>
+    <refpurpose>
+      Copies between two vectorial control signals
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Copies between two vectorial control signals
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>vcopy</command>  ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [, kverbose]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ifn1</emphasis> - number of the table where the vectorial signal will be copied (destination)
+    </para>
+    <para>
+      <emphasis>ifn2</emphasis> - number of the table hosting the vectorial signal to be copied (source)
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kelements</emphasis> - number of elements of the vector
+    </para>
+    <para>
+      <emphasis>kdstoffset</emphasis> - index offset for the destination (<emphasis>ifn1</emphasis>) table (Default=0)
+    </para>
+    <para>
+      <emphasis>ksrcoffset</emphasis> - index offset for the source (<emphasis>ifn2</emphasis>) table (Default=0)
+    </para>
+    <para>
+      <emphasis>kverbose</emphasis> - Selects whether or not warnings are printed (Default=0)
+    </para>
+    <para>
+      <emphasis>vcopy</emphasis> copies <emphasis>kelements</emphasis> elements from <emphasis>ifn2</emphasis> (starting from position <emphasis>ksrcoffset</emphasis>) to <emphasis>ifn1</emphasis> (starting from position <emphasis>kdstoffset</emphasis>). Useful to keep old vector values, by storing them in another table.
+    </para>
+    <para>
+      Negative values for <emphasis>kdstoffset</emphasis> and <emphasis>ksrcoffset</emphasis> are acceptable. If <emphasis>kdstoffset</emphasis> is negative, the out of range section of the vector will be discarded. If <emphasis>kdstoffset</emphasis> is negative, the out of range elements will be assumed to be 1 (i.e. the destination elements will not be changed). If elements for the destination vector are beyond the size of the table (including guard point), these elements are discarded (i.e. elements do not wrap around the tables). If elements for the source vector are beyond the table length, these elements are taken as 1 (i.e. the destination vector will not be changed for these elements).
+    </para>
+    <para>
+      If the optional <emphasis>kverbose</emphasis> argument is different to 0, the opcode will print warning messages every k-pass if table lengths are exceeded.
+    </para>
+    <warning>
+      <para>
+        Using the same table as source and destination table in versions earlier than 5.04, might produce unexpected behavior, so use with care.
+      </para>
+    </warning>
+    <para>
+      This opcode works at k-rate (this means that every k-pass the vectors are copied). There's an i-rate version of this opcode called <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link>.
+    </para>
+    <note>
+      <para>
+        Please note that the <emphasis>elements</emphasis> argument has changed in version 5.03 from i-rate to k-rate. This will change the opcode's behavior in the unusual cases where the i-rate variable <emphasis>ielements</emphasis> is changed inside the instrument, for example in:
+        <programlisting>
+    <emphasis role="oblock">instr</emphasis> 1
+ielements  <emphasis role="op">=</emphasis>        10
+           <emphasis role="opc">vadd</emphasis>     1, 1, ielements
+ielements  <emphasis role="op">=</emphasis>        20
+           <emphasis role="opc">vadd</emphasis>     2, 1, ielements
+           <emphasis role="opc">turnoff</emphasis>
+    <emphasis role="oblock">endin</emphasis></programlisting>
+      </para>
+    </note>
+    <para>
+      All these operators (<link linkend="vaddv"><citetitle>vaddv</citetitle></link>, <link linkend="vsubv"><citetitle>vsubv</citetitle></link>, <link linkend="vmultv"><citetitle>vmultv</citetitle></link>, <link linkend="vdivv"><citetitle>vdivv</citetitle></link>, <link linkend="vpowv"><citetitle>vpowv</citetitle></link>, <link linkend="vexp"><citetitle>vexp</citetitle></link>, <link linkend="vcopy"><citetitle>vcopy</citetitle></link> and <link linkend="vmap"><citetitle>vmap</citetitle></link>) are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link> etc. 
+    </para>
+        <para><emphasis>Note</emphasis>: <emphasis>bmscan</emphasis> not yet available on Canonical Csound</para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the vcopy opcode. It uses the file <ulink url="examples/vcopy.csd"><citetitle>vcopy.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the vcopy opcode.</title>
+        <xi:include href="examples-xml/vcopy.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Credits</title>
+    <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
+    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
+  </refsect1>
 </refentry>
\ No newline at end of file
diff --git a/opcodes/vcopy_i.xml b/opcodes/vcopy_i.xml
index 8b7156f..e6fe4c0 100644
--- a/opcodes/vcopy_i.xml
+++ b/opcodes/vcopy_i.xml
@@ -10,28 +10,27 @@
     <refname>vcopy_i</refname>
     <refpurpose>
       Copies a vector from one table to another.
-      
     </refpurpose>
   </refnamediv>
 
   <refsect1>
     <title>Description</title>
     <para>
-	Copies a vector from one table to another.
+      Copies a vector from one table to another.
     </para>
   </refsect1>
   <refsect1>
     <title>Syntax</title>
-    <synopsis><command>vcopy_i</command>  ifn, ifn2, ielements [,idstoffset, isrcoffset]</synopsis>
+    <synopsis><command>vcopy_i</command>  ifn1, ifn2, ielements [,idstoffset, isrcoffset]</synopsis>
   </refsect1>
 
   <refsect1>
     <title>Initialization</title>
     <para>
-      <emphasis>ifn</emphasis>  - number of the table where the vectorial signal will be copied
+      <emphasis>ifn1</emphasis>  - number of the table where the vectorial signal will be copied
     </para>
     <para>
-      <emphasis>ifn</emphasis>  - number of the table hosting the vectorial signal to be copied
+      <emphasis>ifn2</emphasis>  - number of the table hosting the vectorial signal to be copied
     </para>
      <para>
       <emphasis>ielements</emphasis> - number of elements of the vector
@@ -47,7 +46,7 @@
   <refsect1>
     <title>Performance</title>
     <para>
-      <emphasis>vcopy</emphasis> copies <emphasis>ielements</emphasis> elements from <emphasis>ifn2</emphasis> (starting from position <emphasis>isrcoffset</emphasis>) to <emphasis>ifn1</emphasis> (starting from position <emphasis>idstoffset</emphasis>). Useful to keep old vector values, by storing them in another table. This opcode is exactly the same as <link linkend="vcopy"><citetitle>vcopy</citetitle></link> but performs all the copying on the intialization pass only.
+      <emphasis>vcopy_i</emphasis> copies <emphasis>ielements</emphasis> elements from <emphasis>ifn2</emphasis> (starting from position <emphasis>isrcoffset</emphasis>) to <emphasis>ifn1</emphasis> (starting from position <emphasis>idstoffset</emphasis>). Useful to keep old vector values, by storing them in another table. This opcode is exactly the same as <link linkend="vcopy"><citetitle>vcopy</citetitle></link> but performs all the copying on the intialization pass only.
     </para>
     <para>
       Negative values for <emphasis>idstoffset</emphasis> and <emphasis>isrcoffset</emphasis> are acceptable. If <emphasis>idstoffset</emphasis> is negative, the out of range section of the vector will be discarded. If <emphasis>isrcoffset</emphasis> is negative, the out of range elements will be assumed to be 0 (i.e. the destination elements will be set to 0). If elements for the destination vector are beyond the size of the table (including guard point), these elements are discarded (i.e. elements do not wrap around the tables). If elements for the source vector are beyond the table length, these elements are taken as 0 (i.e. the destination vector elements will be 0).
@@ -60,14 +59,16 @@
     <para>
       All these operators (<link linkend="vaddv"><citetitle>vaddv</citetitle></link>,<link linkend="vsubv"><citetitle>vsubv</citetitle></link>,<link linkend="vmultv"><citetitle>vmultv</citetitle></link>,<link linkend="vdivv"><citetitle>vdivv</citetitle></link>,<link linkend="vpowv"><citetitle>vpowv</citetitle></link>,<link linkend="vexp"><citetitle>vexp</citetitle></link>, <link linkend="vcopy"><citetitle>vcopy</citetitle></link> and <link linkend="vmap"><citetitle>vmap</citetitle></link>) are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link> etc. 
     </para>
-        <para><emphasis>Note:</emphasis> bmscan not yet available on Canonical Csound</para>
+    <para><emphasis>Note</emphasis>: <emphasis>bmscan</emphasis> not yet available on Canonical Csound</para>
   </refsect1>
+  
   <refsect1>
     <title>Examples</title>
     <para>
       See <link linkend="vcopy"><citetitle>vcopy</citetitle></link> for an example.
     </para>
   </refsect1>
+  
   <refsect1>
     <title>Credits</title>
     <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
diff --git a/opcodes/vdelay.xml b/opcodes/vdelay.xml
index 56ba724..206f97c 100644
--- a/opcodes/vdelay.xml
+++ b/opcodes/vdelay.xml
@@ -54,23 +54,16 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      <informalexample>
-        <programlisting>
-  <emphasis role="stamnt">f</emphasis>1 0 8192 10 1
-  ims     <emphasis role="op">=</emphasis>          100             <emphasis role="comment">; Maximum delay time in msec</emphasis>
-  a1      <emphasis role="opc">oscil</emphasis>      10000, 1737, 1  <emphasis role="comment">; Make a signal</emphasis>
-  a2      <emphasis role="opc">oscil</emphasis>      ims<emphasis role="op">/</emphasis>2, 1<emphasis role="op">/</emphasis>p3, 1  <emphasis role="comment">; Make an LFO</emphasis>
-  a2      <emphasis role="op">=</emphasis>          a2 <emphasis role="op">+</emphasis> ims<emphasis role="op">/</emphasis>2      <emphasis role="comment">; Offset the LFO so that it is positive</emphasis>
-  a3      <emphasis role="opc">vdelay</emphasis>     a1, a2, ims     <emphasis role="comment">; Use the LFO to control delay time</emphasis>
-          <emphasis role="opc">out</emphasis>        a3</programlisting>
-      </informalexample>
-    </para>
-
-    <para>
+      Here is an example of the vdelay opcode. It uses the file <ulink url="examples/vdelay.csd"><citetitle>vdelay.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the vdelay opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/vdelay.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
       Two important points here. First, the delay time must be always positive. And second, even though the delay time can be controlled in k-rate, it is not advised to do so, since sudden time changes will create clicks.
     </para>
   </refsect1>
-
+ 
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/vdelay3.xml b/opcodes/vdelay3.xml
index 9b8df74..c8b1201 100644
--- a/opcodes/vdelay3.xml
+++ b/opcodes/vdelay3.xml
@@ -50,27 +50,20 @@
       <emphasis>adel</emphasis> -- Current value of delay in milliseconds. Note that linear functions have no pitch change effects. Fast changing values of <emphasis>adel</emphasis> will cause discontinuities in the waveform resulting noise.
     </para>
   </refsect1>
-
+ 
   <refsect1>
     <title>Examples</title>
     <para>
-      <informalexample>
-        <programlisting>
-  <emphasis role="stamnt">f</emphasis>1 0 8192 10 1
-  ims     <emphasis role="op">=</emphasis>          100             <emphasis role="comment">; Maximum delay time in msec</emphasis>
-  a1      <emphasis role="opc">oscil</emphasis>      10000, 1737, 1  <emphasis role="comment">; Make a signal</emphasis>
-  a2      <emphasis role="opc">oscil</emphasis>      ims<emphasis role="op">/</emphasis>2, 1<emphasis role="op">/</emphasis>p3, 1  <emphasis role="comment">; Make an LFO</emphasis>
-  a2      <emphasis role="op">=</emphasis>          a2 <emphasis role="op">+</emphasis> ims<emphasis role="op">/</emphasis>2      <emphasis role="comment">; Offset the LFO so that it is positive</emphasis>
-  a3      <emphasis role="opc">vdelay</emphasis>     a1, a2, ims     <emphasis role="comment">; Use the LFO to control delay time</emphasis>
-          <emphasis role="opc">out</emphasis>        a3</programlisting>
-      </informalexample>
-    </para>
-
-    <para>
-      Two important points here. First, the delay time must be always positive. And second, even though the delay time can be controlled in k-rate, it is not advised to do so, since sudden time changes will create clicks.
+      Here is an example of the vdelay3 opcode. It uses the file <ulink url="examples/vdelay3.csd"><citetitle>vdelay3.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the vdelay3 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/vdelay3.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+       Two important points here. First, the delay time must be always positive. And second, even though the delay time can be controlled in k-rate, it is not advised to do so, since sudden time changes will create clicks.
     </para>
   </refsect1>
-
+ 
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/vdelayk.xml b/opcodes/vdelayk.xml
index be3aa78..11d6502 100644
--- a/opcodes/vdelayk.xml
+++ b/opcodes/vdelayk.xml
@@ -22,7 +22,7 @@
   </refsect1>
   <refsect1>
     <title>Syntax</title>
-    <synopsis>kout <command>vdelayk</command>  iksig, kdel, imaxdel [, iskip, imode]</synopsis>
+    <synopsis>kout <command>vdelayk</command>  ksig, kdel, imaxdel [, iskip, imode]</synopsis>
   </refsect1>
  
   <refsect1>
@@ -60,4 +60,4 @@
     <para>Written by Gabriel Maldonado.</para>
     <para>New in Csound 5 (Previously available only on CsoundAV)</para>
   </refsect1>
-</refentry>
\ No newline at end of file
+</refentry>
diff --git a/opcodes/vdelayx.xml b/opcodes/vdelayx.xml
index 68cd588..f980c61 100644
--- a/opcodes/vdelayx.xml
+++ b/opcodes/vdelayx.xml
@@ -73,6 +73,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the use of the <emphasis>vdelayx</emphasis> opcode. It uses the file <ulink url="examples/vdelayx.csd"><citetitle>vdelayx.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the <emphasis>vdelayx</emphasis> opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/vdelayx.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="vdelayxq"><citetitle>vdelayxq</citetitle></link>,
diff --git a/opcodes/vdelayxq.xml b/opcodes/vdelayxq.xml
index 190332c..f96d519 100644
--- a/opcodes/vdelayxq.xml
+++ b/opcodes/vdelayxq.xml
@@ -75,7 +75,20 @@
       </para>
     </note>
   </refsect1>
-
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the vdelayxq opcode. It uses the file <ulink url="examples/vdelayxq.csd"><citetitle>vdelayxq.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the vdelayxq opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/vdelayxq.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+       Two important points here. First, the delay time must be always positive. And second, even though the delay time can be controlled in k-rate, it is not advised to do so, since sudden time changes will create clicks.
+    </para>
+  </refsect1>
+ 
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/opcodes/vdelayxs.xml b/opcodes/vdelayxs.xml
index fa87063..bae12e2 100644
--- a/opcodes/vdelayxs.xml
+++ b/opcodes/vdelayxs.xml
@@ -77,6 +77,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the use of the <emphasis>vdelayxs</emphasis> opcode. It uses the file <ulink url="examples/vdelayxs.csd"><citetitle>vdelayxs.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the <emphasis>vdelayxs</emphasis> opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/vdelayxs.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="vdelayx"><citetitle>vdelayx</citetitle></link>,
diff --git a/opcodes/vdelayxw.xml b/opcodes/vdelayxw.xml
index 3e70072..9d0ed9a 100644
--- a/opcodes/vdelayxw.xml
+++ b/opcodes/vdelayxw.xml
@@ -77,6 +77,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the use of the <emphasis>vdelayxw</emphasis> opcode. It uses the file <ulink url="examples/vdelayxw.csd"><citetitle>vdelayxw.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the <emphasis>vdelayxw</emphasis> opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/vdelayxw.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="vdelayx"><citetitle>vdelayx</citetitle></link>,
diff --git a/opcodes/vdelayxwq.xml b/opcodes/vdelayxwq.xml
index 2e2051c..6e816c3 100644
--- a/opcodes/vdelayxwq.xml
+++ b/opcodes/vdelayxwq.xml
@@ -82,6 +82,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the use of the <emphasis>vdelayxwq</emphasis> opcode. It uses the file <ulink url="examples/vdelayxwq.csd"><citetitle>vdelayxwq.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the <emphasis>vdelayxwq</emphasis> opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/vdelayxwq.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="vdelayx"><citetitle>vdelayx</citetitle></link>,
diff --git a/opcodes/vdelayxws.xml b/opcodes/vdelayxws.xml
index 84dad07..ca351f2 100644
--- a/opcodes/vdelayxws.xml
+++ b/opcodes/vdelayxws.xml
@@ -81,6 +81,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the use of the <emphasis>vdelayxws</emphasis> opcode. It uses the file <ulink url="examples/vdelayxws.csd"><citetitle>vdelayxws.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the <emphasis>vdelayxws</emphasis> opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/vdelayxws.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="vdelayx"><citetitle>vdelayx</citetitle></link>, 
diff --git a/opcodes/vdivv.xml b/opcodes/vdivv.xml
index f214bef..862b582 100644
--- a/opcodes/vdivv.xml
+++ b/opcodes/vdivv.xml
@@ -1,107 +1,108 @@
-
-<refentry id="vdivv">
-<indexterm id="IndexVdivv"><primary>vdivv</primary></indexterm>
-  <refentryinfo><title>Vectorial:Vectorial operations</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>vdivv</refentrytitle>
-  </refmeta>
-
-  <refnamediv>
-    <refname>vdivv</refname>
-    <refpurpose>
-     Performs division between two vectorial control signals
-      
-    </refpurpose>
-  </refnamediv>
-  
-  <refsect1>
-    <title>Description</title>
-    <para>
-	Performs division between two vectorial control signals
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis><command>vdivv</command>  ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [,kverbose]</synopsis>
-  </refsect1>
- 
-  <refsect1>
-    <title>Initialization</title>
-    <para>
-      <emphasis>ifn1</emphasis>  - number of the table hosting the first vector to be processed
-    </para>
-    <para>
-      <emphasis>ifn2</emphasis>  - number of the table hosting the second vector to be processed
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      <emphasis>kelements</emphasis> - number of elements of the two vectors
-    </para>
-    <para>
-      <emphasis>kdstoffset</emphasis> - index offset for the destination (ifn1) table (Default=0)
-    </para>
-    <para>
-      <emphasis>ksrcoffset</emphasis> - index offset for the source (ifn2) table (Default=0)
-    </para>
-    <para>
-      <emphasis>kverbose</emphasis> - Selects whether or not warnings are printed (Default=0)
-    </para>
-    <para>
-      <emphasis>vdivv</emphasis> divides two vectorial control signals, that is, each element of ifn1 is divided by the corresponding element of ifn2. Each vectorial signal is hosted by a table (ifn1 and ifn2). The number of elements contained in both vectors must be the same.
-    </para>
-    <para>
-      The result is a new vectorial control signal that overrides old values of ifn1. If you want to keep the old ifn1 vector, use <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link> opcode to copy it in another table. You can use <emphasis>kdstoffset</emphasis> and <emphasis>ksrcoffset</emphasis> to specify vectors in any location of the tables.
-    </para>
-    <para>
-      Negative values for <emphasis>kdstoffset</emphasis> and <emphasis>ksrcoffset</emphasis> are acceptable. If <emphasis>kdstoffset</emphasis> is negative, the out of range section of the vector will be discarded. If <emphasis>ksrcoffset</emphasis> is negative, the out of range elements will be assumed to be 0 (i.e. the destination elements will be set to 0). If elements for the destination vector are beyond the size of the table (including guard point), these elements are discarded (i.e. elements do not wrap around the tables). If elements for the source vector are beyond the table length, these elements are taken as 0 (i.e. the destination elements will be set to 0).
-    </para>
-    <para>
-      If the optional <emphasis>kverbose</emphasis> argument is different to 0, the opcode will print warning messages every k-pass if table lengths are exceeded.
-    </para>
-    <warning>
-    <para>
-      Using the same table as source and destination table in versions earlier than 5.04, might produce unexpected behavior, so use with care.
-    </para>
-    </warning>
-    <para>
-      This opcode works at k-rate (this means that every k-pass the vectors are divided). There's an i-rate version of this opcode called <link linkend="vdivv_i"><citetitle>vdivv_i</citetitle></link>.
-    </para>
-    <note>
-      <para>
-        Please note that the <emphasis>elements</emphasis> argument has changed in version 5.03 from i-rate to k-rate. This will change the opcode's behavior in the unusual cases where the i-rate variable <emphasis>ielements</emphasis> is changed inside the instrument, for example in:
-        <programlisting>
-    instr 1
-ielements = 10
-vadd 1, 1, ielements
-ielements = 20
-vadd 2, 1, ielements
-turnoff
-    endin</programlisting>
-      </para>
-    </note>
-    <para>
-      All these operators (<link linkend="vaddv"><citetitle>vaddv</citetitle></link>,<link linkend="vsubv"><citetitle>vsubv</citetitle></link>,<link linkend="vmultv"><citetitle>vmultv</citetitle></link>,<link linkend="vdivv"><citetitle>vdivv</citetitle></link>,<link linkend="vpowv"><citetitle>vpowv</citetitle></link>,<link linkend="vexpv"><citetitle>vexpv</citetitle></link>, <link linkend="vcopy"><citetitle>vcopy</citetitle></link> and <link linkend="vmap"><citetitle>vmap</citetitle></link>) are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link> etc. 
-    </para>
-  </refsect1>
-  
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the vdivv opcode. It uses the file <ulink url="examples/vdivv.csd"><citetitle>vdivv.csd</citetitle></ulink>.
-      
-      <example>
-        <title>Example of the vdivv opcode.</title>
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-        <xi:include href="examples-xml/vdivv.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Credits</title>
-    <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
-    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
-  </refsect1>
+
+<refentry id="vdivv">
+<indexterm id="IndexVdivv"><primary>vdivv</primary></indexterm>
+  <refentryinfo><title>Vectorial:Vectorial operations</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>vdivv</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>vdivv</refname>
+    <refpurpose>
+       Performs division between two vectorial control signals
+    </refpurpose>
+  </refnamediv>
+  
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Performs division between two vectorial control signals
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>vdivv</command>  ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [,kverbose]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ifn1</emphasis> - number of the table hosting the first vector to be processed
+    </para>
+    <para>
+      <emphasis>ifn2</emphasis> - number of the table hosting the second vector to be processed
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kelements</emphasis> - number of elements of the two vectors
+    </para>
+    <para>
+      <emphasis>kdstoffset</emphasis> - index offset for the destination (<emphasis>ifn1</emphasis>) table (Default=0)
+    </para>
+    <para>
+      <emphasis>ksrcoffset</emphasis> - index offset for the source (<emphasis>ifn2</emphasis>) table (Default=0)
+    </para>
+    <para>
+      <emphasis>kverbose</emphasis> - Selects whether or not warnings are printed (Default=0)
+    </para>
+    <para>
+      <emphasis>vdivv</emphasis> divides two vectorial control signals, that is, each element of <emphasis>ifn1</emphasis> is divided by the corresponding element of <emphasis>ifn2</emphasis>. Each vectorial signal is hosted by a table (<emphasis>ifn1</emphasis> and <emphasis>ifn2</emphasis>). The number of elements contained in both vectors must be the same.
+    </para>
+    <para>
+      The result is a new vectorial control signal that overrides old values of <emphasis>ifn1</emphasis>. If you want to keep the old ifn1 vector, use <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link> opcode to copy it in another table. You can use <emphasis>kdstoffset</emphasis> and <emphasis>ksrcoffset</emphasis> to specify vectors in any location of the tables.
+    </para>
+    <para>
+      Negative values for <emphasis>kdstoffset</emphasis> and <emphasis>ksrcoffset</emphasis> are acceptable. If <emphasis>kdstoffset</emphasis> is negative, the out of range section of the vector will be discarded. If <emphasis>ksrcoffset</emphasis> is negative, the out of range elements will be assumed to be 0 (i.e. the destination elements will be set to 0). If elements for the destination vector are beyond the size of the table (including guard point), these elements are discarded (i.e. elements do not wrap around the tables). If elements for the source vector are beyond the table length, these elements are taken as 0 (i.e. the destination elements will be set to 0).
+    </para>
+    <para>
+      If the optional <emphasis>kverbose</emphasis> argument is different to 0, the opcode will print warning messages every k-pass if table lengths are exceeded.
+    </para>
+    <warning>
+    <para>
+      Using the same table as source and destination table in versions earlier than 5.04, might produce unexpected behavior, so use with care.
+    </para>
+    </warning>
+    <para>
+      This opcode works at k-rate (this means that every k-pass the vectors are divided). There's an i-rate version of this opcode called <link linkend="vdivv_i"><citetitle>vdivv_i</citetitle></link>.
+    </para>
+    <note>
+      <para>
+        Please note that the <emphasis>elements</emphasis> argument has changed in version 5.03 from i-rate to k-rate. This will change the opcode's behavior in the unusual cases where the i-rate variable <emphasis>ielements</emphasis> is changed inside the instrument, for example in:
+        <programlisting>
+    <emphasis role="oblock">instr</emphasis> 1
+ielements  <emphasis role="op">=</emphasis>        10
+           <emphasis role="opc">vadd</emphasis>     1, 1, ielements
+ielements  <emphasis role="op">=</emphasis>        20
+           <emphasis role="opc">vadd</emphasis>     2, 1, ielements
+           <emphasis role="opc">turnoff</emphasis>
+    <emphasis role="oblock">endin</emphasis></programlisting>
+      </para>
+    </note>
+    <para>
+      All these operators (<link linkend="vaddv"><citetitle>vaddv</citetitle></link>,<link linkend="vsubv"><citetitle>vsubv</citetitle></link>, <link linkend="vmultv"><citetitle>vmultv</citetitle></link>, <link linkend="vdivv"><citetitle>vdivv</citetitle></link>, <link linkend="vpowv"><citetitle>vpowv</citetitle></link>, <link linkend="vexpv"><citetitle>vexpv</citetitle></link>, <link linkend="vcopy"><citetitle>vcopy</citetitle></link> and <link linkend="vmap"><citetitle>vmap</citetitle></link>) are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link> etc. 
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the vdivv opcode. It uses the file <ulink url="examples/vdivv.csd"><citetitle>vdivv.csd</citetitle></ulink>.
+      
+      <example>
+        <title>Example of the vdivv opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/vdivv.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Credits</title>
+    <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
+    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
+  </refsect1>
 </refentry>
\ No newline at end of file
diff --git a/opcodes/veloc.xml b/opcodes/veloc.xml
index c805d27..7e93003 100644
--- a/opcodes/veloc.xml
+++ b/opcodes/veloc.xml
@@ -45,12 +45,8 @@
     <title>Examples</title>
     <para>
       Here is an example of the veloc opcode. It uses the file <ulink url="examples/veloc.csd"><citetitle>veloc.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the veloc opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/veloc.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
@@ -83,6 +79,5 @@
         <member>May 1997</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/vexp.xml b/opcodes/vexp.xml
index ce1f6eb..91f6729 100644
--- a/opcodes/vexp.xml
+++ b/opcodes/vexp.xml
@@ -1,98 +1,99 @@
-
-<refentry id="vexp">
-<indexterm id="IndexVexp"><primary>vexp</primary></indexterm>
-  <refentryinfo><title>Vectorial:Scalar operations</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>vexp</refentrytitle>
-  </refmeta>
-
-  <refnamediv>
-    <refname>vexp</refname>
-    <refpurpose>
-     Performs power-of operations between a vector and a scalar
-      
-    </refpurpose>
-  </refnamediv>
-
-  <refsect1>
-    <title>Description</title>
-    <para>
-     Performs power-of operations between a vector and a scalar
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis><command>vexp</command>  ifn, kval, kelements [, kdstoffset] [, kverbose]</synopsis>
-  </refsect1>
-
-  <refsect1>
-    <title>Initialization</title>
-    <para>
-      <emphasis>ifn</emphasis>  - number of the table hosting the vectorial signal to be processed
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      <emphasis>kval</emphasis> - scalar operand to be processed
-    </para>
-    <para>
-      <emphasis>kelements</emphasis> - number of elements of the vector
-    </para>
-    <para>
-      <emphasis>kdstoffset</emphasis> - index offset for the destination table (Optional, default = 0)
-    </para>
-    <para>
-      <emphasis>kverbose</emphasis> - Selects whether or not warnings are printed (Default=0)
-    </para>
-    <para>
-      <emphasis>vexp</emphasis> rises <emphasis>kval</emphasis> to each element contained in a vector from table <emphasis>ifn</emphasis>,starting from table index <emphasis>idstoffset</emphasis>. This enables you to process a specific section of a table by specifying the offset and the number of elements to be processed. Offset is counted starting from 0, so if no offset is specified (or set to 0), the table will be modified from the beginning.
-    </para><para>
-      Note that this opcode runs at k-rate so the value of <emphasis>kval</emphasis> is processed every control period. Use with care or you will end up with very large (or small) numbers (or use <link linkend="vexp_i"><citetitle>vexp_i</citetitle></link>).
-    </para>
-    <para>
-      These opcodes (<link linkend="vadd"><citetitle>vadd</citetitle></link>, <link linkend="vmult"><citetitle>vmult</citetitle></link>, <link linkend="vpow"><citetitle>vpow</citetitle></link> and <link linkend="vexp"><citetitle>vexp</citetitle></link>) perform numeric operations between a vectorial control signal (hosted by the table <emphasis>ifn</emphasis>), and a scalar signal (<emphasis>kval</emphasis>). Result is a new vector that overrides old values of <emphasis>ifn</emphasis>. All these opcodes work at k-rate.
-    </para>
-    <para>
-      Negative values for <emphasis>kdstoffset</emphasis> are valid. Elements from the vector that are outside the table, will be discarded, and they will not wrap around the table.
-    </para>
-    <para>
-      If the optional <emphasis>kverbose</emphasis> argument is different to 0, the opcode will print warning messages every k-pass if table lengths are exceeded.
-    </para>
-    <para>
-      In all these opcodes, the resulting vectors are stored in <emphasis>ifn</emphasis>, overriding the intial vectors. If you want to keep initial vector, use <link linkend="vcopy"><citetitle>vcopy</citetitle></link> or <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link> to copy it in another table. All these operators are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link>, etc.  They can also be useful in conjunction with the spectral opcodes <link linkend="pvsftw"><citetitle>pvsftw</citetitle></link> and <link linkend="pvsftr"><citetitle>pvsftr</citetitle></link>.
-    </para>
-    <note>
-      <para>
-        Please note that the <emphasis>elements</emphasis> argument has changed in version 5.03 from i-rate to k-rate. This will change the opcode's behavior in the unusual cases where the i-rate variable <emphasis>ielements</emphasis> is changed inside the instrument, for example in:
-        <programlisting>
-    instr 1
-ielements = 10
-vadd 1, 1, ielements
-ielements = 20
-vadd 2, 1, ielements
-turnoff
-    endin</programlisting>
-      </para>
-    </note>
-  </refsect1>
-
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the vexp opcode. It uses the file <ulink url="examples/vexp.csd"><citetitle>vexp.csd</citetitle></ulink>.
-
-      <example>
-        <title>Example of the vexp opcode.</title>
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-<xi:include href="examples-xml/vexp.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Credits</title>
-    <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
-    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
-  </refsect1>
+
+<refentry id="vexp">
+<indexterm id="IndexVexp"><primary>vexp</primary></indexterm>
+  <refentryinfo><title>Vectorial:Scalar operations</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>vexp</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>vexp</refname>
+    <refpurpose>
+      Performs power-of operations between a vector and a scalar
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Performs power-of operations between a vector and a scalar
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>vexp</command>  ifn, kval, kelements [, kdstoffset] [, kverbose]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ifn</emphasis>  - number of the table hosting the vectorial signal to be processed
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kval</emphasis> - scalar operand to be processed
+    </para>
+    <para>
+      <emphasis>kelements</emphasis> - number of elements of the vector
+    </para>
+    <para>
+      <emphasis>kdstoffset</emphasis> - index offset for the destination table (Optional, default = 0)
+    </para>
+    <para>
+      <emphasis>kverbose</emphasis> - Selects whether or not warnings are printed (Default=0)
+    </para>
+    <para>
+      <emphasis>vexp</emphasis> rises <emphasis>kval</emphasis> to each element contained in a vector from table <emphasis>ifn</emphasis>,starting from table index <emphasis>kdstoffset</emphasis>. This enables you to process a specific section of a table by specifying the offset and the number of elements to be processed. Offset is counted starting from 0, so if no offset is specified (or set to 0), the table will be modified from the beginning.
+    </para><para>
+      Note that this opcode runs at k-rate so the value of <emphasis>kval</emphasis> is processed every control period. Use with care or you will end up with very large (or small) numbers (or use <link linkend="vexp_i"><citetitle>vexp_i</citetitle></link>).
+    </para>
+    <para>
+      These opcodes (<link linkend="vadd"><citetitle>vadd</citetitle></link>, <link linkend="vmult"><citetitle>vmult</citetitle></link>, <link linkend="vpow"><citetitle>vpow</citetitle></link> and <link linkend="vexp"><citetitle>vexp</citetitle></link>) perform numeric operations between a vectorial control signal (hosted by the table <emphasis>ifn</emphasis>), and a scalar signal (<emphasis>kval</emphasis>). Result is a new vector that overrides old values of <emphasis>ifn</emphasis>. All these opcodes work at k-rate.
+    </para>
+    <para>
+      Negative values for <emphasis>kdstoffset</emphasis> are valid. Elements from the vector that are outside the table, will be discarded, and they will not wrap around the table.
+    </para>
+    <para>
+      If the optional <emphasis>kverbose</emphasis> argument is different to 0, the opcode will print warning messages every k-pass if table lengths are exceeded.
+    </para>
+    <para>
+      In all these opcodes, the resulting vectors are stored in <emphasis>ifn</emphasis>, overriding the intial vectors. If you want to keep initial vector, use <link linkend="vcopy"><citetitle>vcopy</citetitle></link> or <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link> to copy it in another table. All these operators are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link>, etc.  They can also be useful in conjunction with the spectral opcodes <link linkend="pvsftw"><citetitle>pvsftw</citetitle></link> and <link linkend="pvsftr"><citetitle>pvsftr</citetitle></link>.
+    </para>
+    <note>
+      <para>
+        Please note that the <emphasis>elements</emphasis> argument has changed in version 5.03 from i-rate to k-rate. This will change the opcode's behavior in the unusual cases where the i-rate variable <emphasis>ielements</emphasis> is changed inside the instrument, for example in:
+        <programlisting>
+    <emphasis role="oblock">instr</emphasis> 1
+ielements  <emphasis role="op">=</emphasis>        10
+           <emphasis role="opc">vadd</emphasis>     1, 1, ielements
+ielements  <emphasis role="op">=</emphasis>        20
+           <emphasis role="opc">vadd</emphasis>     2, 1, ielements
+           <emphasis role="opc">turnoff</emphasis>
+    <emphasis role="oblock">endin</emphasis></programlisting>
+      </para>
+    </note>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the vexp opcode. It uses the file <ulink url="examples/vexp.csd"><citetitle>vexp.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the vexp opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/vexp.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Credits</title>
+    <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
+    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
+  </refsect1>
 </refentry>
\ No newline at end of file
diff --git a/opcodes/vexp_i.xml b/opcodes/vexp_i.xml
index f27daa6..a399825 100644
--- a/opcodes/vexp_i.xml
+++ b/opcodes/vexp_i.xml
@@ -1,83 +1,87 @@
-
-<refentry id="vexp_i">
-<indexterm id="IndexVexp_i"><primary>vexp_i</primary></indexterm>
-  <refentryinfo><title>Vectorial:Scalar operations</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>vexp_i</refentrytitle>
-  </refmeta>
-
-  <refnamediv>
-    <refname>vexp_i</refname>
-    <refpurpose>
-     Performs power-of operations between a vector and a scalar
-      
-    </refpurpose>
-  </refnamediv>
-
-  <refsect1>
-    <title>Description</title>
-    <para>
-     Performs power-of operations between a vector and a scalar
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis><command>vexp_i</command>  ifn, ival, ielements[, idstoffset]</synopsis>
-  </refsect1>
-
-  <refsect1>
-    <title>Initialization</title>
-    <para>
-      <emphasis>ifn</emphasis>  - number of the table hosting the vectorial signal to be processed
-    </para>
-    <para>
-      <emphasis>ielements</emphasis> - number of elements of the vector
-    </para>
-    <para>
-      <emphasis>ival</emphasis> - scalar value to be added
-    </para>
-    <para>
-      <emphasis>idstoffset</emphasis> - index offset for the destination table
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      <emphasis>vexp_i</emphasis> rises <emphasis>kval</emphasis> to each element contained in a vector from table <emphasis>ifn</emphasis>, starting from table index <emphasis>idstoffset</emphasis>. This enables you to process a specific section of a table by specifying the offset and the number of elements to be processed. Offset is counted starting from 0, so if no offset is specified (or set to 0), the table will be modified from the beginning.
-    </para>
-    <para>
-      Negative values for <emphasis>idstoffset</emphasis> are valid. Elements from the vector that are outside the table, will be discarded, and they will not wrap around the table.
-    </para>
-    <para>
-      This opcode runs only on initialization, there is a k-rate version of this opcode called <link linkend="vexp"><citetitle>vexp</citetitle></link>.
-    </para>
-    <para>
-      In all these opcodes, the resulting vectors are stored in <emphasis>ifn</emphasis>, overriding the intial vectors. If you want to keep initial vector, use <link linkend="vcopy"><citetitle>vcopy</citetitle></link> or <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link> to copy it in another table. All these operators are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link>, etc.  They can also be useful in conjunction with the spectral opcodes <link linkend="pvsftw"><citetitle>pvsftw</citetitle></link> and <link linkend="pvsftr"><citetitle>pvsftr</citetitle></link>.
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the vexp_i opcode. It uses the file <ulink url="examples/vexp_i.csd"><citetitle>vexp_i.csd</citetitle></ulink>.
-
-      <example>
-        <title>Example of the vexp_i opcode.</title>
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-        <xi:include href="examples-xml/vexp_i.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>See also</title>
-    <para>
-      <link linkend="vadd_i"><citetitle>vadd</citetitle></link>, <link linkend="vmult_i"><citetitle>vmult_i</citetitle></link>, <link linkend="vpow_i"><citetitle>vpow_i</citetitle></link> and <link linkend="vexp"><citetitle>vexp_i</citetitle></link>.
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Credits</title>
-    <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
-    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
-  </refsect1>
+
+<refentry id="vexp_i">
+<indexterm id="IndexVexp_i"><primary>vexp_i</primary></indexterm>
+  <refentryinfo><title>Vectorial:Scalar operations</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>vexp_i</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>vexp_i</refname>
+    <refpurpose>
+      Performs power-of operations between a vector and a scalar
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Performs power-of operations between a vector and a scalar
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>vexp_i</command>  ifn, ival, ielements[, idstoffset]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ifn</emphasis> - number of the table hosting the vectorial signal to be processed
+    </para>
+    <para>
+      <emphasis>ival</emphasis> - scalar operand to be processed
+    </para>
+    <para>
+      <emphasis>ielements</emphasis> - number of elements of the vector
+    </para>
+    <para>
+      <emphasis>ival</emphasis> - scalar value to be added
+    </para>
+    <para>
+      <emphasis>idstoffset</emphasis> - index offset for the destination table
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>vexp_i</emphasis> rises <emphasis>ival</emphasis> to each element contained in a vector from table <emphasis>ifn</emphasis>, starting from table index <emphasis>idstoffset</emphasis>. This enables you to process a specific section of a table by specifying the offset and the number of elements to be processed. Offset is counted starting from 0, so if no offset is specified (or set to 0), the table will be modified from the beginning.
+    </para>
+    <para>
+      Negative values for <emphasis>idstoffset</emphasis> are valid. Elements from the vector that are outside the table, will be discarded, and they will not wrap around the table.
+    </para>
+    <para>
+      This opcode runs only on initialization, there is a k-rate version of this opcode called <link linkend="vexp"><citetitle>vexp</citetitle></link>.
+    </para>
+    <para>
+      In all these opcodes, the resulting vectors are stored in <emphasis>ifn</emphasis>, overriding the initial vectors. If you want to keep initial vector, use <link linkend="vcopy"><citetitle>vcopy</citetitle></link> or <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link> to copy it in another table. All these operators are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link>, etc.  They can also be useful in conjunction with the spectral opcodes <link linkend="pvsftw"><citetitle>pvsftw</citetitle></link> and <link linkend="pvsftr"><citetitle>pvsftr</citetitle></link>.
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the vexp_i opcode. It uses the file <ulink url="examples/vexp_i.csd"><citetitle>vexp_i.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the vexp_i opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/vexp_i.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>See also</title>
+    <para>
+      <link linkend="vadd_i"><citetitle>vadd</citetitle></link>, <link linkend="vmult_i"><citetitle>vmult_i</citetitle></link>, <link linkend="vpow_i"><citetitle>vpow_i</citetitle></link> and <link linkend="vexp"><citetitle>vexp_i</citetitle></link>.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
+    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
+  </refsect1>
 </refentry>
\ No newline at end of file
diff --git a/opcodes/vexpseg.xml b/opcodes/vexpseg.xml
index 29a9858..4ab739d 100644
--- a/opcodes/vexpseg.xml
+++ b/opcodes/vexpseg.xml
@@ -1,84 +1,80 @@
-
-<refentry id="vexpseg">
-<indexterm id="IndexVexpseg"><primary>vexpseg</primary></indexterm>
-  <refentryinfo><title>Vectorial:Envelopes</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>vexpseg</refentrytitle>
-  </refmeta>
-
-  <refnamediv>
-    <refname>vexpseg</refname>
-    <refpurpose>
-     Vectorial envelope generator
-      
-    </refpurpose>
-  </refnamediv>
-
-  <refsect1>
-    <title>Description</title>
-    <para>
-	Generate exponential vectorial segments
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis><command>vexpseg</command>   ifnout, ielements, ifn1, idur1, ifn2 [, idur2, ifn3 [...]]</synopsis>
-  </refsect1>
-
-  <refsect1>
-    <title>Initialization</title>
-        <para>
-      <emphasis>ifnout</emphasis>  - number of table hosting output vectorial signal
-      </para>
-      <para>
-      <emphasis>ifn1</emphasis> - starting vector
-      </para>
-      <para>
-      <emphasis>ifn2,ifn3,etc.</emphasis> - vector after idurx seconds
-    </para>
-    <para>
-      <emphasis>idur1</emphasis> - duration in seconds of first segment.
-      </para>
-      <para>
-      <emphasis>dur2, idur3, etc. </emphasis> - duration in seconds of subsequent segments.
-    </para>
-    <para>
-      <emphasis>ielements</emphasis> - number of elements of vectors.
-      </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Performance</title>
-
-    <para>
- 	These opcodes are similar to linseg and expseg, but operate with vectorial signals instead of with scalar signals.
-   </para>
-    <para>
-	Output is a vectorial control signal hosted by ifnout (that must be previously allocated), while each break-point of the envelope is actually a vector of values. All break-points must contain the same number of elements (ielements).
-   </para>
-    <para>
-	All these operators are designed to be used together with other opcodes that operate with vectorial signals such as bmscan, vcella, adsynt, adsynt2 etc. 
- 
-    </para>
-
-  </refsect1>
- <refsect1>
-    <title>Example</title>
-    <para>
-      Here is an example of the vexpseg opcode. It uses the files <ulink url="examples/vexpseg.csd"><citetitle>vexpseg.csd</citetitle></ulink>.
-
-      <example>
-        <title>Example of the vexpseg opcode.</title>
-
-        <xi:include href="examples-xml/vexpseg.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-
-      </example>
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Credits</title>
-    <para>Written by Gabriel Maldonado.</para>
-    <para>Example by Andres Cabrera.</para>
-    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
-  </refsect1>
+
+<refentry id="vexpseg">
+<indexterm id="IndexVexpseg"><primary>vexpseg</primary></indexterm>
+  <refentryinfo><title>Vectorial:Envelopes</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>vexpseg</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>vexpseg</refname>
+    <refpurpose>
+      Vectorial envelope generator
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Generate exponential vectorial segments
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>vexpseg</command>  ifnout, ielements, ifn1, idur1, ifn2 [, idur2, ifn3 [...]]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+        <para>
+      <emphasis>ifnout</emphasis> - number of table hosting output vectorial signal
+      </para>
+      <para>
+      <emphasis>ifn1</emphasis> - starting vector
+      </para>
+      <para>
+      <emphasis>ifn2, ifn3,etc.</emphasis> - vector after <emphasis>idurx</emphasis> seconds
+    </para>
+    <para>
+      <emphasis>idur1</emphasis> - duration in seconds of first segment.
+      </para>
+      <para>
+      <emphasis>idur2, idur3, etc. </emphasis> - duration in seconds of subsequent segments.
+    </para>
+    <para>
+      <emphasis>ielements</emphasis> - number of elements of vectors.
+      </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      These opcodes are similar to <emphasis>linseg</emphasis> and <emphasis>expseg</emphasis>, but operate with vectorial signals instead of with scalar signals.
+    </para>
+    <para>
+      Output is a vectorial control signal hosted by <emphasis>ifnout</emphasis> (that must be previously allocated), while each break-point of the envelope is actually a vector of values. All break-points must contain the same number of elements (<emphasis>ielements</emphasis>).
+    </para>
+    <para>
+      All these operators are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <emphasis>vcella</emphasis>, <emphasis>adsynt</emphasis>, <emphasis>adsynt2</emphasis>, etc. 
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Example</title>
+    <para>
+      Here is an example of the vexpseg opcode. It uses the files <ulink url="examples/vexpseg.csd"><citetitle>vexpseg.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the vexpseg opcode.</title>
+        <xi:include href="examples-xml/vexpseg.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Credits</title>
+    <para>Written by Gabriel Maldonado.</para>
+    <para>Example by Andres Cabrera.</para>
+    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
+  </refsect1>
 </refentry>
\ No newline at end of file
diff --git a/opcodes/vexpv.xml b/opcodes/vexpv.xml
index 26cd743..ce11800 100644
--- a/opcodes/vexpv.xml
+++ b/opcodes/vexpv.xml
@@ -1,107 +1,107 @@
-
-<refentry id="vexpv">
-<indexterm id="IndexVexpv"><primary>vexpv</primary></indexterm>
-  <refentryinfo><title>Vectorial:Vectorial operations</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>vexpv</refentrytitle>
-  </refmeta>
-
-  <refnamediv>
-    <refname>vexpv</refname>
-    <refpurpose>
-     Performs exponential operations between two vectorial control signals
-
-    </refpurpose>
-  </refnamediv>
-
-  <refsect1>
-    <title>Description</title>
-    <para>
-	Performs exponential operations between two vectorial control signals
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis><command>vexpv</command>  ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [,kverbose]</synopsis>
-  </refsect1>
- 
-  <refsect1>
-    <title>Initialization</title>
-    <para>
-      <emphasis>ifn1</emphasis>  - number of the table hosting the first vector to be processed
-    </para>
-    <para>
-      <emphasis>ifn2</emphasis>  - number of the table hosting the second vector to be processed
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      <emphasis>kelements</emphasis> - number of elements of the two vectors
-    </para>
-    <para>
-      <emphasis>kdstoffset</emphasis> - index offset for the destination (ifn1) table (Default=0)
-    </para>
-    <para>
-      <emphasis>ksrcoffset</emphasis> - index offset for the source (ifn2) table (Default=0)
-    </para>
-    <para>
-      <emphasis>kverbose</emphasis> - Selects whether or not warnings are printed (Default=0)
-    </para>
-    <para>
-      <emphasis>vexpv</emphasis> elevates each element of ifn2 to the corresponding element of ifn1. Each vectorial signal is hosted by a table (ifn1 and ifn2). The number of elements contained in both vectors must be the same.
-    </para>
-    <para>
-      The result is a new vectorial control signal that overrides old values of ifn1. If you want to keep the old ifn1 vector, use <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link> opcode to copy it in another table. You can use <emphasis>kdstoffset</emphasis> and <emphasis>ksrcoffset</emphasis> to specify vectors in any location of the tables.
-    </para>
-    <para>
-      Negative values for <emphasis>kdstoffset</emphasis> and <emphasis>ksrcoffset</emphasis> are acceptable. If <emphasis>kdstoffset</emphasis> is negative, the out of range section of the vector will be discarded. If <emphasis>ksrcoffset</emphasis> is negative, the out of range elements will be assumed to be 0 (i.e. the destination elements will be set to 1). If elements for the destination vector are beyond the size of the table (including guard point), these elements are discarded (i.e. elements do not wrap around the tables). If elements for the source vector are beyond the table length, these elements are taken as 0 (i.e. the destination elements will be set to 1).
-    </para>
-    <para>
-      If the optional <emphasis>kverbose</emphasis> argument is different to 0, the opcode will print warning messages every k-pass if table lengths are exceeded.
-    </para>
-    <warning>
-      <para>
-        Using the same table as source and destination table in versions earlier than 5.04, might produce unexpected behavior, so use with care.
-      </para>
-    </warning>
-    <para>
-      This opcode works at k-rate (this means that every k-pass the vectors are processed). There's an i-rate version of this opcode called <link linkend="vexpv_i"><citetitle>vexpv_i</citetitle></link>.
-    </para>
-    <note>
-      <para>
-        Please note that the <emphasis>elements</emphasis> argument has changed in version 5.03 from i-rate to k-rate. This will change the opcode's behavior in the unusual cases where the i-rate variable <emphasis>ielements</emphasis> is changed inside the instrument, for example in:
-        <programlisting>
-    instr 1
-ielements = 10
-vadd 1, 1, ielements
-ielements = 20
-vadd 2, 1, ielements
-turnoff
-    endin</programlisting>
-      </para>
-    </note>
-    <para>
-      All these operators (<link linkend="vaddv"><citetitle>vaddv</citetitle></link>,<link linkend="vsubv"><citetitle>vsubv</citetitle></link>,<link linkend="vmultv"><citetitle>vmultv</citetitle></link>,<link linkend="vdivv"><citetitle>vdivv</citetitle></link>,<link linkend="vpowv"><citetitle>vpowv</citetitle></link>,<link linkend="vexpv"><citetitle>vexpv</citetitle></link>, <link linkend="vcopy"><citetitle>vcopy</citetitle></link> and <link linkend="vmap"><citetitle>vmap</citetitle></link>) are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link> etc. 
-    </para>
-  </refsect1>
-  
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the vexpv opcode. It uses the file <ulink url="examples/vexpv.csd"><citetitle>vexpv.csd</citetitle></ulink>.
-      
-      <example>
-        <title>Example of the vexpv opcode.</title>
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-        <xi:include href="examples-xml/vexpv.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Credits</title>
-    <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
-    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
-  </refsect1>
+
+<refentry id="vexpv">
+<indexterm id="IndexVexpv"><primary>vexpv</primary></indexterm>
+  <refentryinfo><title>Vectorial:Vectorial operations</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>vexpv</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>vexpv</refname>
+    <refpurpose>
+      Performs exponential operations between two vectorial control signals
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Performs exponential operations between two vectorial control signals
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>vexpv</command>  ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [,kverbose]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ifn1</emphasis> - number of the table hosting the first vector to be processed
+    </para>
+    <para>
+      <emphasis>ifn2</emphasis> - number of the table hosting the second vector to be processed
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kelements</emphasis> - number of elements of the two vectors
+    </para>
+    <para>
+      <emphasis>kdstoffset</emphasis> - index offset for the destination (<emphasis>ifn1</emphasis>) table (Default=0)
+    </para>
+    <para>
+      <emphasis>ksrcoffset</emphasis> - index offset for the source (<emphasis>ifn2</emphasis>) table (Default=0)
+    </para>
+    <para>
+      <emphasis>kverbose</emphasis> - Selects whether or not warnings are printed (Default=0)
+    </para>
+    <para>
+      <emphasis>vexpv</emphasis> elevates each element of <emphasis>ifn2</emphasis> to the corresponding element of <emphasis>ifn1</emphasis>. Each vectorial signal is hosted by a table (<emphasis>ifn1</emphasis> and <emphasis>ifn2</emphasis>). The number of elements contained in both vectors must be the same.
+    </para>
+    <para>
+      The result is a new vectorial control signal that overrides old values of <emphasis>ifn1</emphasis>. If you want to keep the old <emphasis>ifn1</emphasis> vector, use <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link> opcode to copy it in another table. You can use <emphasis>kdstoffset</emphasis> and <emphasis>ksrcoffset</emphasis> to specify vectors in any location of the tables.
+    </para>
+    <para>
+      Negative values for <emphasis>kdstoffset</emphasis> and <emphasis>ksrcoffset</emphasis> are acceptable. If <emphasis>kdstoffset</emphasis> is negative, the out of range section of the vector will be discarded. If <emphasis>ksrcoffset</emphasis> is negative, the out of range elements will be assumed to be 0 (i.e. the destination elements will be set to 1). If elements for the destination vector are beyond the size of the table (including guard point), these elements are discarded (i.e. elements do not wrap around the tables). If elements for the source vector are beyond the table length, these elements are taken as 0 (i.e. the destination elements will be set to 1).
+    </para>
+    <para>
+      If the optional <emphasis>kverbose</emphasis> argument is different to 0, the opcode will print warning messages every k-pass if table lengths are exceeded.
+    </para>
+    <warning>
+      <para>
+        Using the same table as source and destination table in versions earlier than 5.04, might produce unexpected behavior, so use with care.
+      </para>
+    </warning>
+    <para>
+      This opcode works at k-rate (this means that every k-pass the vectors are processed). There's an i-rate version of this opcode called <link linkend="vexpv_i"><citetitle>vexpv_i</citetitle></link>.
+    </para>
+    <note>
+      <para>
+        Please note that the <emphasis>elements</emphasis> argument has changed in version 5.03 from i-rate to k-rate. This will change the opcode's behavior in the unusual cases where the i-rate variable <emphasis>ielements</emphasis> is changed inside the instrument, for example in:
+        <programlisting>
+    <emphasis role="oblock">instr</emphasis> 1
+ielements  <emphasis role="op">=</emphasis>        10
+           <emphasis role="opc">vadd</emphasis>     1, 1, ielements
+ielements  <emphasis role="op">=</emphasis>        20
+           <emphasis role="opc">vadd</emphasis>     2, 1, ielements
+           <emphasis role="opc">turnoff</emphasis>
+    <emphasis role="oblock">endin</emphasis></programlisting>
+      </para>
+    </note>
+    <para>
+      All these operators (<link linkend="vaddv"><citetitle>vaddv</citetitle></link>, <link linkend="vsubv"><citetitle>vsubv</citetitle></link>, <link linkend="vmultv"><citetitle>vmultv</citetitle></link>, <link linkend="vdivv"><citetitle>vdivv</citetitle></link>, <link linkend="vpowv"><citetitle>vpowv</citetitle></link>, <link linkend="vexpv"><citetitle>vexpv</citetitle></link>, <link linkend="vcopy"><citetitle>vcopy</citetitle></link> and <link linkend="vmap"><citetitle>vmap</citetitle></link>) are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link> etc. 
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the vexpv opcode. It uses the file <ulink url="examples/vexpv.csd"><citetitle>vexpv.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the vexpv opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/vexpv.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Credits</title>
+    <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
+    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
+  </refsect1>
 </refentry>
\ No newline at end of file
diff --git a/opcodes/vibes.xml b/opcodes/vibes.xml
index 603d4b7..515e415 100644
--- a/opcodes/vibes.xml
+++ b/opcodes/vibes.xml
@@ -43,20 +43,21 @@ url="ftp://ftp.cs.bath.ac.uk/pub/dream/documentation/sounds/modelling/"><citetit
     </para>
 
     <para>
-      <emphasis>ivfn</emphasis> -- shape of vibrato, usually a sine table, created by a function
+      <emphasis>ivfn</emphasis> -- shape of tremolo, usually a sine table, created by a function
     </para>
 
     <para>
       <emphasis>idec</emphasis> --  time before end of note when damping is introduced
     </para>
 
-    <para>
-      <emphasis>idoubles</emphasis> (optional) -- percentage of double strikes. Default is 40%.
-    </para>
+    <!-- These are simply not the case -->
+    <!-- <para> -->
+    <!--   <emphasis>idoubles</emphasis> (optional) - - percentage of double strikes. Default is 40%. -->
+    <!-- </para> -->
 
-    <para>
-      <emphasis>itriples</emphasis> (optional) -- percentage of triple strikes. Default is 20%.
-    </para>
+    <!-- <para> -->
+    <!--   <emphasis>itriples</emphasis> (optional) - - percentage of triple strikes. Default is 20%. -->
+    <!-- </para> -->
   </refsect1>
 
   <refsect1>
@@ -70,11 +71,11 @@ url="ftp://ftp.cs.bath.ac.uk/pub/dream/documentation/sounds/modelling/"><citetit
     </para>
 
     <para>
-      <emphasis>kvibf</emphasis> -- frequency of vibrato in Hertz. Suggested range is 0 to 12
+      <emphasis>kvibf</emphasis> -- frequency of tremolo in Hertz. Suggested range is 0 to 12
     </para>
 
     <para>
-      <emphasis>kvamp</emphasis> -- amplitude of the vibrato
+      <emphasis>kvamp</emphasis> -- amplitude of the tremolo
     </para>
  </refsect1>
  
diff --git a/opcodes/vibr.xml b/opcodes/vibr.xml
index 4eb0f4b..d95c862 100644
--- a/opcodes/vibr.xml
+++ b/opcodes/vibr.xml
@@ -77,7 +77,6 @@
   <refsect1>
     <title>Credits</title>
     <para>Author: &namegabriel;</para>
-    <para>Example written by &namekevin;.</para>
     <para>New in Version 4.15</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/vibrato.xml b/opcodes/vibrato.xml
index 0101031..4b763f8 100644
--- a/opcodes/vibrato.xml
+++ b/opcodes/vibrato.xml
@@ -24,9 +24,7 @@
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis>kout <command>vibrato</command> kAverageAmp, kAverageFreq, kRandAmountAmp, \
-      kRandAmountFreq, kAmpMinRate, kAmpMaxRate, kcpsMinRate, \
-      kcpsMaxRate, ifn [, iphs]</synopsis>
+    <synopsis>kout <command>vibrato</command> kAverageAmp, kAverageFreq, kRandAmountAmp, kRandAmountFreq, kAmpMinRate, kAmpMaxRate, kcpsMinRate, kcpsMaxRate, ifn [, iphs</synopsis>
   </refsect1>
 
   <refsect1>
@@ -87,12 +85,8 @@
     <title>Examples</title>
     <para>
       Here is an example of the vibrato opcode. It uses the file <ulink url="examples/vibrato.csd"><citetitle>vibrato.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the vibrato opcode.</title>
-
-        
-
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
           <xi:include href="examples-xml/vibrato.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
@@ -111,7 +105,6 @@
   <refsect1>
     <title>Credits</title>
     <para>Author: &namegabriel;</para>
-    <para>Example written by &namekevin;.</para>
     <para>New in Version 4.15</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/vincr.xml b/opcodes/vincr.xml
index c1f4250..47ef56b 100644
--- a/opcodes/vincr.xml
+++ b/opcodes/vincr.xml
@@ -39,11 +39,20 @@
       <emphasis>vincr</emphasis> (variable increment) and <link linkend="clear"><citetitle>clear</citetitle></link> are intended to be used together. <emphasis>vincr</emphasis> stores the result of the sum of two audio variables into the first variable itself (which is intended to be used as an accumulator in polyphony). The accumulator is typically a global variable that is used to combine signals from several sources (different instruments or instrument instances) for further processing (for example, via a global effect that reads the accumulator) or for outputting the combined signal by some means other than one of the <emphasis>out</emphasis> opcodes (eg. via the <link linkend="fout"><citetitle>fout</citetitle></link> opcode). After the accumulator is used, the accumulator variable should be set to zero by means of the <emphasis>clear</emphasis> opcode (or it will explode).
     </para>
   </refsect1>
-
+ 
   <refsect1>
     <title>Examples</title>
     <para>
-      See the <link linkend="fout"><citetitle>fout</citetitle></link> opcode for an example.
+      The following example uses the vincr opcode. It uses the file <ulink url="examples/vincr.csd"><citetitle>vincr.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the vincr opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/vincr.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+      This is another example uses the vincr opcode. It uses the file <ulink url="examples/vincr-complex.csd"><citetitle>vincr-complex.csd</citetitle></ulink>.
+      <example>
+          <xi:include href="examples-xml/vincr-complex.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
     </para>
   </refsect1>
 
diff --git a/opcodes/vlinseg.xml b/opcodes/vlinseg.xml
index 12b47b2..66984b5 100644
--- a/opcodes/vlinseg.xml
+++ b/opcodes/vlinseg.xml
@@ -1,84 +1,80 @@
-
-<refentry id="vlinseg">
-<indexterm id="IndexVlinseg"><primary>vlinseg</primary></indexterm>
-  <refentryinfo><title>Vectorial:Envelopes</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>vlinseg</refentrytitle>
-  </refmeta>
-
-  <refnamediv>
-    <refname>vlinseg</refname>
-    <refpurpose>
-     Vectorial envelope generator
-      
-    </refpurpose>
-  </refnamediv>
-
-  <refsect1>
-    <title>Description</title>
-    <para>
-	Generate linear vectorial segments
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis><command>vlinseg</command>   ifnout, ielements, ifn1, idur1, ifn2 [, idur2, ifn3 [...]]</synopsis>
-  </refsect1>
-
-  <refsect1>
-    <title>Initialization</title>
-        <para>
-      <emphasis>ifnout</emphasis>  - number of table hosting output vectorial signal
-      </para>
-      <para>
-      <emphasis>ifn1</emphasis> - starting vector
-      </para>
-      <para>
-      <emphasis>ifn2,ifn3,etc.</emphasis> - vector after idurx seconds
-    </para>
-    <para>
-      <emphasis>idur1</emphasis> - duration in seconds of first segment.
-      </para>
-      <para>
-      <emphasis>dur2, idur3, etc. </emphasis> - duration in seconds of subsequent segments.
-    </para>
-    <para>
-      <emphasis>ielements</emphasis> - number of elements of vectors.
-      </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Performance</title>
-
-    <para>
- 	These opcodes are similar to linseg and expseg, but operate with vectorial signals instead of with scalar signals.
-   </para>
-    <para>
-	Output is a vectorial control signal hosted by ifnout (that must be previously allocated), while each break-point of the envelope is actually a vector of values. All break-points must contain the same number of elements (ielements).
-   </para>
-    <para>
-	All these operators are designed to be used together with other opcodes that operate with vectorial signals such as bmscan, vcella, adsynt, adsynt2 etc. 
- 
-    </para>
-
-  </refsect1>
- <refsect1>
-    <title>Example</title>
-    <para>
-      Here is an example of the vlinseg opcode. It uses the files <ulink url="examples/vlinseg.csd"><citetitle>vlinseg.csd</citetitle></ulink>.
-
-      <example>
-        <title>Example of the vlinseg opcode.</title>
-
-        <xi:include href="examples-xml/vlinseg.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-
-      </example>
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Credits</title>
-    <para>Written by Gabriel Maldonado.</para>
-    <para>Example by Andres Cabrera.</para>
-    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
-  </refsect1>
+
+<refentry id="vlinseg">
+<indexterm id="IndexVlinseg"><primary>vlinseg</primary></indexterm>
+  <refentryinfo><title>Vectorial:Envelopes</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>vlinseg</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>vlinseg</refname>
+    <refpurpose>
+      Vectorial envelope generator
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Generate linear vectorial segments
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>vlinseg</command>  ifnout, ielements, ifn1, idur1, ifn2 [, idur2, ifn3 [...]]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ifnout</emphasis>  - number of table hosting output vectorial signal
+    </para>
+    <para>
+      <emphasis>ifn1</emphasis> - starting vector
+    </para>
+    <para>
+      <emphasis>ifn2,ifn3,etc.</emphasis> - vector after <emphasis>idurx</emphasis> seconds
+    </para>
+    <para>
+      <emphasis>idur1</emphasis> - duration in seconds of first segment.
+    </para>
+    <para>
+      <emphasis>idur2, idur3, etc. </emphasis> - duration in seconds of subsequent segments.
+    </para>
+    <para>
+      <emphasis>ielements</emphasis> - number of elements of vectors.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      These opcodes are similar to <emphasis>linseg</emphasis> and <emphasis>expseg</emphasis>, but operate with vectorial signals instead of with scalar signals.
+   </para>
+   <para>
+     Output is a vectorial control signal hosted by <emphasis>ifnout</emphasis> (that must be previously allocated), while each break-point of the envelope is actually a vector of values. All break-points must contain the same number of elements (<emphasis>ielements</emphasis>).
+   </para>
+   <para>
+     All these operators are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <emphasis>vcella</emphasis>, <emphasis>adsynt</emphasis>, <emphasis>adsynt2</emphasis>, etc. 
+   </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Example</title>
+    <para>
+      Here is an example of the vlinseg opcode. It uses the files <ulink url="examples/vlinseg.csd"><citetitle>vlinseg.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the vlinseg opcode.</title>
+        <xi:include href="examples-xml/vlinseg.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Credits</title>
+    <para>Written by Gabriel Maldonado.</para>
+    <para>Example by Andres Cabrera.</para>
+    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
+  </refsect1>
 </refentry>
\ No newline at end of file
diff --git a/opcodes/vlowres.xml b/opcodes/vlowres.xml
index 77ef7c3..233f953 100644
--- a/opcodes/vlowres.xml
+++ b/opcodes/vlowres.xml
@@ -45,7 +45,11 @@
     </para>
 
     <para>
-      <emphasis>ksep</emphasis> -- frequency cutoff separation for each filter
+      <emphasis>kres</emphasis> -- resonance amount
+    </para>
+
+    <para>
+      <emphasis>ksep</emphasis> -- frequency cutoff separation for each filter: the first filter has a kfreq cutoff, the second has a kfreq + ksep and the third  kfreq + 2*ksep and so on, depending on the number of filters.
     </para>
 
     <para>
@@ -73,8 +77,6 @@
         <member>Italy</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
-
     <para>New in Csound version 3.49</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/vmap.xml b/opcodes/vmap.xml
index dc818c2..67eaa18 100644
--- a/opcodes/vmap.xml
+++ b/opcodes/vmap.xml
@@ -1,77 +1,77 @@
-
-<refentry id="vmap">
-<indexterm id="IndexVmap"><primary>vmap</primary></indexterm>
-  <refentryinfo><title>Vectorial:Vectorial operations</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>vmap</refentrytitle>
-  </refmeta>
-
-  <refnamediv>
-    <refname>vmap</refname>
-    <refpurpose>
-     Maps elements from a vector according to indeces contained in another vector
-    </refpurpose>
-  </refnamediv>
-
-  <refsect1>
-    <title>Description</title>
-    <para>
-	Maps elements from a vector onto another according to the indeces of a this vector
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis><command>vmap</command>  ifn1, ifn2, ielements [,idstoffset, isrcoffset]</synopsis>
-  </refsect1>
-
-  <refsect1>
-    <title>Initialization</title>
-    <para>
-      <emphasis>ifn1</emphasis>  - number of the table where the vectorial signal will be copied, and which contains the mapping vector
-    </para>
-    <para>
-      <emphasis>ifn2</emphasis>  - number of the table hosting the vectorial signal to be copied
-    </para>
-    <para>
-      <emphasis>ielements</emphasis> - number of elements to process
-    </para>
-    <para>
-      <emphasis>idstoffset</emphasis> - index offset for destination table (ifn1)
-    </para>
-    <para>
-      <emphasis>isrcoffset</emphasis> - index offset for source table (ifn2)
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      <emphasis>vmap</emphasis>  maps elements of <emphasis>ifn2</emphasis> according to the values of table <emphasis>ifn1</emphasis>. Elements of <emphasis>ifn1</emphasis> are treated as indexes of table <emphasis>ifn2</emphasis>, so element values of <emphasis>ifn1</emphasis> must not exceed the length of <emphasis>ifn2</emphasis> table otherwise a Csound will report an error. Elements of <emphasis>ifn1</emphasis> are treated as integers, so any fractional part will be truncated. There is no interpolation performed on this operation.
-    </para>
-    <para>In practice, what happens is that the elements of <emphasis>ifn1</emphasis> are used as indeces to <emphasis>ifn2</emphasis>, and then are replaced by the corresponding elements from <emphasis>ifn2</emphasis>. <emphasis>ifn1</emphasis> must be different from <emphasis>ifn2</emphasis>, otherwise the results are unpredictable. Csound will produce an init error if they are not.
-    </para>
-    <para>
-All these operators (<link linkend="vaddv"><citetitle>vaddv</citetitle></link>,<link linkend="vsubv"><citetitle>vsubv</citetitle></link>,<link linkend="vmultv"><citetitle>vmultv</citetitle></link>,<link linkend="vdivv"><citetitle>vdivv</citetitle></link>,<link linkend="vpowv"><citetitle>vpowv</citetitle></link>,<link linkend="vexpv"><citetitle>vexpv</citetitle></link>, <link linkend="vcopy"><citetitle>vcopy</citetitle></link> and <link linkend="vmap"><citetitle>vmap</citetitle></link>) are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link> etc. 
-    </para>
-    <para><emphasis>Note:</emphasis> bmscan not yet available on Canonical Csound</para>
-  </refsect1>
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the vmap opcode. It uses the file <ulink url="examples/vmap.csd"><citetitle>vmap.csd</citetitle></ulink>.
-
-      <example>
-        <title>Example of the vmap opcode.</title>
-
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/vmap.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-  </refsect1>
-  
-  <refsect1>
-    <title>Credits</title>
-    <para>Written by Gabriel Maldonado.</para>
-    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
-  </refsect1>
+
+<refentry id="vmap">
+<indexterm id="IndexVmap"><primary>vmap</primary></indexterm>
+  <refentryinfo><title>Vectorial:Vectorial operations</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>vmap</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>vmap</refname>
+    <refpurpose>
+      Maps elements from a vector according to indexes contained in another vector.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Maps elements from a vector onto another according to the indexes of a this vector.
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>vmap</command>  ifn1, ifn2, ielements [,idstoffset, isrcoffset]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ifn1</emphasis> - number of the table where the vectorial signal will be copied, and which contains the mapping vector
+    </para>
+    <para>
+      <emphasis>ifn2</emphasis> - number of the table hosting the vectorial signal to be copied
+    </para>
+    <para>
+      <emphasis>ielements</emphasis> - number of elements to process
+    </para>
+    <para>
+      <emphasis>idstoffset</emphasis> - index offset for destination table (<emphasis>ifn1</emphasis>)
+    </para>
+    <para>
+      <emphasis>isrcoffset</emphasis> - index offset for source table (<emphasis>ifn2</emphasis>)
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>vmap</emphasis> maps elements of <emphasis>ifn2</emphasis> according to the values of table <emphasis>ifn1</emphasis>. Elements of <emphasis>ifn1</emphasis> are treated as indexes of table <emphasis>ifn2</emphasis>, so element values of <emphasis>ifn1</emphasis> must not exceed the length of <emphasis>ifn2</emphasis> table otherwise a Csound will report an error. Elements of <emphasis>ifn1</emphasis> are treated as integers, so any fractional part will be truncated. There is no interpolation performed on this operation.
+    </para>
+    <para>In practice, what happens is that the elements of <emphasis>ifn1</emphasis> are used as indexes to <emphasis>ifn2</emphasis>, and then are replaced by the corresponding elements from <emphasis>ifn2</emphasis>. <emphasis>ifn1</emphasis> must be different from <emphasis>ifn2</emphasis>, otherwise the results are unpredictable. Csound will produce an init error if they are not.
+    </para>
+    <para>
+      All these operators (<link linkend="vaddv"><citetitle>vaddv</citetitle></link>, <link linkend="vsubv"><citetitle>vsubv</citetitle></link>, <link linkend="vmultv"><citetitle>vmultv</citetitle></link>, <link linkend="vdivv"><citetitle>vdivv</citetitle></link>, <link linkend="vpowv"><citetitle>vpowv</citetitle></link>, <link linkend="vexpv"><citetitle>vexpv</citetitle></link>, <link linkend="vcopy"><citetitle>vcopy</citetitle></link> and <link linkend="vmap"><citetitle>vmap</citetitle></link>) are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link>, etc. 
+    </para>
+    <para><emphasis>Note:</emphasis> bmscan not yet available on Canonical Csound</para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the vmap opcode. It uses the file <ulink url="examples/vmap.csd"><citetitle>vmap.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the vmap opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/vmap.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Credits</title>
+    <para>Written by Gabriel Maldonado.</para>
+    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
+  </refsect1>
 </refentry>
\ No newline at end of file
diff --git a/opcodes/vmult.xml b/opcodes/vmult.xml
index 72e48d2..b1a68c7 100644
--- a/opcodes/vmult.xml
+++ b/opcodes/vmult.xml
@@ -1,122 +1,113 @@
-
-<refentry id="vmult">
-<indexterm id="IndexVmult"><primary>vmult</primary></indexterm>
-  <refentryinfo><title>Vectorial:Scalar operations</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>vmult</refentrytitle>
-  </refmeta>
-
-  <refnamediv>
-    <refname>vmult</refname>
-    <refpurpose>
-      Multiplies a vector in a table by a scalar value.
-      
-    </refpurpose>
-  </refnamediv>
-  
-  <refsect1>
-    <title>Description</title>
-    <para>
-      Multiplies a vector in a table by a scalar value.
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis><command>vmult</command>  ifn, kval, kelements [, kdstoffset] [, kverbose]</synopsis>
-  </refsect1>
- 
-  <refsect1>
-    <title>Initialization</title>
-    <para>
-      <emphasis>ifn</emphasis>  - number of the table hosting the vectorial signal to be processed
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      <emphasis>kval</emphasis> - scalar value to be multiplied
-      </para>
-       <para>
-      <emphasis>kelements</emphasis> - number of elements of the vector
-    </para>
-    <para>
-      <emphasis>kdstoffset</emphasis> - index offset for the destination table (Optional, default = 0)
-    </para>
-    <para>
-      <emphasis>kverbose</emphasis> - Selects whether or not warnings are printed (Default=0)
-    </para>
-    <para>
-      <emphasis>vmult</emphasis> multiplies each element of the vector contained in the table <emphasis>ifn</emphasis> by <emphasis>kval</emphasis>, starting from table index <emphasis>idstoffset</emphasis>. This enables you to process a specific section of a table by specifying the offset and the number of elements to be processed. Offset is counted starting from 0, so if no offset is specified (or set to 0), the table will be modified from the beginning.
-    </para>
-    <para>
-      Note that this opcode runs at k-rate so the value of <emphasis>kval</emphasis> is multiplied every control period. Use with care or you will end up with very large numbers (or use <link linkend="vmult_i"><citetitle>vmult_i</citetitle></link>).
-    </para>
-    <para>
-      These opcodes (<link linkend="vadd"><citetitle>vadd</citetitle></link>, <link linkend="vmult"><citetitle>vmult</citetitle></link>, <link linkend="vpow"><citetitle>vpow</citetitle></link> and <link linkend="vexp"><citetitle>vexp</citetitle></link>) perform numeric operations between a vectorial control signal (hosted by the table <emphasis>ifn</emphasis>), and a scalar signal (<emphasis>kval</emphasis>). Result is a new vector that overrides old values of <emphasis>ifn</emphasis>. All these opcodes work at k-rate.
-    </para>
-    <para>
-      Negative values for <emphasis>kdstoffset</emphasis> are valid. Elements from the vector that are outside the table, will be discarded, and they will not wrap around the table.
-    </para>
-    <para>
-      If the optional <emphasis>kverbose</emphasis> argument is different to 0, the opcode will print warning messages every k-pass if table lengths are exceeded.
-    </para>
-    <para>
-      In all these opcodes, the resulting vectors are stored in <emphasis>ifn</emphasis>, overriding the intial vectors. If you want to keep initial vector, use <link linkend="vcopy"><citetitle>vcopy</citetitle></link> or <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link> to copy it in another table. All these operators are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link>, etc.  They can also be useful in conjunction with the spectral opcodes <link linkend="pvsftw"><citetitle>pvsftw</citetitle></link> and <link linkend="pvsftr"><citetitle>pvsftr</citetitle></link>.
-    </para>
-    <note>
-      <para>
-        Please note that the <emphasis>elements</emphasis> argument has changed in version 5.03 from i-rate to k-rate. This will change the opcode's behavior in the unusual cases where the i-rate variable <emphasis>ielements</emphasis> is changed inside the instrument, for example in:
-        <programlisting>
-    instr 1
-ielements = 10
-vadd 1, 1, ielements
-ielements = 20
-vadd 2, 1, ielements
-turnoff
-    endin</programlisting>
-      </para>
-    </note>
-  </refsect1>
-  <refsect1>
-    <title>See also</title>
-    <para>
-      <link linkend="vadd_i"><citetitle>vadd_i</citetitle></link>, <link linkend="vadd"><citetitle>vadd</citetitle></link>, <link linkend="vmult_i"><citetitle>vmult_i</citetitle></link>, <link linkend="vpow"><citetitle>vpow</citetitle></link> and <link linkend="vexp"><citetitle>vexp</citetitle></link>.
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Example</title>
-    <para>
-      Here is an example of the vmult opcode. It uses the file <ulink url="examples/vmult-2.csd"><citetitle>vmult-2.csd</citetitle></ulink>.
-
-      <example>
-        <title>Example of the vmult opcode.</title>
-
-        <xi:include href="examples-xml/vmult-2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-
-      </example>
-    </para>
-    <para>
-      Here is another example of the vmult opcode. It uses the file <ulink url="examples/vmult.csd"><citetitle>vmult.csd</citetitle></ulink>.
-
-      <example>
-        <title>Example of the vmult opcode.</title>
-
-        <xi:include href="examples-xml/vmult.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-
-      </example>
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>See also</title>
-    <para>
-      <link linkend="vadd"><citetitle>vadd_i</citetitle></link>, <link linkend="vmult_i"><citetitle>vmult</citetitle></link>, <link linkend="vpow"><citetitle>vpow</citetitle></link> and <link linkend="vexp"><citetitle>vexp</citetitle></link>.
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Credits</title>
-    <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
-    <para>Example by Andres Cabrera.</para>
-    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
-  </refsect1>
+
+<refentry id="vmult">
+<indexterm id="IndexVmult"><primary>vmult</primary></indexterm>
+  <refentryinfo><title>Vectorial:Scalar operations</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>vmult</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>vmult</refname>
+    <refpurpose>
+      Multiplies a vector in a table by a scalar value.
+    </refpurpose>
+  </refnamediv>
+  
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Multiplies a vector in a table by a scalar value.
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>vmult</command>  ifn, kval, kelements [, kdstoffset] [, kverbose]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ifn</emphasis> - number of the table hosting the vectorial signal to be processed
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kval</emphasis> - scalar value to be multiplied
+      </para>
+       <para>
+      <emphasis>kelements</emphasis> - number of elements of the vector
+    </para>
+    <para>
+      <emphasis>kdstoffset</emphasis> - index offset for the destination table (Optional, default = 0)
+    </para>
+    <para>
+      <emphasis>kverbose</emphasis> - Selects whether or not warnings are printed (Default=0)
+    </para>
+    <para>
+      <emphasis>vmult</emphasis> multiplies each element of the vector contained in the table <emphasis>ifn</emphasis> by <emphasis>kval</emphasis>, starting from table index <emphasis>kdstoffset</emphasis>. This enables you to process a specific section of a table by specifying the offset and the number of elements to be processed. Offset is counted starting from 0, so if no offset is specified (or set to 0), the table will be modified from the beginning.
+    </para>
+    <para>
+      Note that this opcode runs at k-rate so the value of <emphasis>kval</emphasis> is multiplied every control period. Use with care or you will end up with very large numbers (or use <link linkend="vmult_i"><citetitle>vmult_i</citetitle></link>).
+    </para>
+    <para>
+      These opcodes (<link linkend="vadd"><citetitle>vadd</citetitle></link>, <link linkend="vmult"><citetitle>vmult</citetitle></link>, <link linkend="vpow"><citetitle>vpow</citetitle></link> and <link linkend="vexp"><citetitle>vexp</citetitle></link>) perform numeric operations between a vectorial control signal (hosted by the table <emphasis>ifn</emphasis>), and a scalar signal (<emphasis>kval</emphasis>). Result is a new vector that overrides old values of <emphasis>ifn</emphasis>. All these opcodes work at k-rate.
+    </para>
+    <para>
+      Negative values for <emphasis>kdstoffset</emphasis> are valid. Elements from the vector that are outside the table, will be discarded, and they will not wrap around the table.
+    </para>
+    <para>
+      If the optional <emphasis>kverbose</emphasis> argument is different to 0, the opcode will print warning messages every k-pass if table lengths are exceeded.
+    </para>
+    <para>
+      In all these opcodes, the resulting vectors are stored in <emphasis>ifn</emphasis>, overriding the initial vectors. If you want to keep initial vector, use <link linkend="vcopy"><citetitle>vcopy</citetitle></link> or <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link> to copy it in another table. All these operators are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link>, etc.  They can also be useful in conjunction with the spectral opcodes <link linkend="pvsftw"><citetitle>pvsftw</citetitle></link> and <link linkend="pvsftr"><citetitle>pvsftr</citetitle></link>.
+    </para>
+    <note>
+      <para>
+        Please note that the <emphasis>elements</emphasis> argument has changed in version 5.03 from i-rate to k-rate. This will change the opcode's behavior in the unusual cases where the i-rate variable <emphasis>ielements</emphasis> is changed inside the instrument, for example in:
+        <programlisting>
+    <emphasis role="oblock">instr</emphasis> 1
+ielements  <emphasis role="op">=</emphasis>        10
+           <emphasis role="opc">vadd</emphasis>     1, 1, ielements
+ielements  <emphasis role="op">=</emphasis>        20
+           <emphasis role="opc">vadd</emphasis>     2, 1, ielements
+           <emphasis role="opc">turnoff</emphasis>
+    <emphasis role="oblock">endin</emphasis></programlisting>
+      </para>
+    </note>
+  </refsect1>
+  
+  <refsect1>
+    <title>Example</title>
+    <para>
+      Here is an example of the vmult opcode. It uses the file <ulink url="examples/vmult-2.csd"><citetitle>vmult-2.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the vmult opcode.</title>
+        <xi:include href="examples-xml/vmult-2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+    <para>
+      Here is another example of the vmult opcode. It uses the file <ulink url="examples/vmult.csd"><citetitle>vmult.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the vmult opcode.</title>
+        <xi:include href="examples-xml/vmult.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>See also</title>
+    <para>
+      <link linkend="vadd_i"><citetitle>vadd_i</citetitle></link>, <link linkend="vadd"><citetitle>vadd_i</citetitle></link>, <link linkend="vmult_i"><citetitle>vmult</citetitle></link>, <link linkend="vpow"><citetitle>vpow</citetitle></link> and <link linkend="vexp"><citetitle>vexp</citetitle></link>.
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Credits</title>
+    <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
+    <para>Example by Andres Cabrera.</para>
+    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
+  </refsect1>
 </refentry>
\ No newline at end of file
diff --git a/opcodes/vmult_i.xml b/opcodes/vmult_i.xml
index 15560c4..2bd92f7 100644
--- a/opcodes/vmult_i.xml
+++ b/opcodes/vmult_i.xml
@@ -1,90 +1,84 @@
-
-<refentry id="vmult_i">
-<indexterm id="IndexVmult_i"><primary>vmult_i</primary></indexterm>
-  <refentryinfo><title>Vectorial:Scalar operations</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>vmult_i</refentrytitle>
-  </refmeta>
-
-  <refnamediv>
-    <refname>vmult_i</refname>
-    <refpurpose>
-      Multiplies a vector in a table by a scalar value.
-      
-    </refpurpose>
-  </refnamediv>
-  
-  <refsect1>
-    <title>Description</title>
-    <para>
-      Multiplies a vector in a table by a scalar value.
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis><command>vmult_i</command>  ifn, ival, ielements [, idstoffset]</synopsis>
-  </refsect1>
- 
-  <refsect1>
-    <title>Initialization</title>
-    <para>
-      <emphasis>ifn</emphasis>  - number of the table hosting the vectorial signal to be processed
-    </para>
-    <para>
-      <emphasis>ival</emphasis> - scalar value to be multiplied
-    </para>
-    <para>
-      <emphasis>ielements</emphasis> - number of elements of the vector
-    </para>
-    <para>
-      <emphasis>idstoffset</emphasis> - index offset for the destination table
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      <emphasis>vmult_i</emphasis> multiplies each element of the vector contained in the table <emphasis>ifn</emphasis> by <emphasis>ival</emphasis>, starting from table index <emphasis>idstoffset</emphasis>. This enables you to process a specific section of a table by specifying the offset and the number of elements to be processed. Offset is counted starting from 0, so if no offset is specified (or set to 0), the table will be modified from the beginning.
-    </para>
-    <para>
-      This opcode runs only on initialization, there is a k-rate version of this opcode called <link linkend="vmult"><citetitle>vmult</citetitle></link>.
-    </para>
-    <para>
-      Negative values for <emphasis>idstoffset</emphasis> are valid. Elements from the vector that are outside the table, will be discarded, and they will not wrap around the table.
-    </para>
-    <para>
-      In all these opcodes, the resulting vectors are stored in <emphasis>ifn</emphasis>, overriding the intial vectors. If you want to keep initial vector, use <link linkend="vcopy"><citetitle>vcopy</citetitle></link> or <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link> to copy it in another table. All these operators are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link>, etc.  They can also be useful in conjunction with the spectral opcodes <link linkend="pvsftw"><citetitle>pvsftw</citetitle></link> and <link linkend="pvsftr"><citetitle>pvsftr</citetitle></link>.
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the vmult_i opcode. It uses the file <ulink url="examples/vmult_i.csd"><citetitle>vmult_i.csd</citetitle></ulink>.
-
-      <example>
-        <title>Example of the vmult_i opcode.</title>
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-        <xi:include href="examples-xml/vmult_i.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>See also</title>
-    <para>
-      <link linkend="vadd_i"><citetitle>vadd</citetitle></link>, <link linkend="vadd"><citetitle>vadd</citetitle></link>, <link linkend="vmult"><citetitle>vmult</citetitle></link>, <link linkend="vpow"><citetitle>vpow</citetitle></link> and <link linkend="vexp"><citetitle>vexp</citetitle></link>.
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>See also</title>
-    <para>
-      <link linkend="vadd_i"><citetitle>vadd_i</citetitle></link>, <link linkend="vmult"><citetitle>vmult</citetitle></link>, <link linkend="vpow_i"><citetitle>vpow_i</citetitle></link> and <link linkend="vexp_i"><citetitle>vexp_i</citetitle></link>.
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Credits</title>
-    <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
-    <para>Example by Andres Cabrera.</para>
-    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
-  </refsect1>
+
+<refentry id="vmult_i">
+<indexterm id="IndexVmult_i"><primary>vmult_i</primary></indexterm>
+  <refentryinfo><title>Vectorial:Scalar operations</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>vmult_i</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>vmult_i</refname>
+    <refpurpose>
+      Multiplies a vector in a table by a scalar value.
+    </refpurpose>
+  </refnamediv>
+  
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Multiplies a vector in a table by a scalar value.
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>vmult_i</command>  ifn, ival, ielements [, idstoffset]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ifn</emphasis> - number of the table hosting the vectorial signal to be processed
+    </para>
+    <para>
+      <emphasis>ival</emphasis> - scalar value to be multiplied
+    </para>
+    <para>
+      <emphasis>ielements</emphasis> - number of elements of the vector
+    </para>
+    <para>
+      <emphasis>idstoffset</emphasis> - index offset for the destination table
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>vmult_i</emphasis> multiplies each element of the vector contained in the table <emphasis>ifn</emphasis> by <emphasis>ival</emphasis>, starting from table index <emphasis>idstoffset</emphasis>. This enables you to process a specific section of a table by specifying the offset and the number of elements to be processed. Offset is counted starting from 0, so if no offset is specified (or set to 0), the table will be modified from the beginning.
+    </para>
+    <para>
+      This opcode runs only on initialization, there is a k-rate version of this opcode called <link linkend="vmult"><citetitle>vmult</citetitle></link>.
+    </para>
+    <para>
+      Negative values for <emphasis>idstoffset</emphasis> are valid. Elements from the vector that are outside the table, will be discarded, and they will not wrap around the table.
+    </para>
+    <para>
+      In all these opcodes, the resulting vectors are stored in <emphasis>ifn</emphasis>, overriding the intial vectors. If you want to keep initial vector, use <link linkend="vcopy"><citetitle>vcopy</citetitle></link> or <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link> to copy it in another table. All these operators are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link>, etc.  They can also be useful in conjunction with the spectral opcodes <link linkend="pvsftw"><citetitle>pvsftw</citetitle></link> and <link linkend="pvsftr"><citetitle>pvsftr</citetitle></link>.
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the vmult_i opcode. It uses the file <ulink url="examples/vmult_i.csd"><citetitle>vmult_i.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the vmult_i opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/vmult_i.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>See also</title>
+    <para>
+      <link linkend="vadd_i"><citetitle>vadd</citetitle></link>, <link linkend="vadd"><citetitle>vadd</citetitle></link>, <link linkend="vmult"><citetitle>vmult</citetitle></link>, <link linkend="vpow_i"><citetitle>vpow_i</citetitle></link>, <link linkend="vpow"><citetitle>vpow</citetitle></link>, <link linkend="vexp_i"><citetitle>vexp_i</citetitle></link> and <link linkend="vexp"><citetitle>vexp</citetitle></link>.
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Credits</title>
+    <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
+    <para>Example by Andres Cabrera.</para>
+    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
+  </refsect1>
 </refentry>
\ No newline at end of file
diff --git a/opcodes/vmultv.xml b/opcodes/vmultv.xml
index 33f53a1..76177a7 100644
--- a/opcodes/vmultv.xml
+++ b/opcodes/vmultv.xml
@@ -1,107 +1,107 @@
-
-<refentry id="vmultv">
-<indexterm id="IndexVmultv"><primary>vmultv</primary></indexterm>
-  <refentryinfo><title>Vectorial:Vectorial operations</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>vmultv</refentrytitle>
-  </refmeta>
-
-  <refnamediv>
-    <refname>vmultv</refname>
-    <refpurpose>
-     Performs mutiplication between two vectorial control signals
-      
-    </refpurpose>
-  </refnamediv>
-  
-  <refsect1>
-    <title>Description</title>
-    <para>
-	Performs mutiplication between two vectorial control signals
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis><command>vmultv</command>  ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [,kverbose]</synopsis>
-  </refsect1>
- 
-  <refsect1>
-    <title>Initialization</title>
-    <para>
-      <emphasis>ifn1</emphasis>  - number of the table hosting the first vector to be processed
-    </para>
-    <para>
-      <emphasis>ifn2</emphasis>  - number of the table hosting the second vector to be processed
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      <emphasis>kelements</emphasis> - number of elements of the two vectors
-    </para>
-    <para>
-      <emphasis>kdstoffset</emphasis> - index offset for the destination (ifn1) table (Default=0)
-    </para>
-    <para>
-      <emphasis>ksrcoffset</emphasis> - index offset for the source (ifn2) table (Default=0)
-    </para>
-    <para>
-      <emphasis>kverbose</emphasis> - Selects whether or not warnings are printed (Default=0)
-    </para>
-    <para>
-      <emphasis>vmultv</emphasis> multiplies two vectorial control signals, that is, each element of the first vector is processed (only) with the corresponding element of the other vector. Each vectorial signal is hosted by a table (ifn1 and ifn2). The number of elements contained in both vectors must be the same.
-    </para>
-    <para>
-      The Result is a new vectorial control signal that overrides old values of ifn1. If you want to keep the old ifn1 vector, use <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link> opcode to copy it in another table. You can use <emphasis>kdstoffset</emphasis> and <emphasis>ksrcoffset</emphasis> to specify vectors in any location of the tables.
-    </para>
-    <para>
-      Negative values for <emphasis>kdstoffset</emphasis> and <emphasis>ksrcoffset</emphasis> are acceptable. If <emphasis>kdstoffset</emphasis> is negative, the out of range section of the vector will be discarded. If <emphasis>ksrcoffset</emphasis> is negative, the out of range elements will be assumed to be 1 (i.e. the destination elements will not be changed). If elements for the destination vector are beyond the size of the table (including guard point), these elements are discarded (i.e. elements do not wrap around the tables). If elements for the source vector are beyond the table length, these elements are taken as 1 (i.e. the destination vector will not be changed for these elements).
-    </para>
-    <para>
-      If the optional <emphasis>kverbose</emphasis> argument is different to 0, the opcode will print warning messages every k-pass if table lengths are exceeded.
-    </para>
-    <warning>
-      <para>
-        Using the same table as source and destination table in versions earlier than 5.04, might produce unexpected behavior, so use with care.
-      </para>
-    </warning>
-    <para>
-      This opcode works at k-rate (this means that every k-pass the vectors are multiplied). There's an i-rate version of this opcode called <link linkend="vmultv_i"><citetitle>vmultv_i</citetitle></link>.
-    </para>
-    <note>
-      <para>
-        Please note that the <emphasis>elements</emphasis> argument has changed in version 5.03 from i-rate to k-rate. This will change the opcode's behavior in the unusual cases where the i-rate variable <emphasis>ielements</emphasis> is changed inside the instrument, for example in:
-        <programlisting>
-    instr 1
-ielements = 10
-vadd 1, 1, ielements
-ielements = 20
-vadd 2, 1, ielements
-turnoff
-    endin</programlisting>
-      </para>
-    </note>
-    <para>
-      All these operators (<link linkend="vaddv"><citetitle>vaddv</citetitle></link>,<link linkend="vsubv"><citetitle>vsubv</citetitle></link>,<link linkend="vmultv"><citetitle>vmultv</citetitle></link>,<link linkend="vdivv"><citetitle>vdivv</citetitle></link>,<link linkend="vpowv"><citetitle>vpowv</citetitle></link>,<link linkend="vexpv"><citetitle>vexpv</citetitle></link>, <link linkend="vcopy"><citetitle>vcopy</citetitle></link> and <link linkend="vmap"><citetitle>vmap</citetitle></link>) are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link> etc. 
-    </para>
-  </refsect1>
-  
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the vmultv opcode. It uses the file <ulink url="examples/vmultv.csd"><citetitle>vmultv.csd</citetitle></ulink>.
-      
-      <example>
-        <title>Example of the vmultv opcode.</title>
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-        <xi:include href="examples-xml/vmultv.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Credits</title>
-    <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
-    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
-  </refsect1>
+
+<refentry id="vmultv">
+<indexterm id="IndexVmultv"><primary>vmultv</primary></indexterm>
+  <refentryinfo><title>Vectorial:Vectorial operations</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>vmultv</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>vmultv</refname>
+    <refpurpose>
+      Performs mutiplication between two vectorial control signals
+    </refpurpose>
+  </refnamediv>
+  
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Performs mutiplication between two vectorial control signals
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>vmultv</command>  ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [,kverbose]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ifn1</emphasis> - number of the table hosting the first vector to be processed
+    </para>
+    <para>
+      <emphasis>ifn2</emphasis> - number of the table hosting the second vector to be processed
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kelements</emphasis> - number of elements of the two vectors
+    </para>
+    <para>
+      <emphasis>kdstoffset</emphasis> - index offset for the destination (<emphasis>ifn1</emphasis>) table (Default=0)
+    </para>
+    <para>
+      <emphasis>ksrcoffset</emphasis> - index offset for the source (<emphasis>ifn2</emphasis>) table (Default=0)
+    </para>
+    <para>
+      <emphasis>kverbose</emphasis> - Selects whether or not warnings are printed (Default=0)
+    </para>
+    <para>
+      <emphasis>vmultv</emphasis> multiplies two vectorial control signals, that is, each element of the first vector is processed (only) with the corresponding element of the other vector. Each vectorial signal is hosted by a table (<emphasis>ifn1</emphasis> and <emphasis>ifn2</emphasis>). The number of elements contained in both vectors must be the same.
+    </para>
+    <para>
+      The Result is a new vectorial control signal that overrides old values of <emphasis>ifn1</emphasis>. If you want to keep the old <emphasis>ifn1</emphasis> vector, use <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link> opcode to copy it in another table. You can use <emphasis>kdstoffset</emphasis> and <emphasis>ksrcoffset</emphasis> to specify vectors in any location of the tables.
+    </para>
+    <para>
+      Negative values for <emphasis>kdstoffset</emphasis> and <emphasis>ksrcoffset</emphasis> are acceptable. If <emphasis>kdstoffset</emphasis> is negative, the out of range section of the vector will be discarded. If <emphasis>ksrcoffset</emphasis> is negative, the out of range elements will be assumed to be 1 (i.e. the destination elements will not be changed). If elements for the destination vector are beyond the size of the table (including guard point), these elements are discarded (i.e. elements do not wrap around the tables). If elements for the source vector are beyond the table length, these elements are taken as 1 (i.e. the destination vector will not be changed for these elements).
+    </para>
+    <para>
+      If the optional <emphasis>kverbose</emphasis> argument is different to 0, the opcode will print warning messages every k-pass if table lengths are exceeded.
+    </para>
+    <warning>
+      <para>
+        Using the same table as source and destination table in versions earlier than 5.04, might produce unexpected behavior, so use with care.
+      </para>
+    </warning>
+    <para>
+      This opcode works at k-rate (this means that every k-pass the vectors are multiplied). There's an i-rate version of this opcode called <link linkend="vmultv_i"><citetitle>vmultv_i</citetitle></link>.
+    </para>
+    <note>
+      <para>
+        Please note that the <emphasis>elements</emphasis> argument has changed in version 5.03 from i-rate to k-rate. This will change the opcode's behavior in the unusual cases where the i-rate variable <emphasis>ielements</emphasis> is changed inside the instrument, for example in:
+        <programlisting>
+    <emphasis role="oblock">instr</emphasis> 1
+ielements  <emphasis role="op">=</emphasis>        10
+           <emphasis role="opc">vadd</emphasis>     1, 1, ielements
+ielements  <emphasis role="op">=</emphasis>        20
+           <emphasis role="opc">vadd</emphasis>     2, 1, ielements
+           <emphasis role="opc">turnoff</emphasis>
+    <emphasis role="oblock">endin</emphasis></programlisting>
+      </para>
+    </note>
+    <para>
+      All these operators (<link linkend="vaddv"><citetitle>vaddv</citetitle></link>, <link linkend="vsubv"><citetitle>vsubv</citetitle></link>, <link linkend="vmultv"><citetitle>vmultv</citetitle></link>, <link linkend="vdivv"><citetitle>vdivv</citetitle></link>, <link linkend="vpowv"><citetitle>vpowv</citetitle></link>, <link linkend="vexpv"><citetitle>vexpv</citetitle></link>, <link linkend="vcopy"><citetitle>vcopy</citetitle></link> and <link linkend="vmap"><citetitle>vmap</citetitle></link>) are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link> etc. 
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the vmultv opcode. It uses the file <ulink url="examples/vmultv.csd"><citetitle>vmultv.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the vmultv opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/vmultv.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Credits</title>
+    <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
+    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
+  </refsect1>
 </refentry>
\ No newline at end of file
diff --git a/opcodes/voice.xml b/opcodes/voice.xml
index a35c53c..a0b7cde 100644
--- a/opcodes/voice.xml
+++ b/opcodes/voice.xml
@@ -1,151 +1,143 @@
-
-<refentry id="voice">
-<indexterm id="IndexVoice"><primary>voice</primary></indexterm>
-  <refentryinfo><title>Signal Generators:Models and Emulations</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>voice</refentrytitle>
-  </refmeta>
-
-
- 
-  <refnamediv>
-    <refname>voice</refname>
-    <refpurpose>
-      An emulation of a human voice.
-          </refpurpose>
-  </refnamediv>
- 
-  <refsect1>
-    <title>Description</title>
-    <para>
-      An emulation of a human voice.
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis>ares <command>voice</command> kamp, kfreq, kphoneme, kform, kvibf, kvamp, ifn, ivfn</synopsis>
-  </refsect1>
- 
-  <refsect1>
-    <title>Initialization</title>
-    <para>
-      <emphasis>ifn</emphasis>, <emphasis>ivfn</emphasis> -- two table numbers containing the carrier waveform and the vibrato waveform. The files <ulink url="examples/impuls20.aiff"><citetitle>impuls20.aiff</citetitle></ulink>, <ulink url="examples/ahh.aiff"><citetitle>ahh.aiff</citetitle></ulink>, <ulink url="examples/eee.aiff"><citetitle>eee.aiff</citetitle></ulink>, or <ulink url="examples/ooo.aiff"><citetitle>ooo.aiff</citetitle></ulink> are suitable for the first of these, and a sine wave for the second. These files are available from <ulink url="ftp://ftp.cs.bath.ac.uk/pub/dream/documentation/sounds/modelling/"><citetitle>ftp://ftp.cs.bath.ac.uk/pub/dream/documentation/sounds/modelling/</citetitle></ulink>.
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      <emphasis>kamp</emphasis> -- Amplitude of note.
-    </para>
-
-    <para>
-      <emphasis>kfreq</emphasis> -- Frequency of note played. It can be varied in performance.
-    </para>
-
-    <para>
-      <emphasis>kphoneme</emphasis> -- an integer in the range 0 to 16, which select the formants for the sounds:
-
-      <itemizedlist>
-        <listitem>
-           <para>
-             <quote>eee</quote>, <quote>ihh</quote>, <quote>ehh</quote>, <quote>aaa</quote>,
-           </para>
-        </listitem>
-
-        <listitem>
-           <para>
-             <quote>ahh</quote>, <quote>aww</quote>, <quote>ohh</quote>, <quote>uhh</quote>,
-           </para>
-        </listitem>
-
-        <listitem>
-           <para>
-             <quote>uuu</quote>, <quote>ooo</quote>, <quote>rrr</quote>, <quote>lll</quote>,
-           </para>
-        </listitem>
-
-        <listitem>
-           <para>
-             <quote>mmm</quote>, <quote>nnn</quote>, <quote>nng</quote>, <quote>ngg</quote>.
-           </para>
-        </listitem>
-      </itemizedlist>
-    </para>
-
-    <para>
-      At present the phonemes
-
-      <itemizedlist>
-        <listitem>
-           <para>
-             <quote>fff</quote>, <quote>sss</quote>, <quote>thh</quote>, <quote>shh</quote>,
-           </para>
-        </listitem>
-
-        <listitem>
-           <para>
-             <quote>xxx</quote>, <quote>hee</quote>, <quote>hoo</quote>, <quote>hah</quote>,
-           </para>
-        </listitem>
-
-        <listitem>
-           <para>
-             <quote>bbb</quote>, <quote>ddd</quote>, <quote>jjj</quote>, <quote>ggg</quote>,
-           </para>
-        </listitem>
-
-        <listitem>
-           <para>
-             <quote>vvv</quote>, <quote>zzz</quote>, <quote>thz</quote>, <quote>zhh</quote>
-           </para>
-        </listitem>
-      </itemizedlist>
-
-      are not available (!)
-    </para>
-
-    <para>
-      <emphasis>kform</emphasis> -- Gain on the phoneme. values 0.0 to 1.2 recommended.
-    </para>
-
-    <para>
-      <emphasis>kvibf</emphasis> -- frequency of vibrato in Hertz. Suggested range is 0 to 12
-    </para>
-
-    <para>
-      <emphasis>kvamp</emphasis> -- amplitude of the vibrato
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the voice opcode. It uses the file <ulink url="examples/voice.csd"><citetitle>voice.csd</citetitle></ulink>, and <ulink url="examples/impuls20.aiff"><citetitle>impuls20.aiff</citetitle></ulink>.
-
-      <example>
-        <title>Example of the voice opcode.</title>
-
-        
-
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/voice.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Credits</title>
-    <para>
-      <simplelist>
-        <member>Author: &namejohn; (after &nameperry;)</member>
-        <member>University of Bath, Codemist Ltd.</member>
-        <member>Bath, UK</member>
-      </simplelist>
-    </para>
-    <para>Example written by &namekevin;.</para>
-
-    <para>New in Csound version 3.47</para>
-  </refsect1>
-</refentry>
+
+<refentry id="voice">
+<indexterm id="IndexVoice"><primary>voice</primary></indexterm>
+  <refentryinfo><title>Signal Generators:Models and Emulations</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>voice</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>voice</refname>
+    <refpurpose>
+      An emulation of a human voice.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      An emulation of a human voice.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis>ares <command>voice</command> kamp, kfreq, kphoneme, kform, kvibf, kvamp, ifn, ivfn</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ifn</emphasis>, <emphasis>ivfn</emphasis> -- two table numbers containing the carrier waveform and the vibrato waveform. The files <ulink url="examples/impuls20.aiff"><citetitle>impuls20.aiff</citetitle></ulink>, <ulink url="examples/ahh.aiff"><citetitle>ahh.aiff</citetitle></ulink>, <ulink url="examples/eee.aiff"><citetitle>eee.aiff</citetitle></ulink>, or <ulink url="examples/ooo.aiff"><citetitle>ooo.aiff</citetitle></ulink> are suitable for the first of these, and a sine wave for the second. These files are available from <ulink url="ftp://ftp.cs.bath.ac.uk/pub/dream/documentation/sounds/modelling/"><citetitle>ftp://ftp.cs.bath.ac.uk/pub/dream/documentation/sounds/modelling/</citetitle></ulink>.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kamp</emphasis> -- Amplitude of note.
+    </para>
+
+    <para>
+      <emphasis>kfreq</emphasis> -- Frequency of note played. It can be varied in performance.
+    </para>
+
+    <para>
+      <emphasis>kphoneme</emphasis> -- an integer in the range 0 to 16, which select the formants for the sounds:
+
+      <itemizedlist>
+        <listitem>
+           <para>
+             <quote>eee</quote>, <quote>ihh</quote>, <quote>ehh</quote>, <quote>aaa</quote>,
+           </para>
+        </listitem>
+
+        <listitem>
+           <para>
+             <quote>ahh</quote>, <quote>aww</quote>, <quote>ohh</quote>, <quote>uhh</quote>,
+           </para>
+        </listitem>
+
+        <listitem>
+           <para>
+             <quote>uuu</quote>, <quote>ooo</quote>, <quote>rrr</quote>, <quote>lll</quote>,
+           </para>
+        </listitem>
+
+        <listitem>
+           <para>
+             <quote>mmm</quote>, <quote>nnn</quote>, <quote>nng</quote>, <quote>ngg</quote>.
+           </para>
+        </listitem>
+      </itemizedlist>
+    </para>
+
+    <para>
+      At present the phonemes
+
+      <itemizedlist>
+        <listitem>
+           <para>
+             <quote>fff</quote>, <quote>sss</quote>, <quote>thh</quote>, <quote>shh</quote>,
+           </para>
+        </listitem>
+
+        <listitem>
+           <para>
+             <quote>xxx</quote>, <quote>hee</quote>, <quote>hoo</quote>, <quote>hah</quote>,
+           </para>
+        </listitem>
+
+        <listitem>
+           <para>
+             <quote>bbb</quote>, <quote>ddd</quote>, <quote>jjj</quote>, <quote>ggg</quote>,
+           </para>
+        </listitem>
+
+        <listitem>
+           <para>
+             <quote>vvv</quote>, <quote>zzz</quote>, <quote>thz</quote>, <quote>zhh</quote>
+           </para>
+        </listitem>
+      </itemizedlist>
+
+      are not available (!)
+    </para>
+
+    <para>
+      <emphasis>kform</emphasis> -- Gain on the phoneme. values 0.0 to 1.2 recommended.
+    </para>
+
+    <para>
+      <emphasis>kvibf</emphasis> -- frequency of vibrato in Hertz. Suggested range is 0 to 12
+    </para>
+
+    <para>
+      <emphasis>kvamp</emphasis> -- amplitude of the vibrato
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the voice opcode. It uses the file <ulink url="examples/voice.csd"><citetitle>voice.csd</citetitle></ulink>, and <ulink url="examples/impuls20.aiff"><citetitle>impuls20.aiff</citetitle></ulink>.
+      <example>
+        <title>Example of the voice opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/voice.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn; (after &nameperry;)</member>
+        <member>University of Bath, Codemist Ltd.</member>
+        <member>Bath, UK</member>
+      </simplelist>
+    </para>
+    <para>New in Csound version 3.47</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/vport.xml b/opcodes/vport.xml
index 9e1e3ca..c876bf4 100644
--- a/opcodes/vport.xml
+++ b/opcodes/vport.xml
@@ -9,43 +9,40 @@
   <refnamediv>
     <refname>vport</refname>
     <refpurpose>
-     Vectorial Control-rate Delay Paths
-      
+      Vectorial Control-rate Delay Paths
     </refpurpose>
   </refnamediv>
   
   <refsect1>
     <title>Description</title>
     <para>
-	Generate a sort of 'vectorial' portamento
+      Generate a sort of 'vectorial' portamento
     </para>
   </refsect1>
+  
   <refsect1>
     <title>Syntax</title>
-    <synopsis><command>vport</command> ifn, khtime, ielements [, ifnInit]
-</synopsis>
+    <synopsis><command>vport</command> ifn, khtime, ielements [, ifnInit]</synopsis>
   </refsect1>
  
   <refsect1>
     <title>Initialization</title>
     <para>
-      <emphasis>ifn</emphasis>  - number of the table containing the output vector 
+      <emphasis>ifn</emphasis> - number of the table containing the output vector 
     </para>
-       <para>
+    <para>
       <emphasis>ielements</emphasis> - number of elements of the two vectors
     </para>
-        <para>
-      <emphasis>ifnInit</emphasis>  (optional) - number of the table containing a vector whose elements contain intial portamento values.
+    <para>
+      <emphasis>ifnInit</emphasis> (optional) - number of the table containing a vector whose elements contain initial portamento values.
     </para>
-
   </refsect1>
  
   <refsect1>
     <title>Performance</title>
     <para>
-      <emphasis>vport</emphasis> is similar to <link linkend="port"><citetitle>port</citetitle></link>, but operates with vectorial signals, istead of with scalar signals. Each vector element is treated as an indipendent control signal. Input vector input and output vectors are placed in the same table and output vector overrides input vector. If you want to keep input vector, use <link linkend="vcopy"><citetitle>vcopy</citetitle></link> opcode to copy it in another table.
-	</para>
-
+      <emphasis>vport</emphasis> is similar to <link linkend="port"><citetitle>port</citetitle></link>, but operates with vectorial signals, instead of with scalar signals. Each vector element is treated as an independent control signal. Input and output vectors are placed in the same table and output vector overrides input vector. If you want to keep input vector, use <link linkend="vcopy"><citetitle>vcopy</citetitle></link> opcode to copy it in another table.
+    </para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/vpow.xml b/opcodes/vpow.xml
index cd92a5a..9a182da 100644
--- a/opcodes/vpow.xml
+++ b/opcodes/vpow.xml
@@ -1,104 +1,111 @@
-
-<refentry id="vpow">
-<indexterm id="IndexVpow"><primary>vpow</primary></indexterm>
-  <refentryinfo><title>Vectorial:Scalar operations</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>vpow</refentrytitle>
-  </refmeta>
-
-  <refnamediv>
-    <refname>vpow</refname>
-    <refpurpose>
-     Raises each element of a vector to a scalar power
-    </refpurpose>
-  </refnamediv>
-
-  <refsect1>
-    <title>Description</title>
-    <para>
-     Raises each element of a vector to a scalar power
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis><command>vpow</command>  ifn, kval, kelements [, kdstoffset] [, kverbose]</synopsis>
-  </refsect1>
-
-  <refsect1>
-    <title>Initialization</title>
-    <para>
-      <emphasis>ifn</emphasis>  - number of the table hosting the vectorial signal to be processed
-    </para>
-  </refsect1>
-
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      <emphasis>kval</emphasis> - scalar value to which the elements of ifn will be raised
-    </para>
-    <para>
-      <emphasis>kelements</emphasis> - number of elements of the vector
-    </para>
-    <para>
-      <emphasis>kdstoffset</emphasis> - index offset for the destination table (Optional, default = 0)
-    </para>
-    <para>
-      <emphasis>kverbose</emphasis> - Selects whether or not warnings are printed (Default=0)
-    </para>
-    <para>
-      <emphasis>vpow</emphasis> raises each element of the vector contained in the table <emphasis>ifn</emphasis> to the power of <emphasis>kval</emphasis>, starting from table index <emphasis>idstoffset</emphasis>. This enables you to process a specific section of a table by specifying the offset and the number of elements to be processed. Offset is counted starting from 0, so if no offset is specified (or set to 0), the table will be modified from the beginning.
-    </para>
-    <para>
-      Note that this opcode runs at k-rate so the value of <emphasis>kval</emphasis> is processed every control period. Use with care or you will end up with very large (or small) numbers (or use <link linkend="vpow_i"><citetitle>vpow_i</citetitle></link>).
-    </para>
-    <para>
-      These opcodes (<link linkend="vadd"><citetitle>vadd</citetitle></link>, <link linkend="vmult"><citetitle>vmult</citetitle></link>, <link linkend="vpow"><citetitle>vpow</citetitle></link> and <link linkend="vexp"><citetitle>vexp</citetitle></link>) perform numeric operations between a vectorial control signal (hosted by the table <emphasis>ifn</emphasis>), and a scalar signal (<emphasis>kval</emphasis>). Result is a new vector that overrides old values of <emphasis>ifn</emphasis>. All these opcodes work at k-rate.
-    </para>
-    <para>
-      Negative values for <emphasis>kdstoffset</emphasis> are valid. Elements from the vector that are outside the table, will be discarded, and they will not wrap around the table.
-    </para>
-    <para>
-      If the optional <emphasis>kverbose</emphasis> argument is different to 0, the opcode will print warning messages every k-pass if table lengths are exceeded.
-    </para>
-    <para>
-      In all these opcodes, the resulting vectors are stored in <emphasis>ifn</emphasis>, overriding the intial vectors. If you want to keep initial vector, use <link linkend="vcopy"><citetitle>vcopy</citetitle></link> or <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link> to copy it in another table. All these operators are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link>, etc.  They can also be useful in conjunction with the spectral opcodes <link linkend="pvsftw"><citetitle>pvsftw</citetitle></link> and <link linkend="pvsftr"><citetitle>pvsftr</citetitle></link>.
-    </para>
-    <note>
-      <para>
-        Please note that the <emphasis>elements</emphasis> argument has changed in version 5.03 from i-rate to k-rate. This will change the opcode's behavior in the unusual cases where the i-rate variable <emphasis>ielements</emphasis> is changed inside the instrument, for example in:
-        <programlisting>
-    instr 1
-ielements = 10
-vadd 1, 1, ielements
-ielements = 20
-vadd 2, 1, ielements
-turnoff
-    endin</programlisting>
-      </para>
-    </note>
-  </refsect1>
-
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the vpow opcode. It uses the file <ulink url="examples/vpow.csd"><citetitle>vpow.csd</citetitle></ulink>.
-
-      <example>
-        <title>Example of the vpow opcode.</title>
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-<xi:include href="examples-xml/vpow.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>See also</title>
-    <para>
-      <link linkend="vadd"><citetitle>vadd_i</citetitle></link>, <link linkend="vmult"><citetitle>vmult</citetitle></link>, <link linkend="vpow_i"><citetitle>vpow</citetitle></link> and <link linkend="vexp"><citetitle>vexp</citetitle></link>.
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Credits</title>
-    <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
-    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
-  </refsect1>
-</refentry>
\ No newline at end of file
+
+<refentry id="vpow">
+<indexterm id="IndexVpow"><primary>vpow</primary></indexterm>
+  <refentryinfo><title>Vectorial:Scalar operations</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>vpow</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>vpow</refname>
+    <refpurpose>
+      Raises each element of a vector to a scalar power.
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+       Raises each element of a vector to a scalar power.
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>vpow</command>  ifn, kval, kelements [, kdstoffset] [, kverbose]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ifn</emphasis>  - number of the table hosting the vectorial signal to be processed
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kval</emphasis> - scalar value to which the elements of <emphasis>ifn</emphasis> will be raised
+    </para>
+    <para>
+      <emphasis>kelements</emphasis> - number of elements of the vector
+    </para>
+    <para>
+      <emphasis>kdstoffset</emphasis> - index offset for the destination table (Optional, default = 0)
+    </para>
+    <para>
+      <emphasis>kverbose</emphasis> - Selects whether or not warnings are printed (Default=0)
+    </para>
+    <para>
+      <emphasis>vpow</emphasis> raises each element of the vector contained in the table <emphasis>ifn</emphasis> to the power of <emphasis>kval</emphasis>, starting from table index <emphasis>kdstoffset</emphasis>. This enables you to process a specific section of a table by specifying the offset and the number of elements to be processed. Offset is counted starting from 0, so if no offset is specified (or set to 0), the table will be modified from the beginning.
+    </para>
+    <para>
+      Note that this opcode runs at k-rate so the value of <emphasis>kval</emphasis> is processed every control period. Use with care or you will end up with very large (or small) numbers (or use <link linkend="vpow_i"><citetitle>vpow_i</citetitle></link>).
+    </para>
+    <para>
+      These opcodes (<link linkend="vadd"><citetitle>vadd</citetitle></link>, <link linkend="vmult"><citetitle>vmult</citetitle></link>, <link linkend="vpow"><citetitle>vpow</citetitle></link> and <link linkend="vexp"><citetitle>vexp</citetitle></link>) perform numeric operations between a vectorial control signal (hosted by the table <emphasis>ifn</emphasis>), and a scalar signal (<emphasis>kval</emphasis>). Result is a new vector that overrides old values of <emphasis>ifn</emphasis>. All these opcodes work at k-rate.
+    </para>
+    <para>
+      Negative values for <emphasis>kdstoffset</emphasis> are valid. Elements from the vector that are outside the table, will be discarded, and they will not wrap around the table.
+    </para>
+    <para>
+      If the optional <emphasis>kverbose</emphasis> argument is different to 0, the opcode will print warning messages every k-pass if table lengths are exceeded.
+    </para>
+    <para>
+      In all these opcodes, the resulting vectors are stored in <emphasis>ifn</emphasis>, overriding the intial vectors. If you want to keep initial vector, use <link linkend="vcopy"><citetitle>vcopy</citetitle></link> or <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link> to copy it in another table. All these operators are designed to be used together with other opcodes that operate with vectorial signals such as <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link>, etc.  They can also be useful in conjunction with the spectral opcodes <link linkend="pvsftw"><citetitle>pvsftw</citetitle></link> and <link linkend="pvsftr"><citetitle>pvsftr</citetitle></link>.
+    </para>
+    <note>
+      <para>
+        Please note that the <emphasis>elements</emphasis> argument has changed in version 5.03 from i-rate to k-rate. This will change the opcode's behavior in the unusual cases where the i-rate variable <emphasis>ielements</emphasis> is changed inside the instrument, for example in:
+        <programlisting>
+    <emphasis role="oblock">instr</emphasis> 1
+ielements  <emphasis role="op">=</emphasis>        10
+           <emphasis role="opc">vadd</emphasis>     1, 1, ielements
+ielements  <emphasis role="op">=</emphasis>        20
+           <emphasis role="opc">vadd</emphasis>     2, 1, ielements
+           <emphasis role="opc">turnoff</emphasis>
+    <emphasis role="oblock">endin</emphasis></programlisting>
+      </para>
+    </note>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the vpow opcode. It uses the file <ulink url="examples/vpow.csd"><citetitle>vpow.csd</citetitle></ulink>.
+      <example>
+        <title>Examples of the vpow opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/vpow.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+    <para>
+      Here is another example of the vpow opcode. It uses the file <ulink url="examples/vpow-2.csd"><citetitle>vpow-2.csd</citetitle></ulink>.
+      <example>
+        <xi:include href="examples-xml/vpow-2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>See also</title>
+    <para>
+      <link linkend="vadd"><citetitle>vadd_i</citetitle></link>, <link linkend="vmult"><citetitle>vmult</citetitle></link>, <link linkend="vpow_i"><citetitle>vpow</citetitle></link> and <link linkend="vexp"><citetitle>vexp</citetitle></link>.
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Credits</title>
+    <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
+    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/vpow_i.xml b/opcodes/vpow_i.xml
index 59dd459..a24c697 100644
--- a/opcodes/vpow_i.xml
+++ b/opcodes/vpow_i.xml
@@ -52,21 +52,28 @@
       Negative values for <emphasis>idstoffset</emphasis> are valid. Elements from the vector that are outside the table, will be discarded, and they will not wrap around the table.
     </para>
     <para>
-      In all these opcodes, the resulting vectors are stored in <emphasis>ifn</emphasis>, overriding the intial vectors. If you want to keep initial vector, use <link linkend="vcopy"><citetitle>vcopy</citetitle></link> or <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link> to copy it in another table. All these operators are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link>, etc.  They can also be useful in conjunction with the spectral opcodes <link linkend="pvsftw"><citetitle>pvsftw</citetitle></link> and <link linkend="pvsftr"><citetitle>pvsftr</citetitle></link>.
+      In all these opcodes, the resulting vectors are stored in <emphasis>ifn</emphasis>, overriding the intial vectors. If you want to keep initial vector, use <link linkend="vcopy"><citetitle>vcopy</citetitle></link> or <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link> to copy it in another table. All these operators are designed to be used together with other opcodes that operate with vectorial signals such as <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link>, etc.  They can also be useful in conjunction with the spectral opcodes <link linkend="pvsftw"><citetitle>pvsftw</citetitle></link> and <link linkend="pvsftr"><citetitle>pvsftr</citetitle></link>.
     </para>
   </refsect1>
+
   <refsect1>
     <title>Examples</title>
     <para>
       Here is an example of the vpow_i opcode. It uses the file <ulink url="examples/vpow_i.csd"><citetitle>vpow_i.csd</citetitle></ulink>.
-
       <example>
-        <title>Example of the vpow_i opcode.</title>
+        <title>Examples of the vpow_i opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
         <xi:include href="examples-xml/vpow_i.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
     </para>
+    <para>
+      Here is another example of the vpow_i opcode. It uses the file <ulink url="examples/vpow_i-2.csd"><citetitle>vpow_i-2.csd</citetitle></ulink>.
+      <example>
+        <xi:include href="examples-xml/vpow_i-2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
   </refsect1>
+  
   <refsect1>
     <title>See also</title>
     <para>
@@ -78,4 +85,4 @@
     <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
     <para>New in Csound 5 (Previously available only on CsoundAV)</para>
   </refsect1>
-</refentry>
\ No newline at end of file
+</refentry>
diff --git a/opcodes/vpowv.xml b/opcodes/vpowv.xml
index c7d1919..668a8bb 100644
--- a/opcodes/vpowv.xml
+++ b/opcodes/vpowv.xml
@@ -1,107 +1,106 @@
-
-<refentry id="vpowv">
-<indexterm id="IndexVpowv"><primary>vpowv</primary></indexterm>
-  <refentryinfo><title>Vectorial:Vectorial operations</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>vpowv</refentrytitle>
-  </refmeta>
-
-  <refnamediv>
-    <refname>vpowv</refname>
-    <refpurpose>
-     Performs power-of operations between two vectorial control signals
-      
-    </refpurpose>
-  </refnamediv>
-  
-  <refsect1>
-    <title>Description</title>
-    <para>
-	Performs power-of operations between two vectorial control signals
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis><command>vpowv</command> ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [,kverbose]</synopsis>
-  </refsect1>
- 
-  <refsect1>
-    <title>Initialization</title>
-    <para>
-      <emphasis>ifn1</emphasis>  - number of the table hosting the first vector to be processed
-    </para>
-    <para>
-      <emphasis>ifn2</emphasis>  - number of the table hosting the second vector to be processed
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      <emphasis>kelements</emphasis> - number of elements of the two vectors
-    </para>
-    <para>
-      <emphasis>kdstoffset</emphasis> - index offset for the destination (ifn1) table (Default=0)
-    </para>
-    <para>
-      <emphasis>ksrcoffset</emphasis> - index offset for the source (ifn2) table (Default=0)
-    </para>
-    <para>
-      <emphasis>kverbose</emphasis> - Selects whether or not warnings are printed (Default=0)
-    </para>
-    <para>
-      <emphasis>vpowv</emphasis> raises each element of ifn1 to the corresponding element of ifn2. Each vectorial signal is hosted by a table (ifn1 and ifn2). The number of elements contained in both vectors must be the same.
-    </para>
-    <para>
-      The result is a new vectorial control signal that overrides old values of ifn1. If you want to keep the old ifn1 vector, use <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link> opcode to copy it in another table. You can use <emphasis>kdstoffset</emphasis> and <emphasis>ksrcoffset</emphasis> to specify vectors in any location of the tables.
-    </para>
-    <para>
-      Negative values for <emphasis>kdstoffset</emphasis> and <emphasis>ksrcoffset</emphasis> are acceptable. If <emphasis>kdstoffset</emphasis> is negative, the out of range section of the vector will be discarded. If <emphasis>ksrcoffset</emphasis> is negative, the out of range elements will be assumed to be 1 (i.e. the destination elements will not be changed). If elements for the destination vector are beyond the size of the table (including guard point), these elements are discarded (i.e. elements do not wrap around the tables). If elements for the source vector are beyond the table length, these elements are taken as 1 (i.e. the destination vector will not be changed for these elements).
-    </para>
-    <para>
-      If the optional <emphasis>kverbose</emphasis> argument is different to 0, the opcode will print warning messages every k-pass if table lengths are exceeded.
-    </para>
-    <warning>
-      <para>
-        Using the same table as source and destination table in versions earlier than 5.04, might produce unexpected behavior, so use with care.
-      </para>
-    </warning>
-    <para>
-      This opcode works at k-rate (this means that every k-pass the vectors are processed). There's an i-rate version of this opcode called <link linkend="vpowv_i"><citetitle>vpowv_i</citetitle></link>.
-    </para>
-    <note>
-      <para>
-        Please note that the <emphasis>elements</emphasis> argument has changed in version 5.03 from i-rate to k-rate. This will change the opcode's behavior in the unusual cases where the i-rate variable <emphasis>ielements</emphasis> is changed inside the instrument, for example in:
-        <programlisting>
-    instr 1
-ielements = 10
-vadd 1, 1, ielements
-ielements = 20
-vadd 2, 1, ielements
-turnoff
-    endin</programlisting>
-      </para>
-    </note>
-    <para>
-      All these operators (<link linkend="vaddv"><citetitle>vaddv</citetitle></link>,<link linkend="vsubv"><citetitle>vsubv</citetitle></link>,<link linkend="vmultv"><citetitle>vmultv</citetitle></link>,<link linkend="vdivv"><citetitle>vdivv</citetitle></link>,<link linkend="vpowv"><citetitle>vpowv</citetitle></link>,<link linkend="vexpv"><citetitle>vexpv</citetitle></link>, <link linkend="vcopy"><citetitle>vcopy</citetitle></link> and <link linkend="vmap"><citetitle>vmap</citetitle></link>) are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link> etc. 
-    </para>
-  </refsect1>
-  
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the vpowv opcode. It uses the file <ulink url="examples/vpowv.csd"><citetitle>vpowv.csd</citetitle></ulink>.
-      
-      <example>
-        <title>Example of the vpowv opcode.</title>
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-        <xi:include href="examples-xml/vpowv.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Credits</title>
-    <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
-    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
-  </refsect1>
+
+<refentry id="vpowv">
+<indexterm id="IndexVpowv"><primary>vpowv</primary></indexterm>
+  <refentryinfo><title>Vectorial:Vectorial operations</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>vpowv</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>vpowv</refname>
+    <refpurpose>
+      Performs power-of operations between two vectorial control signals
+    </refpurpose>
+  </refnamediv>
+  
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Performs power-of operations between two vectorial control signals
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>vpowv</command> ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [,kverbose]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ifn1</emphasis> - number of the table hosting the first vector to be processed
+    </para>
+    <para>
+      <emphasis>ifn2</emphasis> - number of the table hosting the second vector to be processed
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kelements</emphasis> - number of elements of the two vectors
+    </para>
+    <para>
+      <emphasis>kdstoffset</emphasis> - index offset for the destination (<emphasis>ifn1</emphasis>) table (Default=0)
+    </para>
+    <para>
+      <emphasis>ksrcoffset</emphasis> - index offset for the source (<emphasis>ifn2</emphasis>) table (Default=0)
+    </para>
+    <para>
+      <emphasis>kverbose</emphasis> - Selects whether or not warnings are printed (Default=0)
+    </para>
+    <para>
+      <emphasis>vpowv</emphasis> raises each element of <emphasis>ifn1</emphasis> to the corresponding element of <emphasis>ifn2</emphasis>. Each vectorial signal is hosted by a table (<emphasis>ifn1</emphasis> and <emphasis>ifn2</emphasis>). The number of elements contained in both vectors must be the same.
+    </para>
+    <para>
+      The result is a new vectorial control signal that overrides old values of ifn1. If you want to keep the old <emphasis>ifn1</emphasis> vector, use <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link> opcode to copy it in another table. You can use <emphasis>kdstoffset</emphasis> and <emphasis>ksrcoffset</emphasis> to specify vectors in any location of the tables.
+    </para>
+    <para>
+      Negative values for <emphasis>kdstoffset</emphasis> and <emphasis>ksrcoffset</emphasis> are acceptable. If <emphasis>kdstoffset</emphasis> is negative, the out of range section of the vector will be discarded. If <emphasis>ksrcoffset</emphasis> is negative, the out of range elements will be assumed to be 1 (i.e. the destination elements will not be changed). If elements for the destination vector are beyond the size of the table (including guard point), these elements are discarded (i.e. elements do not wrap around the tables). If elements for the source vector are beyond the table length, these elements are taken as 1 (i.e. the destination vector will not be changed for these elements).
+    </para>
+    <para>
+      If the optional <emphasis>kverbose</emphasis> argument is different to 0, the opcode will print warning messages every k-pass if table lengths are exceeded.
+    </para>
+    <warning>
+      <para>
+        Using the same table as source and destination table in versions earlier than 5.04, might produce unexpected behavior, so use with care.
+      </para>
+    </warning>
+    <para>
+      This opcode works at k-rate (this means that every k-pass the vectors are processed). There's an i-rate version of this opcode called <link linkend="vpowv_i"><citetitle>vpowv_i</citetitle></link>.
+    </para>
+    <note>
+      <para>
+        Please note that the <emphasis>elements</emphasis> argument has changed in version 5.03 from i-rate to k-rate. This will change the opcode's behavior in the unusual cases where the i-rate variable <emphasis>ielements</emphasis> is changed inside the instrument, for example in:
+        <programlisting>
+    <emphasis role="oblock">instr</emphasis> 1
+ielements  <emphasis role="op">=</emphasis>        10
+           <emphasis role="opc">vadd</emphasis>     1, 1, ielements
+ielements  <emphasis role="op">=</emphasis>        20
+           <emphasis role="opc">vadd</emphasis>     2, 1, ielements
+           <emphasis role="opc">turnoff</emphasis>
+    <emphasis role="oblock">endin</emphasis></programlisting>
+      </para>
+    </note>
+    <para>
+      All these operators (<link linkend="vaddv"><citetitle>vaddv</citetitle></link>, <link linkend="vsubv"><citetitle>vsubv</citetitle></link>, <link linkend="vmultv"><citetitle>vmultv</citetitle></link>, <link linkend="vdivv"><citetitle>vdivv</citetitle></link>, <link linkend="vpowv"><citetitle>vpowv</citetitle></link>, <link linkend="vexpv"><citetitle>vexpv</citetitle></link>, <link linkend="vcopy"><citetitle>vcopy</citetitle></link> and <link linkend="vmap"><citetitle>vmap</citetitle></link>) are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link>, etc. 
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the vpowv opcode. It uses the file <ulink url="examples/vpowv.csd"><citetitle>vpowv.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the vpowv opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/vpowv.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Credits</title>
+    <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
+    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
+  </refsect1>
 </refentry>
\ No newline at end of file
diff --git a/opcodes/vpvoc.xml b/opcodes/vpvoc.xml
index eed4d8f..39766ea 100644
--- a/opcodes/vpvoc.xml
+++ b/opcodes/vpvoc.xml
@@ -86,10 +86,16 @@ ktime   <emphasis role="opc">line</emphasis>         0, p3, 3 <emphasis role="co
 apv     <emphasis role="opc">vpvoc</emphasis>        ktime, 1, "pvoc.file"</programlisting>
       </informalexample>
     </para>
-
     <para>
       The result would be a time-varying <quote>spectral envelope</quote> applied to the phase vocoder analysis data. Since this amplifies or attenuates the amount of signal at the frequencies that are paired with the amplitudes which are scaled by these functions, it has the effect of applying very accurate filters to the signal. In this example the first table would have the effect of a band-pass filter, gradually be band-rejected over half the note's duration, and then go towards no modification of the magnitudes over the second half.
    </para>
+    <para>
+      Here is a complete example of the vpvoc opcode. It uses the file <ulink url="examples/vpvoc.csd"><citetitle>vpvoc.csd</citetitle></ulink>.
+      <example>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/vpvoc.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/vrandh.xml b/opcodes/vrandh.xml
index 493269e..7d1da28 100644
--- a/opcodes/vrandh.xml
+++ b/opcodes/vrandh.xml
@@ -9,7 +9,7 @@
   <refnamediv>
     <refname>vrandh</refname>
     <refpurpose>
-     Generates a vector of random numbers stored into a table, holding the values for a period of time.
+      Generates a vector of random numbers stored into a table, holding the values for a period of time.
     </refpurpose>
   </refnamediv>
 
@@ -19,16 +19,17 @@
       Generates a vector of random numbers stored into a table, holding the values for a period of time. Generates a sort of 'vectorial band-limited noise'.
     </para>
   </refsect1>
+  
   <refsect1>
     <title>Syntax</title>
-    <synopsis><command>vrandh</command>  ifn,  krange, kcps, ielements [, idstoffset] [, iseed]
+    <synopsis><command>vrandh</command>  ifn,  krange, kcps, ielements [, idstoffset] [, iseed] \
       [, isize] [, ioffset]</synopsis>
   </refsect1>
 
   <refsect1>
     <title>Initialization</title>
     <para>
-      <emphasis>ifn</emphasis>  - number of the table where the vectorial signal will be generated
+      <emphasis>ifn</emphasis> - number of the table where the vectorial signal will be generated
     </para>
     <para>
       <emphasis>ielements</emphasis> - number of elements of the vector
@@ -37,7 +38,7 @@
       <emphasis>idstoffset</emphasis> - (optional, default=0) -- index offset for the destination table
     </para>
     <para>
-      <emphasis>iseed</emphasis> (optional, default=0.5) -- seed value for the recursive pseudo-random formula. A value between 0 and +1 will produce an initial output of <emphasis>kamp * iseed.</emphasis> A negative value will cause seed re-initialization to be skipped. A value greater than 1 will seed from system time, this is the best option to generate a different random sequence for each run.
+      <emphasis>iseed</emphasis> (optional, default=0.5) -- seed value for the recursive pseudo-random formula. A value between 0 and +1 will produce an initial output of <emphasis>kamp</emphasis> * <emphasis>iseed</emphasis>. A negative value will cause seed re-initialization to be skipped. A value greater than 1 will seed from system time, this is the best option to generate a different random sequence for each run.
     </para>
     <para>
       <emphasis>isize</emphasis> (optional, default=0) -- if zero, a 16 bit number is generated. If non-zero, a 31-bit random number is generated. Default is 0.
@@ -50,10 +51,10 @@
   <refsect1>
     <title>Performance</title>
        <para>
-      <emphasis>krange</emphasis> - range of random elements (from -krange to krange)
+      <emphasis>krange</emphasis> - range of random elements (from -<emphasis>krange</emphasis> to <emphasis>krange</emphasis>).
     </para>
     <para>
-      <emphasis>kcps</emphasis> - rate of generated elements in cycles per seconds
+      <emphasis>kcps</emphasis> - rate of generated elements in cycles per seconds.
     </para>
     <para>
       This opcode is similar to <link linkend="randh"><citetitle>randh</citetitle></link>, but operates on vectors instead of with scalar values.
@@ -65,10 +66,11 @@
       The output is a vector contained in <emphasis>ifn</emphasis> (that must be previously allocated).
     </para>
     <para>
-      All these operators are designed to be used together with other opocdes that operate with vector such as bmscan, <link linkend="adsynt"><citetitle>adsynt</citetitle></link> etc.
+      All these operators are designed to be used together with other opcodes that operate with vector such as bmscan, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, etc.
     </para>
     <para><emphasis>Note:</emphasis> bmscan not yet available on Canonical Csound</para>
   </refsect1>
+  
   <refsect1>
     <title>Examples</title>
     <para>
@@ -81,6 +83,7 @@
       </example>
     </para>
   </refsect1>
+  
   <refsect1>
     <title>See also</title>
     <para>
diff --git a/opcodes/vrandi.xml b/opcodes/vrandi.xml
index 6bc0656..be0bee0 100644
--- a/opcodes/vrandi.xml
+++ b/opcodes/vrandi.xml
@@ -9,7 +9,7 @@
   <refnamediv>
     <refname>vrandi</refname>
     <refpurpose>
-     Generate a sort of 'vectorial band-limited noise'
+      Generate a sort of 'vectorial band-limited noise'
     </refpurpose>
   </refnamediv>
 
@@ -19,16 +19,17 @@
       Generate a sort of 'vectorial band-limited noise'
     </para>
   </refsect1>
+  
   <refsect1>
     <title>Syntax</title>
-    <synopsis><command>vrandi</command>  ifn,  krange, kcps, ielements [, idstoffset] [, iseed]
+    <synopsis><command>vrandi</command>  ifn,  krange, kcps, ielements [, idstoffset] [, iseed] \
       [, isize] [, ioffset]</synopsis>
   </refsect1>
 
   <refsect1>
     <title>Initialization</title>
     <para>
-      <emphasis>ifn</emphasis>  - number of the table where the vectorial signal will be generated
+      <emphasis>ifn</emphasis> - number of the table where the vectorial signal will be generated
     </para>
        <para>
       <emphasis>ielements</emphasis> - number of elements to process
@@ -37,7 +38,7 @@
       <emphasis>idstoffset</emphasis> - (optional, default=0) -- index offset for the destination table
     </para>
     <para>
-      <emphasis>iseed</emphasis> (optional, default=0.5) -- seed value for the recursive pseudo-random formula. A value between 0 and +1 will produce an initial output of <emphasis>kamp * iseed.</emphasis> A negative value will cause seed re-initialization to be skipped. A value greater than 1 will seed from system time, this is the best option to generate a different random sequence for each run.
+      <emphasis>iseed</emphasis> (optional, default=0.5) -- seed value for the recursive pseudo-random formula. A value between 0 and +1 will produce an initial output of <emphasis>kamp</emphasis> * <emphasis>iseed</emphasis>. A negative value will cause seed re-initialization to be skipped. A value greater than 1 will seed from system time, this is the best option to generate a different random sequence for each run.
     </para>
     <para>
       <emphasis>isize</emphasis> (optional, default=0) -- if zero, a 16 bit number is generated. If non-zero, a 31-bit random number is generated. Default is 0.
@@ -50,7 +51,7 @@
   <refsect1>
     <title>Performance</title>
     <para>
-      <emphasis>krange</emphasis> - range of random elements (from -krange to krange)
+      <emphasis>krange</emphasis> - range of random elements (from -<emphasis>krange</emphasis> to <emphasis>krange</emphasis>)
     </para>
     <para>
       <emphasis>kcps</emphasis> - rate of generated elements in cycles per seconds
@@ -65,16 +66,16 @@
       The output is a vector contained in <emphasis>ifn</emphasis> (that must be previously allocated).
     </para>
     <para>
-      All these operators are designed to be used together with other opocdes that operate with vector such as bmscan, <link linkend="adsynt"><citetitle>adsynt</citetitle></link> etc.
+      All these operators are designed to be used together with other opcodes that operate with vector such as bmscan, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, etc.
     </para>
     <para><emphasis>Note:</emphasis> bmscan not yet available on Canonical Csound
     </para>
   </refsect1>
+  
   <refsect1>
     <title>Examples</title>
     <para>
       Here is an example of the vrandi opcode. It uses the file <ulink url="examples/vrandi.csd"><citetitle>vrandi.csd</citetitle></ulink>.
-
       <example>
         <title>Example of the vrandi opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
@@ -82,6 +83,7 @@
       </example>
     </para>
   </refsect1>
+  
   <refsect1>
     <title>See also</title>
     <para>
diff --git a/opcodes/vstbankload.xml b/opcodes/vstbankload.xml
index 1ee1932..2e3ec26 100644
--- a/opcodes/vstbankload.xml
+++ b/opcodes/vstbankload.xml
@@ -7,55 +7,70 @@
   
   <refnamediv>
     <refname>vstbankload</refname>
-    <refpurpose>Loads parameter banks to a VST plugin.
+    <refpurpose>
+      Loads parameter banks to a VST plugin.
     </refpurpose>
   </refnamediv>
+  
   <refsect1>
     <title>Syntax</title>
     <synopsis><command>vstbankload</command> instance, ipath</synopsis>
   </refsect1>
+  
   <refsect1>
     <title>Description</title>
-    <para><emphasis>vstbankload</emphasis> is used for loading parameter
-      banks to a VST plugin.</para>
+    <para>
+      <emphasis>vstbankload</emphasis> is used for loading parameter
+      banks to a VST plugin.
+    </para>
   </refsect1>
+  
   <refsect1>
     <title>Initialization</title>
-    <para><emphasis>instance</emphasis> - the number which identifies the
-      plugin, to be passed to other vst4cs opcodes.</para>
-    <para><emphasis>ipath</emphasis> - the full pathname of the parameter
-      bank (<filename>.fxb</filename> file).</para>
+    <para>
+      <emphasis>instance</emphasis> - the number which identifies the
+      plugin, to be passed to other vst4cs opcodes.
+    </para>
+    <para>
+      <emphasis>ipath</emphasis> - the full pathname of the parameter
+      bank (<filename>.fxb</filename> file).
+    </para>
   </refsect1>
+  
   <refsect1>
     <title>Examples</title>
     <example>
       <title>Example for vstbankload</title>
       <programlisting>
-/* orc */
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 2
-gihandle1 vstinit "c:/vstplugins/cheeze/cheeze machine.dll",1
-instr 4
-vstbankload gihandle1,"c:/vstplugins/cheeze/chengo'scheese.fxb"
-vstinfo gihandle1
-endin
+<emphasis role="comment">/* orc */</emphasis>
+<emphasis role="ohdr">sr</emphasis>     <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">kr</emphasis>     <emphasis role="op">=</emphasis> 4410
+<emphasis role="ohdr">ksmps</emphasis>  <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
+gihandle1 <emphasis role="opc">vstinit</emphasis> "c:/vstplugins/cheeze/cheeze machine.dll", 1
 
-/* sco */
-i 3 0 21
-i4 1 1 57 32
-      </programlisting>
+<emphasis role="oblock">instr</emphasis> 4
+  <emphasis role="opc">vstbankload</emphasis>  gihandle1,"c:/vstplugins/cheeze/chengo'scheese.fxb"
+  <emphasis role="opc">vstinfo</emphasis>      gihandle1
+<emphasis role="oblock">endin</emphasis>
+
+<emphasis role="comment">/* sco */</emphasis>
+<emphasis role="stamnt">i</emphasis> 3 0 21
+<emphasis role="stamnt">i</emphasis> 4 1 1 57 32</programlisting>
     </example>
   </refsect1>
+
   <refsect1>
     <title>Credits</title>
     <para>By: &nameandres; and &namemichael;</para>
-    <para>Uses code from Hermann Seib's VSTHost and Thomas Grill's vst~
-      object.</para>
-    <para>VST is a trademark of Steinberg Media Technologies GmbH. 
-      VST Plug-In Technology by Steinberg.</para>
+    <para>
+      Uses code from Hermann Seib's VSTHost and Thomas Grill's vst~
+      object.
+    </para>
+    <para>
+      VST is a trademark of Steinberg Media Technologies GmbH. 
+      VST Plug-In Technology by Steinberg.
+    </para>
   </refsect1>
-  
 </refentry>
diff --git a/opcodes/vstedit.xml b/opcodes/vstedit.xml
index adeee1c..ad8112b 100644
--- a/opcodes/vstedit.xml
+++ b/opcodes/vstedit.xml
@@ -1,45 +1,61 @@
-<refentry id="vstedit">
-<indexterm id="IndexVstEdit"><primary>vstedit</primary></indexterm>
-  <refentryinfo><title>Plugin Hosting:VST</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>vstedit</refentrytitle>
-  </refmeta>
-  
-  <refnamediv>
-    <refname>vstedit</refname>
-    <refpurpose>Opens the GUI editor widow for a VST plugin.
-    </refpurpose>
-  </refnamediv>
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis><command>vstedit</command> instance</synopsis>
-  </refsect1>
-  <refsect1>
-    <title>Description</title>
-    <para><emphasis>vstedit</emphasis> opens the custom GUI editor widow for a VST
-      plugin. Note that not all VST plugins have custom GUI editors. It may be necessary to use the --displays command-line option to ensure that Csound handles events from the editor window and displays it properly.</para>
-  </refsect1>
-  <refsect1>
-    <title>Initialization</title>
-    <para><emphasis>instance</emphasis> - the number which identifies the
-      plugin, to be passed to other vst4cs opcodes.</para> 
-  </refsect1>
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the use of the <emphasis>vstedit</emphasis> opcode. It uses the file <ulink url="examples/vst4cs.csd"><citetitle>vst4cs.csd</citetitle></ulink>.
-      <example>
-        <title>Example of the <emphasis>vstedit</emphasis> opcode</title>
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-          <xi:include href="examples-xml/vst4cs.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
  </refsect1>
-  <refsect1>
-    <title>Credits</title>
-    <para>By: &nameandres; and &namemichael;</para>
-    <para>Uses code from Hermann Seib's VSTHost and Thomas Grill's vst~
-      object.</para>
-    <para>VST is a trademark of Steinberg Media Technologies GmbH. 
-      VST Plug-In Technology by Steinberg.</para>
-  </refsect1>
-</refentry>
+<refentry id="vstedit">
+<indexterm id="IndexVstEdit"><primary>vstedit</primary></indexterm>
+  <refentryinfo><title>Plugin Hosting:VST</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>vstedit</refentrytitle>
+  </refmeta>
+  
+  <refnamediv>
+    <refname>vstedit</refname>
+    <refpurpose>Opens the GUI editor window for a VST plugin.
+    </refpurpose>
+  </refnamediv>
+  
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>vstedit</command> instance</synopsis>
+  </refsect1>
+  
+  <refsect1>
+    <title>Description</title>
+    <para>
+      <emphasis>vstedit</emphasis> opens the custom GUI editor window for a VST
+      plugin. Note that not all VST plugins have custom GUI editors. It may
+      be necessary to use the --displays command-line option to ensure that
+      Csound handles events from the editor window and displays it properly.
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>instance</emphasis> - the number which identifies the
+      plugin, to be passed to other vst4cs opcodes.
+    </para> 
+  </refsect1>
+  
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the use of the <emphasis>vstedit</emphasis> opcode. It uses the file <ulink url="examples/vst4cs.csd"><citetitle>vst4cs.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the <emphasis>vstedit</emphasis> opcode</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/vst4cs.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Credits</title>
+    <para>By: &nameandres; and &namemichael;</para>
+    <para>
+      Uses code from Hermann Seib's VSTHost and Thomas Grill's vst~
+      object.
+    </para>
+    <para>
+      VST is a trademark of Steinberg Media Technologies GmbH. 
+      VST Plug-In Technology by Steinberg.
+    </para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/vstmidiout.xml b/opcodes/vstmidiout.xml
index 7a8100b..10d9fcb 100644
--- a/opcodes/vstmidiout.xml
+++ b/opcodes/vstmidiout.xml
@@ -7,77 +7,98 @@
   
   <refnamediv>
     <refname>vstmidiout</refname>
-    <refpurpose>Sends MIDI information to a VST plugin.
+    <refpurpose>
+      Sends MIDI information to a VST plugin.
     </refpurpose>
   </refnamediv>
+  
   <refsect1>
     <title>Syntax</title>
     <synopsis><command>vstmidiout</command> instance, kstatus, kchan, kdata1, kdata2</synopsis>
   </refsect1>
+  
   <refsect1>
     <title>Description</title>
     <para><emphasis>vstmidiout</emphasis> is used for sending MIDI information to a VST plugin.</para>
   </refsect1>
+  
   <refsect1>
     <title>Initialization</title>
-    <para><emphasis>instance</emphasis> - the number which identifies the
-      plugin, to be passed to other vst4cs opcodes.</para>
+    <para>
+      <emphasis>instance</emphasis> - the number which identifies the
+      plugin, to be passed to other vst4cs opcodes.
+    </para>
   </refsect1>
+  
   <refsect1>
     <title>Performance</title>
-    <para><emphasis>kstatus</emphasis> - the type of midi message to be
+    <para>
+      <emphasis>kstatus</emphasis> - the type of midi message to be
       sent. Currently noteon (144), note off (128), Control Change (176),
       Program change (192), Aftertouch (208) and Pitch Bend (224) are
-      supported.</para>
-    <para><emphasis>kchan</emphasis> - the MIDI channel transmitted
-      on.</para>
-    <para><emphasis>kdata1, kdata2</emphasis> - the MIDI data pair, which
-      varies depending on kstatus. e.g. note/velocity for note on and note
-      off, Controller number/value for control change.</para>
+      supported.
+    </para>
+    <para>
+      <emphasis>kchan</emphasis> - the MIDI channel transmitted
+      on.
+    </para>
+    <para>
+      <emphasis>kdata1, kdata2</emphasis> - the MIDI data pair, which
+      varies depending on <emphasis>kstatus</emphasis>. e.g. note/velocity for note on and note
+      off, Controller number/value for control change.
+    </para>
   </refsect1>
+  
   <refsect1>
     <title>Examples</title>
     <example>
       <title>Example for vstmidiout</title>
 <programlisting>
-/* orc */
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 2
-gihandle1 vstinit "c:/vstplugins/cheeze/cheeze machine.dll",1
-instr 3
-ain1 = 0
-ab1, ab2 vstaudio gihandle1, ain1, ain1
-outs ab1, ab2
-endin
-instr 4
-vstmidiout gihandle1,144,1,p4,p5
-endin
+<emphasis role="comment">/* orc */</emphasis>
+<emphasis role="ohdr">sr</emphasis>     <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">kr</emphasis>     <emphasis role="op">=</emphasis> 4410
+<emphasis role="ohdr">ksmps</emphasis>  <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
+gihandle1 <emphasis role="opc">vstinit</emphasis> "c:/vstplugins/cheeze/cheeze machine.dll", 1
 
+<emphasis role="oblock">instr</emphasis> 3
+ain1      <emphasis role="op">=</emphasis>           0
+ab1, ab2  <emphasis role="opc">vstaudio</emphasis>    gihandle1, ain1, ain1
+          <emphasis role="opc">outs</emphasis>        ab1, ab2
+<emphasis role="oblock">endin</emphasis>
 
-/* sco */
-i 3 0 21
-i4 1 1 57 32
-i4 3 1 60 100
-i4 5 1 62 100
-i4 7 1 64 100
-i4 9 1 65 100
-i4 11 1 67 100
-i4 13 1 69 100
-i4 15 3 71 100
-i4 18 3 72 100
-e
-      </programlisting>
+<emphasis role="oblock">instr</emphasis> 4
+          <emphasis role="opc">vstmidiout</emphasis>  gihandle1, 144, 1, p4, p5
+<emphasis role="oblock">endin</emphasis>
+
+
+<emphasis role="comment">/* sco */</emphasis>
+<emphasis role="stamnt">i</emphasis> 3 0 21
+
+<emphasis role="stamnt">i</emphasis> 4  1 1 57  32
+<emphasis role="stamnt">i</emphasis> 4  3 1 60 100
+<emphasis role="stamnt">i</emphasis> 4  5 1 62 100
+<emphasis role="stamnt">i</emphasis> 4  7 1 64 100
+<emphasis role="stamnt">i</emphasis> 4  9 1 65 100
+<emphasis role="stamnt">i</emphasis> 4 11 1 67 100
+<emphasis role="stamnt">i</emphasis> 4 13 1 69 100
+<emphasis role="stamnt">i</emphasis> 4 15 3 71 100
+<emphasis role="stamnt">i</emphasis> 4 18 3 72 100
+<emphasis role="stamnt">e</emphasis></programlisting>
     </example>
   </refsect1>
+  
   <refsect1>
     <title>Credits</title>
     <para>By: &nameandres; and &namemichael;</para>
-    <para>Uses code from Hermann Seib's VSTHost and Thomas Grill's vst~
-      object.</para>
-    <para>VST is a trademark of Steinberg Media Technologies GmbH. 
-      VST Plug-In Technology by Steinberg.</para>
+    <para>
+      Uses code from Hermann Seib's VSTHost and Thomas Grill's vst~
+      object.
+    </para>
+    <para>
+      VST is a trademark of Steinberg Media Technologies GmbH. 
+      VST Plug-In Technology by Steinberg.
+    </para>
   </refsect1>
 </refentry>
diff --git a/opcodes/vstprogset.xml b/opcodes/vstprogset.xml
index 203c9c2..99dd8db 100644
--- a/opcodes/vstprogset.xml
+++ b/opcodes/vstprogset.xml
@@ -7,58 +7,71 @@
   
   <refnamediv>
     <refname>vstprogset</refname>
-    <refpurpose>Loads parameter banks to a VST plugin.
+    <refpurpose>
+      Loads parameter banks to a VST plugin.
     </refpurpose>
   </refnamediv>
+  
   <refsect1>
     <title>Syntax</title>
     <synopsis><command>vstprogset</command> instance, kprogram</synopsis>
   </refsect1>
+  
   <refsect1>
     <title>Description</title>
-    <para><emphasis>vstprogset</emphasis> sets one of the programs in an <filename>.fxb</filename> bank.</para>
+    <para>
+      <emphasis>vstprogset</emphasis> sets one of the programs in an
+      <filename>.fxb</filename> bank.
+    </para>
   </refsect1>
+  
   <refsect1>
     <title>Initialization</title>
-    <para><emphasis>instance</emphasis> - the number which identifies the
-      plugin, to be passed to other vst4cs opcodes.</para>
+    <para>
+      <emphasis>instance</emphasis> - the number which identifies the
+      plugin, to be passed to other vst4cs opcodes.
+    </para>
     <para><emphasis>kprogram</emphasis> - the number of the program to set.</para>
   </refsect1>
+  
   <refsect1>
     <title>Examples</title>
     <example>
       <title>Usage of vstprogset</title>
       <para>
         <programlisting>
-/* orc */
-sr = 44100
-kr = 4410
-ksmps = 10
-nchnls = 2
-giHandle1 vstinit "c:/vstplugins/cheeze/cheeze machine.dll",1
-instr 4
-vstbankload gihandle1,"c:/vstplugins/cheeze/chengo'scheese.fxb"
-vstprogset gihandle1, 4
-vstinfo gihandle1
-endin
+<emphasis role="comment">/* orc */</emphasis>
+<emphasis role="ohdr">sr</emphasis>     <emphasis role="op">=</emphasis> 44100
+<emphasis role="ohdr">kr</emphasis>     <emphasis role="op">=</emphasis> 4410
+<emphasis role="ohdr">ksmps</emphasis>  <emphasis role="op">=</emphasis> 10
+<emphasis role="ohdr">nchnls</emphasis> <emphasis role="op">=</emphasis> 2
 
+gihandle1 <emphasis role="opc">vstinit</emphasis> "c:/vstplugins/cheeze/cheeze machine.dll", 1
 
+<emphasis role="oblock">instr</emphasis> 4
+  <emphasis role="opc">vstbankload</emphasis>  gihandle1,"c:/vstplugins/cheeze/chengo'scheese.fxb"
+  <emphasis role="opc">vstprogset</emphasis>   gihandle1, 4
+  <emphasis role="opc">vstinfo</emphasis>      gihandle1
+<emphasis role="oblock">endin</emphasis>
 
-/* sco */
-i 3 0 21
-i4 1 1 57 32
-e
-        </programlisting>
+<emphasis role="comment">/* sco */</emphasis>
+<emphasis role="stamnt">i</emphasis> 3 0 21
+<emphasis role="stamnt">i</emphasis> 4 1 1 57 32
+<emphasis role="stamnt">e</emphasis></programlisting>
       </para>
     </example>
   </refsect1>
+
   <refsect1>
     <title>Credits</title>
     <para>By: &nameandres; and &namemichael;</para>
-    <para>Uses code from Hermann Seib's VSTHost and Thomas Grill's vst~
-      object.</para>
-    <para>VST is a trademark of Steinberg Media Technologies GmbH. 
-      VST Plug-In Technology by Steinberg.</para>
+    <para>
+      Uses code from Hermann Seib's VSTHost and Thomas Grill's vst~
+      object.
+    </para>
+    <para>
+      VST is a trademark of Steinberg Media Technologies GmbH. 
+      VST Plug-In Technology by Steinberg.
+    </para>
   </refsect1>
-  
 </refentry>
diff --git a/opcodes/vsubv.xml b/opcodes/vsubv.xml
index 5848d8a..7db392d 100644
--- a/opcodes/vsubv.xml
+++ b/opcodes/vsubv.xml
@@ -1,106 +1,108 @@
-
-<refentry id="vsubv">
-<indexterm id="IndexVsubv"><primary>vsubv</primary></indexterm>
-  <refentryinfo><title>Vectorial:Vectorial operations</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>vsubv</refentrytitle>
-  </refmeta>
-
-  <refnamediv>
-    <refname>vsubv</refname>
-    <refpurpose>
-     Performs subtraction between two vectorial control signals
-    </refpurpose>
-  </refnamediv>
-
-  <refsect1>
-    <title>Description</title>
-    <para>
-	Performs subtraction between two vectorial control signals
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis><command>vsubv</command>  ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [,kverbose]</synopsis>
-  </refsect1>
- 
-  <refsect1>
-    <title>Initialization</title>
-    <para>
-      <emphasis>ifn1</emphasis>  - number of the table hosting the first vector to be processed
-    </para>
-    <para>
-      <emphasis>ifn2</emphasis>  - number of the table hosting the second vector to be processed
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      <emphasis>kelements</emphasis> - number of elements of the two vectors
-    </para>
-    <para>
-      <emphasis>kdstoffset</emphasis> - index offset for the destination (ifn1) table (Default=0)
-    </para>
-    <para>
-      <emphasis>ksrcoffset</emphasis> - index offset for the source (ifn2) table (Default=0)
-    </para>
-    <para>
-      <emphasis>kverbose</emphasis> - Selects whether or not warnings are printed (Default=0)
-    </para>
-    <para>
-    <emphasis>vsubv</emphasis> subtracts two vectorial control signals, that is, each element of ifn2 is subrtacted from the corresponding element of ifn1. Each vectorial signal is hosted by a table (ifn1 and ifn2). The number of elements contained in both vectors must be the same.
-    </para>
-    <para>
-      The result is a new vectorial control signal that overrides old values of ifn1. If you want to keep the old ifn1 vector, use <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link> opcode to copy it in another table. You can use <emphasis>kdstoffset</emphasis> and <emphasis>ksrcoffset</emphasis> to specify vectors in any location of the tables.
-    </para>
-    <para>
-      Negative values for <emphasis>kdstoffset</emphasis> and <emphasis>ksrcoffset</emphasis> are acceptable. If <emphasis>kdstoffset</emphasis> is negative, the out of range section of the vector will be discarded. If <emphasis>ksrcoffset</emphasis> is negative, the out of range elements will be assumed to be 0 (i.e. the destination elements will not be changed). If elements for the destination vector are beyond the size of the table (including guard point), these elements are discarded (i.e. elements do not wrap around the tables). If elements for the source vector are beyond the table length, these elements are taken as 0 (i.e. the destination vector will not be changed for these elements).
-    </para>
-    <para>
-      If the optional <emphasis>kverbose</emphasis> argument is different to 0, the opcode will print warning messages every k-pass if table lengths are exceeded.
-    </para>
-    <warning>
-      <para>
-        Using the same table as source and destination table in versions earlier than 5.04, might produce unexpected behavior, so use with care.
-      </para>
-    </warning>
-    <para>
-      This opcode works at k-rate (this means that every k-pass the vectors are subtracted). There's an i-rate version of this opcode called <link linkend="vsubv_i"><citetitle>vsubv_i</citetitle></link>.
-    </para>
-    <note>
-      <para>
-        Please note that the <emphasis>elements</emphasis> argument has changed in version 5.03 from i-rate to k-rate. This will change the opcode's behavior in the unusual cases where the i-rate variable <emphasis>ielements</emphasis> is changed inside the instrument, for example in:
-        <programlisting>
-    instr 1
-ielements = 10
-vadd 1, 1, ielements
-ielements = 20
-vadd 2, 1, ielements
-turnoff
-    endin</programlisting>
-      </para>
-    </note>
-    <para>
-      All these operators (<link linkend="vaddv"><citetitle>vaddv</citetitle></link>,<link linkend="vsubv"><citetitle>vsubv</citetitle></link>,<link linkend="vmultv"><citetitle>vmultv</citetitle></link>,<link linkend="vdivv"><citetitle>vdivv</citetitle></link>,<link linkend="vpowv"><citetitle>vpowv</citetitle></link>,<link linkend="vexpv"><citetitle>vexpv</citetitle></link>, <link linkend="vcopy"><citetitle>vcopy</citetitle></link> and <link linkend="vmap"><citetitle>vmap</citetitle></link>) are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link> etc. 
-    </para>
-  </refsect1>
-  
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the vsubv opcode. It uses the file <ulink url="examples/vsubv.csd"><citetitle>vsubv.csd</citetitle></ulink>.
-      
-      <example>
-        <title>Example of the vsubv opcode.</title>
-        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-        <xi:include href="examples-xml/vsubv.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Credits</title>
-    <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
-    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
-  </refsect1>
+
+<refentry id="vsubv">
+<indexterm id="IndexVsubv"><primary>vsubv</primary></indexterm>
+  <refentryinfo><title>Vectorial:Vectorial operations</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>vsubv</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>vsubv</refname>
+    <refpurpose>
+      Performs subtraction between two vectorial control signals
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Performs subtraction between two vectorial control signals
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>vsubv</command>  ifn1, ifn2, kelements [, kdstoffset] [, ksrcoffset] [,kverbose]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>ifn1</emphasis> - number of the table hosting the first vector to be processed
+    </para>
+    <para>
+      <emphasis>ifn2</emphasis> - number of the table hosting the second vector to be processed
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kelements</emphasis> - number of elements of the two vectors
+    </para>
+    <para>
+      <emphasis>kdstoffset</emphasis> - index offset for the destination (<emphasis>ifn1</emphasis>) table (Default=0)
+    </para>
+    <para>
+      <emphasis>ksrcoffset</emphasis> - index offset for the source (<emphasis>ifn2</emphasis>) table (Default=0)
+    </para>
+    <para>
+      <emphasis>kverbose</emphasis> - Selects whether or not warnings are printed (Default=0)
+    </para>
+    <para>
+    <emphasis>vsubv</emphasis> subtracts two vectorial control signals, that is, each element of <emphasis>ifn2</emphasis> is substracted from the corresponding element of <emphasis>ifn1</emphasis>. Each vectorial signal is hosted by a table (<emphasis>ifn1</emphasis> and <emphasis>ifn2</emphasis>). The number of elements contained in both vectors must be the same.
+    </para>
+    <para>
+      The result is a new vectorial control signal that overrides old values of <emphasis>ifn1</emphasis>. If you want to keep the old <emphasis>ifn1</emphasis> vector, use <link linkend="vcopy_i"><citetitle>vcopy_i</citetitle></link> opcode to copy it in another table. You can use <emphasis>kdstoffset</emphasis> and <emphasis>ksrcoffset</emphasis> to specify vectors in any location of the tables.
+    </para>
+    <para>
+      Negative values for <emphasis>kdstoffset</emphasis> and <emphasis>ksrcoffset</emphasis> are acceptable. If <emphasis>kdstoffset</emphasis> is negative, the out of range section of the vector will be discarded. If <emphasis>ksrcoffset</emphasis> is negative, the out of range elements will be assumed to be 0 (i.e. the destination elements will not be changed). If elements for the destination vector are beyond the size of the table (including guard point), these elements are discarded (i.e. elements do not wrap around the tables). If elements for the source vector are beyond the table length, these elements are taken as 0 (i.e. the destination vector will not be changed for these elements).
+    </para>
+    <para>
+      If the optional <emphasis>kverbose</emphasis> argument is different to 0, the opcode will print warning messages every k-pass if table lengths are exceeded.
+    </para>
+    <warning>
+      <para>
+        Using the same table as source and destination table in versions earlier than 5.04, might produce unexpected behavior, so use with care.
+      </para>
+    </warning>
+    <para>
+      This opcode works at k-rate (this means that every k-pass the vectors are subtracted). There's an i-rate version of this opcode called <link linkend="vsubv_i"><citetitle>vsubv_i</citetitle></link>.
+    </para>
+    <note>
+      <para>
+        Please note that the <emphasis>elements</emphasis> argument has changed in version 5.03 from i-rate to k-rate. This will change the opcode's behavior in the unusual cases where the i-rate variable <emphasis>ielements</emphasis> is changed inside the instrument, for example in:
+        <programlisting>
+    <emphasis role="oblock">instr</emphasis> 1
+ielements  <emphasis role="op">=</emphasis>        10
+           <emphasis role="opc">vadd</emphasis>     1, 1, ielements
+ielements  <emphasis role="op">=</emphasis>        20
+           <emphasis role="opc">vadd</emphasis>     2, 1, ielements
+           <emphasis role="opc">turnoff</emphasis>
+    <emphasis role="oblock">endin</emphasis></programlisting>
+      </para>
+    </note>
+    <para>
+      All these operators (<link linkend="vaddv"><citetitle>vaddv</citetitle></link>, <link linkend="vsubv"><citetitle>vsubv</citetitle></link>, <link linkend="vmultv"><citetitle>vmultv</citetitle></link>, <link linkend="vdivv"><citetitle>vdivv</citetitle></link>, <link linkend="vpowv"><citetitle>vpowv</citetitle></link>, <link linkend="vexpv"><citetitle>vexpv</citetitle></link>, <link linkend="vcopy"><citetitle>vcopy</citetitle></link> and <link linkend="vmap"><citetitle>vmap</citetitle></link>) are designed to be used together with other opcodes that operate with vectorial signals such as <emphasis>bmscan</emphasis>, <link linkend="vcella"><citetitle>vcella</citetitle></link>, <link linkend="adsynt"><citetitle>adsynt</citetitle></link>, <link linkend="adsynt2"><citetitle>adsynt2</citetitle></link>, etc. 
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the vsubv opcode. It uses the file <ulink url="examples/vsubv.csd"><citetitle>vsubv.csd</citetitle></ulink>.
+      
+      <example>
+        <title>Example of the vsubv opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/vsubv.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Credits</title>
+    <para>Written by Gabriel Maldonado. Optional arguments added by Andres Cabrera and Istvan Varga.</para>
+    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
+  </refsect1>
 </refentry>
\ No newline at end of file
diff --git a/opcodes/vtaba.xml b/opcodes/vtaba.xml
index dfc14c9..eacee7e 100644
--- a/opcodes/vtaba.xml
+++ b/opcodes/vtaba.xml
@@ -9,17 +9,17 @@
   <refnamediv>
     <refname>vtaba</refname>
     <refpurpose>
-     Read vectors (from tables -or arrays of vectors).
-
+      Read vectors (from tables -or arrays of vectors).
     </refpurpose>
   </refnamediv>
 
   <refsect1>
     <title>Description</title>
     <para>
-	This opcode reads vectors from tables at a-rate.
+      This opcode reads vectors from tables at a-rate.
     </para>
   </refsect1>
+  
   <refsect1>
     <title>Syntax</title>
     <synopsis><command>vtaba</command>  andx, ifn, aout1 [, aout2, aout3, .... , aoutN ]</synopsis>
@@ -36,21 +36,18 @@
     <title>Performance</title>
     <para>
       <emphasis>andx</emphasis> - Index into f-table, either a positive number range matching the table length
-      </para>
-      <para>
+    </para>
+    <para>
       <emphasis>aout1...aoutN</emphasis> - output vector elements
-      </para>
-      <para>
-      This opcode is useful in all cases in which one needs to access sets of values associated to unique indexes (for example, multi-channel samples, STFT bin frames, spectral formants, p-field based scores etc.). The number of elements of each vector (length of the vector) is determined by the number of optional arguments on the right (aout1 , aout2, aout3, ....  aoutN).
     </para>
     <para>
-      Notice that no wrap nor limit mode is implemented.  So, if  an index attempt to access to a zone not allocated by the table, Csound will probably crash. However this drawback can be easily avoided by using wrap or limit opcodes applied to indexes before using vtaba, in order to correct eventual out-of-range values.
+      This opcode is useful in all cases in which one needs to access sets of values associated to unique indexes (for example, multi-channel samples, STFT bin frames, spectral formants, p-field based scores etc.). The number of elements of each vector (length of the vector) is determined by the number of optional arguments on the right (<emphasis>aout1</emphasis>, <emphasis>aout2</emphasis>, <emphasis>aout3</emphasis>, ....  <emphasis>aoutN</emphasis>).
     </para>
     <para>
-       Notice that <command>vtaba</command> output arguments are placed at the left of the opcode name, differently from usual (this style is already used in other opcodes using undefined lists of output arguments such as fin or trigseq). 
+      Notice that no wrap nor limit mode is implemented.  So, if  an index attempt to access to a zone not allocated by the table, Csound will probably crash. However this drawback can be easily avoided by using wrap or limit opcodes applied to indexes before using <emphasis>vtaba</emphasis>, in order to correct eventual out-of-range values.
     </para>
     <para>
-	The <command>vtab</command> family is similar to the <command>vtable</command> family, but is much faster because interpolation is not available, table number cannot be changed after initialization, and only raw indexing is supported.
+      The <command>vtab</command> family is similar to the <command>vtable</command> family, but is much faster because interpolation is not available, table number cannot be changed after initialization, and only raw indexing is supported.
     </para>
     <note>
       <para>
diff --git a/opcodes/vtabi.xml b/opcodes/vtabi.xml
index 699bc65..0aef587 100644
--- a/opcodes/vtabi.xml
+++ b/opcodes/vtabi.xml
@@ -9,17 +9,17 @@
   <refnamediv>
     <refname>vtabi</refname>
     <refpurpose>
-     Read vectors (from tables -or arrays of vectors).
-      
+      Read vectors (from tables -or arrays of vectors).
     </refpurpose>
   </refnamediv>
   
   <refsect1>
     <title>Description</title>
     <para>
-	This opcode reads vectors from tables.
+      This opcode reads vectors from tables.
     </para>
   </refsect1>
+  
   <refsect1>
     <title>Syntax</title>
     <synopsis><command>vtabi</command>  indx, ifn, iout1 [, iout2, iout3, .... , ioutN ]</synopsis>
@@ -40,16 +40,13 @@
   <refsect1>
     <title>Performance</title>
      <para>
-      This opcode is useful in all cases in which one needs to access sets of values associated to unique indexes (for example, multi-channel samples, STFT bin frames, spectral formants, p-field based scores etc.). The number of elements of each vector (length of the vector) is determined by the number of optional arguments on the right (iout1 , iout2, iout3, ....  ioutN).
-    </para>
-    <para>
-      Notice that no wrap nor limit mode is implemented.  So, if  an index attempt to access to a zone not allocated by the table, Csound will probably crash. However this drawback can be easily avoided by using wrap or limit opcodes applied to indexes before using vtable, in order to correct eventual out-of-range values.
+      This opcode is useful in all cases in which one needs to access sets of values associated to unique indexes (for example, multi-channel samples, STFT bin frames, spectral formants, p-field based scores etc.). The number of elements of each vector (length of the vector) is determined by the number of optional arguments on the right (<emphasis>iout1</emphasis>, <emphasis>iout2</emphasis>, <emphasis>iout3</emphasis>, ....  <emphasis>ioutN</emphasis>).
     </para>
     <para>
-       Notice that vtabi output arguments are placed at the left of the opcode name, differently from usual (this style is already used in other opcodes using undefined lists of output arguments such as fin or trigseq). 
+      Notice that no wrap nor limit mode is implemented.  So, if an index attempt to access to a zone not allocated by the table, Csound will probably crash. However this drawback can be easily avoided by using wrap or limit opcodes applied to indexes before using <emphasis>vtabi</emphasis>, in order to correct eventual out-of-range values.
     </para>
     <para>
-	The <command>vtab</command> family is similar to <command>vtable</command>, but is much faster because interpolation is not available, table number cannot be changed after initialization, and only raw indexing is supported.
+      The <command>vtab</command> family is similar to <command>vtable</command>, but is much faster because interpolation is not available, table number cannot be changed after initialization, and only raw indexing is supported.
     </para>
     <note>
       <para>
diff --git a/opcodes/vtabk.xml b/opcodes/vtabk.xml
index 75b0768..6985a4b 100644
--- a/opcodes/vtabk.xml
+++ b/opcodes/vtabk.xml
@@ -9,17 +9,17 @@
   <refnamediv>
     <refname>vtabk</refname>
     <refpurpose>
-     Read vectors (from tables -or arrays of vectors).
-      
+      Read vectors (from tables -or arrays of vectors).
     </refpurpose>
   </refnamediv>
   
   <refsect1>
     <title>Description</title>
     <para>
-	This opcode reads vectors from tables at k-rate.
+      This opcode reads vectors from tables at k-rate.
     </para>
   </refsect1>
+  
   <refsect1>
     <title>Syntax</title>
     <synopsis><command>vtabk</command>  kndx, ifn, kout1 [, kout2, kout3, .... , koutN ]</synopsis>
@@ -41,16 +41,13 @@
       <emphasis>kout1...koutN</emphasis> - output vector elements
     </para> 
     <para>
-      This opcode is useful in all cases in which one needs to access sets of values associated to unique indexes (for example, multi-channel samples, STFT bin frames, spectral formants, p-field based scores etc.) . The number of elements of each vector (length of the vector) is determined by the number of optional arguments on the right (kout1 , kout2, kout3, ....  koutN).
-    </para>
-    <para>
-      Notice that no wrap nor limit mode is implemented.  So, if  an index attempt to access to a zone not allocated by the table, Csound will probably crash. However this drawback can be easily avoided by using wrap or limit opcodes applied to indexes before using vtable, in order to correct eventual out-of-range values.
+      This opcode is useful in all cases in which one needs to access sets of values associated to unique indexes (for example, multi-channel samples, STFT bin frames, spectral formants, p-field based scores etc.) . The number of elements of each vector (length of the vector) is determined by the number of optional arguments on the right (<emphasis>kout1</emphasis>, <emphasis>kout2</emphasis>, <emphasis>kout3</emphasis>, ....  <emphasis>koutN</emphasis>).
     </para>
     <para>
-       Notice that <emphasis>vtabk</emphasis> output arguments are placed at the left of the opcode name, differently from usual (this style is already used in other opcodes using undefined lists of output arguments such as fin or trigseq). 
+      Notice that no wrap nor limit mode is implemented.  So, if an index attempt to access to a zone not allocated by the table, Csound will probably crash. However this drawback can be easily avoided by using wrap or limit opcodes applied to indexes before using <emphasis>vtabk</emphasis>, in order to correct eventual out-of-range values.
     </para>
     <para>
-	The <command>vtab</command> family is similar to <command>vtable</command>, but is much faster because interpolation is not available, table number cannot be changed after initialization, and only raw indexing is supported.
+      The <command>vtab</command> family is similar to <command>vtable</command>, but is much faster because interpolation is not available, table number cannot be changed after initialization, and only raw indexing is supported.
     </para>
     <note>
       <para>
diff --git a/opcodes/vtablewi.xml b/opcodes/vtablewi.xml
index 2bbffcc..454d772 100644
--- a/opcodes/vtablewi.xml
+++ b/opcodes/vtablewi.xml
@@ -9,17 +9,17 @@
   <refnamediv>
     <refname>vtablewi</refname>
     <refpurpose>
-     Write vectors (to tables -or arrays of vectors).
-      
+      Write vectors (to tables -or arrays of vectors).
     </refpurpose>
   </refnamediv>
   
   <refsect1>
     <title>Description</title>
     <para>
-	This opcode writes vectors to tables at init time.
+      This opcode writes vectors to tables at init time.
     </para>
   </refsect1>
+  
   <refsect1>
     <title>Syntax</title>
     <synopsis><command>vtablewi</command>  indx, ifn, ixmode, inarg1 [, inarg2, inarg3 , .... , inargN ]</synopsis>
@@ -27,40 +27,33 @@
  
   <refsect1>
     <title>Initialization</title>
-     <para>
-      <emphasis>indx</emphasis> - Index into f-table, either a positive number range matching the table length (ixmode = 0) or a 0 to 1 range (ixmode != 0).
-     </para>
-     <para> 
+    <para>
+      <emphasis>indx</emphasis> - Index into f-table, either a positive number range matching the table length (<emphasis>ixmode</emphasis> = 0) or a 0 to 1 range (<emphasis>ixmode</emphasis> != 0).
+    </para>
+    <para> 
       <emphasis>ifn</emphasis> - table number
-      </para>
-     <para>
-     <emphasis>ixmode</emphasis> -  index data mode. The default value is 0.
-      </para>
+    </para>
+    <para><emphasis>ixmode</emphasis> - index data mode. The default value is 0.</para>
     <para>            == 0 index is treated as a raw table location,</para>
     <para>            == 1 index is normalized (0 to 1).</para>
-      <para>
-      <emphasis>inarg1...inargN</emphasis> - output vector elements
+    <para>
+      <emphasis>inarg1...inargN</emphasis> - input vector elements
     </para> 
-
   </refsect1>
  
   <refsect1>
     <title>Performance</title>
-
     <para>
-      This opcode is useful in all cases in which one needs to write sets of values associated to unique indexes (for example, multi-channel samples, STFT bin frames, spectral formants, p-field based scores etc.). The number of elements of each vector (length of the vector) is determined by the number of optional arguments on the right (inarg1 , inarg2, inarg3, ....  inargN).
+      This opcode is useful in all cases in which one needs to write sets of values associated to unique indexes (for example, multi-channel samples, STFT bin frames, spectral formants, p-field based scores etc.). The number of elements of each vector (length of the vector) is determined by the number of optional arguments on the right (<emphasis>inarg1</emphasis>, <emphasis>inarg2</emphasis>, <emphasis>inarg3</emphasis>, ....  <emphasis>inargN</emphasis>).
     </para>
     <para>
       Notice that no wrap nor limit mode is implemented.  So, if  an index attempt to access to a zone not allocated by the table, Csound will probably crash. However this drawback can be easily avoided by using wrap or limit opcodes applied to indexes before using <emphasis>vtablewi</emphasis>, in order to correct eventual out-of-range values.
     </para>
-
   </refsect1>
 
- 
   <refsect1>
     <title>Credits</title>
     <para>Written by Gabriel Maldonado.</para>
-
     <para>New in Csound 5 (Previously available only on CsoundAV)</para>
   </refsect1>
 </refentry>
\ No newline at end of file
diff --git a/opcodes/vtablewk.xml b/opcodes/vtablewk.xml
index 8fb9dd5..b7e008b 100644
--- a/opcodes/vtablewk.xml
+++ b/opcodes/vtablewk.xml
@@ -1,79 +1,74 @@
-
-<refentry id="vtablewk">
-<indexterm id="IndexVtablewk"><primary>vtablewk</primary></indexterm>
-  <refentryinfo><title>Vectorial:Tables</title></refentryinfo>
-  <refmeta>
-    <refentrytitle>vtablewk</refentrytitle>
-  </refmeta>
-
-  <refnamediv>
-    <refname>vtablewk</refname>
-    <refpurpose>
-     Write vectors (to tables -or arrays of vectors).
-      
-    </refpurpose>
-  </refnamediv>
-  
-  <refsect1>
-    <title>Description</title>
-    <para>
-	This opcode writes vectors to tables at k-rate.
-    </para>
-  </refsect1>
-  <refsect1>
-    <title>Syntax</title>
-    <synopsis><command>vtablewk</command>  kndx, kfn, ixmode, kinarg1 [, kinarg2, kinarg3 , .... , kinargN ]</synopsis>
-  </refsect1>
- 
-  <refsect1>
-    <title>Initialization</title>
-    <para>
-      <emphasis>ixmode</emphasis> -  index data mode. The default value is 0.
-                == 0 index is treated as a raw table location,
-                == 1 index is normalized (0 to 1).
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Performance</title>
-    <para>
-      <emphasis>kndx</emphasis> - Index into f-table, either a positive number range matching the table length (ixmode = 0) or a 0 to 1 range (ixmode != 0).
-    </para>
-    <para>
-          <emphasis>kfn</emphasis> - table number
-    </para>
-    <para>
-      <emphasis>kinarg1...kinargN</emphasis> - output vector elements
-    </para> 
-    <para>
-      This opcode is useful in all cases in which one needs to write sets of values associated to unique indexes (for example, multi-channel samples, STFT bin frames, spectral formants, p-field based scores etc.). The number of elements of each vector (length of the vector) is determined by the number of optional arguments on the right (kinarg1 , kinarg2, kinarg3, ....  kinargN).
-    </para>
-    <para>
-      <command>vtablewk</command> allows also to switch the table number at k-rate (but this is possible only when vector frames of each used table have the same number of elements, otherwise unpredictable results could occurr), as well as to choose indexing style (raw or normalized, see  also ixmode argument of table opcode ).
-    </para>
-    <para>
-      Notice that no wrap nor limit mode is implemented.  So, if  an index attempt to access to a zone not allocated by the table, Csound will probably crash. However this drawback can be easily avoided by using wrap or limit opcodes applied to indexes before using <emphasis>vtablewk</emphasis>, in order to correct eventual out-of-range values.
-    </para>
-
-  </refsect1>
-
-  <refsect1>
-    <title>Examples</title>
-    <para>
-      Here is an example of the vtablewk opcode. It uses the files <ulink url="examples/vtablewk.csd"><citetitle>vtablewk.csd</citetitle></ulink>.
-
-      <example>
-        <title>Example of the vtablewk opcode.</title>
-        <xi:include href="examples-xml/vtablewk.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-
-      </example>
-    </para>
-  </refsect1>
- 
-  <refsect1>
-    <title>Credits</title>
-    <para>Written by Gabriel Maldonado.</para>
-    <para>Example written by Andres Cabrera.</para>
-    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
-  </refsect1>
+
+<refentry id="vtablewk">
+<indexterm id="IndexVtablewk"><primary>vtablewk</primary></indexterm>
+  <refentryinfo><title>Vectorial:Tables</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>vtablewk</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>vtablewk</refname>
+    <refpurpose>
+      Write vectors (to tables -or arrays of vectors).
+    </refpurpose>
+  </refnamediv>
+  
+  <refsect1>
+    <title>Description</title>
+    <para>
+      This opcode writes vectors to tables at k-rate.
+    </para>
+  </refsect1>
+  
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>vtablewk</command>  kndx, kfn, ixmode, kinarg1 [, kinarg2, kinarg3 , .... , kinargN ]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para><emphasis>ixmode</emphasis> -  index data mode. The default value is 0.</para>
+    <para>            == 0 index is treated as a raw table location,</para>
+    <para>            == 1 index is normalized (0 to 1).</para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Performance</title>
+    <para>
+      <emphasis>kndx</emphasis> - Index into f-table, either a positive number range matching the table length (<emphasis>ixmode</emphasis> = 0) or a 0 to 1 range (<emphasis>ixmode</emphasis> != 0).
+    </para>
+    <para>
+      <emphasis>kfn</emphasis> - table number
+    </para>
+    <para>
+      <emphasis>kinarg1...kinargN</emphasis> - input vector elements
+    </para> 
+    <para>
+      This opcode is useful in all cases in which one needs to write sets of values associated to unique indexes (for example, multi-channel samples, STFT bin frames, spectral formants, p-field based scores etc.). The number of elements of each vector (length of the vector) is determined by the number of optional arguments on the right (<emphasis>kinarg1</emphasis>, <emphasis>kinarg2</emphasis>, <emphasis>kinarg3</emphasis>, ....  <emphasis>kinargN</emphasis>).
+    </para>
+    <para>
+      <command>vtablewk</command> allows also to switch the table number at k-rate (but this is possible only when vector frames of each used table have the same number of elements, otherwise unpredictable results could occurr), as well as to choose indexing style (raw or normalized, see  also <emphasis>ixmode</emphasis> argument of <emphasis>table</emphasis> opcode ).
+    </para>
+    <para>
+      Notice that no wrap nor limit mode is implemented.  So, if  an index attempt to access to a zone not allocated by the table, Csound will probably crash. However this drawback can be easily avoided by using wrap or limit opcodes applied to indexes before using <emphasis>vtablewk</emphasis>, in order to correct eventual out-of-range values.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the vtablewk opcode. It uses the files <ulink url="examples/vtablewk.csd"><citetitle>vtablewk.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the vtablewk opcode.</title>
+        <xi:include href="examples-xml/vtablewk.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Credits</title>
+    <para>Written by Gabriel Maldonado.</para>
+    <para>Example written by Andres Cabrera.</para>
+    <para>New in Csound 5 (Previously available only on CsoundAV)</para>
+  </refsect1>
 </refentry>
\ No newline at end of file
diff --git a/opcodes/vtabwa.xml b/opcodes/vtabwa.xml
index 45a1d2c..01b2222 100644
--- a/opcodes/vtabwa.xml
+++ b/opcodes/vtabwa.xml
@@ -9,17 +9,17 @@
   <refnamediv>
     <refname>vtabwa</refname>
     <refpurpose>
-     Write vectors (to tables -or arrays of vectors).
-      
+      Write vectors (to tables -or arrays of vectors).
     </refpurpose>
   </refnamediv>
   
   <refsect1>
     <title>Description</title>
     <para>
-	This opcode writes vectors to tables at a-rate.
+      This opcode writes vectors to tables at a-rate.
     </para>
   </refsect1>
+  
   <refsect1>
     <title>Syntax</title>
     <synopsis><command>vtabwa</command>  andx, ifn, ainarg1 [, ainarg2, ainarg3 , .... , ainargN ]</synopsis>
@@ -33,24 +33,19 @@
   <refsect1>
     <title>Performance</title>
     <para>
-      <emphasis>andx</emphasis> - Index into f-table, either a positive number range matching the table length (ixmode = 0) or a 0 to 1 range (ixmode != 0).
+      <emphasis>andx</emphasis> - Index into f-table, a positive number range matching the table length
     </para>
     <para>
       <emphasis>ainarg1...ainargN</emphasis> - input vector elements
     </para>
     <para>
-      This opcode is useful in all cases in which one needs to write sets of values associated to unique indexes (for example, multi-channel samples, STFT bin frames, spectral formants, p-field based scores etc.). The number of elements of each vector (length of the vector) is determined by the number of optional arguments on the right (ainarg1 , ainarg2, ainarg3, ....  ainargN).
-    </para>
-    <para>
-      <emphasis>vtabwa</emphasis> allows also to switch the table number at k-rate (but this is possible only when vector frames of each used table have the same number of elements, otherwise unpredictable results could occurr), as well as to choose indexing style (raw or normalized, see  also ixmode argument of table opcode ).
+      This opcode is useful in all cases in which one needs to write sets of values associated to unique indexes (for example, multi-channel samples, STFT bin frames, spectral formants, p-field based scores etc.). The number of elements of each vector (length of the vector) is determined by the number of optional arguments on the right (<emphasis>ainarg1</emphasis>, <emphasis>ainarg2</emphasis>, <emphasis>ainarg3</emphasis>, ....  <emphasis>ainargN</emphasis>).
     </para>
     <para>
       Notice that no wrap nor limit mode is implemented.  So, if  an index attempt to access to a zone not allocated by the table, Csound will probably crash. However this drawback can be easily avoided by using wrap or limit opcodes applied to indexes before using <emphasis>vtabwa</emphasis>, in order to correct eventual out-of-range values.
     </para>
-
   </refsect1>
 
- 
   <refsect1>
     <title>Credits</title>
     <para>Written by Gabriel Maldonado.</para>
diff --git a/opcodes/vtabwi.xml b/opcodes/vtabwi.xml
index 6bd91a0..9668313 100644
--- a/opcodes/vtabwi.xml
+++ b/opcodes/vtabwi.xml
@@ -9,17 +9,17 @@
   <refnamediv>
     <refname>vtabwi</refname>
     <refpurpose>
-     Write vectors (to tables -or arrays of vectors).
-      
+      Write vectors (to tables -or arrays of vectors).
     </refpurpose>
   </refnamediv>
 
   <refsect1>
     <title>Description</title>
     <para>
-	This opcode writes vectors to tables at init time.
+      This opcode writes vectors to tables at init time.
     </para>
   </refsect1>
+  
   <refsect1>
     <title>Syntax</title>
     <synopsis><command>vtabwi</command>  indx, ifn, inarg1 [, inarg2, inarg3 , .... , inargN ]</synopsis>
@@ -28,26 +28,24 @@
   <refsect1>
     <title>Initialization</title>
         <para>
-      <emphasis>indx</emphasis> - Index into f-table, either a positive number range matching the table length (ixmode = 0) or a 0 to 1 range (ixmode != 0).
+      <emphasis>indx</emphasis> - Index into f-table, a positive number range matching the table length
       </para>
       <para>
       <emphasis>ifn</emphasis> - table number
       </para>
       <para>
-      <emphasis>inarg1...inargN</emphasis> - output vector elements
+      <emphasis>inarg1...inargN</emphasis> - input vector elements
     </para>
   </refsect1>
 
   <refsect1>
     <title>Performance</title>
-
     <para>
-      This opcode is useful in all cases in which one needs to write sets of values associated to unique indexes (for example, multi-channel samples, STFT bin frames, spectral formants, p-field based scores etc.). The number of elements of each vector (length of the vector) is determined by the number of optional arguments on the right (inarg1 , inarg2, inarg3, ....  inargN).
+      This opcode is useful in all cases in which one needs to write sets of values associated to unique indexes (for example, multi-channel samples, STFT bin frames, spectral formants, p-field based scores etc.). The number of elements of each vector (length of the vector) is determined by the number of optional arguments on the right (<emphasis>inarg1</emphasis>, <emphasis>inarg2</emphasis>, <emphasis>inarg3</emphasis>, ....  <emphasis>inargN</emphasis>).
     </para>
     <para>
       Notice that no wrap nor limit mode is implemented.  So, if  an index attempt to access to a zone not allocated by the table, Csound will probably crash. However this drawback can be easily avoided by using wrap or limit opcodes applied to indexes before using <emphasis>vtabwi</emphasis>, in order to correct eventual out-of-range values.
     </para>
-
   </refsect1>
 
   <refsect1>
diff --git a/opcodes/vtabwk.xml b/opcodes/vtabwk.xml
index 6ce15fc..ce0de62 100644
--- a/opcodes/vtabwk.xml
+++ b/opcodes/vtabwk.xml
@@ -9,17 +9,17 @@
   <refnamediv>
     <refname>vtabwk</refname>
     <refpurpose>
-     Write vectors (to tables -or arrays of vectors).
-      
+      Write vectors (to tables -or arrays of vectors).
     </refpurpose>
   </refnamediv>
   
   <refsect1>
     <title>Description</title>
     <para>
-	This opcode writes vectors to tables at a-rate.
+      This opcode writes vectors to tables at k-rate.
     </para>
   </refsect1>
+  
   <refsect1>
     <title>Syntax</title>
     <synopsis><command>vtabwk</command>  kndx, ifn, kinarg1 [, kinarg2, kinarg3 , .... , kinargN ]</synopsis>
@@ -27,26 +27,23 @@
  
   <refsect1>
     <title>Initialization</title>
-      <para><emphasis>ifn</emphasis> - table number</para>
+    <para><emphasis>ifn</emphasis> - table number</para>
   </refsect1>
  
   <refsect1>
     <title>Performance</title>
     <para>
-      <emphasis>kndx</emphasis> - Index into f-table, either a positive number range matching the table length (ixmode = 0) or a 0 to 1 range (ixmode != 0).
-
-      <emphasis>kinarg1...kinargN</emphasis> - input vector elements
+      <emphasis>kndx</emphasis> - Index into f-table, a positive number range matching the table length
     </para>
     <para>
-      This opcode is useful in all cases in which one needs to write sets of values associated to unique indexes (for example, multi-channel samples, STFT bin frames, spectral formants, p-field based scores etc.) . The number of elements of each vector (length of the vector) is determined by the number of optional arguments on the right (kinarg1 , kinarg2, kinarg3, ....  kinargN).
+      <emphasis>kinarg1...kinargN</emphasis> - input vector elements
     </para>
     <para>
-      <emphasis>vtabwk</emphasis> allows also to switch the table number at k-rate (but this is possible only when vector frames of each used table have the same number of elements, otherwise unpredictable results could occurr), as well as to choose indexing style (raw or normalized, see  also ixmode argument of table opcode ).
+      This opcode is useful in all cases in which one needs to write sets of values associated to unique indexes (for example, multi-channel samples, STFT bin frames, spectral formants, p-field based scores etc.) . The number of elements of each vector (length of the vector) is determined by the number of optional arguments on the right (<emphasis>kinarg1</emphasis>, <emphasis>kinarg2</emphasis>, <emphasis>kinarg3</emphasis>, ....  <emphasis>kinargN</emphasis>).
     </para>
     <para>
       Notice that no wrap nor limit mode is implemented.  So, if  an index attempt to access to a zone not allocated by the table, Csound will probably crash. However this drawback can be easily avoided by using wrap or limit opcodes applied to indexes before using <emphasis>vtabwk</emphasis>, in order to correct eventual out-of-range values.
     </para>
-
   </refsect1>
  
   <refsect1>
diff --git a/opcodes/waveset.xml b/opcodes/waveset.xml
index 233f8b5..83d8ab4 100644
--- a/opcodes/waveset.xml
+++ b/opcodes/waveset.xml
@@ -55,7 +55,7 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the waveset opcode. It uses the file <ulink url="examples/waveset.csd"><citetitle>waveset.csd</citetitle></ulink>, and <ulink url="examples/beats.wav"><citetitle>beats.wav</citetitle></ulink>.
+      Here is an example of the waveset opcode. It uses the file <ulink url="examples/waveset.csd"><citetitle>waveset.csd</citetitle></ulink>.
       <example>
         <title>Example of the waveset opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
@@ -72,8 +72,6 @@
         <member>February 2001</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
-
     <para>New in version 4.11</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/weibull.xml b/opcodes/weibull.xml
index 29c50e3..bf685ed 100644
--- a/opcodes/weibull.xml
+++ b/opcodes/weibull.xml
@@ -66,9 +66,45 @@
           <xi:include href="examples-xml/weibull.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
 
-      Its output should include a line like this:
+      Its output should include a line like these:
       <screen>
-instr 1:  i1 = 1.834
+i   1 time     0.00073:   168.59070
+ i   1 time     0.20027:    98.72078
+ i   1 time     0.40054:    48.57351
+ i   1 time     0.60009:   171.46941
+ i   1 time     0.80036:    50.20434
+ i   1 time     1.00063:    50.84775
+ i   1 time     1.20018:    18.16301
+ i   1 time     1.40045:    44.41001
+ i   1 time     1.60000:     0.98506
+ i   1 time     1.80027:    36.19192
+
+WARNING: Seeding from current time 2444541554
+
+ i   2 time     3.00045:    20.81653
+ i   2 time     3.20000:   116.17060
+ i   2 time     3.40027:     9.23891
+ i   2 time     3.59982:    95.67111
+ i   2 time     3.80009:   296.52851
+ i   2 time     4.00036:    39.28636
+ i   2 time     4.19991:    13.54326
+ i   2 time     4.40018:    54.92388
+ i   2 time     4.59973:   268.05584
+ i   2 time     4.80000:    95.27069
+ i   2 time     5.00027:    91.62076
+
+WARNING: Seeding from current time 2447542341
+
+ i   3 time     6.00091:    94.40902
+ i   3 time     6.20045:   111.10193
+ i   3 time     6.40073:    99.38797
+ i   3 time     6.60027:    98.54267
+ i   3 time     6.80054:   106.53899
+ i   3 time     7.00082:   106.30752
+ i   3 time     7.20036:    88.75486
+ i   3 time     7.40063:   106.45703
+ i   3 time     7.60091:    84.59854
+ i   3 time     7.80045:   106.76515
       </screen>
     </para>
   </refsect1>
@@ -99,6 +135,5 @@ instr 1:  i1 = 1.834
         <member>1995</member>
       </simplelist>
     </para>
-    <para>Example written by &namekevin;.</para>
   </refsect1>
 </refentry>
diff --git a/opcodes/wguide2.xml b/opcodes/wguide2.xml
index 2a68db3..00a4b66 100644
--- a/opcodes/wguide2.xml
+++ b/opcodes/wguide2.xml
@@ -73,13 +73,13 @@
       </para>
     </note>
   </refsect1>
+
   <refsect1>
     <title>Examples</title>
     <para>
       Here is an example of the wguide2 opcode. It uses the file <ulink url="examples/wguide2.csd"><citetitle>wguide2.csd</citetitle></ulink>.
       <example>
-        <title>Example of the wguide1 opcode.</title>
-
+        <title>Example of the wguide2 opcode.</title>
         <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
         <xi:include href="examples-xml/wguide2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
@@ -104,6 +104,5 @@
     </para>
 
     <para>New in Csound version 3.49</para>
-    <para>Example written by John ffitch</para>
   </refsect1>
-</refentry>
\ No newline at end of file
+</refentry>
diff --git a/opcodes/wiiconnect.xml b/opcodes/wiiconnect.xml
index b38b514..dabe6b9 100644
--- a/opcodes/wiiconnect.xml
+++ b/opcodes/wiiconnect.xml
@@ -22,7 +22,7 @@
  
   <refsect1>
     <title>Syntax</title>
-    <synopsis>kres <command>wiiconnect</command> [itimeout, imaxnum]</synopsis>
+    <synopsis>ires <command>wiiconnect</command> [itimeout, imaxnum]</synopsis>
   </refsect1>
  
    <refsect1>
@@ -40,6 +40,11 @@
       Initially each Wiimote has its numeric allocation indicated by
       lighting one of the four LEDs.
     </para>
+    <para>
+      <emphasis>ires</emphasis> -- return value is 1 if sucess or zero
+      on failure.
+    </para>
+
 
   </refsect1>
 
@@ -52,7 +57,7 @@
      </para>
    </note>
     <para>
-      Every control cycle each Wiimote is poled for its status and
+      Every control cycle each Wiimote is polled for its status and
       position.  These values are read by
       the <emphasis>wiidata</emphasis> opcode.  The result returned is
       1 in most cases, but will be zero if a Wiimote disconnects,
diff --git a/opcodes/wrap.xml b/opcodes/wrap.xml
index 9b1b5f2..3f6c854 100644
--- a/opcodes/wrap.xml
+++ b/opcodes/wrap.xml
@@ -70,6 +70,18 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the wrap opcode. It uses the file <ulink url="examples/wrap.csd"><citetitle>wrap.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the wrap opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/wrap.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+  
+  <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="limit"><citetitle>limit</citetitle></link>,
diff --git a/opcodes/writescratch.xml b/opcodes/writescratch.xml
new file mode 100644
index 0000000..e22dda4
--- /dev/null
+++ b/opcodes/writescratch.xml
@@ -0,0 +1,74 @@
+
+<refentry id="writescratch">
+<indexterm id="IndexWritescratch"><primary>writescratch</primary></indexterm>
+  <refentryinfo><title>Instrument Control:Sensing and Control</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>writescratch</refentrytitle>
+  </refmeta>
+
+
+ 
+  <refnamediv>
+    <refname>writescratch</refname>
+
+    <refpurpose>
+      writes a value into the scratchpad of the instance of an instrument.
+    </refpurpose>
+  </refnamediv>
+ 
+  <refsect1>
+    <title>Description</title>
+    <para>
+      The <emphasis>writescratch</emphasis> opcode writes one of four
+      scalar values to be stored in the instance of an instrument.
+    </para>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>writescratch</command>ival[, index]</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialisation</title>
+    <para>
+      <emphasis>ival</emphasis> --  variable to write.
+    </para>
+    <para>
+      <emphasis>index</emphasis> --  which value to write, defaulting
+      to zero.
+    </para>
+
+  </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the writescratch opcode. It uses the file <ulink url="examples/readscratch.csd"><citetitle>readscratch.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the writescratch opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/readscratch.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+    <para>
+      <link linkend="readscratch"><citetitle>readscratch</citetitle></link>, 
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>
+      <simplelist>
+        <member>Author: &namejohn;</member>
+        <member>March 2013</member>
+      </simplelist>
+    </para>
+
+    <para>New in Csound version 6.00</para>
+  </refsect1>
+</refentry>
diff --git a/opcodes/xadsr.xml b/opcodes/xadsr.xml
index b003865..f2c5e6b 100644
--- a/opcodes/xadsr.xml
+++ b/opcodes/xadsr.xml
@@ -66,7 +66,6 @@
         <imageobject>
           <imagedata fileref="images/adsr.png" format="PNG"/>
         </imageobject>
-
         <textobject>
           <phrase>Picture of an ADSR envelope.</phrase>
         </textobject>
@@ -75,13 +74,20 @@
         </caption>
       </mediaobject>
     </para>
-
     <para>
       The length of the sustain is calculated from the length of the note. This means <emphasis>xadsr</emphasis> is not suitable for use with MIDI events, use <link linkend="mxadsr"><citetitle>mxadsr</citetitle></link> instead. The opcode <emphasis>xadsr</emphasis> is identical to <link linkend="adsr"><citetitle>adsr</citetitle></link> except it uses exponential, rather than linear, line segments.
     </para>
+  </refsect1>
 
+  <refsect1>
+    <title>Examples</title>
     <para>
-      <emphasis>xadsr</emphasis> is new in Csound version 3.51.
+      Here is an example of the xadsr opcode. It uses the file <ulink url="examples/xadsr.csd"><citetitle>xadsr.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the xadsr opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/xadsr.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
     </para>
   </refsect1>
 
@@ -96,6 +102,8 @@
 
   <refsect1>
     <title>Credits</title>
-    <para>Author: &namejohn;</para>
+    <para>Author: &namejohn;
+      <emphasis>xadsr</emphasis> is new in Csound version 3.51.
+    </para>
   </refsect1>
 </refentry>
diff --git a/opcodes/xscanmap.xml b/opcodes/xscanmap.xml
index 9d9498f..33d5731 100644
--- a/opcodes/xscanmap.xml
+++ b/opcodes/xscanmap.xml
@@ -54,6 +54,26 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the xscanmap opcode. It uses the file <ulink url="examples/xscanmap.csd"><citetitle>xscanmap.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the xscanmap opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/xscanmap.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>See Also</title>
+        <para>
+More information on Scanned Synthesis (as well as several other matrices) is available on the <ulink url="http://www.csounds.com/scanned/"><citetitle>Scanned Synthesis page</citetitle></ulink> at cSounds.com.
+    </para>
+        <para> Also an article on these opcodes: <ulink url="http://www.csounds.com/stevenyi/scanned/yi_scannedSynthesis.html"><citetitle>http://www.csounds.com/stevenyi/scanned/yi_scannedSynthesis.html</citetitle></ulink>  , written by Steven Yi </para>
+  </refsect1>
+
+  <refsect1>
     <title>Credits</title>
     <para>Author: &namejohn;</para>
     <para>New in version 4.20</para>
diff --git a/opcodes/xscans.xml b/opcodes/xscans.xml
index a1c6545..6545c39 100644
--- a/opcodes/xscans.xml
+++ b/opcodes/xscans.xml
@@ -86,22 +86,35 @@
   </refsect1>
 
   <refsect1>
-    <title>Credits</title>
-    <para>Written by &namejohn;.</para>
-    <para>New in version 4.20</para>
-  </refsect1>
-  <refsect1>
     <title>Examples</title>
     <para>
-      For an example, see the documentation on <link linkend="scans"><citetitle>scans</citetitle></link>.
+      Here is an example of the xscans opcode. It uses the file <ulink url="examples/xscans.csd"><citetitle>xscans.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the xscans opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/xscans.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    <para>
+      For similar examples, see the documentation on <link linkend="scans"><citetitle>scans</citetitle></link>.
+    </para>
     </para>
   </refsect1>
 
   <refsect1>
     <title>See Also</title>
+        <para>
+More information on Scanned Synthesis (as well as several other matrices) is available on the <ulink url="http://www.csounds.com/scanned/"><citetitle>Scanned Synthesis page</citetitle></ulink> at cSounds.com.
+    </para>
+        <para> Also an article on these opcodes: <ulink url="http://www.csounds.com/stevenyi/scanned/yi_scannedSynthesis.html"><citetitle>http://www.csounds.com/stevenyi/scanned/yi_scannedSynthesis.html</citetitle></ulink>  , written by Steven Yi </para>
     <para>
       <link linkend="scans"><citetitle>scans</citetitle></link>, 
       <link linkend="xscanu"><citetitle>xscanu</citetitle></link>
     </para>
   </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>Written by &namejohn;.</para>
+    <para>New in version 4.20</para>
+  </refsect1>
 </refentry>
diff --git a/opcodes/xscansmap.xml b/opcodes/xscansmap.xml
index 9a276bf..b391e03 100644
--- a/opcodes/xscansmap.xml
+++ b/opcodes/xscansmap.xml
@@ -60,6 +60,14 @@
   </refsect1>
 
   <refsect1>
+    <title>See Also</title>
+        <para>
+More information on Scanned Synthesis (as well as several other matrices) is available on the <ulink url="http://www.csounds.com/scanned/"><citetitle>Scanned Synthesis page</citetitle></ulink> at cSounds.com.
+    </para>
+        <para> Also an article on these opcodes: <ulink url="http://www.csounds.com/stevenyi/scanned/yi_scannedSynthesis.html"><citetitle>http://www.csounds.com/stevenyi/scanned/yi_scannedSynthesis.html</citetitle></ulink>  , written by Steven Yi </para>
+  </refsect1>
+
+  <refsect1>
     <title>Credits</title>
     <para>New in version 4.21</para>
     <para>November 2002. Thanks to &namerasmus; for pointing this opcode out.</para>
diff --git a/opcodes/xscanu.xml b/opcodes/xscanu.xml
index cd5cf55..45040e3 100644
--- a/opcodes/xscanu.xml
+++ b/opcodes/xscanu.xml
@@ -146,22 +146,35 @@
   </refsect1>
 
   <refsect1>
-    <title>Credits</title>
-    <para>Written by &namejohn;.</para>
-    <para>New in version 4.20</para>
-  </refsect1>
-  <refsect1>
     <title>Examples</title>
     <para>
-      For an example, see the documentation on <link linkend="scans"><citetitle>scans</citetitle></link>.
+      Here is an example of the xscanu opcode. It uses the file <ulink url="examples/xscanu.csd"><citetitle>xscanu.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the xscanu opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/xscanu.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    <para>
+      For similar examples, see the documentation on <link linkend="scans"><citetitle>scans</citetitle></link>.
+    </para>
     </para>
   </refsect1>
 
   <refsect1>
     <title>See Also</title>
+        <para>
+More information on Scanned Synthesis (as well as several other matrices) is available on the <ulink url="http://www.csounds.com/scanned/"><citetitle>Scanned Synthesis page</citetitle></ulink> at cSounds.com.
+    </para>
+        <para> Also an article on these opcodes: <ulink url="http://www.csounds.com/stevenyi/scanned/yi_scannedSynthesis.html"><citetitle>http://www.csounds.com/stevenyi/scanned/yi_scannedSynthesis.html</citetitle></ulink>  , written by Steven Yi </para>
     <para>
       <link linkend="scanu"><citetitle>scanu</citetitle></link>,
       <link linkend="xscans"><citetitle>xscans</citetitle></link>
     </para>
   </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>Written by &namejohn;.</para>
+    <para>New in version 4.20</para>
+  </refsect1>
 </refentry>
diff --git a/orch/kvar.xml b/orch/kvar.xml
index 0345f11..5f7a31a 100644
--- a/orch/kvar.xml
+++ b/orch/kvar.xml
@@ -41,7 +41,7 @@
   </para>
 
   <para>
-    Given these distinctions, there are eight forms of local and global variables:
+    Given these distinctions, there are nine forms of local and global variables:
   </para>
 
   <para>
@@ -113,6 +113,12 @@
             <entry>S name</entry>
             <entry>gS name</entry>
           </row>
+
+          <row>
+            <entry>vector variables</entry>
+            <entry>k-rate</entry>
+            <entry>t name</entry>
+          </row>
         </tbody>
       </tgroup>
     </table>
diff --git a/orch/top.xml b/orch/top.xml
index 8ac266a..c6a6317 100644
--- a/orch/top.xml
+++ b/orch/top.xml
@@ -78,5 +78,6 @@ a2  <emphasis role="opc">oscbnk</emphasis> kcps, 1.0, kfmd1, 0.0, 40, 203, 0.1,
   &orchvarinit;-->
   &orchnamedinstruments;
   &orchUDO;
-
+  &orchtab;
+  &oviewfunctional;
 </chapter>
diff --git a/orch/tvars.xml b/orch/tvars.xml
new file mode 100644
index 0000000..898f245
--- /dev/null
+++ b/orch/tvars.xml
@@ -0,0 +1,15 @@
+
+<section id="Orchtab">
+  <title>K-Rate Vectors</title>
+  <para>
+    Csound allows the declaration and deployment of one-dimensional
+    vectors or tables.  They are local to an instrument, and need to
+    be declared for size (with the <link
+    linkend="init"><citetitle>init</citetitle></link> opcode.
+    Individual elements are read as part of any expression with square
+    brackets to give an index at k-rate.  Individual elements can be
+    assigned, and there are a number of opcodes to query and modify tables.
+
+  </para>
+
+</section>
diff --git a/overview/building.xml b/overview/building.xml
index 896303d..c002152 100644
--- a/overview/building.xml
+++ b/overview/building.xml
@@ -2,38 +2,33 @@
   <title>Building Csound</title>
 
   <para>
-    Csound has become a complex project and can involve many dependencies. Unless you are a Csound developer or need to develop Csound plugins, 
+    Csound has become a complex project and can involve many dependencies. Unless you are a Csound developer or need to develop Csound plugins,
 you should try to use one of the precompiled distributions from <ulink
-      url="http://www.sourceforge.net/projects/csound">http://www.sourceforge.net/projects/csound</ulink>. However, 
+      url="http://www.sourceforge.net/projects/csound">http://www.sourceforge.net/projects/csound</ulink>. However,
 building from source is probably the best option on GNU/Linux.
   </para>
   <para>
-    This section focuses on the main Csound 5 build system, which uses <ulink url="http://www.scons.org">SCons</ulink>, a Python program that replaces <emphasis>make</emphasis> for cross-platform configuration and building.
+    This section focuses on the main Csound 6 build system, which uses
+    <ulink url="http://www.cmake.org">cmake</ulink>, a cross-platform,
+    open-source build system designed to build, test and package software.
   </para>
   <para>
     When building Csound from source instead of using a precompiled package, you first need to obtain the sources for a release of Csound at <ulink url="http://www.sourceforge.net/projects/csound">http://www.sourceforge.net/projects/csound</ulink>. The source packages have either a zip or tar.gz extension.
   </para>
   <para>
-    The latest (possibly unstable) Csound source code is also available through the Concurrent Versions System (CVS). It's likely (if you're running Mac OS X or Linux) that you already have CVS installed on your machine. If not, it can be downloaded from (<ulink url="http://www.cvshome.org">http://www.cvshome.org</ulink>). There are many graphical front ends for cvs, but you can easily get the sources using the command line version.
+    The latest (possibly unstable) Csound source code is also available through GIT. The Csound GIT front page is located at: <ulink url="http://csound.git.sourceforge.net/git/gitweb-index.cgi">http://csound.git.sourceforge.net/git/gitweb-index.cgi</ulink>.
+ Using git for just checking out and compiling is pretty easy. Install GIT for your platform and use this command to clone the Csound6 git repository:
   </para>
+  <programlisting>git clone git://git.code.sf.net/p/csound/csound6-git csound-csound6-git</programlisting>
   <para>
-    The Csound CVS front page is located at: <ulink url="http://sourceforge.net/cvs/?group_id=81968">http://sourceforge.net/cvs/?group_id=81968</ulink>. Information about accessing the CVS repository may be found in the SourceForge document <ulink url="http://sourceforge.net/docs/E04/">http://sourceforge.net/docs/E04/</ulink>. To download Csound sources using CVS, run the following commands (from a terminal or DOS shell):
+This will checkout a read-only (meaning, you can not commit back to the central git repository) version of the Csound6 repo. To update with the latest from the master repo, use:
   </para>
-  <programlisting>
-    cvs -d:pserver:anonymous at csound.cvs.sourceforge.net:/cvsroot/csound login
-
-    cvs -z3 -d:pserver:anonymous at csound.cvs.sourceforge.net:/cvsroot/csound co -P csound5</programlisting>
-  <para>
-    To update the Csound5 sources you already have in your csound5 directory, change to that directory,  and then type:
-  </para>
-  <programlisting>
-    cvs -z3 update -d</programlisting>
+  <programlisting>git pull</programlisting>
   <para>
-    To update only a single file, change to the sources directory, and then type:
+    The same process is used for the Csound manual. Use this command to clone:
   </para>
-  <programlisting>
-    cvs -z3 update filename</programlisting>
-  <bridgehead>Basic requirements to build Csound 5 on any platform</bridgehead>
+  <programlisting>git clone git://git.code.sf.net/p/csound/manual6-git csound-manual6-git</programlisting>
+  <bridgehead>Basic requirements to build Csound 6 on any platform</bridgehead>
   <itemizedlist>
     <listitem>
       <simpara>
@@ -42,17 +37,16 @@ building from source is probably the best option on GNU/Linux.
     </listitem>
     <listitem>
       <simpara>
-        Install Python from <ulink url="http://www.python.org">www.python.org</ulink>. In most cases it is best to install the most recent stable version. Python is needed for SCons to run.
-      </simpara>
-    </listitem>
-    <listitem>
-      <simpara>
-        Install the SCons build system from <ulink url="http://www.scons.org">www.scons.org</ulink>.
+        Install the Cmake build system from <ulink
+        url="http://www.cmake.org">www.scons.org</ulink> or from your
+        system packages.
       </simpara>
     </listitem>
   </itemizedlist>
   <para>
-    These are the minimum requirements for a build, but csound has many optional components which enhance functionality and add opcodes which may require additional libraries.
+    These are the minimum requirements for a build, but csound has
+    many optional components which enhance functionality and add
+    opcodes which may require additional libraries.
   </para>
   <bridgehead>Optional configurations (ALL platforms)</bridgehead>
 
@@ -61,7 +55,16 @@ building from source is probably the best option on GNU/Linux.
   <itemizedlist>
     <listitem>
       <simpara>
-        Real-time audio can use the cross-platform PortAudio library (trunk version or devel-19 branch) from <ulink url="http://www.portaudio.com/usingcvs.html">www.portaudio.com/usingcvs.html</ulink>. Please note that stable version 18 will not work. Csound can also use several platform specific audio APIs like ALSA, JACK, CoreAudio and the Windows multimedia library, see each platform notes for details.
+        Real-time audio can use the cross-platform PortAudio library
+        (trunk version or devel-19 branch) from <ulink
+        url="http://www.portaudio.com/usingcvs.html">www.portaudio.com/usingcvs.html</ulink>. Please
+        note that stable version 18 will not work. Csound can also use
+        several platform specific audio APIs like ALSA, JACK,
+        CoreAudio and the Windows multimedia library, see each
+        platform notes for details. On Windows, you can use the pre-built PortAudio
+        from <ulink
+        url="https://github.com/adfernandes/precompiled-portaudio-windows">
+        https://github.com/adfernandes/precompiled-portaudio-windows</ulink>
       </simpara>
     </listitem>
     <listitem>
@@ -82,52 +85,103 @@ building from source is probably the best option on GNU/Linux.
     </listitem>
     <listitem>
       <simpara>
-        <emphasis>CsoundAC</emphasis> requires FLTK and the boost C++ template libraries for random numbers and linear algebra, from  <ulink url="http://www.boost.org">http://www.boost.org</ulink>. <emphasis>CsoundAC</emphasis> requires at least version 1.32.1.
+        Install Python from <ulink
+        url="http://www.python.org">www.python.org</ulink>. In most
+        cases it is best to install the most recent 2.7 version.
+      </simpara>
+    </listitem>
+    <listitem>
+      <simpara>
+        <emphasis>CsoundAC</emphasis> requires FLTK and the boost C++
+        template libraries for random numbers and linear algebra, from
+        <ulink
+            url="http://www.boost.org">http://www.boost.org</ulink>. <emphasis>CsoundAC</emphasis>
+        requires at least version 1.32.1.
       </simpara>
     </listitem>
     <listitem>
-      <simpara>The fluid opcodes require the Fluidsynth library from <ulink url="http://savannah.nongnu.org/download/fluid">http://savannah.nongnu.org/download/fluid</ulink>.
+      <simpara>The fluid opcodes require the Fluidsynth library from
+      <ulink
+          url="http://savannah.nongnu.org/download/fluid">http://savannah.nongnu.org/download/fluid</ulink>.
       </simpara>
     </listitem>
     <listitem>
       <simpara>
-        The OSC opcodes require the latest version of the liblo library from 
-        <ulink url="http://plugin.org.uk/liblo">http://plugin.org.uk/liblo</ulink>. 
-        On Windows, liblo requires a Windows version of the POSIX thread library (pthreads) which is available from 
-        <ulink url="http://sourceware.org/pthreads-win32">http://sourceware.org/pthreads-win32</ulink>; 
-        copy libpthreadGC2.a to libpthread.a. 
+        The OSC opcodes require the latest version of the liblo library from
+        <ulink
+            url="http://plugin.org.uk/liblo">http://plugin.org.uk/liblo</ulink>.
+        On Windows, liblo requires a Windows version of the POSIX
+        thread library (pthreads) which is available from
+        <ulink
+            url="http://sourceware.org/pthreads-win32">
+          http://sourceware.org/pthreads-win32</ulink>;
+        copy libpthreadGC2.a to libpthread.a.
         You may also need the latest version of autoconf from MinGW.
       </simpara>
     </listitem>
     <listitem>
       <simpara>
-        The STK opcodes require STK source code from <ulink url="http://ccrma.stanford.edu/software/stk">http://ccrma.stanford.edu/software/stk</ulink>, copied into <filename>csound5/Opcodes/stk</filename>.
+        The STK opcodes require STK source code from <ulink
+        url="http://ccrma.stanford.edu/software/stk">
+        http://ccrma.stanford.edu/software/stk</ulink>,
+        copied into <filename>csound6/Opcodes/stk</filename>.
       </simpara>
     </listitem>
     <listitem>
       <simpara>
-        The Loris opcodes require Loris source code from <ulink url="http://sourceforge.net/projects/loris">http://sourceforge.net/projects/loris</ulink>, copied into <filename>csound5/Opcodes/Loris</filename>.
+        The Loris opcodes requires Loris 1.8 to be installed: <ulink url="http://sourceforge.net/projects/loris/files">http://sourceforge.net/projects/loris/files</ulink>. It will create the Csound Loris opcodes (along with Loris itself). When you run Csound use an additional command line flag: --opcode-lib. For example in Linux: --opcode-lib=/usr/local/lib/libloris.so
       </simpara>
     </listitem>
   </itemizedlist>
 
   <bridgehead>Windows</bridgehead>
-  <para>The following is needed to build on Windows (more complete build instructions for Windows may be found in the csound-build.tex document (csound-build.pdf)):</para>
+  <para>The following is needed to build on Windows (more complete
+  build instructions for Windows may be found in <filename>How_to_Build_Csound_on_Windows.doc</filename>):</para>
   <itemizedlist>
     <listitem>
       <simpara>
-        Install a compiler like gcc or Microsoft Visual Studio (there is also support for the Intel C++ compiler). If using MinGW (gcc), install all of the current release of MinGW  using the Automated MinGW Installer from <ulink url="http://www.mingw.org">www.mingw.org</ulink>, for example into <literal>c:/mingw</literal>. This should install gcc, g++, GNU binutils, the MinGW runtime, and the win32 API. Then install the current release of MSys.
+        Install a compiler like gcc or Microsoft Visual Studio. If using MinGW
+        (gcc), download the MinGW-build installer for 32-bit architecture, Posix threads, dwarf2 exception handling from <ulink
+        url="http://sourceforge.net/projects/mingwbuilds/files/latest/download?source=files">http://sourceforge.net/projects/mingwbuilds/files/latest/download?source=files</ulink>
+        and run it. Install to a directory such as <filename>D:/mingw32-4.8.1</filename>.
+      </simpara>
+      <simpara>
+        In addition to the compiler, building Csound and its dependencies
+        requires some other tools. Install MSys from <ulink
+        url="http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/msys%2B7za%2Bwget%2Bsvn%2Bgit%2Bmercurial%2Bcvs-rev13.7z/download">
+        http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/msys%2B7za%2Bwget%2Bsvn%2Bgit%2Bmercurial%2Bcvs-rev13.7z/download</ulink>.
+        This includes bison, flex, autotools and some other goodies. Edit the MSys <filename>etc/fstab</filename> file to map the MinGW directory to <filename>/mingw</filename>.
+      </simpara>
+      <simpara>
+        Options for the MinGW C compiler should be <literal>-g -O2 -fopenmp -march=nocona -mstackrealign -DNDEBUG -I/usr/local/include</literal>.
       </simpara>
       <simpara>
-        On Windows you can use Microsoft Visual C++ (except for CsoundAC). The free Express Edition, from <ulink url="http://www.microsoft.com/express/vc/">http://www.microsoft.com/express/vc/</ulink> works fine. You will need to obtain a copy of the <filename>dirent.h</filename> header file for Windows, e.g. from <ulink url="http://www.softagalleria.net/dirent.php">http://www.softagalleria.net/dirent.php</ulink>. You may also need to obtain the <literal>bufferoverflowu.lib</literal> library from Microsoft and put it into the Visual C++ <filename>lib</filename> directory. Then open a shell in which to compile Csound, (usually called Visual Studio Command Prompt command, within the Visual C++ program menu).
+        Options for the MinGW C++ compiler should be <literal>-g -O2 -std=gnu++11 -fopenmp -march=nocona -mstackrealign -DNDEBUG -I/usr/local/include</literal>.
       </simpara>
+      <!-- <simpara> -->
+      <!--   On Windows you can use Microsoft Visual C++ (except for -->
+      <!--   CsoundAC). The free Express Edition, from <ulink -->
+      <!--   url="http://www.microsoft.com/express/vc/">http://www.microsoft.com/express/vc/</ulink> -->
+      <!--   works fine. You will need to obtain a copy of the -->
+      <!--   <filename>dirent.h</filename> header file for Windows, -->
+      <!--   e.g. from <ulink -->
+      <!--   url="http://www.softagalleria.net/dirent.php">http://www.softagalleria.net/dirent.php</ulink>. You -->
+      <!--   may also need to obtain the -->
+      <!--   <literal>bufferoverflowu.lib</literal> library from Microsoft -->
+      <!--   and put it into the Visual C++ <filename>lib</filename> -->
+      <!--   directory. Then open a shell in which to compile Csound, -->
+      <!--   (usually called Visual Studio Command Prompt command, within -->
+      <!--   the Visual C++ program menu). -->
+      <!-- </simpara> -->
     </listitem>
   </itemizedlist>
   <para>Optional configurations for Windows include the following:</para>
   <itemizedlist>
     <listitem>
       <simpara>
-        Real-time audio and MIDI can use the Windows multimedia library. This module will be built automatically if the headers are found.
+        Real-time audio and MIDI can use the Windows multimedia
+        library. This module will be built automatically if the
+        headers are found.
       </simpara>
     </listitem>
     <listitem>
@@ -141,7 +195,13 @@ building from source is probably the best option on GNU/Linux.
   <itemizedlist>
     <listitem>
       <simpara>
-        Real-time audio on Linux can use ALSA (<ulink url="http://www.alsa-project.org">www.alsa-project.org</ulink>) and JACK (<ulink url="http://www.jackaudio.org/">www.jackaudio.org/</ulink>) in addition to PortAudio. Distributions usually provide the appropriate dev packages for these systems through their repositories.
+        Real-time audio on Linux can use ALSA (<ulink
+        url="http://www.alsa-project.org">www.alsa-project.org</ulink>)
+        and JACK (<ulink
+        url="http://www.jackaudio.org/">www.jackaudio.org/</ulink>) in
+        addition to PortAudio. Distributions usually provide the
+        appropriate dev packages for these systems through their
+        repositories.
       </simpara>
     </listitem>
     <listitem>
@@ -155,7 +215,8 @@ building from source is probably the best option on GNU/Linux.
   <itemizedlist>
     <listitem>
       <simpara>
-        Real-time audio can use CoreAudio (OSX builtin native audio system) and Jack, appart from PortAudio.
+        Real-time audio can use CoreAudio (OSX builtin native audio
+        system) and Jack, apart from PortAudio.
       </simpara>
     </listitem>
     <listitem>
@@ -165,239 +226,295 @@ building from source is probably the best option on GNU/Linux.
     </listitem>
   </itemizedlist>
 
-  <bridgehead>Building Csound 5 with SCons</bridgehead>
+  <bridgehead>Building Csound 6 with CMake</bridgehead>
   <para>
-    When you have all the necessary packages and their sources (or -dev packages) to support your particular requirements on your hardware platform, execute "scons -h" to discover the current configuration options.
+    When you have all the necessary packages and their sources (or
+    -dev packages) to support your particular requirements on your
+    hardware platform it is best to review the file
+    <programlisting>Custom.cmake.ex</programlisting> to discover the
+    current configuration options.  make any changes and place your
+    customisations in <programlisting>Custom.cmake</programlisting>
   </para>
   <para>
-    Building is made considerably easier if, when installing, the downloaded headers and libraries are installed in their default locations. To modify the default build,  in particular to handle non-standard options for third-party dependencies, such as where headers and libraries are to be found:
+    Building is made considerably easier if, when installing, the
+    downloaded headers and libraries are installed in their default
+    locations. To modify the default build, in particular to handle
+    non-standard options for third-party dependencies, such as where
+    headers and libraries are to be found:
   </para>
-  <itemizedlist>
-    <listitem>
-      <simpara>
-        On Windows, when building with Microsoft Visual C++, modify custom-msvc.py. 
-      </simpara>
-    </listitem>
-    <listitem>
-      <simpara>
-        On Windows, when building with MinGW/MSys, modify custom-mingw.py
-      </simpara>
-    </listitem>
-    <listitem>
-      <simpara>
-        On Linux and Mac OSX edit custom.py
-      </simpara>
-    </listitem>
-  </itemizedlist>
   <para>
-    If you do modify this file, you should make it read-only (or otherwise protect it) so that CVS will not overwrite it when you next update the sourcefiles. Avoid modifying the SConstruct file.
+    Avoid modifying the CMakeList.txt files.
+  </para>
+  <para>
+    With CMake it is usual to build in a difference directory to the
+    sources.  Create a directory for your build, change to that
+    directory and run <programlisting>cmake
+    path-to-source-directory</programlisting>.  All being well this
+    will create Makefiles as necessary.  You can then run "make" and
+    "make install".  If things go wrong it is sometime necessary to
+    delete the file <programlisting>CMakeCache.txt</programlisting>.
   </para>
-  <para>Execute scons with the optional custom variables you desire. For example:</para>
-  <programlisting>scons buildOSC=1 buildCsound5GUI=1 buildPythonOpcodes=1 useOSC=1 buildLoris=0</programlisting>
-
   <note>
     <para>
-      It is important that you set the environment variable <literal>OPCODEDIR</literal> to the directory where plugin libraries are installed; in the case of a double precision build, <literal>OPCODEDIR64</literal> should be set instead. Installers usually take care of this, but it is necessary when building from source so Csound can find its plugin libraries.
+      It is important that you set the environment variable
+      <literal>OPCODE6DIR</literal> to the directory where plugin
+      libraries are installed; in the case of a double precision
+      build, <literal>OPCODE6DIR64</literal> should be set
+      instead. Installers usually take care of this, but it is
+      necessary when building from source so Csound can find its
+      plugin libraries.
     </para>
   </note>
-  <bridgehead>Current build options</bridgehead>
-  <table frame="all" colsep="1">
-    <title>Current SCons Build Options</title>
-    <tgroup cols="2">
-      <thead>
-        <row>
-          <entry>Custom Variable</entry>
-          <entry>Effect if set to 1</entry>
-        </row>
-      </thead>
+  <!-- <bridgehead>Current build options</bridgehead> -->
+  <!-- <table frame="all" colsep="1"> -->
+  <!--   <title>Current SCons Build Options</title> -->
+  <!--   <tgroup cols="2"> -->
+  <!--     <thead> -->
+  <!--       <row> -->
+  <!--         <entry>Custom Variable</entry> -->
+  <!--         <entry>Effect if set to 1</entry> -->
+  <!--       </row> -->
+  <!--     </thead> -->
 
-      <tbody>
-        <row>
-          <entry>buildCsoundVST</entry>
-          <entry>Build CsoundVST. Needs CsoundAC, FLTK, boost, Python, SWIG.</entry>
-        </row>
-        <row>
-          <entry>buildCsoundAC</entry>
-          <entry>Build CsoundAC. Needs FLTK, boost, Python, SWIG.</entry>
-        </row>
-        <row>
-          <entry>buildCsound5GUI</entry>
-          <entry>Build FLTK GUI frontend. Requires FLTK 1.1.7 or later.</entry>
-        </row>
-        <row>
-          <entry>buildCSEditor</entry>
-          <entry>Build the Csound syntax highlighting text editor. Requires FLTK headers and libs.</entry>
-        </row>
-        <row>
-          <entry>buildDSSI</entry>
-          <entry>Build DSSI/LADSPA host opcodes.</entry>
-        </row>
-        <row>
-          <entry>buildImageOpcodes</entry>
-          <entry>Build image opcodes. 1 by default. Set to 0 to avoid.</entry>
-        </row>
-        <row>
-          <entry>buildInterfaces</entry>
-          <entry>Build interface library for Python, JAVA, Lua, C++, and other languages.</entry>
-        </row>
-        <row>
-          <entry>buildJavaWrapper</entry>
-          <entry>Build Java wrapper for the interface library.</entry>
-        </row>
-        <row>
-          <entry>buildLoris</entry>
-          <entry>Build the Loris Python extension and opcodes.</entry>
-        </row>
-        <row>
-          <entry>buildNewParser</entry>
-          <entry>Enable building new parser. Requires Flex/Bison.</entry>
-        </row>
-        <row>
-          <entry>buildOSXGUI</entry>
-          <entry>Build the basic GUI frontend. OSX only.</entry>
-        </row>
-        <row>
-          <entry>buildPDClass</entry>
-          <entry>Build csoundapi~ PD class. Needs m_pd.h in the standard places.</entry>
-        </row>
-        <row>
-          <entry>buildPythonOpcodes</entry>
-          <entry>Build Python opcodes</entry>
-        </row>
-        <row>
-          <entry>buildRelease</entry>
-          <entry>Build for release. Implies noDebug.</entry>
-        </row>
-        <row>
-          <entry>buildSDFT</entry>
-          <entry>Build SDFT code. 1 by default. Set to 0 to avoid.</entry>
-        </row>
-        <row>
-          <entry>buildTclcsound</entry>
-          <entry>Build Tclcsound frontend (cstclsh, cswish and tclcsound dynamic module). Requires Tcl/Tk headers and libs.</entry>
-        </row>
-        <row>
-          <entry>buildUtilities</entry>
-          <entry>Build stand-alone executables for utilities that can also be used with -U.</entry>
-        </row>
-        <row>
-          <entry>buildVirtual</entry>
-          <entry>Build Virtual MIDI keyboard. Requires FLTK 1.1.7 or later headers and libs.</entry>
-        </row>
-        <row>
-          <entry>buildvst4cs</entry>
-          <entry>Build vst4cs plugins. Requires Steinberg VST headers.</entry>
-        </row>
-        <row>
-          <entry>buildWinsound</entry>
-          <entry>Build Winsound frontend. Requires FLTK headers and libs.</entry>
-        </row>
-        <row>
-          <entry>dynamicCsoundLibrary</entry>
-          <entry>Build dynamic Csound library instead of libcsound.a.</entry>
-        </row>
-        <row>
-          <entry>gcc3opt</entry>
-          <entry>Enable gcc 3.3.x or later optimizations for the specified CPU architecture (e.g. pentium3); implies noDebug.</entry>
-        </row>
-        <row>
-          <entry>gcc4opt</entry>
-          <entry>Enable gcc 4.0 or later optimizations for the specified CPU architecture (e.g. pentium3); implies noDebug.</entry>
-        </row>
-        <row>
-          <entry>generateTags</entry>
-          <entry>Generate TAGS.</entry>
-        </row>
-        <row>
-          <entry>generatePdf</entry>
-          <entry>Generate PDF documentation.</entry>
-        </row>
-        <row>
-          <entry>install</entry>
-          <entry>Enables the Install targets.</entry>
-        </row>
-        <row>
-          <entry>Lib64</entry>
-          <entry>Build for lib64 rather than lib.</entry>
-        </row>
-        <row>
-          <entry>noDebug</entry>
-          <entry>Build without debugging information.</entry>
-        </row>
-        <row>
-          <entry>noFLTKThreads</entry>
-          <entry>Disable use of a separate thread for FLTK widgets.</entry>
-        </row>
-        <row>
-          <entry>useAltivec</entry>
-          <entry>On OSX use the gcc AltiVec optmisation flags.</entry>
-        </row>
-        <row>
-          <entry>useALSA</entry>
-          <entry>ALSA for real-time audio and MIDI input and output.</entry>
-        </row>
-        <row>
-          <entry>useCoreAudio</entry>
-          <entry>use CoreAudio for real-time audio input and output.</entry>
-        </row>
-        <row>
-          <entry>useDouble</entry>
-          <entry>Use double-precision floating point for audio samples.</entry>
-        </row>
-        <row>
-          <entry>useFLTK</entry>
-          <entry>Use FLTK for graphs and widget opcodes.</entry>
-        </row>
-        <row>
-          <entry>useGettext</entry>
-          <entry>Use the GNU internationalisation/localisation scheme</entry>
-        </row>
-        <row>
-          <entry>useGprof</entry>
-          <entry>Build with profiling information (-pg).</entry>
-        </row>
-        <row>
-          <entry>usePortAudio</entry>
-          <entry>Use PortAudio for real-time audio input and output.</entry>
-        </row>
-        <row>
-          <entry>usePortMIDI</entry>
-          <entry>Build PortMidi plugin for real time MIDI input and output.</entry>
-        </row>
-        <row>
-          <entry>useJack</entry>
-          <entry>Used if you compiled PortAudio to use Jack; also builds Jack plugin.</entry>
-        </row>
-        <row>
-          <entry>useLrint</entry>
-          <entry>Use lrint() and lrintf() for converting floating point values to integers.</entry>
-        </row>
-        <row>
-          <entry>useOSC</entry>
-          <entry>For OSC support.</entry>
-        </row>
-        <row>
-          <entry>useUDP</entry>
-          <entry>For UDP support. 1 by default. Set to 0 to avoid.</entry>
-        </row>
-        <row>
-          <entry>withICL</entry>
-          <entry>Build with the Intel C++ Compiler (also requires Microsoft Visual C++), Set to 0 to build with MinGW. Windows only.</entry>
-        </row>
-        <row>
-          <entry>withMSVC</entry>
-          <entry>Build with Microsoft Visual C++, or set to 0 to build with MinGW. Windows only.</entry>
-        </row>
-        <row>
-          <entry>Word64</entry>
-          <entry>Build for 64bit computer.</entry>
-        </row>
-        <row>
-          <entry>pythonVersion</entry>
-          <entry>Set to the Python version to be used.</entry>
-        </row>
-      </tbody>
-    </tgroup>
-  </table>
+  <!--     <tbody> -->
+  <!--       <row> -->
+  <!--         <entry>includeP5Glove</entry> -->
+  <!--         <entry>Build for use with P5 Glove.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>buildCsoundVST</entry> -->
+  <!--         <entry>Build CsoundVST. Needs CsoundAC, FLTK, boost, Python, SWIG.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>buildCsoundAC</entry> -->
+  <!--         <entry>Build CsoundAC. Needs FLTK, boost, Python, SWIG.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>buildCsound5GUI</entry> -->
+  <!--         <entry>Build FLTK GUI frontend. Requires FLTK 1.1.7 or later.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>buildCSEditor</entry> -->
+  <!--         <entry>Build the Csound syntax highlighting text editor. Requires FLTK headers and libs.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>buildDSSI</entry> -->
+  <!--         <entry>Build DSSI/LADSPA host opcodes.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>buildImageOpcodes</entry> -->
+  <!--         <entry>Build image opcodes. 1 by default. Set to 0 to avoid.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>buildInterfaces</entry> -->
+  <!--         <entry>Build interface library for Python, JAVA, Lua, C++, and other languages.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>buildJavaWrapper</entry> -->
+  <!--         <entry>Build Java wrapper for the interface library.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>buildLuaOpcodes</entry> -->
+  <!--         <entry>Build Lua opcodes. Set to 1 to build.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>buildLuaWrapper</entry> -->
+  <!--         <entry>Build Lua wrapper for the C++ interface library (needs buildInterfaces).</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>buildNewParser</entry> -->
+  <!--         <entry>Enable building new parser. Requires Flex/Bison.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>buildOSXGUI</entry> -->
+  <!--         <entry>Build the basic GUI frontend. OSX only.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>buildPDClass</entry> -->
+  <!--         <entry>Build csoundapi~ PD class. Needs m_pd.h in the standard places.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>buildPythonOpcodes</entry> -->
+  <!--         <entry>Build Python opcodes</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>buildPythonWrapper</entry> -->
+  <!--         <entry>Build Python wrapper for the C++ interface library (needs buildInterfaces).</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>buildRelease</entry> -->
+  <!--         <entry>Build for release. Implies noDebug.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>buildSDFT</entry> -->
+  <!--         <entry>Build SDFT code. 1 by default. Set to 0 to avoid.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>buildStkOpcodes</entry> -->
+  <!--         <entry>build Stk Opcodes. Requires STK source code.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>buildUtilities</entry> -->
+  <!--         <entry>Build stand-alone executables for utilities that can also be used with -U.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>buildVirtual</entry> -->
+  <!--         <entry>Build Virtual MIDI keyboard. Requires FLTK 1.1.7 or later headers and libs.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>buildvst4cs</entry> -->
+  <!--         <entry>Build vst4cs plugins. Requires Steinberg VST headers.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>buildWinsound</entry> -->
+  <!--         <entry>Build Winsound frontend. Requires FLTK headers and libs.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>buildBeats</entry> -->
+  <!--         <entry>Build csbeats score processor.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>bufferoverflowu</entry> -->
+  <!--         <entry>Set to 1 to use the Windows buffer overflow library, required if you use MinGW to link with MSVC-built libraries.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>dynamicCsoundLibrary</entry> -->
+  <!--         <entry>Build dynamic Csound library instead of libcsound.a.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>gcc3opt</entry> -->
+  <!--         <entry>Enable gcc 3.3.x or later optimizations for the specified CPU architecture (e.g. pentium3); implies noDebug.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>gcc4opt</entry> -->
+  <!--         <entry>Enable gcc 4.0 or later optimizations for the specified CPU architecture (e.g. pentium3); implies noDebug.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>generateTags</entry> -->
+  <!--         <entry>Generate TAGS.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>generatePdf</entry> -->
+  <!--         <entry>Generate PDF documentation.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>install</entry> -->
+  <!--         <entry>Enables the Install targets.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>Lib64</entry> -->
+  <!--         <entry>Build for lib64 rather than lib.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>noDebug</entry> -->
+  <!--         <entry>Build without debugging information.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>noFLTKThreads</entry> -->
+  <!--         <entry>Disable use of a separate thread for FLTK widgets.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>useAltivec</entry> -->
+  <!--         <entry>On OSX use the gcc AltiVec optmisation flags.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>useALSA</entry> -->
+  <!--         <entry>ALSA for real-time audio and MIDI input and output.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>useCoreAudio</entry> -->
+  <!--         <entry>use CoreAudio for real-time audio input and output.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>useDouble</entry> -->
+  <!--         <entry>Use double-precision floating point for audio samples.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>useFLTK</entry> -->
+  <!--         <entry>Use FLTK for graphs and widget opcodes.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>useGettext</entry> -->
+  <!--         <entry>Use the GNU internationalisation/localisation scheme</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>useIpMIDI</entry> -->
+  <!--         <entry>Build for use as a network synth.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>useGprof</entry> -->
+  <!--         <entry>Build with profiling information (-pg).</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>usePortAudio</entry> -->
+  <!--         <entry>Use PortAudio for real-time audio input and output.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>usePortMIDI</entry> -->
+  <!--         <entry>Build PortMidi plugin for real time MIDI input and output.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>useJack</entry> -->
+  <!--         <entry>Used if you compiled PortAudio to use Jack; also builds Jack plugin.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>useLrint</entry> -->
+  <!--         <entry>Use lrint() and lrintf() for converting floating point values to integers.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>useOSC</entry> -->
+  <!--         <entry>For OSC support.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>useUDP</entry> -->
+  <!--         <entry>For UDP support. 1 by default. Set to 0 to avoid.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>withICL</entry> -->
+  <!--         <entry>Build with the Intel C++ Compiler (also requires Microsoft Visual C++), Set to 0 to build with MinGW. Windows only.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>withMSVC</entry> -->
+  <!--         <entry>Build with Microsoft Visual C++, or set to 0 to build with MinGW. Windows only.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>withSunStudio</entry> -->
+  <!--         <entry>On Solaris, set to 1 to build with Sun Studio, or set to 0 to build with gcc.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>NewParserDebug</entry> -->
+  <!--         <entry>Enable tracing of new parser</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>Word64</entry> -->
+  <!--         <entry>Build for 64bit computer.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>pythonVersion</entry> -->
+  <!--         <entry>Set to the Python version to be used.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>includeSerial</entry> -->
+  <!--         <entry>Set to 1 if compiling serial code.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>buildcatalog</entry> -->
+  <!--         <entry>Set to 1 if building opcode/library catalogue.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>includeWii</entry> -->
+  <!--         <entry>Set to 12 or 13 if using libwiiuse v0.12 or v0.13.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>useOpenMP</entry> -->
+  <!--         <entry>Set to 1 to use OpenMP for parallel performance.</entry> -->
+  <!--       </row> -->
+  <!--       <row> -->
+  <!--         <entry>buildMultiCore</entry> -->
+  <!--         <entry>building for multicore sytem (requires new parser).</entry> -->
+  <!--       </row> -->
+  <!--     </tbody> -->
+  <!--   </tgroup> -->
+  <!-- </table> -->
 </chapter>
 
diff --git a/overview/design.xml b/overview/design.xml
index 93cc13d..3569782 100644
--- a/overview/design.xml
+++ b/overview/design.xml
@@ -33,7 +33,7 @@
   <section id="AmplitudeCsound">
     <title>Amplitude values in Csound</title>
     <para>
-      Amplitude values in Csound are always relative to a "<link linkend="Zerodbfs"><citetitle>0dbfs</citetitle></link>" value representing the peak available amplitude before clipping, in either an AD/DA codec, or in a soundfile with a defined range (which both WAVE and AIFF are). In the original Csound, this value was always 32767, corresponding to the bipolar range of a 16bit soundfile or 16bit AD/DA codec, Csound's only possible output back then. This remains the <emphasis>default</emphasis> peak amplitude for Csound, for backward compatibility and you will find most of this manual's examples still use this value (hence you find large amplitude values like 10000).
+      Amplitude values in Csound are always relative to a "<link linkend="Zerodbfs"><citetitle>0dbfs</citetitle></link>" value representing the peak available amplitude before clipping, in either an AD/DA codec, or in a soundfile with a defined range (which both WAVE and AIFF are). In the original Csound, this value was always 32767, corresponding to the bipolar range of a 16bit soundfile or 16bit AD/DA codec, Csound's only possible output back then. This remains the <emphasis>default</emphasis> peak amplitude for Csound, for backward compatibility and you will find some of this manual's examples still use this value (hence you find large amplitude values like 10000).
     </para>
     <para>
       The <link linkend="Zerodbfs"><citetitle>0dbfs</citetitle></link> value enables Csound to produce appropriately scaled values to whatever output format is being used, whether 24bit integer, 32bit floats, or even 32bit integers. Put another way, the literal amplitude values you write in a Csound instrument only match those written <emphasis>literally</emphasis> to the file if the <link linkend="Zerodbfs"><citetitle>0dbfs</citetitle></link> value in Csound corresponds exactly to that of the output sample format. The consequence of this approach is that you can write a piece with a certain amplitude and have it render correctly and identically (setting aside of course the better dynamic range of the high-res formats) whether written to an integer or floats file, or rendered in real-time.
diff --git a/overview/frontends.xml b/overview/frontends.xml
index 27213af..f722399 100644
--- a/overview/frontends.xml
+++ b/overview/frontends.xml
@@ -6,61 +6,22 @@
   <para>
   Most often, you'll want to download and install Csound itself before downloading and installing a front end. Some front ends require particular versions of Csound, so if you plan to use a front end, it's recommended that you verify its compatibility before installing Csound.
   </para>
-  <bridgehead>QuteCsound</bridgehead>
+  <bridgehead>CsoundQt</bridgehead>
   <para>
-    QuteCsound is a versatile, cross-platform GUI (graphical user interface) which is bundled with the standard Csound distribution. Created and maintained by Andres Cabrera, QuteCsound provides a multi-tabbed editor, graphic widgets for real-time sound control, and an opcode help system that links to this manual. At this writing (2011) QuteCsound is in active development, so the version installed in your system when you install Csound may not be the most current. The most recent version can be found at <ulink url="http://qutecsound.sourceforge.net/">http://qutecsound.sourceforge.net/</ulink>.
+    CsoundQt is a versatile, cross-platform GUI (graphical user interface) which is bundled with the standard Csound distribution. Created and maintained by Andres Cabrera, QuteCsound provides a multi-tabbed editor, graphic widgets for real-time sound control, and an opcode help system that links to this manual. At this writing (2013) CsoundQt is in active development, so the version installed in your system when you install Csound may not be the most current. The most recent version can be found at <ulink url="http://qutecsound.sourceforge.net/">http://qutecsound.sourceforge.net/</ulink>.
   </para>
   <bridgehead>Blue</bridgehead>
   <para>
     A cross-platform composition-oriented front end written by Steven Yi in Java. The user interface provides a timeline structured somewhat like a digital multitrack, but differs in that timelines can be embedded within timelines (polyObjects). This allows for a compositional organization in time that many users will find intuitive, informative, and flexible. Each instrument and score section in a blue project has its own editing window, which makes organizing large projects easier. Blue can be downloaded at <ulink url="http://csounds.com/stevenyi/blue/">Blue Home Page</ulink>.
   </para>
-  <bridgehead>Cecilia</bridgehead>
-  <para>
-	Uses Csound, and also incorporates its own score generation language. Not updated since 2004, but should run in Mac OSX and Linux. Available from <ulink url="http://www.jeanpiche.com/software.htm">http://www.jeanpiche.com/software.htm</ulink>.
-  </para>
-<bridgehead>MacCsound</bridgehead>
-  <para>
-    A front end for the Macintosh, MacCsound provides a text editor, graphic editing of control signals, and other features. Available at the <ulink url="http://www.csounds.com/matt/MacCsound/">MacCsound Page</ulink>. MacCsound requires the Universal version of Csound, not the Intel version, and with OS 10.6 also requires Rosetta, which is located in the OSX installer DVD for 10.6 but is not installed by default.
-  </para>
   <bridgehead>WinXound</bridgehead>
   <para>
     A convenient front-end for Windows with syntax highlighting. You can get it at the <ulink url="http://winxound.codeplex.com/">WinXsound Front Page</ulink>.
   </para>
-  <bridgehead>Cabel</bridgehead>
-  <para>
-    Cabel is a graphical user interface for building Csound instruments by patching modules, similar to the approach used in modular synthesizers and graphical programming environments such as Pd. Cross-platform, written in Python. While Cabel seems (as of 2011) not to have been updated in four years, it still works with current versions of Csound. Available from <ulink url="http://cabel.sourceforge.net/">http://cabel.sourceforge.net/</ulink>.
-  </para>
-  <bridgehead>Csound5GUI</bridgehead>
-  <para>
-    Csound5GUI is a cross-platform GUI. Formerly part of the standard Csound distribution, it is now available as source code and possibly as a downloadable .exe for Windows. It implements most configuration features of Csound.
-  </para>
-  <bridgehead>CSDplayer</bridgehead>
-  <para>
-    This is a simple Java program to play csd files. It is included in the standard distribution, and will be of interest mainly to Java programmers.
-  </para>
+  
   <bridgehead>Winsound</bridgehead>
   <para>
-    Like Csound5GUI, Winsound was formerly part of the main Csound tree. It is now available only as source code. Winsound is a cross-platform FLTK port of Barry Vercoe's original front-end for csound. Some partially sighted or unsighted users report success using Winsound with text-to-speech software. 
-  </para>
-  <bridgehead>Csound Editor</bridgehead>
-  <para>
-    Csound Editor is no longer being maintained, but it's still available from <ulink url="http://flavio.tordini.org/csound-editor/">Flavio Tordini's Home Page</ulink>. For Windows systems, includes syntax highlighting.
-  </para>
-  <para>
-    In addition to the main front ends listed above, here are some other programs that may qualify as front ends, depending on your definition:
-    <informaltable frame='none'>
-      <tgroup cols='2'>
-		<tbody>
-          <row><entry>GeoMaestro:</entry><entry><ulink url="http://www.zogotounga.net/GM/eGM0.html">http://www.zogotounga.net/GM/eGM0.html</ulink></entry></row>
-          <row><entry>Csound-x:</entry><entry><ulink url="http://www.zogotounga.net/comp/csoundx.html">http://www.zogotounga.net/comp/csoundx.html</ulink></entry></row>
-		  <row><entry>AthenaCL:</entry><entry><ulink url="http://www.flexatone.net/athena.html">http://www.flexatone.net/athena.html</ulink></entry></row>
-          <row><entry>GRACE/Common Music:</entry><entry><ulink url="http://commonmusic.sourceforge.net/">http://commonmusic.sourceforge.net/</ulink></entry></row>
-          <row><entry>AlgoScore:</entry><entry><ulink url="http://kymatica.com/Software/AlgoScore">http://kymatica.com/Software/AlgoScore</ulink></entry></row>
-          <row><entry>nGen:</entry><entry><ulink url="http://mustec.bgsu.edu/~mkuehn/ngen/">http://mustec.bgsu.edu/~mkuehn/ngen/</ulink></entry></row>
-          <row><entry>ImproSculpt:</entry><entry><ulink url="http://improsculpt.sourceforge.net/pmwiki/pmwiki.php">http://improsculpt.sourceforge.net/pmwiki/pmwiki.php</ulink></entry></row>
-		</tbody>
-      </tgroup>
-    </informaltable>
+    Winsound was formerly part of the main Csound tree. It is now available only as source code. Winsound is a cross-platform FLTK port of Barry Vercoe's original front-end for csound. Some partially sighted or unsighted users report success using Winsound with text-to-speech software. 
   </para>
   
   <section id="CommandCsoundAC">
diff --git a/overview/functional.xml b/overview/functional.xml
new file mode 100644
index 0000000..eab68f2
--- /dev/null
+++ b/overview/functional.xml
@@ -0,0 +1,53 @@
+<section id="functional">
+  <title>Function Syntax in Csound6</title>
+  <para>
+    Csound 6 has introduced a new alternative syntax for orchestra code. This is initially an experimental feature, which has some limitations,
+as explained below. It will also allow the introduction of some non-backwards-compatible language features.
+  </para>
+  <bridgehead>Overview</bridgehead>
+  <para>
+   The main aspect of the new syntax is that some opcodes can be called as functions, and inlined in orchestra code. The
+general form of this is the expression:
+  </para>
+  <literallayout>
+   var* = op(exprlist*)
+  </literallayout>
+    <para>
+   where * indicates optional, var is a single variable in one of Csound6 types, and exprlist is a comma separated list
+   of expressions (or a single expression or variable). These expressions can be placed anywhere inside instrument or
+   opcode blocks. I-time operations can also be placed outside instrument blocks. The functional syntax can be intermixed with 
+   standard Csound code.
+    </para>
+ <para>
+ Here are some examples of these expressions: 
+ </para>
+  <literallayout>
+
+   a1 = oscil(p4,p5)
+   out(vco2(p4*linen(1,0.1,p3,0.1),p5)
+   outs(oscili(in(),p5), in())
+
+  </literallayout>
+  <bridgehead>Limitations</bridgehead>
+  <para>
+    The main limitation is that only opcodes with single outputs (or no outputs) are allowed. In addition, opcodes with
+multiple optional outputs will not be parsed successfully in this form. An alternative to allow for these
+is to wrap them in user-defined opcodes, or just to intermix standard Csound syntax with this new style.
+  </para>
+  <para>
+To resolve opcode ambiguities, we have introduced type annotations, in the form of op:type(exprlist). For instance
+the code:
+  </para>
+  <para>
+  <literallayout>
+
+   a1 = oscili(oscili:k(p4,p5), 440)
+
+  </literallayout>
+  </para>
+  <para>
+will choose a control-rate opcode to modulate the amplitude of the audio carrier, rather than an audio rate one. There will
+be cases where the type annotation will be required, when the input arguments cannot be used to determine the correct type
+of opcode to be applied.
+  </para>
+</section>
diff --git a/preface/history.xml b/preface/history.xml
index 66d8ecb..619e96f 100644
--- a/preface/history.xml
+++ b/preface/history.xml
@@ -70,9 +70,10 @@
         <row><entry>&namepinot;</entry></row>
         <row><entry>&nameandres;</entry></row>
         <row><entry>Gareth Edwards</entry></row>
-        <row><entry>Joachim Heinz</entry></row>
+        <row><entry>Joachim Heintz</entry></row>
         <row><entry>&namejohn;</entry></row>
-        <row><entry>Oeyvind Brandstegg</entry></row>
+        <row><entry>Oeyvind Brandtsegg</entry></row>
+        <row><entry>Menno Knevel</entry></row>
         <row><entry>Felipe Sateler</entry></row>
         <row><entry>And many others.</entry></row>
       </tbody>
diff --git a/preface/whatsnew.xml b/preface/whatsnew.xml
index 6e0e543..5a75f4e 100644
--- a/preface/whatsnew.xml
+++ b/preface/whatsnew.xml
@@ -1,5 +1,5 @@
 <section id="PrefaceWhatsNew"><title>What's new in Csound &csoundversion;</title>
-<!--     <bridgehead>New in Version 5.XX ()</bridgehead> --><!--  <para>
+<!--     <bridgehead>NRelease Notes for Csound 6.XX ()</bridgehead> --><!--  <para>
     <itemizedlist>
       <listitem>
         <para>New opcodes:
@@ -64,6 +64,2098 @@
       </listitem>
     </itemizedlist>
   </para>-->
+<bridgehead>Release Notes for Csound 6.02</bridgehead>
+  <para>
+This new version has a large number of bug fixes (including clearing
+all general tickets on SourceForge). It also introduces some major new
+facilities such as use as a server, code to run Csound in a browser
+and a large generalisation of filter opcodes to have parameters
+changeable at audio rate.
+  </para>
+  <para>
+    <itemizedlist>
+      <listitem>
+        <para>New opcodes:
+          <itemizedlist>
+            <listitem>
+              <simpara><link linkend="instance"><citetitle>instance</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>
+            </listitem>
+            <listitem>
+              <simpara><link linkend="strfromurl"><citetitle>strfromurl</citetitle></link>
+              to set a string from a URL.
+              </simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Orchestra:
+          <itemizedlist>
+            <listitem>
+              <simpara>If building supports it, a #include string can be a URL or a
+              file.</simpara>
+            </listitem>
+            <listitem>
+              <simpara>A space is again permitted between a function name and the
+              opening bracket for all functions allowed in Csound5 (but not in
+              general).</simpara>
+            </listitem>
+            <listitem>
+              <simpara>The Csound command can start with an empty CSD in daemon mode
+              (--daemon): do not exit if CSD/orchestra is not
+              given, is empty or does not compile).</simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>Score:
+          <itemizedlist>
+            <listitem>
+              <simpara>If building supports it, a #include string can be a URL or a
+              file.</simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>Modified Opcodes and Gens:
+          <itemizedlist>
+            <listitem>
+              <simpara>Many filters generalised to allow k- or a-rate parameters.  In
+              particular it includes these:
+              <informaltable frame="none">
+                <tgroup cols="2">
+                <tbody>
+                  <row>
+                    <entry>areson</entry>
+                    <entry>atonex</entry>
+                  </row>
+                  <row>
+                    <entry>butterworth filters</entry>
+                    <entry>fofilter</entry>
+                  </row>
+                  <row>
+                    <entry>lowres</entry>
+                    <entry>lowresx</entry>
+                  </row>
+                  <row>
+                    <entry>lpf18</entry>
+                    <entry>mode</entry>
+                  </row>
+                  <row>
+                    <entry>moogladder</entry>
+                    <entry>moogvcf</entry>
+                  </row>
+                  <row>
+                    <entry>reson</entry>
+                    <entry>resonr</entry>
+                  </row>
+                  <row>
+                    <entry>resonx</entry>
+                    <entry>resonz</entry>
+                  </row>
+                  <row>
+                    <entry>statevar</entry>
+                    <entry>tonex</entry>
+                  </row>
+                </tbody>
+                </tgroup>
+              </informaltable>
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>The maximum number of presets in sfont increased to 16384.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara><emphasis>cpsmidinn</emphasis> is now more accurate.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara><emphasis>max_k</emphasis> now behaves like the documentation.
+              There were caseswhen it gave strange results.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>The vst4cs opcodes have been re-factored. FLTK code has been encapsulated.
+              The build system has been updated for Csound 6.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>In <emphasis>alwayson</emphasis> opcode changes for better
+              handling of pfields, more reliable insert of an instrument instance
+              for repeating or re-started score sections.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>The signal flow graph opcodes have replaced OpenMP
+              multi-threading with pthreads, using one-time initialization
+              of static structures.
+              </simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>Frontends:
+          <itemizedlist>
+            <listitem>
+              <simpara>PNaCl is now supported as a platform, allowing Csound to run
+              under the Chrome browser in all enabled operating systems.
+              </simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>Bugs fixed:
+          <itemizedlist>
+            <listitem>
+              <simpara><emphasis>adsynt2</emphasis> opcode fixed.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara><emphasis>ftgentmp</emphasis> opcode fixed.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara><emphasis>dates</emphasis> opcode fixed.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>fixed a bug in <emphasis>pvsfilter</emphasis>.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>fixed stereo out in <emphasis>temposcal</emphasis> and
+              <emphasis>mincer</emphasis>.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara><emphasis>pan2</emphasis> opcode fixed.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>index overflow in <emphasis>randh</emphasis> and
+              <emphasis>randi</emphasis> fixed.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>A number of fixes to CsoundVST: initialization, score
+              handling, and MIDI driver initialization, so it now works for Csound 6.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>fixed <emphasis>pycalln</emphasis> for no inputs.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>fixed/revised setting and use of <emphasis>ksmps</emphasis>
+              and <emphasis>kr</emphasis> in UDOs.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>fixed problem in sending a score event from max to csound via
+              csound~ (Ticket #58).
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>If itype in <emphasis>chn_k</emphasis> was set to 3 and
+              values are set less than 1, Csound6 used to give an INIT Error.
+              (Ticket #67).
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>A number of reported seg faults have been dealt with.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara><emphasis>xtratim</emphasis> opcode was using incorrect
+              ekr value from csound instead of from instance; when used in
+              conjunction with <emphasis>setksmps</emphasis>, was causing notes
+              to have very long <emphasis>xtratim</emphasis> set and
+              thus notes were effectively not getting turned off
+              </simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>System changes:
+          <itemizedlist>
+            <listitem>
+              <simpara>A server mode is now available, accepting input via UDP (with
+              --port option).
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>A longstanding bug in extract was detected and fixed. It does
+              suggest that this facility is little used!
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>The way the external score generator was coded is
+              substantially changed. In particular this should fix a very
+              strange bug in Windows.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>Fixed crashing bug with invalue channel callback due to
+              wrong data object being pulled from csound host data.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>Fixed bug in UDOs with no local ksmps where kcounter was
+              being used incorrectly.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>Better checking in channels.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>(Experimental) If the environment variable CS_UDO_DIR is
+              set then any files in the directory that have an .udo extension
+              are automatically included at the start of the orchestra.
+              This facility needs review to see if it is what is required.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>(Experimental) There are new cuda GPGPU opcodes (source
+              only): cudasynth (3 versions for additive synthesis, additive
+              synthesis of fsigs and phase vocoder resynthesis) and cudanal
+              (a GPGPU version of pvsanal).
+              </simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>Internal changes:
+          <itemizedlist>
+            <listitem>
+              <simpara>Many attempts at faster code.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>Type inference and parsing still improving.
+              </simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>iOS:
+          <itemizedlist>
+            <listitem>
+              <simpara>Fixed crash where no csoundSetHostImplementedMIDIIO is
+              used on iOS and no _RTMIDI value is set.
+              </simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>OSX:
+          <itemizedlist>
+            <listitem>
+              <simpara>Fixed input device name for auhal.
+              </simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+    </itemizedlist>
+  </para>
+
+<bridgehead>Release Notes for Csound6</bridgehead>
+<para>
+  Csound6 is a significant rewrite of much of the code.  In particular
+  the API is not compatible, although all orc/sco/csd works should still
+  run.
+</para>
+
+<para>
+  There are new facilities, like sample accuracy and realtime mode,
+  described below.
+</para>
+
+<para>
+  IMPORTANT:  The environment variable to find plugins are called
+  <emphasis role="strong">OPCODE6DIR64</emphasis> or
+  <emphasis role="strong">OPCODE6DIR</emphasis> (note the 6) so it can co-exist
+  with Csound5.
+</para>
+
+<para>
+  Similarly <emphasis role="strong">.csoundrc</emphasis> is renamed
+  <emphasis role="strong">.csound6rc</emphasis>.
+</para>
+
+<para>
+  Arrays are now mainstream, with syntax and opcode support.  They also
+  exist in multidimensional format.  They are created (usually)
+  with <emphasis>init</emphasis> opcode or <emphasis>fillarray</emphasis>.
+      <informalexample>
+        <programlisting>
+  k1[]  <emphasis role="opc">init</emphasis> 4</programlisting>
+      </informalexample>
+  generates a k-rate 1-D array of length 4. Similarly
+      <informalexample>
+        <programlisting>
+  a2[][] <emphasis role="opc">init</emphasis> 4, 4</programlisting>
+      </informalexample>
+  creates a square 4x4 a-rate array.
+      <informalexample>
+        <programlisting>
+  k2[]  <emphasis role="opc">fillarray</emphasis> 1, 2, 3, 4</programlisting>
+      </informalexample>
+  creates a 4-element vector filled with 1,..4, which also defines the
+  length.
+</para>
+
+<para>
+  Elements are used via indexing in [] such as k1[2] or a2[2][3].
+  One dimensional arrays replace tvars, and can be used in opcodes like
+  <emphasis>maxtab</emphasis>, <emphasis>mintab</emphasis> and
+  <emphasis>sumtab</emphasis> (see below). Array setting can be done in
+  left-hand side of opcodes, i.e.:
+      <informalexample>
+        <programlisting>
+  aSigs[0] <emphasis role="opc">vco2</emphasis> .1, 440
+  aSigs[1] <emphasis role="opc">vco2</emphasis> .1, 880</programlisting>
+      </informalexample>
+</para>
+
+<para>
+  The new realtime priority mode can be switched on with by passing the
+  --realtime or setting the CSOUND_PARAMS field realtime_mode to 1.
+  This has the following effects:
+  <orderedlist>
+    <listitem>
+      <simpara>all opcode audio file reading/writing is handled asynchronously
+      by a separate thread.</simpara>
+    </listitem>
+    <listitem>
+      <simpara>all init-pass operations are also performed asynchronously.</simpara>
+    </listitem>
+  </orderedlist>
+</para>
+
+<para>
+  Multicore support is totally rewritten using a different algorithm for
+  task-dispatch, which should use less memory and fewer locks.
+</para>
+
+<para>
+  <itemizedlist>
+    <listitem>
+      <para>New opcodes:
+        <itemizedlist>
+          <listitem>
+            <simpara><emphasis>faustgen</emphasis></simpara>
+          </listitem>
+          <listitem>
+            <simpara><emphasis>array</emphasis> -- many new or revised
+            opcodes -- see <link linkend="arrayOpcodes"><citetitle>Array
+            Opcodes</citetitle></link>.</simpara>
+          </listitem>
+          <listitem>
+            <simpara><emphasis>compileorc</emphasis> takes a filename containing
+            a collection of instrument definitions and compiles them, replacing
+            existing versions. It returns 0 on success.</simpara>
+          </listitem>
+          <listitem>
+            <simpara><emphasis>compilestr</emphasis> is like
+            <emphasis>compileorc</emphasis> but takes a string.</simpara>
+          </listitem>
+          <listitem>
+            <simpara><emphasis>readscore</emphasis> runs the score preprocessor
+            on a string and then schedules new events via the RT event mechanism,
+            returning 0 if successful.</simpara>
+          </listitem>
+        </itemizedlist>
+      </para>
+    </listitem>
+    <listitem>
+      <para>Orchestra
+        <itemizedlist>
+          <listitem>
+            <simpara>Note events can start and end in mid-kcycle. As this is an
+            incompatible change it is only invoked when the command-line option
+            --sample-accurate is specified. Note that this does not work for
+            tied notes, and use of skipping initialisation has questionable
+            use.</simpara>
+          </listitem>
+          <listitem>
+            <simpara>Instruments can run at local <emphasis>ksmps</emphasis>
+            values using <code>setksmps iksmps</code> as in Csound 5 UDOs.</simpara>
+          </listitem>
+          <listitem>
+            <simpara>Compilation can be done at any stage, new instruments are
+            added or replace old ones.  Running instances of old instrument
+            definitions are not affected.  Only limitation is that header
+            constants in instr 0 are read only once at the time of the
+            first compilation.  Init-time code can be placed outside
+            instruments in the global space, and this will be executed
+            once-only following the compilation.  In this case, score event
+            generation can be completely replaced by orchestra code.
+            See also new opcodes <emphasis>compileorc</emphasis> and
+            <emphasis>compilestr</emphasis>.</simpara>
+          </listitem>
+          <listitem>
+            <simpara>New syntax operators +=, -=, *= and /=.  These are more
+            than syntactic sugar; please use += and -= for accumulating reverbs
+            as it gives better multicore behaviour.</simpara>
+          </listitem>
+          <listitem>
+            <simpara>The opcodes <emphasis>add</emphasis>, <emphasis>sub</emphasis>,
+            <emphasis>mul</emphasis> and <emphasis>div</emphasis> have been
+            deleted; use the forms + - * /. Not many people were aware of these
+            opcodes.</simpara>
+          </listitem>
+          <listitem>
+            <simpara>Any opcode with a single output or with no outputs can be
+            used as a function. Some opcodes might require type annotation to
+            resolve ambiguities, more details on the
+            <link linkend="functional"><citetitle>Function syntax in
+            Csound 6</citetitle></link>.</simpara>
+          </listitem>
+          <listitem>
+            <simpara>A statement can be broken across lines after a , = or
+            arithmetic operation.</simpara>
+          </listitem>
+          <listitem>
+            <simpara>There are a range of new or recoded operations on k-valued
+            arrays, most restricted to 1 dimensional arrays (vectors):
+            <informalexample>
+              <programlisting>
+ kans <emphasis role="opc">minarray</emphasis> ktab       <emphasis role="comment">returns the smallest value in the</emphasis>
+                          <emphasis role="comment">(possibly) multidimensional array</emphasis>
+ kans <emphasis role="opc">maxarray</emphasis> ktab       <emphasis role="comment">is like mintab</emphasis>
+ kabs <emphasis role="opc">sumarray</emphasis> ktab       <emphasis role="comment">returns sum of all values in the array</emphasis>
+ ktab <emphasis role="opc">genarray</emphasis> imin, imax[, inc]
+                          <emphasis role="comment">generates vector of values from imin</emphasis>
+                          <emphasis role="comment">to imax by increments of inc (default 1)</emphasis>
+ ktab2 <emphasis role="opc">maparray</emphasis> ktab1, "sin" <emphasis role="comment">maps the k-rate 1-arg function in</emphasis>
+                          <emphasis role="comment">the string to every element of the vector</emphasis>
+ ktab2 <emphasis role="opc">maparray_i</emphasis> ktab1, "sin" <emphasis role="comment">maps the i-rate 1-arg function</emphasis>
+                          <emphasis role="comment">in the string to every element of the vector</emphasis>
+ ktab2 <emphasis role="opc">slicearray</emphasis> ktab1, istart, iend
+                          <emphasis role="comment">returns a slice of ktab1 from ktab1[istart]</emphasis>
+                          <emphasis role="comment">to ktab1[iend]</emphasis>
+ <emphasis role="opc">copyf2array</emphasis> ktab, kfn    <emphasis role="comment">copies data from an ftable to a vector</emphasis>
+ <emphasis role="opc">copya2ftab</emphasis>  ktab, kfn    <emphasis role="comment">copies data from a vector to an ftable</emphasis></programlisting>
+            </informalexample>
+
+            Arithmetic on arrays is allowed.  In particular addition,
+            subtraction, multiplication, division on a element-by-element
+            version is provided in arithmetic format. Similar operations
+            between an array and a scalar are allowed.</simpara>
+          </listitem>
+          <listitem>
+            <simpara>Each instance of any instrument has a scratchpad of 4 values
+            that persist; allows values to carry to next use of the
+            instrument; hope it may be useful in legato etc.</simpara>
+          </listitem>
+          <listitem>
+            <simpara>If a table number is given as -1 then an internal sine wave
+            equivalent to <code>f. 0 16382 10 1</code> is used. Attempts to
+            write to this table will give unpredictable results, but is not
+            policed. The 16382 can be change by command line option
+            --sine-size=# where the # is rounded up to a power of two.</simpara>
+          </listitem>
+          <listitem>
+            <simpara>A number of oscil opcodes now have the f-table parameter as
+            optional, defaulting to the internal sine wave. (<emphasis>oscil1,
+            oscil1i, oscil, oscil3, oscili, foscil, foscil1, loscil,
+            loscil3</emphasis>).</simpara>
+          </listitem>
+        </itemizedlist>
+      </para>
+    </listitem>
+    <listitem>
+      <para>Score:
+        <itemizedlist>
+          <listitem>
+            <simpara>Score lines can have multiple strings.</simpara>
+          </listitem>
+          <listitem>
+            <simpara>Change to escape characters in score strings -- they do not
+            happen.</simpara>
+          </listitem>
+          <listitem>
+            <simpara>Also note the <emphasis>readscore</emphasis> opcode.</simpara>
+          </listitem>
+        </itemizedlist>
+      </para>
+    </listitem>
+    <listitem>
+      <para>Modified Opcodes and Gens:
+        <itemizedlist>
+          <listitem>
+            <simpara>The <emphasis>k()</emphasis> function can take an a-rate
+            argument in which case it is a call to <emphasis>downsamp</emphasis>.
+            </simpara>
+          </listitem>
+        </itemizedlist>
+      </para>
+    </listitem>
+    <listitem>
+      <para>Utilities
+        <itemizedlist>
+          <listitem>
+            <simpara><emphasis>Hetro/adsyn</emphasis> analysis files can be
+            machine byte-order independent if created with -X. Down side is a
+            longer file and a little slower loading. The
+            <emphasis>het_export</emphasis> utility will create the independent
+            format from the old, and <emphasis>het_import</emphasis> is no
+            longer necessary.</simpara>
+          </listitem>
+          <listitem>
+            <simpara><emphasis>cvanal</emphasis> and <emphasis>lpanal</emphasis>
+            will produce machine independent files if -X option is used. The
+            <emphasis>convolve</emphasis> and <emphasis>lpread</emphasis> etc
+            opcodes will accept either format. You are encouraged to use the
+            machine independent form. Analysis files produced with -X can be used
+            on other systems.</simpara>
+          </listitem>
+        </itemizedlist>
+      </para>
+    </listitem>
+    <listitem>
+      <para>Frontends</para>
+    </listitem>
+    <listitem>
+      <para>Bugs fixed:</para>
+    </listitem>
+    <listitem>
+      <para>System Changes:
+        <itemizedlist>
+          <listitem>
+            <simpara>In Linux and OSX the treatment of locales is now thread-safe
+            and local.</simpara>
+          </listitem>
+        </itemizedlist>
+      </para>
+    </listitem>
+    <listitem>
+      <para>Platform Changes:</para>
+    </listitem>
+    <listitem>
+      <para>API:
+        <simpara>New API functions...</simpara>
+        <itemizedlist>
+          <listitem>
+            <simpara>new configuration/parameter setting functions
+            <informalexample>
+              <programlisting>
+        PUBLIC int csoundSetOption(CSOUND *csound, char *option);
+        PUBLIC void csoundSetParams(CSOUND *csound, CSOUND_PARAMS *p);
+        PUBLIC void csoundGetParams(CSOUND *csound, CSOUND_PARAMS *p);
+        PUBLIC void csoundSetOutput(CSOUND *csound, char *name, char *type,
+                                    char *format);
+        PUBLIC void csoundSetInput(CSOUND *csound, char *name);
+        PUBLIC void csoundSetMIDIInput(CSOUND *csound, char *name);
+        PUBLIC void csoundSetMIDIFileInput(CSOUND *csound, char *name);
+        PUBLIC void csoundSetMIDIOutput(CSOUND *csound, char *name);
+        PUBLIC void csoundSetMIDIFileOutput(CSOUND *csound, char *name);</programlisting>
+            </informalexample></simpara>
+          </listitem>
+          <listitem>
+            <simpara>new parsing/compilation functions
+            <informalexample>
+              <programlisting>
+        PUBLIC TREE *csoundParseOrc(CSOUND *csound, char *str);
+        PUBLIC int csoundCompileTree(CSOUND *csound, TREE *root);
+        PUBLIC int csoundCompileOrc(CSOUND *csound, const char *str);
+        PUBLIC int csoundReadScore(CSOUND *csound, char *str);
+        PUBLIC int csoundCompileArgs(CSOUND *, int argc, char **argv);</programlisting>
+            </informalexample></simpara>
+          </listitem>
+          <listitem>
+            <simpara>new function for starting csound after first compilation
+            <informalexample>
+              <programlisting>
+        PUBLIC int csoundStart(CSOUND *csound);</programlisting>
+            </informalexample></simpara>
+          </listitem>
+          <listitem>
+            <simpara>new software bus threadsafe getters/setters
+            <informalexample>
+              <programlisting>
+        PUBLIC MYFLT csoundGetControlChannel(CSOUND *csound, const char *name);
+        PUBLIC void csoundSetControlChannel(CSOUND *csound, const char *name, MYFLT val);
+        PUBLIC void csoundGetAudioChannel(CSOUND *csound, const char *name, MYFLT *samples);
+        PUBLIC void csoundSetAudioChannel(CSOUND *csound, const char *name, MYFLT *samples);
+        PUBLIC void csoundSetStringChannel(CSOUND *csound, const char *name, char *string);
+        PUBLIC void csoundGetStringChannel(CSOUND *csound, const char  *name, char *string);</programlisting>
+            </informalexample></simpara>
+          </listitem>
+          <listitem>
+            <simpara>new table threadsafe copy functions
+            <informalexample>
+              <programlisting>
+        PUBLIC void csoundTableCopyOut(CSOUND *csound, int table, MYFLT *dest);
+        PUBLIC void csoundTableCopyIn(CSOUND *csound, int table, MYFLT *src);</programlisting>
+            </informalexample></simpara>
+          </listitem>
+        </itemizedlist>
+        API has been made threadsafe so that performance and control
+        can occur in separate threads (after a call to <emphasis>csoundStart()</emphasis>
+        or <emphasis>csoundCompile()</emphasis>). Threadsafety is ensure by
+        <orderedlist>
+          <listitem>
+            <simpara>use of atomic read/writing to control channels</simpara>
+          </listitem>
+          <listitem>
+            <simpara>spinlocks in audio and string channels</simpara>
+          </listitem>
+          <listitem>
+            <simpara>mutexes protecting compilation, score events and table
+            access.</simpara>
+          </listitem>
+        </orderedlist>
+      </para>
+    </listitem>
+    <listitem>
+      <para>Internal:
+        <itemizedlist>
+          <listitem>
+            <simpara>The build system is now cmake (and not scons as in
+            Csound5).</simpara>
+          </listitem>
+          <listitem>
+            <simpara>A number of table access opcodes have been rewritten but
+            should behave the same. Similarly <emphasis>diskin</emphasis> and
+            <emphasis>diskin2</emphasis> now use the same code and so
+            <emphasis>diskin</emphasis> should be more stable.</simpara>
+          </listitem>
+          <listitem>
+            <simpara>The old parser is completely removed.</simpara>
+          </listitem>
+        </itemizedlist>
+      </para>
+    </listitem>
+    <listitem>
+      <para>New internal functions in Csound
+      <informalexample>
+        <programlisting>
+    void (*FlushCircularBuffer)(CSOUND *, void *);
+    void *(*FileOpenAsync)(CSOUND *, void *, int, const char *, void *,
+                           const char *, int, int, int);
+    unsigned int (*ReadAsync)(CSOUND *, void *, MYFLT *, int);
+    unsigned int (*WriteAsync)(CSOUND *, void *, MYFLT *, int);
+    int  (*FSeekAsync)(CSOUND *, void *, int, int);
+    char *(*GetString)(CSOUND *, MYFLT);
+             <emphasis role="comment">Extract a string originating from a score-event argument.</emphasis></programlisting>
+      </informalexample>
+      </para>
+    </listitem>
+    <listitem>
+      <para>Functions removed
+      <informalexample>
+        <programlisting>
+    void *(*FileOpen)(CSOUND *, void*, int, const char*, void*, const char*);</programlisting>
+      </informalexample>
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        The "private" parts of the API have been changed considerably.
+        Also structures like EVTBLK have changed.
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        The LINKAGE1/FLINKAGE1 macros are renamed as
+        LINKAGE_BUILTIN/FLINKAGE_BUILTIN.
+      </para>
+    </listitem>
+    <listitem>
+      <para>Template for a-rate perf-pass opcodes is
+      <informalexample>
+        <programlisting>
+int perf_myopcode(CSOUND *csound, MYOPCODE *p)
+{
+    uint32_t offset = p->h.insdshead->ksmps_offset;
+    uint32_t early  = p->h.insdshead->ksmps_no_end;
+    uint32_t nsmps = CS_KSMPS;
+    ...
+    if (UNLIKELY(offset)) memset(p->res, '\0', offset*sizeof(MYFLT));
+    if (UNLIKELY(early))  {
+      nsmps -= early;
+      memset(&p->res[nsmps], '\0', early*sizeof(MYFLT));
+    }
+    for (n=offset; n<nsmps; n++) {
+        .....
+        p->res[n] = ....
+    }
+    return OK;
+}</programlisting>
+      </informalexample>
+      </para>
+    </listitem>
+    <listitem>
+      <para>String variables re-implemented</para>
+    </listitem>
+    <listitem>
+      <para>
+        OENTRY structure has changed and has a new dependency field; please
+        use this field as it is required for multicore semantics. You could
+        set it to -1 and disallow all parallelism, but at least it is safe.
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        All opcodes that touch audio should take note of sample-accurate code.
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        A number of previous API functions are removed;
+        <emphasis>OpenFile</emphasis> and <emphasis>OpenFile2</emphasis>
+        both replaced by new <emphasis>OpenFile2</emphasis> with additional
+        argument.
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Additions have been made for arg type specifications for opcodes.
+        <itemizedlist>
+          <listitem>
+            <simpara>Any-types have been added, as follows:
+            <itemizedlist>
+              <listitem><simpara>'.' signifies a required arg of any-type</simpara></listitem>
+              <listitem><simpara>'?' signifies an optional arg of any-type</simpara></listitem>
+              <listitem><simpara>'*' signifies a var-arg list of any-type</simpara></listitem>
+            </itemizedlist></simpara>
+          </listitem>
+          <listitem>
+            <simpara>Arrays are now specified using "[x]" where x is a
+            type-specifier. The type-specifier can be any of the of the current
+            specifiers, including any-types. See <emphasis>Opcodes/arrays.c</emphasis>
+            for example usage.</simpara>
+          </listitem>
+        </itemizedlist>
+      </para>
+    </listitem>
+    <listitem>
+      <para>New Type System</para>
+      <para>
+        A new type system has been added to Csound6, and significant changes
+        have been made to the compiler. The previous system for handling types
+        involved depending on the first-letter of a variable's name every time
+        it was used to determine type. This meant there was a lot of re-checking
+        of types. Also, adding new types was difficult, as there was a lot of
+        custom code that had to be updated to check for new type letters.
+      </para>
+      <para>
+        In Csound6, a separate system of types was added.  Types are defined as
+        CS_TYPE's. The creation of variables from types and the initialisation
+        of memory has been encapsulated within the CS_TYPE's. This change
+        allows easier addition of new types, as well as generic calculations of
+        memory pools, amongst other things.
+      </para>
+      <para>
+        The compiler has been modified since Csound5 to now use the type system
+        as an integral part of its semantic checking phase. Variables are now
+        registered into a CS_VAR_POOL when they are first defined, with the
+        CS_VARIABLE having a reference to its CS_TYPE.  After first time
+        definition within the pool, the type information is then looked up in
+        consequent variable lookups, rather than re-calculated from the variable
+        name. This opens up possibilities for new variable naming and typing
+        strategies, i.e. using "myVar:K" to denote a k-rate arg. This also
+        opens up possibilities for user-defined types, such as
+        "data myType kval, aval", then using "myVar:myType" to define a var
+        of that type. (The previous is speculative, and is not an active
+        proposal at this time.)
+      </para>
+      <para>
+        The addition of the type system has formalised the static type system
+        that has existed in Csound prior to Csound6. It has, arguably, simplified
+        the code-base in terms of type handling, as well as laid the ground work
+        for future type-related research to be integrated into Csound.
+      </para>
+    </listitem>
+  </itemizedlist>
+</para>
+
+<bridgehead>New in Version 5.19 (2013 January 7)</bridgehead>
+<para>
+  This is mainly a bug-fixing release but with a number of new opcodes and
+  enhanced features.
+</para>
+<para>
+  <itemizedlist>
+    <listitem>
+      <para>New opcodes:
+        <itemizedlist>
+          <listitem>
+            <simpara><emphasis>ipmidi</emphasis> module for MIDI over network.</simpara>
+          </listitem>
+        </itemizedlist>
+        <itemizedlist>
+          <listitem>
+            <simpara><emphasis>ppltrack</emphasis> opcode.</simpara>
+          </listitem>
+        </itemizedlist>
+        <itemizedlist>
+          <listitem>
+            <simpara><link linkend="combinv"><citetitle>combinv</citetitle></link> opcode.</simpara>
+          </listitem>
+        </itemizedlist>
+      </para>
+    </listitem>
+    <listitem>
+      <para>New Gen and Macros:
+        <itemizedlist>
+          <listitem>
+            <simpara>
+              Better checking in <link linkend="GEN28"><citetitle>GEN28</citetitle></link>.
+            </simpara>
+          </listitem>
+          <listitem>
+            <simpara>
+              Check range in <link linkend="outrg"><citetitle>outrg</citetitle></link>,
+              and optionally allow wrapping.
+            </simpara>
+          </listitem>
+        </itemizedlist>
+      </para>
+    </listitem>
+    <listitem>
+      <para>Orchestra:
+        <itemizedlist>
+          <listitem>
+            <simpara>
+              Change empty statement to a warning.
+            </simpara>
+          </listitem>
+          <listitem>
+            <simpara>
+              Added line numbers to many input args message (new parser).
+            </simpara>
+          </listitem>
+        </itemizedlist>
+      </para>
+    </listitem>
+    <listitem>
+      <para>Modified Opcodes and GENs:
+        <itemizedlist>
+          <listitem>
+            <simpara>
+              Better error and warning messages.
+            </simpara>
+          </listitem>
+          <listitem>
+            <simpara>
+              <link linkend="loopseg"><citetitle>loopseg</citetitle></link> now
+              checks argument count.
+            </simpara>
+          </listitem>
+          <listitem>
+            <simpara>
+              <link linkend="harmon2"><citetitle>harmon2/3/4</citetitle></link> improved.
+            </simpara>
+          </listitem>
+          <listitem>
+            <simpara>
+              <link linkend="active"><citetitle>active</citetitle></link>: added
+              the option to skip the instances in release phase.
+            </simpara>
+          </listitem>
+          <listitem>
+            <simpara>
+              New and more tested implementation of ChordSpace.
+            </simpara>
+          </listitem>
+        </itemizedlist>
+      </para>
+    </listitem>
+    <listitem>
+      <para>Bug fixed:
+        <itemizedlist>
+          <listitem>
+            <simpara>
+              Fix botched optimisation in lowpass filters.
+            </simpara>
+          </listitem>
+          <listitem>
+            <simpara>
+              Chn opcodes fixed in Linux.
+            </simpara>
+          </listitem>
+          <listitem>
+            <simpara>
+              Fix bug in <link linkend="loscil"><citetitle>loscil</citetitle></link> with silence.
+            </simpara>
+          </listitem>
+          <listitem>
+            <simpara>
+              Correct <link linkend="GEN23"><citetitle>GEN23</citetitle></link>
+              when comment does not end in newline.
+            </simpara>
+          </listitem>
+          <listitem>
+            <simpara>
+              Correcting <link linkend="loopseg"><citetitle>loopseg</citetitle></link>.
+            </simpara>
+          </listitem>
+          <listitem>
+            <simpara>
+              Number of input and output channels fixed in new parser.
+            </simpara>
+          </listitem>
+          <listitem>
+            <simpara>
+              Fixed <link linkend="GEN43"><citetitle>GEN43</citetitle></link> issue.
+            </simpara>
+          </listitem>
+          <listitem>
+            <simpara>
+              Fixed <link linkend="fout"><citetitle>fout</citetitle></link>.
+            </simpara>
+          </listitem>
+          <listitem>
+            <simpara>
+              <link linkend="centroid"><citetitle>centroid</citetitle></link>
+              was likely to crash.
+            </simpara>
+          </listitem>
+          <listitem>
+            <simpara>
+              Minor bug in printing which lost %.
+            </simpara>
+          </listitem>
+          <listitem>
+            <simpara>
+              An uninitialised value in <link linkend="fold"><citetitle>fold</citetitle></link> fixed.
+            </simpara>
+          </listitem>
+          <listitem>
+            <simpara>
+              Uninitalised values in <link linkend="dconv"><citetitle>dconv</citetitle></link> fixed.
+            </simpara>
+          </listitem>
+          <listitem>
+            <simpara>
+              Assignment of fsigs now works.
+            </simpara>
+          </listitem>
+        </itemizedlist>
+      </para>
+    </listitem>
+    <listitem>
+      <para>System Changes:
+        <itemizedlist>
+          <listitem>
+            <simpara>
+              Avoid seg fault on some user errors.
+            </simpara>
+          </listitem>
+          <listitem>
+            <simpara>
+              Faster modal4 opcodes.
+            </simpara>
+          </listitem>
+          <listitem>
+            <simpara>
+              Allow cabbage compilation.
+            </simpara>
+          </listitem>
+          <listitem>
+            <simpara>
+              Made pfield size dynamic in event message csoundapi~.
+            </simpara>
+          </listitem>
+          <listitem>
+            <simpara>
+              The default output format with pipe and double float is AU.
+            </simpara>
+          </listitem>
+          <listitem>
+            <simpara>
+              Change to ircam with default format, '-o stdout' and pipe.
+            </simpara>
+          </listitem>
+          <listitem>
+            <simpara>
+              Added double float precision for output format.
+            </simpara>
+          </listitem>
+        </itemizedlist>
+      </para>
+    </listitem>
+    <listitem>
+      <para>Platform Changes:
+        <itemizedlist>
+          <listitem>
+            <para>Linux:
+              <itemizedlist>
+                <listitem>
+                  <simpara>Spinlocks initialised (fixes bug in chn opcodes).</simpara>
+                </listitem>
+              </itemizedlist>
+            </para>
+          </listitem>
+          <listitem>
+            <para>OSX:
+              <itemizedlist>
+                <listitem>
+                  <simpara>
+                    Improved selection of devices in rtauhal module.
+                  </simpara>
+                </listitem>
+                <listitem>
+                  <simpara>
+                    Added a circular buffer interface and lock-free operation to rtauhal.
+                  </simpara>
+                </listitem>
+                <listitem>
+                  <simpara>
+                    Fixed MacOSX installer (creating symlinks to lib_csnd.dylib).
+                  </simpara>
+                </listitem>
+              </itemizedlist>
+            </para>
+          </listitem>
+          <listitem>
+            <para>Haiku:
+              <itemizedlist>
+                <listitem>
+                  <simpara>New platform</simpara>
+                </listitem>
+              </itemizedlist>
+            </para>
+          </listitem>
+          <listitem>
+            <para>Android:
+            <itemizedlist>
+              <listitem>
+                <simpara>
+                  Using -B now in android to set circular buffer size.
+                </simpara>
+              </listitem>
+              <listitem>
+                <simpara>
+                  Added fluid synth opcodes for android.
+                </simpara>
+              </listitem>
+              <listitem>
+                <simpara>
+                  Added inputMessage method to CsoundObj.
+                </simpara>
+              </listitem>
+              <listitem>
+                <simpara>
+                  Allow CSDPlayer to be installed on SD Card.
+                </simpara>
+              </listitem>
+            </itemizedlist>
+            </para>
+          </listitem>
+          <listitem>
+            <para>iOS:
+            <itemizedlist>
+              <listitem>
+                <simpara>
+                  Improved audio routing.
+                </simpara>
+              </listitem>
+              <listitem>
+                <simpara>
+                  Bottom speaker the default for iOS.
+                </simpara>
+              </listitem>
+            </itemizedlist>
+            </para>
+          </listitem>
+        </itemizedlist>
+      </para>
+    </listitem>
+    <listitem>
+      <para>API:
+        <itemizedlist>
+          <listitem>
+            <simpara>
+              Added new API function <emphasis>csoundCompileFromStrings()</emphasis>.
+            </simpara>
+          </listitem>
+        </itemizedlist>
+      </para>
+    </listitem>
+  </itemizedlist>
+</para>
+<bridgehead>New in Version 5.18 (2012 August 29)</bridgehead>
+<para>
+  This is mainly a bug-fixing release but with a number of new opcodes and
+  enhanced features.
+</para>
+<para>
+  <itemizedlist>
+    <listitem>
+      <para>New opcodes:
+      <itemizedlist>
+        <listitem>
+          <simpara><link linkend="centroid"><citetitle>centroid</citetitle></link>
+          opcode like pvscent but acting on audio signals</simpara>
+        </listitem>
+        <listitem>
+          <simpara><link linkend="cosseg"><citetitle>cosseg</citetitle></link>
+          like linseg but with cosine interpolation</simpara>
+        </listitem>
+        <listitem>
+          <simpara><link linkend="cossegb"><citetitle>cossegb</citetitle></link>
+          like linsegb but with cosine interpolation</simpara>
+        </listitem>
+        <listitem>
+          <simpara><link linkend="cossegr"><citetitle>cossegr</citetitle></link>
+          like linsegr but with cosine interpolation</simpara>
+        </listitem>
+        <listitem>
+          <simpara><link linkend="joystick"><citetitle>joystick</citetitle></link>
+          to read input values from an external joystick (Linux only)</simpara>
+        </listitem>
+        <listitem>
+          <simpara><link linkend="log2"><citetitle>log2</citetitle></link>
+          function for logarithms base 2</simpara>
+        </listitem>
+        <listitem>
+          <simpara><link linkend="platerev"><citetitle>platerev</citetitle></link>
+          opcode to model a reverberating square plate</simpara>
+        </listitem>
+        <listitem>
+          <simpara><link linkend="pwd"><citetitle>pwd</citetitle></link>
+          opcode to determine the current working directory</simpara>
+        </listitem>
+        <listitem>
+          <simpara><link linkend="readf"><citetitle>readf</citetitle></link>
+          opcode to read strings from a file</simpara>
+        </listitem>
+        <listitem>
+          <simpara><link linkend="readfi"><citetitle>readfi</citetitle></link>
+          opcode to read strings from a file on initialisation</simpara>
+        </listitem>
+        <listitem>
+          <simpara><link linkend="vbap"><citetitle>vbap</citetitle></link>
+          opcode like other vbap family but flexible about number
+          of speakers and choice of layouts.</simpara>
+        </listitem>
+        <listitem>
+          <simpara><link linkend="vbapg"><citetitle>vbapg</citetitle></link>
+          opcode like vbap but only calculate the gains on the
+          channels.</simpara>
+        </listitem>
+      </itemizedlist>
+      </para>
+    </listitem>
+      <listitem>
+        <para>
+          New functionality
+          <itemizedlist>
+            <listitem>
+              <simpara>
+              Changes to <CsOptions> to allow spaces between
+              words, and escaped characters.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>
+              <link linkend="fout"><citetitle>fout</citetitle></link>
+              and <link
+              linkend="fin"><citetitle>fin</citetitle></link> use a
+              better buffering strategy, and so are
+              faster
+              </simpara>
+            </listitem>
+              <listitem>
+                <simpara>
+                  It is possible to specify just an orchestra with the
+                  --orc flag.  This is useful when a score is not needed.
+              </simpara>
+            </listitem>
+              <listitem>
+                <simpara>
+              A new command-line flag --ogg flag has been added for
+              easy use of ogg/vorbis output.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>
+              Added alsaseq real-time midi
+              </simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>Bug fixes and improvements:
+          <itemizedlist>
+            <listitem>
+              <simpara>
+              <link
+                  linkend="dates"><citetitle>dates</citetitle></link>
+              opcode could crash on 64bit architecture; this is fixed
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>
+              Some multicore interlocks were wrong.  It is believed
+              that this was not actually a problem, but would be in
+              the future.</simpara>
+            </listitem>
+            <listitem>
+              <simpara>
+              There were cases when a file was double closed, leading
+              to a crash on exit.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>
+                Two new features added in <link linkend="partikkel"><citetitle>partikkel</citetitle></link>.  Panning law for
+                channelmasks can now be set using a function table
+                (second optional argument to partikkel) and new support
+                opcodes partikkelget and partikkelset, to access and
+                modify the internal mask indices of partikkel.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>
+              <link linkend="follow2"><citetitle>follow2</citetitle></link> was reworked do the i-rate and k-rate
+              calculations are the same.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>
+              <link linkend="pvscent"><citetitle>pvscent</citetitle></link> is corrected as it returned half the correct
+              value.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>
+              <link linkend="vbaplsinit"><citetitle>vbaplsinit</citetitle></link> can create more than one speaker layout which
+              vbap/vbapg can use.  Also much better diagnostics on
+              incorrect layouts.
+              </simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Internal Changes:
+          <itemizedlist>
+            <listitem>
+              <simpara>
+              Code changed so bison 2.6 can be used.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>
+              It is assumed that libsndfile version 1.0.19 or later is
+              available.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>
+              If the score is omitted a near-infinite wait is
+              generated.
+              </simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+    </itemizedlist>
+  </para>
+  <bridgehead>New in Version 5.17 (March 2012)</bridgehead>
+  <para>
+  This is mainly a bug-fixing release with no major changes, but the
+  number of fixes warrants a release.
+  </para>
+  <para>
+    <itemizedlist>
+      <listitem>
+        <para>New opcodes:
+          <itemizedlist>
+            <listitem>
+              <simpara><link linkend="cell"><citetitle>cell</citetitle></link>
+               opcode, for cellular automata</simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Modified Opcodes and Gens:
+          <itemizedlist>
+            <listitem>
+              <simpara>active now will report total number of active or allocated instruments if argument in zero</simpara>
+            </listitem>
+            <listitem>
+              <simpara>stsend and strecv the TCP socket opcodes reworked to a logical design </simpara>
+            </listitem>
+                <listitem>
+              <simpara>DSSI system now will take up to 9 channels </simpara>
+            </listitem>
+            <listitem>
+              <simpara>FLsavesnap works with other widgets where imin > imax </simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Utilities:
+          <itemizedlist>
+            <listitem>
+              <simpara>csbeats better documented and built by default; also more note lengths available </simpara>
+            </listitem>
+            <listitem>
+              <simpara>Some security holes in utilities fixed </simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>Bug fixes:
+          <itemizedlist>
+            <listitem>
+              <simpara>unirand opcode at a-rate fixed </simpara>
+            </listitem>
+            <listitem>
+              <simpara>Locale fix for floating point literals in orchestra </simpara>
+            </listitem>
+            <listitem>
+              <simpara>transegr fixed </simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          System Changes:
+          <itemizedlist>
+            <listitem>
+              <simpara>Score can now last longer (change to size of time variable) </simpara>
+            </listitem>
+            <listitem>
+              <simpara>An empty score gives a very long performance time (years and years) </simpara>
+            </listitem>
+            <listitem>
+              <simpara>Android code released </simpara>
+            </listitem>
+            <listitem>
+              <simpara>Changes to use of tmp files; now all are deleted at end of run (previously some were left) and the environment variable TMPDIR is used.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>interaction between Comments, end of line and end of file fixed </simpara>
+            </listitem>
+            <listitem>
+              <simpara>Hexadecimal numbers now allowed in orchestra </simpara>
+            </listitem>
+            <listitem>
+              <simpara>Empty orchestra now not a crash  </simpara>
+            </listitem>
+            <listitem>
+              <simpara>change to macro expansion inside a string </simpara>
+            </listitem>
+            <listitem>
+              <simpara>avoid infinite loop when eof in malformed score macro </simpara>
+            </listitem>
+            <listitem>
+              <simpara>fixed macroname-with-args diagnostics and memory leak </simpara>
+            </listitem>
+            <listitem>
+              <simpara>change to preprocessor: {{ }} inside "..." and better diagnostics </simpara>
+            </listitem>
+            <listitem>
+              <simpara>fix windows installer so it removes full $INSTDIR\bin from PATH during uninstall: this cleans up the PATH environment variable when uninstalling on
+      Windows.  Previously, it was leaving a trailing "\bin" on the PATH.</simpara>
+            </listitem>
+            <listitem>
+              <simpara>CsoundAC MusicModel class more usable by C++ programs </simpara>
+            </listitem>
+            <listitem>
+              <simpara>ftcps had been missed as a function </simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Internal Changes:
+          <itemizedlist>
+            <listitem>
+              <simpara>Many! Some messages quietened, code improvements etc </simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+    </itemizedlist>
+  </para>
+  <bridgehead>New in Version 5.16 (February 2012)</bridgehead>
+  <para>
+    The major change is that the new parser is now the default. The old
+    parser is still available in case of difficulty but the new has been
+    given extensive testing since the start of the year, including
+    complete restructuring of macro expansion.
+    A side effect is that the runtime of most orchestras is faster,
+    although parsing is slower. There are a few optimisations implemented
+    like constant folding in simple cases. Line numbers and file names
+    are traced better than before.
+  </para>
+  <para>
+    Some memory leaks also fixed.
+  </para>
+  <para>
+    <itemizedlist>
+      <listitem>
+        <para>New opcodes:
+          <itemizedlist>
+            <listitem>
+              <simpara>Opcodes adapted from SuperCollider by &nametito;:
+              <link linkend="dust"><citetitle>dust</citetitle></link>,
+              <link linkend="dust2"><citetitle>dust2</citetitle></link>,
+              <link linkend="gausstrig"><citetitle>gausstrig</citetitle></link>,
+              <link linkend="gendy"><citetitle>gendy</citetitle></link>,
+              <link linkend="gendyc"><citetitle>gendyc</citetitle></link>, and
+              <link linkend="gendyx"><citetitle>gendyx</citetitle></link>.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>Fractal noise generator by &nametito;:
+              <link linkend="fractalnoise"><citetitle>fractalnoise</citetitle></link>.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>Opcodes for accessing table values by direct indexing, by &namejohn;:
+              <link linkend="ptable"><citetitle>ptable</citetitle></link>,
+              <link linkend="ptablei"><citetitle>ptablei</citetitle></link>,
+              <link linkend="ptable3"><citetitle>ptable3</citetitle></link>, and
+              <link linkend="ptablew"><citetitle>ptablew</citetitle></link>. These opcodes
+              are respectively like
+              <link linkend="table"><citetitle>table</citetitle></link>,
+              <link linkend="tablei"><citetitle>tablei</citetitle></link>,
+              <link linkend="table3"><citetitle>table3</citetitle></link>, and
+              <link linkend="tablew"><citetitle>tablew</citetitle></link>, but they do not
+              require a power-of-2 table size.
+              </simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Modified Opcodes and Gens:
+          <itemizedlist>
+            <listitem>
+              <simpara>There was a fence post problem in tab opcode that could falsely report a reference out of range.</simpara>
+            </listitem>
+            <listitem>
+              <simpara>GEN15 mis-called gens 13 and 14 internally, using uninitialised values voice amplitude. Problem fixed.</simpara>
+            </listitem>
+                <listitem>
+              <simpara>fmbell now takes an optional argument to control the sustain time.</simpara>
+            </listitem>
+            <listitem>
+              <simpara>Change to pvsbasic for tab to table conversions.</simpara>
+            </listitem>
+            <listitem>
+              <simpara>poscil is now polymorphic, allowing k- or a-rate amplitude and frequency.</simpara>
+            </listitem>
+            <listitem>
+              <simpara>p() and i() changed when argument at k-rate.</simpara>
+            </listitem>
+            <listitem>
+              <simpara>gen49 deferred now works.</simpara>
+            </listitem>
+            <listitem>
+              <simpara>gen23 now available deferred.</simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Utilities:
+          <itemizedlist>
+            <listitem>
+              <simpara>Checked for use with the new parser in memory files.</simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Frontends:
+          <itemizedlist>
+            <listitem>
+              <simpara>Table access added to csoundapi~ via new get/set methods.</simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>Bug fixes and improvements:
+          <itemizedlist>
+            <listitem>
+              <simpara>Many in new parser related to precedence and multicore.</simpara>
+            </listitem>
+            <listitem>
+              <simpara>Better diagnostics when orchestra file/csd is missing.</simpara>
+            </listitem>
+            <listitem>
+              <simpara>csd file: fix CsFileB and CsSampleB.</simpara>
+            </listitem>
+            <listitem>
+              <simpara>Fixed score statement 'n'.</simpara>
+            </listitem>
+            <listitem>
+              <simpara>Fixed bug in diskin2 leading to infinite loop.</simpara>
+            </listitem>
+            <listitem>
+              <simpara>Fixed bug causing crossfade noise in hrtfmove.</simpara>
+            </listitem>
+            <listitem>
+              <simpara>Fixed unlikely buffer overflows in some utilities.</simpara>
+            </listitem>
+            <listitem>
+              <simpara>Avoid segfault in midicN.</simpara>
+            </listitem>
+            <listitem>
+              <simpara>Bug in mp3in in skip=0 case fixed.</simpara>
+            </listitem>
+            <listitem>
+              <simpara>'r' score statement fixed with respect to macros.</simpara>
+            </listitem>
+            <listitem>
+              <simpara>sndwarp could segfault.</simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          System Changes:
+          <itemizedlist>
+            <listitem>
+              <simpara>Preprocessor #if #else #endin working.</simpara>
+            </listitem>
+            <listitem>
+              <simpara>#includes depth now limited rather than infinite recursion.</simpara>
+            </listitem>
+            <listitem>
+              <simpara>Really turn off all displays if --nodisplays or -d is used; fixes bug where using -d or --nodisplays would still cause the
+              winFLTK.c csoundModuleInit to setup display callbacks; bug caused with python TK apps and CsoundYield_FLTK being called.</simpara>
+            </listitem>
+            <listitem>
+              <simpara>Memory leak in mp3in and mp3len fixed.</simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Internal Changes:
+          <itemizedlist>
+            <listitem>
+              <simpara>Very, very, very many! And the new parser...</simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+    </itemizedlist>
+  </para>
+<bridgehead>New in Version 5.15 (December 2011)</bridgehead>
+<para>
+  <itemizedlist>
+      <listitem>
+        <para>New opcodes:
+          <itemizedlist>
+            <listitem>
+              <simpara><citetitle>ftab2tab</citetitle>
+              opcode.</simpara>
+            </listitem>
+            <listitem>
+              <simpara><link linkend="tab2pvs"><citetitle>tab2pvs</citetitle></link>
+              opcode.</simpara>
+            </listitem>
+            <listitem>
+              <simpara><link linkend="pvs2tab"><citetitle>pvs2tab</citetitle></link>
+              opcode.</simpara>
+            </listitem>
+            <listitem>
+              <simpara><link linkend="cpumeter"><citetitle>cpumeter</citetitle></link> opcode, (not really new but now available in OSX)</simpara>
+              </listitem>
+            <listitem>
+              <simpara><citetitle>minmax</citetitle>
+              opcode.</simpara>
+            </listitem>
+            <listitem>
+              <simpara><citetitle>(EXPERIMENTAL) ftresize</citetitle>
+              opcode.</simpara>
+            </listitem>
+            <listitem>
+              <simpara><citetitle>(EXPERIMENTAL) ftresizei</citetitle>
+              opcode.</simpara>
+            </listitem>
+            <listitem>
+              <simpara><link
+                           linkend="hrtfearly"><citetitle>hrtfearly</citetitle></link>
+              opcode.</simpara>
+            </listitem>
+            <listitem>
+              <simpara><link
+                           linkend="hrtfreverb"><citetitle>hrtfreverb</citetitle></link>
+              opcode.</simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+
+        <para>
+          New Gen and Macros
+          <itemizedlist>
+            <listitem>
+              <simpara>Code to allow GEN49 to be deferred [NB does not seem to work] </simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Modified Opcodes and Gens
+          <itemizedlist>
+            <listitem>
+              <simpara>socksend and sockrecv no longer uses MTFU check and work on Windows </simpara>
+            </listitem>
+            <listitem>
+              <simpara>mpulse changed so if next event is at negative time use the absolute value </simpara>
+            </listitem>
+                <listitem>
+              <simpara>serial opcode now runs on Windows as will as Un*x </simpara>
+            </listitem>
+                <listitem>
+              <simpara>out, out2, outq, outh, outo outx and out32 are now identical opcodes and will take up to as many arguments as nchnls. This replaces the current remapping of opcodes </simpara>
+            </listitem>
+            <listitem>
+              <simpara>turnoff2 now polymorphic wrt S and k types (ie accepts instrumnet names) </simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>Bugs fixed:
+        <itemizedlist>
+          <listitem>
+            <simpara> GEN42 fixed </simpara>
+          </listitem>
+          <listitem>
+            <simpara>jacko: fixed a segfault removing the unused JackSessionID option </simpara>
+          </listitem>
+          <listitem>
+            <simpara>doppler memory leak fixed </simpara>
+          </listitem>
+          <listitem>
+            <simpara>transegr fixed in release mode when skipping most of envelope </simpara>
+          </listitem>
+          <listitem>
+            <simpara>FLPack now agrees with manual </simpara>
+          </listitem>
+          <listitem>
+            <simpara>max_k now agrees with manual </simpara>
+          </listitem>
+          <listitem>
+            <simpara>hrtfreverb fixed </simpara>
+          </listitem>
+          <listitem>
+            <simpara>atsa code now works on Windows in more cases </simpara>
+          </listitem>
+          <listitem>
+            <simpara>tabmorph bug fixed </simpara>
+          </listitem>
+          <listitem>
+            <simpara>fixed problem with user-defined opcodes having no outputs </simpara>
+          </listitem>
+          <listitem>
+            <simpara> Various fixes to * ... */ comments </simpara>
+          </listitem>
+        </itemizedlist>
+      </para>
+    </listitem>
+      <listitem>
+        <para>System Changes:
+        <itemizedlist>
+          <listitem>
+            <simpara> Various licence issues sorted </simpara>
+          </listitem>
+          <listitem>
+            <simpara>Loris is no longer part of the Csound tree </simpara>
+          </listitem>
+          <listitem>
+            <simpara>Memory leaks fixed </simpara>
+          </listitem>
+          <listitem>
+            <simpara>If no score is given a dummy that runs for over 100 years is created </simpara>
+          </listitem>
+          <listitem>
+            <simpara>All score processing takes place in memory without temporary files </simpara>
+          </listitem>
+          <listitem>
+            <simpara>String memory now expandable and no size limitation </simpara>
+          </listitem>
+          <listitem>
+            <simpara>#if #else #end now in new parser </simpara>
+          </listitem>
+          <listitem>
+            <simpara>Adjustments to MIDI file precision in output </simpara>
+          </listitem>
+          <listitem>
+            <simpara>On OSX move from Coreaudio to AuHAL </simpara>
+          </listitem>
+          <listitem>
+            <simpara>Multicore now safe for ZAK, Channels and modifying tables </simpara>
+          </listitem>
+          <listitem>
+            <simpara>New coremidi module </simpara>
+          </listitem>
+          <listitem>
+            <simpara>Virtual Keyboard improved:
+                 1) Dropdown for choosing base octave (the one that
+                 starts with the virtual key mapped to physical key
+                 Z). Default value is 5 which is backwards compatible.
+                 2) Shift-X mappings which add two octaves to X
+                 mappings for a total of 4 octaves playable from the
+                 physical keyboard (starting from selected base octave).
+                 3) Control-N / Control-Shift-N mappings to increment
+                 / decrement slider for control N.
+                 4) Mouse wheel now controls sliders. </simpara>
+          </listitem>
+          <listitem>
+            <simpara>tsig type for vectors </simpara>
+          </listitem>
+          <listitem>
+            <simpara>tsigs and fsigs allowed as arguments in UDOs </simpara>
+          </listitem>
+          <listitem>
+            <simpara>API: Minor version upped </simpara>
+          </listitem>
+        </itemizedlist>
+      </para>
+    </listitem>
+    <listitem>
+        <para>
+          Internal Changes:
+          <itemizedlist>
+            <listitem>
+              <simpara>
+              Very, very, very many! </simpara>
+            </listitem>
+            <listitem>
+              <simpara>
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>
+              </simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+    </itemizedlist>
+  </para>
+<bridgehead>New in Version 5.14 (October 2011)</bridgehead>
+<para>
+  <itemizedlist>
+      <listitem>
+        <para>New opcodes:
+          <itemizedlist>
+            <listitem>
+              <simpara><link linkend="mp3len"><citetitle>mp3len</citetitle></link>
+              opcode.</simpara>
+            </listitem>
+            <listitem>
+              <simpara><link linkend="qnan"><citetitle>qnan</citetitle></link>
+              opcode.</simpara>
+            </listitem>
+            <listitem>
+              <simpara><link linkend="qinf"><citetitle>qinf</citetitle></link>
+              opcode.</simpara>
+            </listitem>
+            <listitem>
+              <simpara><link linkend=" exprandi"><citetitle>
+                exprandi</citetitle></link> opcode.</simpara>
+              </listitem>
+            <listitem>
+              <simpara><link linkend="cauchyi"><citetitle>cauchyi</citetitle></link>
+              opcode.</simpara>
+            </listitem>
+            <listitem>
+              <simpara><link linkend="gaussi"><citetitle>gaussi</citetitle></link>
+              opcode.</simpara>
+            </listitem>
+            <listitem>
+              <simpara><link
+                           linkend="cpumeter"><citetitle>cpumeter</citetitle></link>
+              opcode.</simpara>
+            </listitem>
+            <listitem>
+              <simpara><link
+                           linkend="linsegb"><citetitle>linsegb</citetitle></link>
+              opcode.</simpara>
+            </listitem>
+            <listitem>
+              <simpara><link
+                           linkend="expsegb"><citetitle>expsegb</citetitle></link>
+              opcode.</simpara>
+            </listitem>
+            <listitem>
+              <simpara><link
+                           linkend="transegb"><citetitle>transegb</citetitle></link>
+              opcode.</simpara>
+            </listitem>
+            <listitem>
+              <simpara><link
+                           linkend="expsegba"><citetitle>expsegba</citetitle></link>
+              opcode.</simpara>
+            </listitem>
+            <listitem>
+              <simpara><link
+                           linkend="pvsgain"><citetitle>pvsgain</citetitle></link>
+              opcode.</simpara>
+            </listitem>
+            <listitem>
+              <simpara>
+                <link linkend="pvsbufread2"><citetitle>pvsbufread2</citetitle></link>
+              opcode.</simpara>
+            </listitem>
+            <listitem>
+              <simpara><link
+                           linkend="serialBegin"><citetitle>serial</citetitle></link>
+              opcodes.</simpara>
+            </listitem>
+            <listitem>
+              <simpara><link linkend="lua"><citetitle>lua
+              opcodes</citetitle></link> opcodes.</simpara>
+            </listitem>
+            <listitem>
+              <simpara>plustab opcode.</simpara>
+            </listitem>
+            <listitem>
+              <simpara>multtab opcode.</simpara>
+            </listitem>
+            <listitem>
+              <simpara><link
+                           linkend="maxarray"><citetitle>maxarray</citetitle></link>
+              opcode.</simpara>
+            </listitem>
+            <listitem>
+              <simpara><link
+                           linkend="minarray"><citetitle>minarray</citetitle></link>
+              opcode.</simpara>
+            </listitem>
+            <listitem>
+              <simpara><link
+                           linkend="sumarray"><citetitle>sumarray</citetitle></link>
+              opcode.</simpara>
+            </listitem>
+            <listitem>
+              <simpara><link
+                           linkend="scalearray"><citetitle>scalearray</citetitle></link>
+              opcode.</simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          New functionality
+          <itemizedlist>
+            <listitem>
+              <simpara>beats processor renamed to csbeats and distributed </simpara>
+            </listitem>
+            <listitem>
+              <simpara>mkdb utility to provide a catalogue of plugin
+              libraries/opcodes </simpara>
+            </listitem>
+                <listitem>
+              <simpara>ladspa library build in default system </simpara>
+            </listitem>
+                <listitem>
+              <simpara>macros are now expanded inside string in the score </simpara>
+            </listitem>
+            <listitem>
+              <simpara>there in an until .. do .. od looping syntax
+              (in the new parser only) </simpara>
+            </listitem>
+            <listitem>
+              <simpara>SIGPIPE signals are ignored rather than causing Csound to exit </simpara>
+            </listitem>
+            <listitem>
+              <simpara>It is possible to use vectors of k-rate values,
+              named t-variable.  They are initialised to a fixed sizw
+              with init adncan be read with a simple [] syntax.
+              assignment to elements is only via =.  There are also a
+              few new opcodes that provide wider functionality.
+              </simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+      <listitem>
+        <para>Bug fixes and improvements:
+        <itemizedlist>
+          <listitem>
+            <simpara> reading values to fill tables was broken with
+            respect to comments</simpara>
+          </listitem>
+          <listitem>
+            <simpara>internal error in wii_data fixed </simpara>
+          </listitem>
+          <listitem>
+            <simpara>pvsshift fixed </simpara>
+          </listitem>
+          <listitem>
+            <simpara>jacko fixed </simpara>
+          </listitem>
+          <listitem>
+            <simpara>gen23 minor fixes </simpara>
+          </listitem>
+          <listitem>
+            <simpara>wiimote fixed </simpara>
+          </listitem>
+          <listitem>
+            <simpara>atsaadd fixed </simpara>
+          </listitem>
+          <listitem>
+            <simpara>compress fixed to work with 0dbfs </simpara>
+          </listitem>
+          <listitem>
+            <simpara>pvsbufread corrected with respect to position
+            counting </simpara>
+          </listitem>
+          <listitem>
+            <simpara>tempo opcode fixed </simpara>
+          </listitem>
+          <listitem>
+            <simpara>CsFileB section in .csd files had a bug, now fixed </simpara>
+          </listitem>
+          <listitem>
+            <simpara>deferred gen01 tables could have wrong size </simpara>
+          </listitem>
+          <listitem>
+            <simpara>vbap_zak made to work(!) </simpara>
+          </listitem>
+          <listitem>
+            <simpara>fixed memory issue in ATSsinoi </simpara>
+          </listitem>
+          <listitem>
+            <simpara>various fixes to cscore </simpara>
+          </listitem>
+          <listitem>
+            <simpara>various fixes to partials and tradsyn </simpara>
+          </listitem>
+          <listitem>
+            <simpara>transegr could crash in some cases</simpara>
+          </listitem>
+          <listitem>
+            <simpara>loris opcodes updated to latest version </simpara>
+          </listitem>
+          <listitem>
+            <simpara>date opcode has new base in some platforms to
+            avoid overflow </simpara>
+          </listitem>
+          <listitem>
+            <simpara>pvsblur now works over reinit </simpara>
+          </listitem>
+          <listitem>
+            <simpara>diskin, diskin2 and soundin now can read up to 40
+            channels </simpara>
+          </listitem>
+          <listitem>
+            <simpara>prints behaves better with rounding </simpara>
+          </listitem>
+          <listitem>
+            <simpara>fmpercfl now has working vibrato </simpara>
+          </listitem>
+          <listitem>
+            <simpara>atreson now has gain parameter at k-rate </simpara>
+          </listitem>
+          <listitem>
+            <simpara>comb opcode made safe if in and out arguments the
+            same </simpara>
+          </listitem>
+          <listitem>
+            <simpara>better accuracy in line and expon </simpara>
+          </listitem>
+          <listitem>
+            <simpara>OSCsend recovers space previously lost </simpara>
+          </listitem>
+          <listitem>
+            <simpara>OSCsend can send a table as a blob with the T tag
+            -- experimental and untested.</simpara>
+          </listitem>
+          <listitem>
+            <simpara>lpf18 now has an optional iskip argument </simpara>
+          </listitem>
+          <listitem>
+            <simpara>i() will also accept an i-rate value in which
+            case it is a no-op </simpara>
+          </listitem>
+          <listitem>
+            <simpara>makecsd revised and extended to have options for
+            MIDI and score processing and licenses </simpara>
+          </listitem>
+          <listitem>
+            <simpara>lpanal reworked to remove bugs and oddities </simpara>
+          </listitem>
+            <listitem>
+              <simpara>an issue with noise in alsa fixed
+              and a click in portaudio fixed     </simpara>
+            </listitem>
+            <listitem>
+              <simpara>portaudio driver changed to be more robust on stop/exit </simpara>
+            </listitem>
+        </itemizedlist>
+      </para>
+    </listitem>
+    <listitem>
+        <para>
+          Internal Changes:
+          <itemizedlist>
+            <listitem>
+              <simpara>
+              Many many changesto the new parser so it is now
+              operational, but should be used with care</simpara>
+            </listitem>
+            <listitem>
+              <simpara>The multicore system is distributed in an
+              experimental mode and should be used with great care.
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>
+              </simpara>
+            </listitem>
+            <listitem>
+              <simpara>
+              </simpara>
+            </listitem>
+          </itemizedlist>
+        </para>
+      </listitem>
+    </itemizedlist>
+  </para>
 <bridgehead>New in Version 5.13 (January 2011)</bridgehead>
   <para>
     <itemizedlist>
@@ -239,7 +2331,7 @@
          <itemizedlist>
            <listitem>
              <simpara>
-	       <link linkend="transegr"><citetitle>transegr</citetitle></link>
+         <link linkend="transegr"><citetitle>transegr</citetitle></link>
                is a version of
                the <link linkend="transeg"><citetitle>transeg</citetitle></link>
                opcode which has a release section which is triggered
@@ -247,14 +2339,14 @@
                a <link linkend="turnoff2"><citetitle>turnoff2</citetitle></link>
                opcode or a negative instrument
                number <link linkend="i"><citetitle>i score event</citetitle></link>.
-	     </simpara>
+       </simpara>
            </listitem>
            <listitem>
              <simpara>
-	       <link linkend="ftgenonce"><citetitle>ftgenonce</citetitle></link>
+         <link linkend="ftgenonce"><citetitle>ftgenonce</citetitle></link>
                generates a function table from within an instrument
                definition, without duplication of data.
-	     </simpara>
+       </simpara>
            </listitem>
            <listitem>
              <simpara><link linkend="passign"><citetitle>passign</citetitle></link>
@@ -266,18 +2358,18 @@
            </listitem>
            <listitem>
              <simpara>
-	       <link linkend="loopxseg"><citetitle>loopxseg</citetitle></link>
+         <link linkend="loopxseg"><citetitle>loopxseg</citetitle></link>
                is
                like <link linkend="loopseg"><citetitle>loopseg</citetitle></link>
                but with exponential envelope.
-	     </simpara>
+       </simpara>
            </listitem>
            <listitem>
              <simpara>
-	       <link linkend="looptseg"><citetitle>looptseg</citetitle></link>
+         <link linkend="looptseg"><citetitle>looptseg</citetitle></link>
                is like <link linkend="loopseg"><citetitle>loopseg</citetitle></link>
-               but with a flexible envelope like <link linkend="transeg"><citetitle>transeg</citetitle></link> 
-	     </simpara>
+               but with a flexible envelope like <link linkend="transeg"><citetitle>transeg</citetitle></link>
+       </simpara>
            </listitem>
          </itemizedlist>
        </para>
@@ -286,52 +2378,52 @@
        <para>Bug fixes and improvements:
          <itemizedlist>
            <listitem>
-             <simpara>    
-	       <link linkend="pvshift"><citetitle>pvshift</citetitle></link> would overwrite in double mode.
+             <simpara>
+         <link linkend="pvshift"><citetitle>pvshift</citetitle></link> would overwrite in double mode.
              </simpara>
            </listitem>
            <listitem>
              <simpara>
-	       <link linkend="pan2"><citetitle>pan2</citetitle></link> case 3 fixed.
+         <link linkend="pan2"><citetitle>pan2</citetitle></link> case 3 fixed.
              </simpara>
            </listitem>
   <!--           <listitem>-->
  <!--             <simpara> -->
-<!-- 	       <link linkend="gettempo"><citetitle>gettempo</citetitle></link> now works. -->
+<!--          <link linkend="gettempo"><citetitle>gettempo</citetitle></link> now works. -->
 <!--              </simpara> -->
   <!--          </listitem> -->
            <listitem>
              <simpara>
-	       <link linkend="clockon"><citetitle>clockon</citetitle></link>
-	       and  <link linkend="clockoff"><citetitle>clockoff</citetitle></link>
-	       now work again.
+         <link linkend="clockon"><citetitle>clockon</citetitle></link>
+         and  <link linkend="clockoff"><citetitle>clockoff</citetitle></link>
+         now work again.
              </simpara>
            </listitem>
            <listitem>
              <simpara>
-	       <link linkend="cross2"><citetitle>cross2</citetitle></link> and <link linkend="interp"><citetitle>interp</citetitle></link> could have divided by zero
+         <link linkend="cross2"><citetitle>cross2</citetitle></link> and <link linkend="interp"><citetitle>interp</citetitle></link> could have divided by zero
              </simpara>
            </listitem>
            <listitem>
              <simpara>
-	       linecount for error messages no longer includes text
-	       from <link linkend="CommandUnifileParFile"><citetitle>.csoundrc</citetitle></link>
+         linecount for error messages no longer includes text
+         from <link linkend="CommandUnifileParFile"><citetitle>.csoundrc</citetitle></link>
              </simpara>
            </listitem>
            <listitem>
              <simpara>
-	       <link linkend="p5gconnect"><citetitle>p5gconnect</citetitle></link>
-	       changed to use a separate thread to avoid timeout problem.
+         <link linkend="p5gconnect"><citetitle>p5gconnect</citetitle></link>
+         changed to use a separate thread to avoid timeout problem.
              </simpara>
            </listitem>
            <listitem>
              <simpara>
-	       <link linkend="transeg"><citetitle>transeg</citetitle></link> checks argument count.
+         <link linkend="transeg"><citetitle>transeg</citetitle></link> checks argument count.
              </simpara>
            </listitem>
            <listitem>
              <simpara>
-	       <link linkend="sfload"><citetitle>sfload</citetitle></link>
+         <link linkend="sfload"><citetitle>sfload</citetitle></link>
                used to be limited to 10 sound fonts and was not policed.
                Now open-ended.
              </simpara>
@@ -345,28 +2437,28 @@
          <itemizedlist>
            <listitem>
              <simpara>
-	       \" allowed as an escape in orchestral strings
+         \" allowed as an escape in orchestral strings
              </simpara>
            </listitem>
            <listitem>
              <simpara>
-	       New parser fixed on optional arguments
+         New parser fixed on optional arguments
              </simpara>
            </listitem>
            <listitem>
              <simpara>
-	       Better checking of <link linkend="f"><citetitle>f</citetitle></link> statement with negative number
+         Better checking of <link linkend="f"><citetitle>f</citetitle></link> statement with negative number
              </simpara>
            </listitem>
            <listitem>
              <simpara>
-	       Soundfonts only initialise pitches array once, in the
-	       soundfont opcodes.
+         Soundfonts only initialise pitches array once, in the
+         soundfont opcodes.
              </simpara>
            </listitem>
            <listitem>
              <simpara>
-	       Usual collection of gratuitous minor changes, layout and comments
+         Usual collection of gratuitous minor changes, layout and comments
              </simpara>
            </listitem>
          </itemizedlist>
@@ -405,10 +2497,10 @@
             </listitem>
            <listitem>
              <simpara>
-	       The new <link linkend="SignalFlowGraphOpcodes"><citetitle>Signal
-		   Flow opcodes </citetitle></link> enable the usage of
+         The new <link linkend="SignalFlowGraphOpcodes"><citetitle>Signal
+       Flow opcodes </citetitle></link> enable the usage of
                signal flow graphs in Csound.
-	     </simpara>
+       </simpara>
            </listitem>
           </itemizedlist>
         </para>
@@ -815,7 +2907,7 @@
             <listitem><simpara>New HRTF opcodes by Brian Carty:<link linkend="hrtfmove"><citetitle>hrtfmove</citetitle></link>, <link linkend="hrtfmove2"><citetitle>hrtfmove2</citetitle></link> and <link linkend="hrtfstat"><citetitle>hrtfstat</citetitle></link>.</simpara>
             </listitem>
             <listitem><simpara>New waveshaping opcodes: <link linkend="powershape"><citetitle>powershape</citetitle></link>,
-              <link linkend="polynomial"><citetitle>polynomial</citetitle></link>, 
+              <link linkend="polynomial"><citetitle>polynomial</citetitle></link>,
               <link linkend="chebyshevpoly"><citetitle>chebyshevpoly</citetitle></link>,
               <link linkend="pdclip"><citetitle>pdclip</citetitle></link>,
               <link linkend="pdhalf"><citetitle>pdhalf</citetitle></link>,
@@ -1049,7 +3141,7 @@
       </listitem>
       <listitem>
         <para>
-          Also from CsoundAV, many new FLTK widget opcodes: 
+          Also from CsoundAV, many new FLTK widget opcodes:
           <link linkend="FLkeyIn"><citetitle>FLkeyIn</citetitle></link>,
           <link linkend="FLslidBnk2"><citetitle>FLslidBnk2</citetitle></link>,
           <link linkend="FLvslidBnk"><citetitle>FLvslidBnk</citetitle></link>,
diff --git a/quickref.py b/quickref.py
index 4fb1985..bc05e91 100644
--- a/quickref.py
+++ b/quickref.py
@@ -115,14 +115,25 @@ for i,filename in enumerate(files):
     entry = ''
     #print file
     source = open(filename, 'r')
-    # Necessary to define entities
-    newfile = headerText + source.read()
+    newfile = source.read()
     source.close()
+
+    refStart = newfile.find("<refentry")
+
+    if(refStart < 0):
+        continue
+    elif(refStart > 0):
+#        print 'Trimming file: ', filename, ' ', refStart
+        newfile = newfile[refStart:]
+    
+    # Necessary to define entities
+    newfile = headerText + newfile
+
     #print text
     try:
         xmldoc = minidom.parseString(newfile)
     except:
-        print '>>> Failed to parse:', newfile
+        print '>>> Failed to parse:',filename 
         continue
     xmldocId = xmldoc.documentElement.getAttribute('id')
     # Some files need special treatment (adds, dollar, divides, modulus, multiplies,
diff --git a/readme.txt b/readme.txt
index f98e5e8..b36eaa1 100644
--- a/readme.txt
+++ b/readme.txt
@@ -55,7 +55,7 @@ Use:
 $ make html
 
 Requires: Python (to generate the frames version, and to update the Quick
-          Refrence)
+          Reference)
 
 
 [PDF]
@@ -149,6 +149,13 @@ the Quick Reference. If no info tag is provided the opcode will appear in
 5) If possible reference the opcode in the appropriate section in Section II of
 the manual, and add the necessary cross references.
 
+6) For transforming the myOpcodeEntry.csd example file to myOpcodeEntry.csd.xml
+(in examples-xml), use the csd2docbook.py or csd2docbook2.py script. The former
+uses the Csound API for an opcode list, while the latter uses a file 
+opcode_list.txt (which is similar to the result of the command 'csound -z').
+For instance: $ python csd2docbook2.py -f genarray_i.csd will create the file
+genarray_i.csd.xml from genarray_i.csd for use in the genarray_i opcode entry.
+
 [FOR MAINTAINERS]---------------------------------------------------------------
 There are several targets that prepare files for release. It is important to
 remember to change the version number so that files and content are generated 
@@ -170,4 +177,3 @@ as well as give you information on where it is in error.
 Using a dedicated XML editor takes some of the pain out of editing the manual.
 Something like emacs in sgml mode or Kate in XML mode are very helpful.
 
-
diff --git a/removed_opcodesXO.txt b/removed_opcodesXO.txt
deleted file mode 100644
index 4eebf72..0000000
--- a/removed_opcodesXO.txt
+++ /dev/null
@@ -1,59 +0,0 @@
-ATSadd ATSaddnz ATSbufread ATScross
-ATSinfo ATSinterpread ATSpartialtap ATSread
-ATSreadnz ATSsinnoi FLbox FLbutBank
-FLbutton FLcloseButton FLcolor FLcolor2
-FLcount FLexecButton FLgetsnap FLgroup
-FLgroupEnd FLgroup_end FLhide FLhvsBox
-FLhvsBoxSetValue FLjoy FLkeyIn FLknob
-FLlabel FLloadsnap FLmouse FLpack
-FLpackEnd FLpack_end FLpanel FLpanelEnd
-FLpanel_end FLprintk FLprintk2 FLroller
-FLrun FLsavesnap FLscroll FLscrollEnd
-FLscroll_end FLsetAlign FLsetBox FLsetColor
-FLsetColor2 FLsetFont FLsetPosition FLsetSize
-FLsetSnapGroup FLsetText FLsetTextColor FLsetTextSize
-FLsetTextType FLsetVal FLsetVal_i FLsetVali
-FLsetsnap FLshow FLslidBnk FLslidBnk2
-FLslidBnk2Set FLslidBnk2Setk FLslidBnkGetHandle FLslidBnkSet
-FLslidBnkSetk FLslider FLtabs FLtabsEnd
-FLtabs_end FLtext FLupdate FLvalue
-FLvkeybd FLvslidBnk FLvslidBnk2 FLxyin
-babo bformdec bformenc button
-checkbox control flashtxt fluidAllOut
-fluidCCi fluidCCk fluidControl fluidEngine
-fluidLoad fluidNote fluidOut fluidProgramSelect
-hrtfer in32 inh ino
-inq inrg inx jack_transport
-oscilv out32 outh outo
-outq outq1 outq2 outq3
-outq4 outrg outx pyassign
-pyassigni pyassignt pycall pycall1
-pycall1i pycall1t pycall2 pycall2i
-pycall2t pycall3 pycall3i pycall3t
-pycall4 pycall4i pycall4t pycall5
-pycall5i pycall5t pycall6 pycall6i
-pycall6t pycall7 pycall7i pycall7t
-pycall8 pycall8i pycall8t pycalli
-pycalln pycallni pycallt pyeval
-pyevali pyevalt pyexec pyexeci
-pyexect pyinit pylassign pylassigni
-pylassignt pylcall pylcall1 pylcall1i
-pylcall1t pylcall2 pylcall2i pylcall2t
-pylcall3 pylcall3i pylcall3t pylcall4
-pylcall4i pylcall4t pylcall5 pylcall5i
-pylcall5t pylcall6 pylcall6i pylcall6t
-pylcall7 pylcall7i pylcall7t pylcall8
-pylcall8i pylcall8t pylcalli pylcalln
-pylcallni pylcallt pyleval pylevali
-pylevalt pylexec pylexeci pylexect
-pylrun pylruni pylrunt pyrun
-pyruni pyrunt setctrl spat3d
-spat3di spat3dt specaddm specdiff
-specdisp specfilt spechist specptrk
-specscal specsum spectrum vbap16
-vbap16move vbap4 vbap4move vbap8
-vbap8move vbaplsinit vbapz vbapzmove
-vstaudio vstaudiog vstbankload vstbanksave
-vstedit vstinfo vstinit vstmidiout
-vstnote vstnoteondur vstparamget vstparamset
-vstprogset vsttempo 
\ No newline at end of file
diff --git a/score/strings.xml b/score/strings.xml
index 7ca22a5..0ceeb84 100644
--- a/score/strings.xml
+++ b/score/strings.xml
@@ -7,9 +7,15 @@
     <programlisting>
 i 1 0 10 "A4"
 </programlisting>
-    The string can be received by the instrument and further processed using the <link linkend="StringsTop"><citetitle>string opcodes</citetitle></link>.
+    The string can be received by the instrument and further processed
+    using the <link linkend="StringsTop"><citetitle>string
+    opcodes</citetitle></link>. 
   </para>
   <note>
-    <para>Currently only one p-field can contain a string (i.e. no more tha one string per line is allowed). You can overcome this using <link linkend="strset"><citetitle>strset</citetitle></link> and <link linkend="strget"><citetitle>strget</citetitle></link>.</para>
+    <para>Currently only one p-field can contain a string (i.e. no
+    more than one string per line is allowed). You can overcome this
+    using <link linkend="strset"><citetitle>strset</citetitle></link>
+    and <link
+    linkend="strget"><citetitle>strget</citetitle></link>.</para>
   </note>
 </section>
diff --git a/scoregens/a.xml b/scoregens/a.xml
index 3dbaa1e..1e9b2c0 100644
--- a/scoregens/a.xml
+++ b/scoregens/a.xml
@@ -59,4 +59,16 @@
       </para>
     </refsect2>
   </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the a statement. It uses the file <ulink url="examples/a.csd"><citetitle>a.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the a statement.</title>
+        <xi:include href="examples-xml/a.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
 </refentry>
diff --git a/scoregens/b.xml b/scoregens/b.xml
index 5c6f81d..1b42741 100644
--- a/scoregens/b.xml
+++ b/scoregens/b.xml
@@ -37,26 +37,15 @@
       </para>
     </refsect2>
   </refsect1>
- 
+
   <refsect1>
     <title>Examples</title>
     <para>
-      <informalexample>
-        <programlisting>
-<emphasis role="stamnt">i</emphasis>1     0      2
-<emphasis role="stamnt">i</emphasis>1     10     888		
-
-<emphasis role="stamnt">b</emphasis> 5                           <emphasis role="comment">; set the clock "forward"</emphasis>
-<emphasis role="stamnt">i</emphasis>2     1      1     440       <emphasis role="comment">; start time = 6</emphasis>
-<emphasis role="stamnt">i</emphasis>2     2      1     480       <emphasis role="comment">; start time = 7</emphasis>
-
-<emphasis role="stamnt">b</emphasis> -1                          <emphasis role="comment">; set the clock back</emphasis>
-<emphasis role="stamnt">i</emphasis>3     3      2     3.1415    <emphasis role="comment">; start time = 2</emphasis>
-<emphasis role="stamnt">i</emphasis>3     5.5    1     1.1111    <emphasis role="comment">; start time = 4.5</emphasis>
-
-<emphasis role="stamnt">b</emphasis> 0                           <emphasis role="comment">; reset clock to normal</emphasis>
-<emphasis role="stamnt">i</emphasis>4     10     200   7         <emphasis role="comment">; start time = 10</emphasis></programlisting>
-      </informalexample>
+      Here is an example of the b statement. It uses the file <ulink url="examples/b.csd"><citetitle>b.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the b statement.</title>
+        <xi:include href="examples-xml/b.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
     </para>
   </refsect1>
  
diff --git a/scoregens/e.xml b/scoregens/e.xml
index 3ea9745..c428af6 100644
--- a/scoregens/e.xml
+++ b/scoregens/e.xml
@@ -45,4 +45,16 @@
       </para>
     </refsect2>
   </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the e statement. It uses the file <ulink url="examples/e.csd"><citetitle>e.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the e statement.</title>
+        <xi:include href="examples-xml/e.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
 </refentry>
diff --git a/scoregens/gen01.xml b/scoregens/gen01.xml
index 5770a6b..7012bd1 100644
--- a/scoregens/gen01.xml
+++ b/scoregens/gen01.xml
@@ -70,6 +70,12 @@
               If p4 is positive, the table will be post-normalized (rescaled to a maximum absolute value of 1 after generation). A negative p4 will cause rescaling to be skipped.
             </para>
           </listitem>
+
+          <listitem>
+            <para>
+              GEN01 also works with WAV and OGG and a dozen and more other sound formats; these file formats depend on libsndfile, see <ulink url="http://www.mega-nerd.com/libsndfile/"><citetitle>http://www.mega-nerd.com/libsndfile/</citetitle></ulink>
+            </para>
+          </listitem>
         </itemizedlist>
       </para>
     </note>
@@ -78,45 +84,63 @@
   <refsect1>
     <title>Examples</title>
     <para>
-	    Here is a simple example of the GEN01 routine. It uses the files <ulink url="examples/gen01.csd"><citetitle>gen01.csd</citetitle></ulink>, and <ulink url="examples/beats.wav"><citetitle>beats.wav</citetitle></ulink>. It uses the audio file <quote>beats.wav</quote>, here is its diagram:
+	    Here is an example of the GEN01 routine. It uses the files <ulink url="examples/gen01.csd"><citetitle>gen01.csd</citetitle></ulink> and several sound files.
+      <example>
+        <title>An example of the GEN01 routine.</title>
+        <xi:include href="examples-xml/gen01.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+        <textobject>
+          <phrase>These are the diagrams of the waveforms of the GEN01 routines, as used in the example:</phrase>
+        </textobject>
+
       <mediaobject>
         <imageobject>
-          <imagedata fileref="images/gen01.png" format="PNG"/>
+          <imagedata fileref="images/gen01_1.png" format="PNG"/>
         </imageobject>
 
         <textobject>
-          <phrase>Diagram of the waveform generated by GEN01.</phrase>
+          <phrase>f 1 0 131072 1 "beats.wav" 0 0 0 - non-deferred sound</phrase>
         </textobject>
 
         <caption>
-          <para>Diagram of the waveform generated by GEN01.</para>
+          <para>f 1 0 131072 1 "beats.wav" 0 0 0 - non-deferred sound</para>
         </caption>
       </mediaobject>
 
-      <example>
-        <title>A simple example of the GEN01 routine.</title>
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen01_2.png" format="PNG"/>
+        </imageobject>
 
-        <xi:include href="examples-xml/gen01.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+        <textobject>
+          <phrase>f 2 0 0 1 "flute.aiff" 0 0 0 - deferred sound</phrase>
+        </textobject>
 
-      </example>
-    </para>
+        <caption>
+          <para>f 2 0 0 1 "flute.aiff" 0 0 0 - deferred sound</para>
+        </caption>
+      </mediaobject>
 
-    <para>
-      Here is another example of the GEN01 routine. Csound will automatically compute the tablesize because we have set it to 0. This example uses the files <ulink url="examples/gen01computed.csd"><citetitle>gen01computed.csd</citetitle></ulink>, and <ulink url="examples/beats.wav"><citetitle>beats.wav</citetitle></ulink>.
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen01_3.png" format="PNG"/>
+        </imageobject>
 
-      <example>
-        <title>An example of the GEN01 routine with a computed tablesize.</title>
+        <textobject>
+          <phrase>f 3 0 0 1 "beats.ogg" 0 0 0 - deferred sound</phrase>
+        </textobject>
 
-        <xi:include href="examples-xml/gen01computed.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+        <caption>
+          <para>f 3 0 0 1 "beats.ogg" 0 0 0 - deferred sound</para>
+        </caption>
+      </mediaobject>
 
-      </example>
     </para>
   </refsect1>
 
   <refsect1>
     <title>Credits</title>
-    <para>Examples written by &namekevin;</para>
-    <para>December 2002. Thanks goes to Kanata Motohashi for fixing mistakes in the examples.</para>
-    <para>September 2003. Thanks goes to Dr. Richard Boulanger for pointing out the references to the AIFF file format. GEN01 also works with WAV files.</para>
+    <para>September 2003. Thanks goes to Dr. Richard Boulanger for pointing out the references to the AIFF file format.</para>
   </refsect1>
 </refentry>
diff --git a/scoregens/gen02.xml b/scoregens/gen02.xml
index 374a882..282403f 100644
--- a/scoregens/gen02.xml
+++ b/scoregens/gen02.xml
@@ -49,27 +49,60 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is a simple example of the GEN02 routine. It uses the files <ulink url="examples/gen02.csd"><citetitle>gen02.csd</citetitle></ulink>. It places 12 values plus an explicit wrap-around guard value into a table of size next-highest power of 2. Rescaling is inhibited. Here is its diagram:
+      Here is an example of the GEN02 routine. It uses the files <ulink url="examples/gen02.csd"><citetitle>gen02.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the GEN02 routine.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/gen02.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+        <textobject>
+          <phrase>These are the diagrams of the waveforms of the GEN02 routines, as used in the example:</phrase>
+        </textobject>
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="images/gen02.png" format="PNG"/>
+          <imagedata fileref="images/gen02_1.png" format="PNG"/>
         </imageobject>
 
         <textobject>
-          <phrase>Diagram of the waveform generated by GEN02.</phrase>
+          <phrase>f 2 0 5 2 0 2 0</phrase>
         </textobject>
 
         <caption>
-          <para>Diagram of the waveform generated by GEN02.</para>
+          <para>f 2 0 5 2 0 2 0</para>
         </caption>
       </mediaobject>
 
-      <example>
-        <title>A simple example of the GEN02 routine.</title>
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen02_2.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 3 0 5 2 0 2 10 0</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 3 0 5 2 0 2 10 0</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen02_3.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 4 0 9 2 0 2 10 100 0</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 4 0 9 2 0 2 10 100 0</para>
+        </caption>
+      </mediaobject>
 
-        <xi:include href="examples-xml/gen02.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
     </para>
   </refsect1>
 
diff --git a/scoregens/gen03.xml b/scoregens/gen03.xml
index fbc1d17..e17fc3a 100644
--- a/scoregens/gen03.xml
+++ b/scoregens/gen03.xml
@@ -68,31 +68,89 @@
     </note>
   </refsect1>
 
-  <refsect1>
+    <refsect1>
     <title>Examples</title>
     <para>
-      Here is a simple example of the GEN03 routine. It uses the files <ulink url="examples/gen03.csd"><citetitle>gen03.csd</citetitle></ulink>.  It fills a table with a 4th order polynomial function over the x-interval -1 to 1. The origin will be at the offset position 512. The function is post-normalized. Here is its diagram:
+      Here is an example of the GEN03 opcode. It uses the file <ulink url="examples/gen03.csd"><citetitle>gen03.csd</citetitle></ulink>.
+           <example>
+        <title>Example of the GEN03 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/gen03.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>  
+        <textobject>
+          <phrase>These are the diagrams of the waveforms of the GEN03 routines, as used in the example:</phrase>
+        </textobject>
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="images/gen03.png" format="PNG"/>
+          <imagedata fileref="images/gen03_1.png" format="PNG"/>
         </imageobject>
 
         <textobject>
-          <phrase>Diagram of the waveform generated by GEN03.</phrase>
+          <phrase>f4 0 513 3 1 1 0 1 - first-order Chebyshev: x</phrase>
         </textobject>
 
         <caption>
-          <para>Diagram of the waveform generated by GEN03.</para>
+          <para>f4 0 513 3 1 1 0 1 - first-order Chebyshev: x</para>
         </caption>
       </mediaobject>
 
-      <example>
-        <title>A simple example of the GEN03 routine.</title>
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen03_2.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f6 0 513 3 -1 1 -1 0 2 - second-order Chebyshev: 2x2 - 1</phrase>
+        </textobject>
 
-        <xi:include href="examples-xml/gen03.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+        <caption>
+          <para>f6 0 513 3 -1 1 -1 0 2 - second-order Chebyshev: 2x2 - 1</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen03_3.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f8 0 513 3 -1 1 0 -3 0 4 - third-order Chebyshev: 4x3 - 3x</phrase>
+        </textobject>
+
+        <caption>
+          <para>f8 0 513 3 -1 1 0 -3 0 4 - third-order Chebyshev: 4x3 - 3x</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen03_4.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f10 0 513 3 -1 10 0 -7 0 56 0 -112 0 64 - seventh-order Chebyshev: 64x7 - 112x5 + 56x3 - 7x</phrase>
+        </textobject>
+
+        <caption>
+          <para>f10 0 513 3 -1 10 0 -7 0 56 0 -112 0 64 - seventh-order Chebyshev: 64x7 - 112x5 + 56x3 - 7x</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen03_5.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f12 0 513 3 -1 1 5 4 3 2 2 1 - a 4th order polynomial function over the x-interval -1 to 1</phrase>
+        </textobject>
+
+        <caption>
+          <para>f12 0 513 3 -1 1 5 4 3 2 2 1 - a 4th order polynomial function over the x-interval -1 to 1</para>
+        </caption>
+      </mediaobject>
 
-      </example>
     </para>
   </refsect1>
 
@@ -102,6 +160,7 @@
       <link linkend="GEN13"><citetitle>GEN13</citetitle></link>,
       <link linkend="GEN14"><citetitle>GEN14</citetitle></link>, and
       <link linkend="GEN15"><citetitle>GEN15</citetitle></link>.
+          <para> Information about the Chebyshev polynomials on Wikipedia: <ulink url="http://en.wikipedia.org/wiki/Chebyshev_polynomials"><citetitle>http://en.wikipedia.org/wiki/Chebyshev_polynomials</citetitle></ulink></para>
     </para>
   </refsect1>
 </refentry>
diff --git a/scoregens/gen04.xml b/scoregens/gen04.xml
index 2c1c4ed..fd9a5a6 100644
--- a/scoregens/gen04.xml
+++ b/scoregens/gen04.xml
@@ -63,15 +63,76 @@
       </para>
     </note>
   </refsect1>
- 
+
   <refsect1>
     <title>Examples</title>
     <para>
-      <informalexample>
-        <programlisting><emphasis role="stamnt">f</emphasis>   2   0   512   4    1   1</programlisting>
-      </informalexample>
+      Here is a simple example of the GEN04 routine. It uses the files <ulink url="examples/gen04.csd"><citetitle>gen04.csd</citetitle></ulink>.
+      <example>
+        <title>An example of the GEN04 routine.</title>
+        <xi:include href="examples-xml/gen04.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+        <textobject>
+          <phrase>These are the diagrams of the waveforms of the GEN04 routines, as used in the example:</phrase>
+        </textobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen04_1.png" format="PNG"/>         
+        </imageobject>
+
+        <textobject>
+          <phrase>f1 0 64 21 6 - Gaussian (random) distribution</phrase>
+        </textobject>
+
+        <caption>
+          <para>f1 0 64 21 6 - Gaussian (random) distribution</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen04_2.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f2 0 33 4 1 1 - AND its normalizing function with midpoint bipolar offset</phrase>
+        </textobject>
+
+        <caption>
+          <para>f2 0 33 4 1 1 - AND its normalizing function with midpoint bipolar offset</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen04_3.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f3 0 1025 13 1 1 0 5 0 5 0 10 - Chebyshev algorithm</phrase>
+        </textobject>
+
+        <caption>
+          <para>f3 0 1025 13 1 1 0 5 0 5 0 10 - Chebyshev algorithm</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen04_4.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f4 0 513 4 3 1 - AND its normalizing function with midpoint bipolar offset</phrase>
+        </textobject>
+
+        <caption>
+          <para>f4 0 513 4 3 1 - AND its normalizing function with midpoint bipolar offset</para>
+        </caption>
+      </mediaobject>
 
-      This creates a normalizing function for use in connection with the <link linkend="GEN03"><citetitle>GEN03</citetitle></link> table 1 example. Midpoint bipolar offset is specified.
     </para>
   </refsect1>
 </refentry>
diff --git a/scoregens/gen05.xml b/scoregens/gen05.xml
index 5627c51..96fe511 100644
--- a/scoregens/gen05.xml
+++ b/scoregens/gen05.xml
@@ -35,7 +35,7 @@
     </para>
 
     <para>
-      <emphasis>n1, n2</emphasis>, etc. -- length of segment (no. of storage locations), in even-numbered pfields. Cannot be negative, but a zero is meaningful for specifying discontinuous waveforms (e.g. in the example below). The sum <emphasis>n1</emphasis> + <emphasis>n2</emphasis> + .... will normally equal <emphasis>size</emphasis> for fully specified functions. If the sum is smaller, the function locations not included will be set to zero; if the sum is greater, only the first <emphasis>size</emphasis> locations will be stored.
+      <emphasis>n1, n2</emphasis>, etc. -- length of segment (no. of storage locations), in even-numbered pfields. Cannot be negative, but a zero is meaningful for specifying discontinuous waveforms. The sum <emphasis>n1</emphasis> + <emphasis>n2</emphasis> + .... will normally equal <emphasis>size</emphasis> for fully specified functions. If the sum is smaller, the function locations not included will be set to zero; if the sum is greater, only the first <emphasis>size</emphasis> locations will be stored.
     </para>
 
     <note>
@@ -61,28 +61,44 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is a simple example of the GEN05 routine. It uses the files <ulink url="examples/gen05.csd"><citetitle>gen05.csd</citetitle></ulink>. It will create a nice percussive amplitude envelope. Here is its diagram:
+      Here is a simple example of the GEN05 routine. It uses the files <ulink url="examples/gen05.csd"><citetitle>gen05.csd</citetitle></ulink>.
+      <example>
+        <title>An example of the GEN05 routine.</title>
+        <xi:include href="examples-xml/gen05.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+        <textobject>
+          <phrase>These are the diagrams of the waveforms of the GEN05 routines, as used in the example:</phrase>
+        </textobject>
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="images/gen05.png" format="PNG"/>
+          <imagedata fileref="images/gen05_1.png" format="PNG"/>
         </imageobject>
 
         <textobject>
-          <phrase>Diagram of the waveform generated by GEN05.</phrase>
+          <phrase>f 2 0 129 5 1 100 0.0001 29 - waveform that goes over 100 points from 1 to 0.0001, stay there for 29 points</phrase>
         </textobject>
 
         <caption>
-          <para>Diagram of the waveform generated by GEN05.</para>
+          <para>f 2 0 129 5 1 100 0.0001 29 - waveform that goes over 100 points from 1 to 0.0001, stay there for 29 points</para>
         </caption>
       </mediaobject>
 
-      <example>
-        <title>A simple example of the GEN05 routine.</title>
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen05_2.png" format="PNG"/>
+        </imageobject>
 
-        <xi:include href="examples-xml/gen05.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+        <textobject>
+          <phrase>f 3 0 129 5 0.00001 87 1 22 .5 20 0.0001 - waveform that goes from 0.00001 to 1 in 87 points, then from 1 to .5 in 22 points and then from .5 to 0.0001 in 20 points</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 3 0 129 5 0.00001 87 1 22 .5 20 0.0001 - waveform that goes from 0.00001 to 1 in 87 points, then from 1 to .5 in 22 points and then from .5 to 0.0001 in 20 points</para>
+        </caption>
+      </mediaobject>
 
-      </example>
     </para>
   </refsect1>
 
@@ -95,8 +111,4 @@
      </para>
   </refsect1>
 
-  <refsect1>
-    <title>Credits</title>
-    <para>Example written by &namekevin;</para>
-  </refsect1>
 </refentry>
diff --git a/scoregens/gen06.xml b/scoregens/gen06.xml
index aef0a8c..c2e7459 100644
--- a/scoregens/gen06.xml
+++ b/scoregens/gen06.xml
@@ -49,34 +49,52 @@
       </para>
     </note>
   </refsect1>
- 
+
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is a simple example of the GEN06 routine. It uses the files <ulink url="examples/gen06.csd"><citetitle>gen06.csd</citetitle></ulink>. It creates a curve running 0 to 1 to -1, with a minimum, maximum and minimum at these values respectively. Inflexions are at .5 and 0 and are relatively smooth. Here is its diagram:
+	    Here is an example of the GEN06 routine. It uses the files <ulink url="examples/gen06.csd"><citetitle>gen06.csd</citetitle></ulink>.
+      <example>
+        <title>An example of the GEN06 routine.</title>
+        <xi:include href="examples-xml/gen06.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+        <textobject>
+          <phrase>These are the diagrams of the waveforms of the GEN06 routines, as used in the example:</phrase>
+        </textobject>
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="images/gen06.png" format="PNG"/>
+          <imagedata fileref="images/gen06_1.png" format="PNG"/>
         </imageobject>
 
         <textobject>
-          <phrase>Diagram of the waveform generated by GEN06.</phrase>
+          <phrase>f 2 0 513 6 1 128 -1 128 1 64 -.5 64 .5 16 -.5 8 1 16 -.5 8 1 16 -.5 84 1 16 -.5 8 .1 16 -.1 17 0 - a not-so-smooth curve</phrase>
         </textobject>
 
         <caption>
-          <para>Diagram of the waveform generated by GEN06.</para>
+          <para>f 2 0 513 6 1 128 -1 128 1 64 -.5 64 .5 16 -.5 8 1 16 -.5 8 1 16 -.5 84 1 16 -.5 8 .1 16 -.1 17 0 - a not-so-smooth curve</para>
         </caption>
       </mediaobject>
 
-      <example>
-        <title>A simple example of the GEN06 routine.</title>
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen06_2.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 3 0 513 6 0 128 0.5 128 1 128 0 129 -1 - a curve running 0 to 1 to -1, with a minimum, maximum and minimum at these values respectively. Inflexions are at .5 and 0 and are relatively smooth</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 3 0 513 6 0 128 0.5 128 1 128 0 129 -1 - a curve running 0 to 1 to -1, with a minimum, maximum and minimum at these values respectively. Inflexions are at .5 and 0 and are relatively smooth</para>
+        </caption>
+      </mediaobject>
 
-        <xi:include href="examples-xml/gen06.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
     </para>
   </refsect1>
 
+
   <refsect1>
      <title>See Also</title>
      <para>
diff --git a/scoregens/gen07.xml b/scoregens/gen07.xml
index a688fb5..5186305 100644
--- a/scoregens/gen07.xml
+++ b/scoregens/gen07.xml
@@ -61,28 +61,58 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is a simple example of the GEN07 routine. It uses the file <ulink url="examples/gen07.csd"><citetitle>gen07.csd</citetitle></ulink>. It will create a single-cycle sawtooth whose discontinuity is mid-way in the stored function. Here is its diagram:
+	    Here is an example of the GEN07 routine. It uses the files <ulink url="examples/gen07.csd"><citetitle>gen07.csd</citetitle></ulink>.
+      <example>
+        <title>An example of the GEN07 routine.</title>
+        <xi:include href="examples-xml/gen07.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+        <textobject>
+          <phrase>These are the diagrams of the waveforms of the GEN07 routines, as used in the example:</phrase>
+        </textobject>
+
       <mediaobject>
         <imageobject>
-          <imagedata fileref="images/gen07.png" format="PNG"/>
+          <imagedata fileref="images/gen07_1.png" format="PNG"/>
         </imageobject>
 
         <textobject>
-          <phrase>Diagram of the waveform generated by GEN07.</phrase>
+          <phrase>f 2 0 1024 7 0 512 1 0 -1 512 0 - sawtooth up and down, starting and ending at 0</phrase>
         </textobject>
 
         <caption>
-          <para>Diagram of the waveform generated by GEN07.</para>
+          <para>f 2 0 1024 7 0 512 1 0 -1 512 0 - sawtooth up and down, starting and ending at 0</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen07_2.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 3 0 1024 7 1 512 1 0 -1 512 -1 - a square from positive to negative</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 3 0 1024 7 1 512 1 0 -1 512 -1 - a square from positive to negative</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen07_3.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 4 0 1024 7 1 1024 -1 - sawtooth down, a straight line from positive to negative</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 4 0 1024 7 1 1024 -1 - sawtooth down, a straight line from positive to negative</para>
         </caption>
       </mediaobject>
 
-      <example>
-        <title>A simple example of the GEN07 routine.</title>
-        <para>
-          See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.
-        </para>
-        <xi:include href="examples-xml/gen07.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
     </para>
   </refsect1>
 
diff --git a/scoregens/gen08.xml b/scoregens/gen08.xml
index 5a2d600..199a8c2 100644
--- a/scoregens/gen08.xml
+++ b/scoregens/gen08.xml
@@ -61,30 +61,48 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is a simple example of the GEN08 routine. It uses the file <ulink url="examples/gen08.csd"><citetitle>gen08.csd</citetitle></ulink>. It will create a curve with a smooth hump in the middle, going briefly negative outside the hump then flat at its ends. Here is its diagram:
+	    Here is an example of the GEN08 routine. It uses the files <ulink url="examples/gen08.csd"><citetitle>gen08.csd</citetitle></ulink>.
+      <example>
+        <title>An example of the GEN08 routine.</title>
+        <xi:include href="examples-xml/gen08.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+        <textobject>
+          <phrase>These are the diagrams of the waveforms of the GEN08 routines, as used in the example:</phrase>
+        </textobject>
+
       <mediaobject>
         <imageobject>
-          <imagedata fileref="images/gen08.png" format="PNG"/>
+          <imagedata fileref="images/gen08_1.png" format="PNG"/>
         </imageobject>
 
         <textobject>
-          <phrase>Diagram of the waveform generated by GEN08.</phrase>
+          <phrase>f 2 0 65 8 0 16 1 16 1 16 0 17 0 - a curve with a smooth hump in the middle, going briefly negative outside the hump then flat at its ends</phrase>
         </textobject>
 
         <caption>
-          <para>Diagram of the waveform generated by GEN08.</para>
+          <para>f 2 0 65 8 0 16 1 16 1 16 0 17 0 - a curve with a smooth hump in the middle, going briefly negative outside the hump then flat at its ends</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen08_2.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 3 0 65 8 -1 32 1 2 0 14 0 17 0 - from a negative value,a curve with a smooth hump, going negative creating a small hump then flat at its ends</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 3 0 65 8 -1 32 1 2 0 14 0 17 0 - from a negative value,a curve with a smooth hump, going negative creating a small hump then flat at its ends</para>
         </caption>
       </mediaobject>
 
-      <example>
-        <title>A simple example of the GEN08 routine.</title>
-        <para>
-          See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
-        <xi:include href="examples-xml/gen08.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
     </para>
   </refsect1>
 
+
   <refsect1>
      <title>See Also</title>
      <para>
diff --git a/scoregens/gen09.xml b/scoregens/gen09.xml
index c59e757..adef75f 100644
--- a/scoregens/gen09.xml
+++ b/scoregens/gen09.xml
@@ -63,51 +63,74 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is a simple example of the GEN09 routine. It uses the file <ulink url="examples/gen09.csd"><citetitle>gen09.csd</citetitle></ulink>.  It will generate a cosine wave, a sine wave with an initial phase of 90 degrees. Here is its diagram:
+      Here is an example of the GEN09 routine. It uses the files <ulink url="examples/gen09.csd"><citetitle>gen09.csd</citetitle></ulink>.
+
+      <example>
+        <title>Example of the GEN09 routine.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/gen09.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+        <textobject>
+          <phrase>These are the diagrams of the waveforms of the GEN09 routines, as used in the example:</phrase>
+        </textobject>
+
       <mediaobject>
         <imageobject>
-          <imagedata fileref="images/gen09.png" format="PNG"/>
+          <imagedata fileref="images/gen09_1.png" format="PNG"/>
         </imageobject>
 
         <textobject>
-          <phrase>Diagram of the waveform generated by GEN09.</phrase>
+          <phrase>gi1 ftgen 1,0,2^10,9,  1,3,0,   3,1,0, 9,0.333,180 - approximation of a square wave</phrase>
         </textobject>
 
         <caption>
-          <para>Diagram of the waveform generated by GEN09.</para>
+          <para>gi1 ftgen 1,0,2^10,9,  1,3,0,   3,1,0, 9,0.333,180 - approximation of a square wave</para>
         </caption>
       </mediaobject>
 
-      <example>
-        <title>A simple example of the GEN09 routine.</title>
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen09_2.png" format="PNG"/>
+        </imageobject>
 
-        <para>
-          See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.
-        </para>
-        <xi:include href="examples-xml/gen09.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
-    </para>
+        <textobject>
+          <phrase>gi2 ftgen 2,0,2^10,9,  1,3,180,   3,1,0, 9,0.333,0 - same values as gi1, except phase value</phrase>
+        </textobject>
+
+        <caption>
+          <para>gi2 ftgen 2,0,2^10,9,  1,3,180,   3,1,0, 9,0.333,0 - same values as gi1, except phase value</para>
+        </caption>
+      </mediaobject>
 
-    <para>
-      Here is another example of the GEN09 routine. It uses the file <ulink url="examples/gen09square.csd"><citetitle>gen09square.csd</citetitle></ulink>. It combines partials l, 3 and 9 in the relative strengths in which they are found in a square wave, except that partial 9 is upside down. It will be rescaled, here is its diagram:
       <mediaobject>
         <imageobject>
-          <imagedata fileref="images/gen09square.png" format="PNG"/>
+          <imagedata fileref="images/gen09_3.png" format="PNG"/>
         </imageobject>
 
         <textobject>
-          <phrase>Diagram of the waveform generated by GEN09.</phrase>
+          <phrase>gi3 ftgen 3,0,2^10,9,  1,2,0,   3,2,0, 9,0.333,180 - inharmonic partials, but with distortion due to the sudden jump in ending and beginning of the wave</phrase>
         </textobject>
 
         <caption>
-          <para>Diagram of the waveform generated by GEN09.</para>
+          <para>gi3 ftgen 3,0,2^10,9,  1,2,0,   3,2,0, 9,0.333,180 - inharmonic partials, but with distortion due to the sudden jump in ending and beginning of the wave</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen09_4.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>gi4 ftgen 4,0,2^10,9,  1,2,180,   3,2,0, 9,0.333,0 - same ratio as gi3, except with less artefacts</phrase>
+        </textobject>
+
+        <caption>
+          <para>gi4 ftgen 4,0,2^10,9,  1,2,180,   3,2,0, 9,0.333,0 - same ratio as gi3, except with less artefacts</para>
         </caption>
       </mediaobject>
 
-      <example>
-        <title>A square wave generated by the GEN09 routine.</title>
-          <xi:include href="examples-xml/gen09square.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
     </para>
   </refsect1>
 
@@ -119,8 +142,4 @@
      </para>
   </refsect1>
 
-  <refsect1>
-    <title>Credits</title>
-    <para>The simple example was written by &namekevin;.</para>
-  </refsect1>
 </refentry>
diff --git a/scoregens/gen10.xml b/scoregens/gen10.xml
index d75188f..8fa5403 100644
--- a/scoregens/gen10.xml
+++ b/scoregens/gen10.xml
@@ -55,28 +55,71 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is a simple example of the GEN10 routine. It uses the file <ulink url="examples/gen10.csd"><citetitle>gen10.csd</citetitle></ulink>.  It will generate a simple sine wave. Here is its diagram:
+	    Here is an example of the GEN10 routine. It uses the files <ulink url="examples/gen10.csd"><citetitle>gen10.csd</citetitle></ulink>.
+      <example>
+        <title>An example of the GEN10 routine.</title>
+        <xi:include href="examples-xml/gen10.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+        <textobject>
+          <phrase>These are the diagrams of the waveforms of the GEN10 routines, as used in the example:</phrase>
+        </textobject>
+
       <mediaobject>
         <imageobject>
-          <imagedata fileref="images/gen10.png" format="PNG"/>
+          <imagedata fileref="images/gen10_1.png" format="PNG"/>
         </imageobject>
 
         <textobject>
-          <phrase>Diagram of the waveform generated by GEN10.</phrase>
+          <phrase>f 1 0 16384 10 1 - sine wave with only the fundamental frequency</phrase>
         </textobject>
 
         <caption>
-          <para>Diagram of the waveform generated by GEN10.</para>
+          <para>f 1 0 16384 10 1 - sine wave with only the fundamental frequency</para>
         </caption>
       </mediaobject>
 
-      <example>
-        <title>A simple example of the GEN10 routine.</title>
-        <para>
-          See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.
-        </para>
-        <xi:include href="examples-xml/gen10.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen10_2.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 2 0 16384 10 1 0.5 0.3 0.25 0.2 0.167 0.14 0.125 .111 - sawtooth, with a fundamental and 8 harmonics </phrase>
+        </textobject>
+
+        <caption>
+          <para>f 2 0 16384 10 1 0.5 0.3 0.25 0.2 0.167 0.14 0.125 .111 - sawtooth, with a fundamental and 8 harmonics </para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen10_3.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 3 0 16384 10 1 0 0.3 0 0.2 0 0.14 0 .111 - square wave, with a fundamental and 8 harmonics but 4 have 0 strength</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 3 0 16384 10 1 0 0.3 0 0.2 0 0.14 0 .111 - square wave, with a fundamental and 8 harmonics but 4 have 0 strength</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen10_4.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 4 0 16384 10 1 1 1 1 0.7 0.5 0.3 0.1 - pulse wave, with a fundamental and 8 harmonics</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 4 0 16384 10 1 1 1 1 0.7 0.5 0.3 0.1 - pulse wave, with a fundamental and 8 harmonics</para>
+        </caption>
+      </mediaobject>
     </para>
   </refsect1>
 
@@ -89,8 +132,4 @@
      </para>
   </refsect1>
 
-  <refsect1>
-    <title>Credits</title>
-    <para>Example written by &namekevin;</para>
-  </refsect1>
 </refentry>
diff --git a/scoregens/gen11.xml b/scoregens/gen11.xml
index f09e4dd..9127421 100644
--- a/scoregens/gen11.xml
+++ b/scoregens/gen11.xml
@@ -65,28 +65,58 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is a simple example of the GEN11 routine. It uses the file <ulink url="examples/gen11.csd"><citetitle>gen11.csd</citetitle></ulink>.  It will generate a simple cosine wave. Here is its diagram:
+	    Here is an example of the GEN11 routine. It uses the files <ulink url="examples/gen01.csd"><citetitle>gen11.csd</citetitle></ulink>.
+      <example>
+        <title>An example of the GEN11 routine.</title>
+        <xi:include href="examples-xml/gen11.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+        <textobject>
+          <phrase>These are the diagrams of the waveforms of the GEN11 routines, as used in the example:</phrase>
+        </textobject>
+
       <mediaobject>
         <imageobject>
-          <imagedata fileref="images/gen11.png" format="PNG"/>
+          <imagedata fileref="images/gen11_1.png" format="PNG"/>
         </imageobject>
 
         <textobject>
-          <phrase>Diagram of the waveform generated by GEN11.</phrase>
+          <phrase>f 1 0 16384 11 1 1</phrase>
         </textobject>
 
         <caption>
-          <para>Diagram of the waveform generated by GEN11.</para>
+          <para>f 1 0 16384 11 1 1</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen11_2.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 2 0 16384 11 10 1 .7</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 2 0 16384 11 10 1 .7</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen11_3.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 3 0 16384 11 10 5 2</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 3 0 16384 11 10 5 2</para>
         </caption>
       </mediaobject>
 
-      <example>
-        <title>A simple example of the GEN11 routine.</title>
-        <para>
-          See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.
-        </para>
-        <xi:include href="examples-xml/gen11.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
     </para>
   </refsect1>
 
@@ -97,8 +127,4 @@
      </para>
   </refsect1>
 
-  <refsect1>
-    <title>Credits</title>
-    <para>Example written by &namekevin;</para>
-  </refsect1>
 </refentry>
diff --git a/scoregens/gen12.xml b/scoregens/gen12.xml
index 688e197..34327b1 100644
--- a/scoregens/gen12.xml
+++ b/scoregens/gen12.xml
@@ -53,11 +53,19 @@
       </para>
     </note>
   </refsect1>
- 
-  <refsect1>
+
+    <refsect1>
     <title>Examples</title>
     <para>
-      Here is a simple example of the GEN12 routine. It uses the file <ulink url="examples/gen12.csd"><citetitle>gen12.csd</citetitle></ulink>. It generates the function <emphasis>ln</emphasis>(<emphasis>I<subscript>0</subscript></emphasis>(<emphasis>x</emphasis>)) from 0 to 20. Here is its diagram:
+      Here is an example of the GEN12 opcode. It uses the file <ulink url="examples/gen12.csd"><citetitle>gen12.csd</citetitle></ulink>.
+           <example>
+        <title>Example of the GEN12 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/gen12.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>  
+        <textobject>
+          <phrase>This is the diagram of the waveform of the GEN12 routines, as used in the example:</phrase>
+        </textobject>
 
       <mediaobject>
         <imageobject>
@@ -65,26 +73,21 @@
         </imageobject>
 
         <textobject>
-          <phrase>Diagram of the waveform generated by GEN12.</phrase>
+          <phrase>f 37 0 1024 -12 40 - Bessel function-defined from 0 to 40</phrase>
         </textobject>
 
         <caption>
-          <para>Diagram of the waveform generated by GEN12.</para>
+          <para>f 37 0 1024 -12 40 - Bessel function-defined from 0 to 40</para>
         </caption>
       </mediaobject>
-
-      <example>
-        <title>A simple example of the GEN12 routine.</title>
-        <para>
-          See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.
-        </para>
-        <xi:include href="examples-xml/gen12.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
+   
     </para>
   </refsect1>
-
+ 
   <refsect1>
     <title>Credits</title>
-    <para>Example written by &namekevin;</para>
+    <para>
+      Example is, with minor modifications, taken from The Csound Book (page 87).
+    </para>
   </refsect1>
 </refentry>
diff --git a/scoregens/gen13.xml b/scoregens/gen13.xml
index b888dce..e4b98d6 100644
--- a/scoregens/gen13.xml
+++ b/scoregens/gen13.xml
@@ -52,33 +52,118 @@ xamp * int(size/2)/xint
       <emphasis>GEN13</emphasis> is the function generator normally employed in standard waveshaping. It stores a polynomial whose coefficients derive from the Chebyshev polynomials of the first kind, so that a driving sinusoid of strength <emphasis>xamp</emphasis> will exhibit the specified spectrum at output. Note that the evolution of this spectrum is generally not linear with varying <emphasis>xamp</emphasis>. However, it is bandlimited (the only partials to appear will be those specified at generation time); and the partials will tend to occur and to develop in ascending order (the lower partials dominating at low <emphasis>xamp</emphasis>, and the spectral richness increasing for higher values of <emphasis>xamp</emphasis>). A negative <emphasis>hn</emphasis> value implies a 180 degree phase shift of that partial; the requested full-amplitude spectrum will not be affected by this shift, although the evolution of several of its component partials may be. The pattern +,+,-,-,+,+,... for <emphasis>h0,h1,h2..</emphasis>. will minimize the normalization problem for low <emphasis>xamp</emphasis> values (see above), but does not necessarily provide the smoothest pattern of evolution.
     </para>
   </refsect1>
- 
-  <refsect1>
+
+    <refsect1>
     <title>Examples</title>
     <para>
-      Here is a simple example of the GEN13 routine. It uses the file <ulink url="examples/gen13.csd"><citetitle>gen13.csd</citetitle></ulink>. It creates a function which, under waveshaping, will split a sinusoid into 3 odd-harmonic partials of relative strength 5:3:1. Here is its diagram:
+      Here is an example of the GEN13 opcode. It uses the file <ulink url="examples/gen13.csd"><citetitle>gen13.csd</citetitle></ulink>.
+           <example>
+        <title>Example of the GEN13 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/gen13.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>  
+        <textobject>
+          <phrase>These are the diagrams of the waveforms of the GEN13 routines, as used in the example:</phrase>
+        </textobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen13_1.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f1 0 513 13 1 1 0 100 -50 -33 25 20 -16.7 -14.2 12.5 11.1 -10 -9.09 8.333 7.69 -7.14 -6.67 6.25 5.88 -5.55 -5.26 5 -  quasi sawtooth transfer function</phrase>
+        </textobject>
+
+        <caption>
+          <para>f1 0 513 13 1 1 0 100 -50 -33 25 20 -16.7 -14.2 12.5 11.1 -10 -9.09 8.333 7.69 -7.14 -6.67 6.25 5.88 -5.55 -5.26 5 -  quasi sawtooth transfer function</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen13_2.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f3 0 513 13 1 1 0 100 0 -33 0 20 0 -14.2 0 11.1 0 -9.09 0 7.69 0 -6.67 0 5.88 0 -5.26 - quasi square wave transfer function</phrase>
+        </textobject>
+
+        <caption>
+          <para>f3 0 513 13 1 1 0 100 0 -33 0 20 0 -14.2 0 11.1 0 -9.09 0 7.69 0 -6.67 0 5.88 0 -5.26 - quasi square wave transfer function</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen13_3.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f5 0 513 13 1 1 0 100 0 -11.11 0 4 0 -2.04 0 1.23 0 -.826 0 .59 0 -.444 0 .346 0 -.277 - quasi triangle wave transfer function</phrase>
+        </textobject>
+
+        <caption>
+          <para>f5 0 513 13 1 1 0 100 0 -11.11 0 4 0 -2.04 0 1.23 0 -.826 0 .59 0 -.444 0 .346 0 -.277 - quasi triangle wave transfer function</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen13_4.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f7 0 513 13 1 1 0 1 -.8 0 .6 0 0 0 .4 0 0 0 0 .1 -.2 -.3 .5 - transfer function 1</phrase>
+        </textobject>
+
+        <caption>
+          <para>f7 0 513 13 1 1 0 1 -.8 0 .6 0 0 0 .4 0 0 0 0 .1 -.2 -.3 .5 - transfer function 1</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen13_5.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f9 0 513 13 1 1 0 0 0 -.1 0 .3 0 -.5 0 .7 0 -.9 0 1 0 -1 0 - transfer function 2</phrase>
+        </textobject>
+
+        <caption>
+          <para>f9 0 513 13 1 1 0 0 0 -.1 0 .3 0 -.5 0 .7 0 -.9 0 1 0 -1 0 - transfer function 2</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen13_6.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f11 0 513 13 1 1 0 0 0 0 0 0 0 -1 0 1 0 0 -.1 0 .1 0 -.2 .3 0 -.7 0 .2 0 -.1  - transfer function 3</phrase>
+        </textobject>
+
+        <caption>
+          <para>f11 0 513 13 1 1 0 0 0 0 0 0 0 -1 0 1 0 0 -.1 0 .1 0 -.2 .3 0 -.7 0 .2 0 -.1  - transfer function 3</para>
+        </caption>
+      </mediaobject>
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="images/gen13.png" format="PNG"/>
+          <imagedata fileref="images/gen13_7.png" format="PNG"/>
         </imageobject>
 
         <textobject>
-          <phrase>Diagram of the waveform generated by GEN13.</phrase>
+          <phrase>f13 0 513 13 1 1 0 5 0 3 0 1 - split a sinusoid into 3 odd-harmonic partials of relative strength 5:3:1</phrase>
         </textobject>
 
         <caption>
-          <para>Diagram of the waveform generated by GEN13.</para>
+          <para>f13 0 513 13 1 1 0 5 0 3 0 1 - split a sinusoid into 3 odd-harmonic partials of relative strength 5:3:1</para>
         </caption>
       </mediaobject>
 
-      <example>
-        <title>A simple example of the GEN13 routine.</title>
-        <para>
-          See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.
-        </para>
-        <xi:include href="examples-xml/gen13.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
     </para>
   </refsect1>
 
@@ -88,6 +173,7 @@ xamp * int(size/2)/xint
       <link linkend="GEN03"><citetitle>GEN03</citetitle></link>,
       <link linkend="GEN14"><citetitle>GEN14</citetitle></link>, and
       <link linkend="GEN15"><citetitle>GEN15</citetitle></link>.
+          <para> Information about the Chebyshev polynomials on Wikipedia: <ulink url="http://en.wikipedia.org/wiki/Chebyshev_polynomials"><citetitle>http://en.wikipedia.org/wiki/Chebyshev_polynomials</citetitle></ulink></para>
     </para>
   </refsect1>
 </refentry>
diff --git a/scoregens/gen14.xml b/scoregens/gen14.xml
index 4856632..8b63026 100644
--- a/scoregens/gen14.xml
+++ b/scoregens/gen14.xml
@@ -67,47 +67,87 @@ xamp * int(size/2)/xint
       </para>
     </note>
   </refsect1>
- 
-  <refsect1>
+
+    <refsect1>
     <title>Examples</title>
     <para>
-      Here is a simple example of the GEN14 routine. It uses the file <ulink url="examples/gen14.csd"><citetitle>gen14.csd</citetitle></ulink>. It creates a function which, under waveshaping, will split a sinusoid into 3 odd-harmonic partials of relative strength 5:3:1. Here is its diagram:
+      Here is an example of the GEN14 opcode. It uses the file <ulink url="examples/gen14.csd"><citetitle>gen14.csd</citetitle></ulink>.
+           <example>
+        <title>Example of the GEN14 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/gen14.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>  
+        <textobject>
+          <phrase>These are the diagrams of the waveforms of the GEN14 routines, as used in the example:</phrase>
+        </textobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen14_1.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f28 0 4097 13  1 1 1 0 .8 0 .5 0 .2 - waveshaping function: GEN13, odd harmonics</phrase>
+        </textobject>
+
+        <caption>
+          <para>f28 0 4097 13  1 1 1 0 .8 0 .5 0 .2 - waveshaping function: GEN13, odd harmonics</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen14_2.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f29 0 4097 14  1 1 1 0 .8 0 .5 0 .2 - waveshaping function: GEN14, the same odd harmonics</phrase>
+        </textobject>
+
+        <caption>
+          <para>f29 0 4097 14  1 1 1 0 .8 0 .5 0 .2 - waveshaping function: GEN14, the same odd harmonics</para>
+        </caption>
+      </mediaobject>
 
       <mediaobject>
         <imageobject>
-          <imagedata fileref="images/gen14.png" format="PNG"/>
+          <imagedata fileref="images/gen14_3.png" format="PNG"/>
         </imageobject>
 
         <textobject>
-          <phrase>Diagram of the waveform generated by GEN14.</phrase>
+          <phrase>f30 0 4097 13  1 1 0 1 0 .6 0 .4 0 .1 - waveshaping function: GEN13, even harmonics</phrase>
         </textobject>
 
         <caption>
-          <para>Diagram of the waveform generated by GEN14.</para>
+          <para>f30 0 4097 13  1 1 0 1 0 .6 0 .4 0 .1 - waveshaping function: GEN13, even harmonics</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen14_4.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f31 0 4097 14  1 1 0 1 0 .6 0 .4 0 .1 - waveshaping function: GEN14, the same even harmonics</phrase>
+        </textobject>
+
+        <caption>
+          <para>f31 0 4097 14  1 1 0 1 0 .6 0 .4 0 .1 - waveshaping function: GEN14, the same even harmonics</para>
         </caption>
       </mediaobject>
 
-      <example>
-        <title>A simple example of the GEN14 routine.</title>
-        <para>
-          See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.
-        </para>
-        <xi:include href="examples-xml/gen14.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
     </para>
   </refsect1>
 
+
   <refsect1>
     <title>See Also</title>
     <para>
       <link linkend="GEN03"><citetitle>GEN03</citetitle></link>,
       <link linkend="GEN13"><citetitle>GEN13</citetitle></link>, and
       <link linkend="GEN15"><citetitle>GEN15</citetitle></link>.
+          <para> Information about the Chebyshev polynomials on Wikipedia: <ulink url="http://en.wikipedia.org/wiki/Chebyshev_polynomials"><citetitle>http://en.wikipedia.org/wiki/Chebyshev_polynomials</citetitle></ulink></para>
     </para>
   </refsect1>
-
-  <refsect1>
-    <title>Credits</title>
-    <para>Example written by &namekevin;</para>
-  </refsect1>
 </refentry>
diff --git a/scoregens/gen15.xml b/scoregens/gen15.xml
index e97d8d1..c3bd263 100644
--- a/scoregens/gen15.xml
+++ b/scoregens/gen15.xml
@@ -53,17 +53,109 @@ xamp * int(size/2)/xint
     </para>
 
     <note>
-      <title>Note</title>
+      <title>Notes</title>
       <para>
-        <emphasis>GEN15</emphasis> creates two tables of equal size, labeled <emphasis>f </emphasis># and <emphasis>f</emphasis> # + 1. Table # will contain a Chebyshev function of the first kind, drawn using <link linkend="GEN03"><citetitle>GEN03</citetitle></link> with partial strengths <emphasis>h0cos(phs0), h1cos(phs1), ...</emphasis> Table #+1 will contain a Chebyshev function of the 2nd kind by calling <link linkend="GEN14"><citetitle>GEN14</citetitle></link> with partials <emphasis>h1sin(phs1), h2sin(phs2),...</emphasis> (note the harmonic displacement). The two tables can be used in conjunction in a waveshaping network that exploits phase quadrature.
+        <emphasis>GEN15</emphasis> creates two tables of equal size, labeled <emphasis>f </emphasis># and <emphasis>f</emphasis> # + 1. Table # will contain a Chebyshev function of the first kind, drawn using <link linkend="GEN13"><citetitle>GEN13</citetitle></link> with partial strengths <emphasis>h0cos(phs0), h1cos(phs1), ...</emphasis> Table #+1 will contain a Chebyshev function of the 2nd kind by calling <link linkend="GEN14"><citetitle>GEN14</citetitle></link> with partials <emphasis>h1sin(phs1), h2sin(phs2),...</emphasis> (note the harmonic displacement). The two tables can be used in conjunction in a waveshaping network that exploits phase quadrature.
+      </para>
+      <para>
+        Before version 5.16 there was a bug (pointed out by Menno Knevel and fixed
+        by &namepinot;) on the number of pfields transmitted to gen13 and gen14 by
+        gen15. The consequence is that all the csd, or orc and sco files that used
+        gen15 before this bug was fixed, are likely to sound different now.
       </para>
     </note>
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+	    Here is an example of the GEN15 routine. It uses the files <ulink url="examples/gen15.csd"><citetitle>gen15.csd</citetitle></ulink>.
+      <example>
+        <title>An example of the GEN15 routine.</title>
+        <xi:include href="examples-xml/gen15.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+      <textobject>
+        <phrase>These are the diagrams of the waveforms of the GEN15 routine, as used in the example
+        (in each diagram, the curve in blue is for ftable 33 and the curve in green is for
+        table 34):</phrase>
+      </textobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen15-1.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 33 0 8193 -15 1 1 1 0 1 180 .8 45 .6 270 .5 90 .4 225 .2 135 .1 315</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 33 0 8193 -15 1 1 1 0 1 180 .8 45 .6 270 .5 90 .4 225 .2 135 .1 315</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen15-2.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 33 0 8193 -15 1 1 1 0 1 0 1 180 1 180 1 0 1 0 1 180 1 180 1 0 1 0 1 180 1 180</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 33 0 8193 -15 1 1 1 0 1 0 1 180 1 180 1 0 1 0 1 180 1 180 1 0 1 0 1 180 1 180</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen15-3.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 33 0 8193 -15 1 1 1 0 1 0 .9 180 .5 270 .75 90 .4 45 .2 225 .1 0</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 33 0 8193 -15 1 1 1 0 1 0 .9 180 .5 270 .75 90 .4 45 .2 225 .1 0</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen15-4.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 33 0 8193 -15 1  1  1 0 1 0 .5 0 .9 0 .3 0 .75 0 .2 180 .6 180 .15 180 .5 180 .1 180</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 33 0 8193 -15 1  1  1 0 1 0 .5 0 .9 0 .3 0 .75 0 .2 180 .6 180 .15 180 .5 180 .1 180</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen15-5.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 33 0 8193 -15 1 1 1 180 1 180 .5 180 .9 180 .3 180 .75 180 .2 0 .6 0 .15 0 .5 0 .1 0</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 33 0 8193 -15 1 1 1 180 1 180 .5 180 .9 180 .3 180 .75 180 .2 0 .6 0 .15 0 .5 0 .1 0</para>
+        </caption>
+      </mediaobject>
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>See Also</title>
     <para>
-      <link linkend="GEN03"><citetitle>GEN03</citetitle></link>,
       <link linkend="GEN13"><citetitle>GEN13</citetitle></link>, and
       <link linkend="GEN14"><citetitle>GEN14</citetitle></link>.
     </para>
diff --git a/scoregens/gen16.xml b/scoregens/gen16.xml
index 2ff0f84..e094f03 100644
--- a/scoregens/gen16.xml
+++ b/scoregens/gen16.xml
@@ -21,15 +21,21 @@
 
   <refsect1>
     <title>Syntax</title>
-    <synopsis><command>f</command> # time size 16 beg dur type end</synopsis>
+    <synopsis><command>f</command> # time size 16 val1 dur1 type1 val2 [dur2 type2 val3 ... typeX valN]</synopsis>
   </refsect1>
 
   <refsect1>
     <title>Initialization</title>
     <para>
-      <emphasis>size</emphasis> -- number of points in the table. Must be a power of 2 or a power-of-2 plus 1 (see <link linkend="f"><citetitle>f statement</citetitle></link>). The normal value is power-of-2 plus 1.
+      <emphasis>size</emphasis> -- number of points in the table. Must
+      be a power of 2 or a power-of-2 plus 1 (see <link
+      linkend="f"><citetitle>f statement</citetitle></link>). The
+      normal value is power-of-2 plus 1.
     </para>
-
+    <note>
+      The end value is only reached  when the table length is power-of-2 plus 1.
+      (This length is crucial for use with the tab opcode.)
+    </note>
     <para>
       <emphasis>beg</emphasis> -- starting value
     </para>
diff --git a/scoregens/gen17.xml b/scoregens/gen17.xml
index 66911b4..8c536fe 100644
--- a/scoregens/gen17.xml
+++ b/scoregens/gen17.xml
@@ -56,6 +56,32 @@
 
       This describes a step function with 8 successively increasing levels, each 12 locations wide except the last which extends its value to the end of the table. Rescaling is inhibited. Indexing into this table with a MIDI note-number would retrieve a different value every octave up to the eighth, above which the value returned would remain the same.
     </para>
+    <para>
+	    Here is a complete example of the GEN17 routine. It uses the files <ulink url="examples/gen17.csd"><citetitle>gen17.csd</citetitle></ulink>.
+      <example>
+        <title>An example of the GEN17 routine.</title>
+        <xi:include href="examples-xml/gen17.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+        <textobject>
+          <phrase>This is the diagram of the waveform of the GEN17 routine, as used in the example:</phrase>
+        </textobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen17.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 2 0 128 -17 0 10 32 20 64 30 96 40 - a step function with 4 equal levels, each 32 locations wide except the last which extends its value to the end of the table</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 2 0 128 -17 0 10 32 20 64 30 96 40 - a step function with 4 equal levels, each 32 locations wide except the last which extends its value to the end of the table</para>
+        </caption>
+      </mediaobject>
+
+    </para>
   </refsect1>
 
   <refsect1>
diff --git a/scoregens/gen18.xml b/scoregens/gen18.xml
index 61a39a2..e20fb71 100644
--- a/scoregens/gen18.xml
+++ b/scoregens/gen18.xml
@@ -27,7 +27,7 @@
   <refsect1>
     <title>Initialization</title>
     <para>
-      <emphasis>size</emphasis> -- number of points in the table. Must be a power-of-2 plus 1 (see <link linkend="f">f</link> statement).
+      <emphasis>size</emphasis> -- number of points in the table. Must be a power-of-2 (see <link linkend="f">f</link> statement).
     </para>
 
     <para>
@@ -43,7 +43,7 @@
     </para>
 
     <para>
-      <emphasis>finisha, finishb, etc.</emphasis> -- where to stop writing the fn into the table.
+      <emphasis>finisha, finishb, etc.</emphasis> -- where to stop writing the fn into the table. The last available location is the power of two - 1.
     </para>
   </refsect1>
 
@@ -54,10 +54,62 @@
       <informalexample>
         <programlisting>
 <emphasis role="stamnt">f</emphasis> 1  0  4096  10  1
-<emphasis role="stamnt">f</emphasis> 2  0  1025  18  1  1  0  512  1  1  513  1025</programlisting>
+<emphasis role="stamnt">f</emphasis> 2  0  1024  18  1  1  0  511  1  1  512  1023</programlisting>
       </informalexample>
 
-      f2 consists of two copies of f1 written in to locations 0-512 and 513-1025.
+      f2 consists of two copies of f1 written in to locations 0-511 and 512-1023.
+    </para>
+    <para>
+	    Here is an example of the GEN18 routine. It uses the files <ulink url="examples/gen18.csd"><citetitle>gen18.csd</citetitle></ulink>.
+      <example>
+        <title>An example of the GEN18 routine.</title>
+        <xi:include href="examples-xml/gen18.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+        <textobject>
+          <phrase>These are the diagrams of the waveforms generated by GEN18, as used in the example:</phrase>
+        </textobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen18_1.png" format="PNG"/>
+        <textobject>
+          <phrase>f 11 0 8193 18 1 1 0 4096 2 1 4097 8192 - composite waveform made up of a sine wave and a sawtooth</phrase>
+        </textobject>
+        </imageobject>
+
+        <caption>
+          <para>f 11 0 8193 18 1 1 0 4096 2 1 4097 8192 - composite waveform made up of a sine wave and a sawtooth</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen18_2.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 12 0 8192  18 1 1 0 4096 3 1 4097 8192 - composite waveform made up of a sine wave and a wave of cosine partials</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 12 0 8192  18 1 1 0 4096 3 1 4097 8192 - composite waveform made up of a sine wave and a wave of cosine partials</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen18_3.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 13 0 1024  18 1 0.7 0 767 3 0.7 512 1023 - sine+cosine partials overlapped, also shorter table than f12</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 13 0 1024  18 1 0.7 0 767 3 0.7 512 1023 - sine+cosine partials overlapped, also shorter table than f12</para>
+        </caption>
+      </mediaobject>
     </para>
   </refsect1>
 
diff --git a/scoregens/gen19.xml b/scoregens/gen19.xml
index f66888c..22b21f9 100644
--- a/scoregens/gen19.xml
+++ b/scoregens/gen19.xml
@@ -63,35 +63,38 @@
       </para>
     </note>
   </refsect1>
- 
+
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is a simple example of the GEN19 routine. It uses the file <ulink url="examples/gen19.csd"><citetitle>gen19.csd</citetitle></ulink>.  It will generate a nice bell curve, here is its diagram:
+	    Here is an example of the GEN19 routine. It uses the files <ulink url="examples/gen19.csd"><citetitle>gen19.csd</citetitle></ulink>.
+      <example>
+        <title>An example of the GEN19 routine.</title>
+        <xi:include href="examples-xml/gen19.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+        <textobject>
+          <phrase>This is the diagram of the waveform of the GEN19 routines, as used in the example:</phrase>
+        </textobject>
+
       <mediaobject>
         <imageobject>
-          <imagedata fileref="images/gen19.png" format="PNG"/>
+          <imagedata fileref="images/gen19_1.png" format="PNG"/>
         </imageobject>
 
         <textobject>
-          <phrase>Diagram of the waveform generated by GEN19.</phrase>
+          <phrase>f 2 0 1024 19 .5 .5 270 .5 - a rising sigmoid</phrase>
         </textobject>
 
         <caption>
-          <para>Diagram of the waveform generated by GEN19.</para>
+          <para>f 2 0 1024 19 .5 .5 270 .5 - a rising sigmoid</para>
         </caption>
       </mediaobject>
 
-      <example>
-        <title>A simple example of the GEN19 routine.</title>
-        <para>
-          See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.
-        </para>
-        <xi:include href="examples-xml/gen19.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
     </para>
   </refsect1>
 
+
   <refsect1>
      <title>See Also</title>
      <para>
@@ -100,8 +103,4 @@
      </para>
   </refsect1>
 
-  <refsect1>
-    <title>Credits</title>
-    <para>Example written by &namekevin;</para>
-  </refsect1>
 </refentry>
diff --git a/scoregens/gen20.xml b/scoregens/gen20.xml
index 7745f73..9e13195 100644
--- a/scoregens/gen20.xml
+++ b/scoregens/gen20.xml
@@ -127,10 +127,53 @@
       example the s.d. is 2.  The default value is 1.
     </para>
     <para>
-      For diagrams, see <link linkend="MiscWindows"><citetitle>Window Functions</citetitle></link>
+      For all diagrams, see <link linkend="MiscWindows"><citetitle>Window Functions</citetitle></link>
+    </para>
+
+    <para>
+      Here is an example of the GEN20 routine. It uses the file <ulink url="examples/gen20.csd"><citetitle>gen20.csd</citetitle></ulink>.
+
+           <example>
+        <title>Example of the GEN20 routine.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/gen20.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>  
+        <textobject>
+          <phrase>These are the diagrams of the waveforms of the GEN20 routines, as used in the example:</phrase>
+        </textobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen20_1.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>  f 1  0 512 20 2 - Hanning window</phrase>
+        </textobject>
+
+
+        <caption>
+          <para>  f 1  0 512 20 2 - Hanning window</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen20_2.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>  f 2  0 512 20 6 1 - Gaussian window</phrase>
+        </textobject>
+
+        <caption>
+          <para>  f 2  0 512 20 6 1 - Gaussian window</para>
+        </caption>
+      </mediaobject>
+   
     </para>
   </refsect1>
- 
+
   <refsect1>
     <title>Credits</title>
     <para>
diff --git a/scoregens/gen21.xml b/scoregens/gen21.xml
index 7a3db94..076f03a 100644
--- a/scoregens/gen21.xml
+++ b/scoregens/gen21.xml
@@ -90,8 +90,89 @@
 
       All of the above additions were designed by the author between May and December 1994, under the supervision of Dr. Richard Boulanger.
     </para>
+    <para>
+      Here is a complete example of the GEN21 routine. It uses the file <ulink url="examples/gen21.csd"><citetitle>gen21.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the GEN21 routine.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/gen21.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+        <textobject>
+          <phrase>These are the diagrams of the waveforms of the GEN21 routines, as used in the example:</phrase>
+        </textobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen21_1.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 1 0 32 21 1 - positive numbers only</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 1 0 32 21 1 - positive numbers only</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen21_2.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 2 0 32 21 6</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 2 0 32 21 6</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen21_3.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 3 0 32 21 6 5.745</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 3 0 32 21 6 5.745</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen21_4.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 4 0 32 21 9 1 1 2 - positive numbers only</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 4 0 32 21 9 1 1 2 - positive numbers only</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen21_5.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 5 0 32 21 10 1 2 - positive numbers only</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 5 0 32 21 10 1 2 - positive numbers only</para>
+        </caption>
+      </mediaobject>
+    </para>
   </refsect1>
- 
+
   <refsect1>
     <title>Credits</title>
     <para>
diff --git a/scoregens/gen23.xml b/scoregens/gen23.xml
index 44dedc5..6788879 100644
--- a/scoregens/gen23.xml
+++ b/scoregens/gen23.xml
@@ -42,6 +42,35 @@
     </note>
   </refsect1>
  
+    <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the GEN23 opcode. It uses the file <ulink url="examples/gen23.csd"><citetitle>gen23.csd</citetitle></ulink> and <ulink url="examples/spectrum.txt"> <citetitle>spectrum.txt</citetitle></ulink>.
+           <example>
+        <title>Example of the GEN23 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/gen23.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>  
+        <textobject>
+          <phrase>This is the diagram of the waveform of the GEN23 routine, as used in the example:</phrase>
+        </textobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen23.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 2 0 128 -23 "spectrum.txt" - not normalized</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 2 0 128 -23 "spectrum.txt" - not normalized</para>
+        </caption>
+      </mediaobject>
+   
+    </para>
+  </refsect1>  
   <refsect1>
     <title>Credits</title>
     <para>
diff --git a/scoregens/gen24.xml b/scoregens/gen24.xml
index 421c10d..973e89f 100644
--- a/scoregens/gen24.xml
+++ b/scoregens/gen24.xml
@@ -47,6 +47,18 @@ real starting from zero.
     </note>
   </refsect1>
  
+    <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the GEN24 opcode. It uses the file <ulink url="examples/gen24.csd"><citetitle>gen24.csd</citetitle></ulink>.
+           <example>
+        <title>Example of the GEN24 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/gen24.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>  
+    </para>
+  </refsect1>
+
   <refsect1>
     <title>Credits</title>
     <para>Author: &namegabriel;</para>
diff --git a/scoregens/gen25.xml b/scoregens/gen25.xml
index 25784c2..e2c5aaa 100644
--- a/scoregens/gen25.xml
+++ b/scoregens/gen25.xml
@@ -46,6 +46,36 @@
     </note>
   </refsect1>
  
+    <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the GEN25 opcode. It uses the file <ulink url="examples/gen25.csd"><citetitle>gen25.csd</citetitle></ulink>.
+           <example>
+        <title>Example of the GEN25 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/gen25.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>  
+        <textobject>
+          <phrase>This is the diagram of the waveform of the GEN25 routine, as used in the example:</phrase>
+        </textobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen25.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 2 0 1025 25 0 0.01 200 1 400 1 513 0.01 - a function which begins at 0.01, rises to 1 at the 200th table location, makes a straight line to the 400th location, and returns to 0.01 by the end of the table</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 2 0 1025 25 0 0.01 200 1 400 1 513 0.01 - a function which begins at 0.01, rises to 1 at the 200th table location, makes a straight line to the 400th location, and returns to 0.01 by the end of the table</para>
+        </caption>
+      </mediaobject>
+   
+    </para>
+  </refsect1> 
+
   <refsect1>
     <title>See Also</title>
     <para>
diff --git a/scoregens/gen27.xml b/scoregens/gen27.xml
index 4b00dc5..13e18c2 100644
--- a/scoregens/gen27.xml
+++ b/scoregens/gen27.xml
@@ -46,14 +46,33 @@
     </note>
   </refsect1>
  
-  <refsect1>
+    <refsect1>
     <title>Examples</title>
     <para>
-      <informalexample>
-        <programlisting><emphasis role="stamnt">f</emphasis> 1 0 257 27 0 0 100 1 200 -1 256 0</programlisting>
-      </informalexample>
+      Here is an example of the GEN27 opcode. It uses the file <ulink url="examples/gen27.csd"><citetitle>gen27.csd</citetitle></ulink>.
+           <example>
+        <title>Example of the GEN27 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/gen27.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>  
+        <textobject>
+          <phrase>This is the diagram of the waveform of the GEN27 routine, as used in the example:</phrase>
+        </textobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen27.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 2 0 1025 27 0 0 200 1 400 -1 513 0 - a function which begins at 0, rises to 1 at the 200th table location, falls to -1, by the 400th location, and returns to 0 by the end of the table. The interpolation is linear</phrase>
+        </textobject>
 
-      This describes a function which begins at 0, rises to 1 at the 100th table location, falls to -1, by the 200th location, and returns to 0 by the end of the table. The interpolation is linear.
+        <caption>
+          <para>f 2 0 1025 27 0 0 200 1 400 -1 513 0 - a function which begins at 0, rises to 1 at the 200th table location, falls to -1, by the 400th location, and returns to 0 by the end of the table. The interpolation is linear</para>
+        </caption>
+      </mediaobject>
+   
     </para>
   </refsect1>
 
diff --git a/scoregens/gen28.xml b/scoregens/gen28.xml
index c8b7eef..6d1f990 100644
--- a/scoregens/gen28.xml
+++ b/scoregens/gen28.xml
@@ -85,8 +85,16 @@ time3    X3      Y3
 
       Since <emphasis>GEN28</emphasis> creates values to 10 milliseconds of resolution, there will be 500 values created by interpolating X1 to X2 to X3 and so on, and Y1 to Y2 to Y3 and so on, over the appropriate number of values that are stored in the function table. The sound will begin in the left front, over 1 second it will move to the right front, over another second it move further into the distance but still in the right front, then in just 1/10th of a second it moves to the left rear, a bit distant. Finally over the last .9 seconds the sound will move to the right rear, moderately distant, and it comes to rest between the two left channels (due west!), quite distant.
     </para>
+    <para>
+      Here is an example of the GEN28 routine. It uses the file <ulink url="examples/gen28.csd"><citetitle>gen28.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the gen28 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/gen28.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
   </refsect1>
- 
+
   <refsect1>
     <title>Credits</title>
     <para>
diff --git a/scoregens/gen30.xml b/scoregens/gen30.xml
index 0d86a47..e7a4ff9 100644
--- a/scoregens/gen30.xml
+++ b/scoregens/gen30.xml
@@ -54,6 +54,18 @@
       The reason of this limitation is that <emphasis>GEN30</emphasis> uses FFT, which requires power of two table size.  <link linkend="GEN32"><citetitle>GEN32</citetitle></link> allows using linear interpolation for resampling and phase shifting, which makes it possible to use any table size (however, for partials calculated with FFT, the power of two limitation still exists).
     </para>
   </refsect1>
+ 
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the GEN30 routine. It uses the files <ulink url="examples/gen30.csd"><citetitle>gen30.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the GEN30 routine.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/gen30.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
 
   <refsect1>
     <title>Credits</title>
diff --git a/scoregens/gen32.xml b/scoregens/gen32.xml
index 644d4da..2f2afaf 100644
--- a/scoregens/gen32.xml
+++ b/scoregens/gen32.xml
@@ -42,63 +42,16 @@
       <emphasis>phsa, phsb, ...</emphasis> -- start phase (0 to 1)
     </para>
   </refsect1>
-
+ 
   <refsect1>
     <title>Examples</title>
     <para>
-      <informalexample>
-        <programlisting>
-itmp    <emphasis role="opc">ftgen</emphasis> 1, 0, 16384, 7, 1, 16384, <emphasis role="op">-</emphasis>1      <emphasis role="comment">; sawtooth</emphasis>
-itmp    <emphasis role="opc">ftgen</emphasis> 2, 0, 8192, 10, 1                 <emphasis role="comment">; sine</emphasis>
-<emphasis role="comment">; mix tables</emphasis>
-itmp    <emphasis role="opc">ftgen</emphasis> 5, 0, 4096, <emphasis role="op">-</emphasis>32, <emphasis role="op">-</emphasis>2, 1.5, 1.0, 0.25, 1, 2, 0.5, 0,        \
-                                1, 3, <emphasis role="op">-</emphasis>0.25, 0.5
-<emphasis role="comment">; window</emphasis>
-itmp    <emphasis role="opc">ftgen</emphasis> 6, 0, 16384, 20, 3, 1
-<emphasis role="comment">; generate band-limited waveforms</emphasis>
-inote   <emphasis role="op">=</emphasis>  0
-<emphasis role="olabel">loop0:</emphasis>
-icps    <emphasis role="op">=</emphasis>  440 <emphasis role="op">*</emphasis> <emphasis role="opc">exp</emphasis>(<emphasis role="opc">log</emphasis>(2) <emphasis role="op">*</emphasis> (inote <emphasis role="op">-</emphasis> 69) <emphasis role="op">/</emphasis> 12)        <emphasis role="comment">; one table for</emphasis>
-inumh   <emphasis role="op">=</emphasis>  <emphasis role="ohdr">sr</emphasis> <emphasis role="op">/</emphasis> (2 <emphasis role="op">*</emphasis> icps)                              <emphasis role="comment">; each MIDI note number</emphasis>
-ift     <emphasis role="op">=</emphasis>  <emphasis role="opc">int</emphasis>(inote <emphasis role="op">+</emphasis> 256.5)
-itmp    <emphasis role="opc">ftgen</emphasis> ift, 0, 4096, <emphasis role="op">-</emphasis>30, 5, 1, inumh
-inote   <emphasis role="op">=</emphasis>  inote <emphasis role="op">+</emphasis> 1
-        <emphasis role="octrl">if</emphasis> (inote <emphasis role="op"><</emphasis> 127.5) <emphasis role="octrl">igoto</emphasis> <emphasis role="olabel">loop0</emphasis>
-
-        <emphasis role="oblock">instr</emphasis> 1
-
-kcps    <emphasis role="opc">expon</emphasis> 20, p3, 16000
-kft     <emphasis role="op">=</emphasis>  <emphasis role="opc">int</emphasis>(256.5 <emphasis role="op">+</emphasis> 69 <emphasis role="op">+</emphasis> 12 <emphasis role="op">*</emphasis> <emphasis role="opc">log</emphasis>(kcps <emphasis role="op">/</emphasis> 440) <emphasis role="op">/</emphasis> <emphasis role="opc">log</emphasis>(2))
-kft     <emphasis role="op">=</emphasis>  (kft <emphasis role="op">></emphasis> 383 <emphasis role="op">?</emphasis> 383 <emphasis role="op">:</emphasis> kft)
-
-a1      <emphasis role="opc">phasor</emphasis> kcps
-a1      <emphasis role="opc">tableikt</emphasis> a1, kft, 1, 0, 1
-
-        <emphasis role="opc">out</emphasis> a1 <emphasis role="op">*</emphasis> 10000
-
-        <emphasis role="oblock">endin</emphasis>
-        <emphasis role="oblock">instr</emphasis> 2
-
-kcps    <emphasis role="opc">expon</emphasis> 20, p3, 16000
-kft     <emphasis role="op">=</emphasis>  <emphasis role="opc">int</emphasis>(256.5 <emphasis role="op">+</emphasis> 69 <emphasis role="op">+</emphasis> 12 <emphasis role="op">*</emphasis> <emphasis role="opc">log</emphasis>(kcps <emphasis role="op">/</emphasis> 440) <emphasis role="op">/</emphasis> <emphasis role="opc">log</emphasis>(2))
-kft     <emphasis role="op">=</emphasis>  (kft <emphasis role="op">></emphasis> 383 <emphasis role="op">?</emphasis> 383 <emphasis role="op">:</emphasis> kft)
-
-kgdur   <emphasis role="opc">limit</emphasis> 10 <emphasis role="op">/</emphasis> kcps, 0.1, 1
-a1      <emphasis role="opc">grain2</emphasis> kcps, 0.02, kgdur, 30, kft, 6, <emphasis role="op">-</emphasis>0.5
-
-        <emphasis role="opc">out</emphasis> a1 <emphasis role="op">*</emphasis> 2000
-
-        <emphasis role="oblock">endin</emphasis>
-
-----------
-score:
-----------
-
-<emphasis role="stamnt">t</emphasis> 0 60
-<emphasis role="stamnt">i</emphasis> 1 0 10
-<emphasis role="stamnt">i</emphasis> 2 12 10
-<emphasis role="stamnt">e</emphasis></programlisting>
-      </informalexample>
+      Here is an example of the GEN32 routine. It uses the file <ulink url="examples/gen32.csd"><citetitle>gen32.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the gen32 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/gen32.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
     </para>
   </refsect1>
 
diff --git a/scoregens/gen33.xml b/scoregens/gen33.xml
index 361d8ec..adfd6e8 100644
--- a/scoregens/gen33.xml
+++ b/scoregens/gen33.xml
@@ -63,37 +63,34 @@ stra, pna, phsa, strb, pnb, phsb, ...
       <emphasis>fmode</emphasis> (optional, default = 0) -- a non-zero value can be used to set frequency in Hz instead of partial numbers in the source table.  The sample rate is assumed to be fmode if it is positive, or -(sr * fmode) if any negative value is specified.
     </para>
   </refsect1>
-
+ 
   <refsect1>
     <title>Examples</title>
     <para>
-      <informalexample>
-        <programlisting>
-<emphasis role="comment">; partials 1, 4, 7, 10, 13, 16, etc. with base frequency of 400 Hz</emphasis>
-
-ibsfrq  <emphasis role="op">=</emphasis>  400
-<emphasis role="comment">; estimate number of partials</emphasis>
-inumh   <emphasis role="op">=</emphasis>  <emphasis role="opc">int</emphasis>(1.5 <emphasis role="op">+</emphasis> <emphasis role="ohdr">sr</emphasis> <emphasis role="op">*</emphasis> 0.5 <emphasis role="op">/</emphasis> (3 <emphasis role="op">*</emphasis> ibsfrq))
-<emphasis role="comment">; source table length</emphasis>
-isrcln  <emphasis role="op">=</emphasis>  <emphasis role="opc">int</emphasis>(0.5 <emphasis role="op">+</emphasis> <emphasis role="opc">exp</emphasis>(<emphasis role="opc">log</emphasis>(2) <emphasis role="op">*</emphasis> <emphasis role="opc">int</emphasis>(1.01 <emphasis role="op">+</emphasis> <emphasis role="opc">log</emphasis>(inumh <emphasis role="op">*</emphasis> 3) <emphasis role="op">/</emphasis> <emphasis role="opc">log</emphasis>(2))))
-<emphasis role="comment">; create empty source table</emphasis>
-itmp    <emphasis role="opc">ftgen</emphasis> 1, 0, isrcln, <emphasis role="op">-</emphasis>2, 0
-ifpos   =  0
-ifrq    =  ibsfrq
-inumh   =  0
-<emphasis role="olabel">l1</emphasis>:
-        <emphasis role="opc">tableiw</emphasis> ibsfrq <emphasis role="op">/</emphasis> ifrq, ifpos, 1         <emphasis role="comment">; amplitude</emphasis>
-        <emphasis role="opc">tableiw</emphasis> ifrq, ifpos <emphasis role="op">+</emphasis> 1, 1              <emphasis role="comment">; frequency</emphasis>
-        <emphasis role="opc">tableiw</emphasis> 0, ifpos <emphasis role="op">+</emphasis> 2, 1                 <emphasis role="comment">; phase</emphasis>
-ifpos   <emphasis role="op">=</emphasis>  ifpos <emphasis role="op">+</emphasis> 3
-ifrq    <emphasis role="op">=</emphasis>  ifrq <emphasis role="op">+</emphasis> ibsfrq <emphasis role="op">*</emphasis> 3
-inumh   <emphasis role="op">=</emphasis>  inumh <emphasis role="op">+</emphasis> 1
-        <emphasis role="octrl">if</emphasis> (ifrq <emphasis role="op"><</emphasis> (<emphasis role="ohdr">sr</emphasis> <emphasis role="op">*</emphasis> 0.5)) <emphasis role="op">igoto</emphasis> <emphasis role="olabel">l1</emphasis>
-
-<emphasis role="comment">; store output in ftable 2 (size = 262144)</emphasis>
-
-itmp    <emphasis role="opc">ftgen</emphasis> 2, 0, 262144, <emphasis role="op">-</emphasis>33, 1, inumh, 1, <emphasis role="op">-</emphasis>1</programlisting>
-      </informalexample>
+      Here is an example of the GEN33 routine. It uses the file <ulink url="examples/gen33.csd"><citetitle>gen33.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the gen33 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/gen33.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+        <textobject>
+          <phrase>This is the diagram of the waveform generated by GEN33, as used in the example:</phrase>
+        </textobject>
+    <para>
+    </para>
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen33.png" format="PNG"/>
+        <textobject>
+          <phrase>f 2 0 262144 -33 1 inumh 1 -1</phrase>
+        </textobject>
+        </imageobject>
+
+        <caption>
+          <para>f 2 0 262144 -33 1 inumh 1 -1</para>
+        </caption>
+      </mediaobject>
     </para>
   </refsect1>
 
diff --git a/scoregens/gen34.xml b/scoregens/gen34.xml
index 9b70a03..0a170b6 100644
--- a/scoregens/gen34.xml
+++ b/scoregens/gen34.xml
@@ -64,36 +64,35 @@ stra, pna, phsa, strb, pnb, phsb, ...
     </para>
   </refsect1>
 
+ 
   <refsect1>
     <title>Examples</title>
     <para>
-      <informalexample>
-        <programlisting>
-<emphasis role="comment">; partials 1, 4, 7, 10, 13, 16, etc. with base frequency of 400 Hz</emphasis>
-
-ibsfrq  <emphasis role="op">=</emphasis>  400
-<emphasis role="comment">; estimate number of partials</emphasis>
-inumh   <emphasis role="op">=</emphasis>  <emphasis role="opc">int</emphasis>(1.5 <emphasis role="op">+</emphasis> <emphasis role="ohdr">sr</emphasis> <emphasis role="op">*</emphasis> 0.5 <emphasis role="op">/</emphasis> (3 <emphasis role="op">*</emphasis> ibsfrq))
-<emphasis role="comment">; source table length</emphasis>
-isrcln  <emphasis role="op">=</emphasis>  <emphasis role="opc">int</emphasis>(0.5 <emphasis role="op">+</emphasis> <emphasis role="opc">exp</emphasis>(<emphasis role="opc">log</emphasis>(2) <emphasis role="op">*</emphasis> <emphasis role="opc">int</emphasis>(1.01 <emphasis role="op">+</emphasis> <emphasis role="opc">log</emphasis>(inumh <emphasis role="op">*</emphasis> 3) <emphasis role="op">/</emphasis> <emphasis role="opc">log</emphasis>(2))))
-<emphasis role="comment">; create empty source table</emphasis>
-itmp    <emphasis role="opc">ftgen</emphasis> 1, 0, isrcln, <emphasis role="op">-</emphasis>2, 0
-ifpos   =  0
-ifrq    =  ibsfrq
-inumh   =  0
-<emphasis role="olabel">l1</emphasis>:
-        <emphasis role="opc">tableiw</emphasis> ibsfrq <emphasis role="op">/</emphasis> ifrq, ifpos, 1         <emphasis role="comment">; amplitude</emphasis>
-        <emphasis role="opc">tableiw</emphasis> ifrq, ifpos <emphasis role="op">+</emphasis> 1, 1              <emphasis role="comment">; frequency</emphasis>
-        <emphasis role="opc">tableiw</emphasis> 0, ifpos <emphasis role="op">+</emphasis> 2, 1                 <emphasis role="comment">; phase</emphasis>
-ifpos   <emphasis role="op">=</emphasis>  ifpos <emphasis role="op">+</emphasis> 3
-ifrq    <emphasis role="op">=</emphasis>  ifrq <emphasis role="op">+</emphasis> ibsfrq <emphasis role="op">*</emphasis> 3
-inumh   <emphasis role="op">=</emphasis>  inumh <emphasis role="op">+</emphasis> 1
-        <emphasis role="octrl">if</emphasis> (ifrq <emphasis role="op"><</emphasis> (<emphasis role="ohdr">sr</emphasis> <emphasis role="op">*</emphasis> 0.5)) <emphasis role="op">igoto</emphasis> <emphasis role="olabel">l1</emphasis>
-
-<emphasis role="comment">; store output in ftable 2 (size = 262144)</emphasis>
-
-itmp    <emphasis role="opc">ftgen</emphasis> 2, 0, 262144, <emphasis role="op">-</emphasis>34, 1, inumh, 1, <emphasis role="op">-</emphasis>1</programlisting>
-      </informalexample>
+      Here is an example of the GEN34 routine. It uses the file <ulink url="examples/gen34.csd"><citetitle>gen34.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the gen34 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/gen34.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+        <textobject>
+          <phrase>This is the diagram of the waveform generated by GEN34, as used in the example:</phrase>
+        </textobject>
+    <para>
+    </para>
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen34.png" format="PNG"/>
+        <textobject>
+          <phrase>f 2 0 262144 -34 1 inumh 1 -1</phrase>
+        </textobject>
+        </imageobject>
+
+        <caption>
+          <para>f 2 0 262144 -34 1 inumh 1 -1</para>
+        </caption>
+      </mediaobject>
+
     </para>
   </refsect1>
 
diff --git a/scoregens/gen40.xml b/scoregens/gen40.xml
index 82887b5..5a380bf 100644
--- a/scoregens/gen40.xml
+++ b/scoregens/gen40.xml
@@ -39,6 +39,66 @@
     </para>
   </refsect1>
 
+    <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the GEN40 opcode. It uses the file <ulink url="examples/gen40.csd"><citetitle>gen40.csd</citetitle></ulink>.
+            <example>
+        <title>Example of the GEN40 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/gen40.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>     
+      Its output should include lines like these:
+      <screen>
+ i   1 time     0.00067:    53.14918
+ i   1 time     0.20067:     0.00000
+ i   1 time     0.40067:     0.00000
+ i   1 time     0.60067:    96.80406
+ i   1 time     0.80067:    94.20729
+ i   1 time     1.00000:     0.00000
+ i   1 time     1.20067:    86.13032
+ i   1 time     1.40067:    31.37096
+ i   1 time     1.60067:    70.35889
+ i   1 time     1.80000:     0.00000
+ i   1 time     2.00000:    49.18914
+
+WARNING: Seeding from current time 2006647442
+
+ i   2 time     3.00067:    21.45002
+ i   2 time     3.20067:    44.32333
+ i   2 time     3.40067:    46.05420
+ i   2 time     3.60000:     0.00000
+ i   2 time     3.80067:    41.32175
+ i   2 time     4.00000:     0.00000
+ i   2 time     4.20000:    63.72019
+ i   2 time     4.40067:     0.00000
+ i   2 time     4.60067:     0.00000
+ i   2 time     4.80067:     0.00000
+ i   2 time     5.00000:    74.49330
+      </screen>
+
+        <textobject>
+          <phrase>This is the diagram of the waveform of the GEN40 routine, as used in the example:</phrase>
+        </textobject>
+    <para>
+    </para>
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen40.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 2 0 16384 40 1</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 2 0 16384 40 1</para>
+        </caption>
+      </mediaobject>
+
+    </para>
+  </refsect1>
+
   <refsect1>
     <title>Credits</title>
     <para>Author: &namegabriel;</para>
diff --git a/scoregens/gen41.xml b/scoregens/gen41.xml
index 0975be3..c0f6b30 100644
--- a/scoregens/gen41.xml
+++ b/scoregens/gen41.xml
@@ -35,6 +35,50 @@
     </para>
   </refsect1>
 
+    <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the GEN41 opcode. It uses the file <ulink url="examples/gen41.csd"><citetitle>gen41.csd</citetitle></ulink>.
+            <example>
+        <title>Example of the GEN41 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/gen41.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>     
+      Its output should include lines like these:
+      <screen>
+i   1 time     0.00067:     8.00000
+i   1 time     0.00133:     8.00000
+i   1 time     0.00200:     8.00000
+i   1 time     0.00267:     8.00000
+i   1 time     0.00333:     2.00000
+i   1 time     0.00400:     8.00000
+i   1 time     0.00533:     8.00000
+i   1 time     0.00600:     8.00000
+..........
+      </screen>
+
+        <textobject>
+          <phrase>This is the diagram of the waveform of the GEN41 routine, as used in the example:</phrase>
+        </textobject>
+    <para>
+    </para>
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen41.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 1 0 -20 -41  2 .1 8 .9</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 1 0 -20 -41  2 .1 8 .9</para>
+        </caption>
+      </mediaobject>
+
+    </para>
+  </refsect1>
+
   <refsect1>
     <title>Credits</title>
     <para>Author: &namegabriel;</para>
diff --git a/scoregens/gen42.xml b/scoregens/gen42.xml
index 87d546e..bd7f99a 100644
--- a/scoregens/gen42.xml
+++ b/scoregens/gen42.xml
@@ -35,6 +35,55 @@
     </para>
   </refsect1>
 
+    <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the GEN42 opcode. It uses the file <ulink url="examples/gen42.csd"><citetitle>gen42.csd</citetitle></ulink>.
+            <example>
+        <title>Example of the GEN42 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/gen42.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>     
+      Its output should include lines like these:
+      <screen>
+ i1   184.61538
+ i1   130.76923
+ i1   169.23077
+ i1    12.00000
+.......
+
+WARNING: Seeding from current time 3751086165
+
+ i2   138.46154
+ i2    12.00000
+ i2   123.07692
+ i2   161.53846
+ i2   123.07692
+ i2   153.84615
+......
+      </screen>
+
+        <textobject>
+          <phrase>This is the diagram of the waveform of the GEN42 routine, as used in the example:</phrase>
+        </textobject>
+    <para>
+    </para>
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen42.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>  f 1 0 -20 -42  10 20 .3 100 200 .7</phrase>
+        </textobject>
+
+        <caption>
+          <para>  f 1 0 -20 -42  10 20 .3 100 200 .7</para>
+        </caption>
+      </mediaobject>
+    </para>
+  </refsect1>
+
   <refsect1>
     <title>Credits</title>
     <para>Author: &namegabriel;</para>
diff --git a/scoregens/gen49.xml b/scoregens/gen49.xml
index 4ba6374..f1f8a43 100644
--- a/scoregens/gen49.xml
+++ b/scoregens/gen49.xml
@@ -91,16 +91,31 @@
   <refsect1>
     <title>Examples</title>
     <para>
-	    Here is a simple example of the GEN49 routine. It uses the files <ulink url="examples/gen49.csd"><citetitle>gen49.csd</citetitle></ulink>, and <ulink url="examples/beats.mp3"><citetitle>beats.mp3</citetitle></ulink>. It uses the MP3 file <quote>beats.mp3</quote>.
-
+	    Here is an example of the GEN49 routine. It uses the files <ulink url="examples/gen49.csd"><citetitle>gen49.csd</citetitle></ulink>.
       <example>
-        <title>A simple example of the GEN49 routine.</title>
-
+        <title>An example of the GEN49 routine.</title>
         <xi:include href="examples-xml/gen49.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-
       </example>
-    </para>
 
+        <textobject>
+          <phrase>This is the diagram of the waveforms of the GEN49 routine, as used in the example:</phrase>
+        </textobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen49.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 1 0 131072 49 "beats.mp3" 0 1</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 1 0 131072 49 "beats.mp3" 0 1</para>
+        </caption>
+      </mediaobject>
+
+    </para>
   </refsect1>
 
   <refsect1>
diff --git a/scoregens/gen51.xml b/scoregens/gen51.xml
index 1c78420..c23a895 100644
--- a/scoregens/gen51.xml
+++ b/scoregens/gen51.xml
@@ -94,6 +94,63 @@
   </refsect1>
 
   <refsect1>
+    <title>Examples</title>
+    <para>
+	    Here is an example of the GEN51 routine. It uses the files <ulink url="examples/gen51.csd"><citetitle>gen51.csd</citetitle></ulink>.
+      <example>
+        <title>An example of the GEN51 routine.</title>
+        <xi:include href="examples-xml/gen51.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+        <textobject>
+          <phrase>These are the diagrams of the waveforms of the GEN51 routines, as used in the example:</phrase>
+        </textobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen51_1.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 1 0 128 -51 12 2 cpsoct(8) 60 1 2^(1/12) 2^(2/12) 2^(3/12) 2^(4/12) 2^(5/12) 2^(6/12) 2^(7/12) 2^(8/12) 2^(9/12) 2^(10/12) 2^(11/12) 2^(12/12)</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 1 0 128 -51 12 2 cpsoct(8) 60 1 2^(1/12) 2^(2/12) 2^(3/12) 2^(4/12) 2^(5/12) 2^(6/12) 2^(7/12) 2^(8/12) 2^(9/12) 2^(10/12) 2^(11/12) 2^(12/12)</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen51_2.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 2 0 128 -51 10 2 cpsoct(8) 60 1 2^(1/10) 2^(2/10) 2^(3/10) 2^(4/10) 2^(5/10) 2^(6/10) 2^(7/10) 2^(8/10) 2^(9/10) 2^(10/10)</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 2 0 128 -51 10 2 cpsoct(8) 60 1 2^(1/10) 2^(2/10) 2^(3/10) 2^(4/10) 2^(5/10) 2^(6/10) 2^(7/10) 2^(8/10) 2^(9/10) 2^(10/10)</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen51_3.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 3 0 128 -51 24 2 cpsoct(8) 60 1 2^(1/24) 2^(2/24) 2^(3/24) 2^(4/24) 2^(5/24) 2^(6/24) 2^(7/24) 2^(8/24) 2^(9/24) 2^(10/24) 2^(11/24) 2^(12/24) 2^(13/24) 2^(14/24) 2^(15/24) 2^(16/24) 2^(17/24) 2^(18/24) 2^(19/24) 2^(20/24) 2^(21/24) 2^(22/24) 2^(23/24) 2^(24/24)</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 3 0 128 -51 24 2 cpsoct(8) 60 1 2^(1/24) 2^(2/24) 2^(3/24) 2^(4/24) 2^(5/24) 2^(6/24) 2^(7/24) 2^(8/24) 2^(9/24) 2^(10/24) 2^(11/24) 2^(12/24) 2^(13/24) 2^(14/24) 2^(15/24) 2^(16/24) 2^(17/24) 2^(18/24) 2^(19/24) 2^(20/24) 2^(21/24) 2^(22/24) 2^(23/24) 2^(24/24)</para>
+        </caption>
+      </mediaobject>
+
+    </para>
+  </refsect1>
+  <refsect1>
     <title>Credits</title>
     <para>Author: &namegabriel;</para>
   </refsect1>
diff --git a/scoregens/gen52.xml b/scoregens/gen52.xml
index 644c4b4..584837a 100644
--- a/scoregens/gen52.xml
+++ b/scoregens/gen52.xml
@@ -40,8 +40,6 @@
 
   <refsect1>
     <title>Example</title>
-
-
 	<programlisting>
 <emphasis role="comment">; source tables</emphasis>
 <emphasis role="stamnt">f</emphasis> 1 0 16384 10 1
@@ -52,10 +50,33 @@
 <emphasis role="stamnt">f</emphasis> 4 0 16384 -52 1 3 0 2
 <emphasis role="comment">; extract second channel from table 3</emphasis>
 <emphasis role="stamnt">f</emphasis> 5 0 16384 -52 1 3 1 2</programlisting>
+    <para>
+      Here is a complete example of the GEN52 opcode. It uses the file <ulink url="examples/gen52.csd"><citetitle>gen52.csd</citetitle></ulink>.
+           <example>
+        <title>Example of the GEN52 opcode.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/gen52.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>  
+        <textobject>
+          <phrase>This is the diagram of the waveform of the GEN52 routine, as used in the example:</phrase>
+        </textobject>
 
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gen52.png" format="PNG"/>
+        </imageobject>
 
-  </refsect1>
+        <textobject>
+          <phrase>f 3 0 262144 -52 3 2 0 4 2 1 4 2 2 4</phrase>
+        </textobject>
 
+        <caption>
+          <para>f 3 0 262144 -52 3 2 0 4 2 1 4 2 2 4</para>
+        </caption>
+      </mediaobject>
+   
+    </para>
+  </refsect1> 
   <refsect1>
     <title>Credits</title>
     <para>Author: &nameistvan;</para>
diff --git a/scoregens/genexp.xml b/scoregens/genexp.xml
index e472e3f..23d2dea 100644
--- a/scoregens/genexp.xml
+++ b/scoregens/genexp.xml
@@ -15,7 +15,7 @@
   <refsect1>
     <title>Description</title>
     <para>
-Creates an ftable with values of the exp function ....
+Creates an ftable with values of the exp function.
     </para>
   </refsect1>
   <refsect1>
@@ -32,7 +32,7 @@ Creates an ftable with values of the exp function ....
     </para>
 
     <para>
-      <emphasis>start, end</emphasis> -- first and last value to be stored.  The points stored are uniformly spaced between these to the table size
+      <emphasis>start, end</emphasis> -- first and last value to be stored; the GEN draws a curve that goes from start to end: exp(start) .... exp(end). The points stored are uniformly spaced between these to the table size
     </para>
     <para>
       <emphasis>rescale</emphasis> -- if not zero the table is not rescaled
@@ -43,18 +43,45 @@ Creates an ftable with values of the exp function ....
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is a simple example of the <emphasis>GENexp</emphasis> routine. It uses the
-      file <ulink
-      url="examples/genexp.csd"><citetitle>genexp.csd</citetitle></ulink>.
-      It will generate a simple exp shaped output wave.
+      Here is a simple example of the GENexp routine. It uses the file <ulink url="examples/genexp.csd"><citetitle>genexp.csd</citetitle></ulink>.
+           <example>
+        <title>Example of the GENexp routine.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/genexp.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>  
+        <textobject>
+          <phrase>These are the diagrams of the waveforms of the GENexp routines, as used in the example:</phrase>
+        </textobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/genexp_1.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>  f 2 0 8192 "exp" 0 15 0</phrase>
+        </textobject>
+
+
+        <caption>
+          <para>  f 2 0 8192 "exp" 0 15 0</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/genexp_2.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>  f 3 0 8192 "exp" 0 3 0</phrase>
+        </textobject>
+
+        <caption>
+          <para>  f 3 0 8192 "exp" 0 3 0</para>
+        </caption>
+      </mediaobject>
 
-      <example>
-        <title>A simple example of the GENexp routine.</title>
-        <para>
-          See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.
-        </para>
-        <xi:include href="examples-xml/genexp.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
     </para>
   </refsect1>
 
@@ -64,6 +91,7 @@ Creates an ftable with values of the exp function ....
        <link linkend="GENexp"><citetitle>GENexp</citetitle></link> and
        <link linkend="GENsone"><citetitle>GENsone</citetitle></link>.
      </para>
+          <para> More information on this routine: <ulink url="http://www.csounds.com/journal/issue11/distortionSynthesis.html"><citetitle>http://www.csounds.com/journal/issue11/distortionSynthesis</citetitle></ulink>, written by Victor Lazzarini</para>
   </refsect1>
 
   <refsect1>
diff --git a/scoregens/genfarey.xml b/scoregens/genfarey.xml
index 78166ce..644ff1a 100644
--- a/scoregens/genfarey.xml
+++ b/scoregens/genfarey.xml
@@ -182,6 +182,7 @@
      </itemizedlist>
    </para>
   </refsect1>
+
   <refsect1>
     <title>Examples</title>
     <para>
@@ -221,6 +222,48 @@ same as mode 0, but this time '1' is added to each table element.
         <xi:include href="examples-xml/genfarey.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
     </para>
+
+    <para>
+      Here is a complete example of the GENfarey routine. It uses the files <ulink url="examples/genfarey-2.csd"><citetitle>genfarey-2.csd</citetitle></ulink>.
+      <example>
+        <title>Another example of the GENfarey routine.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+        <xi:include href="examples-xml/genfarey-2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+
+        <textobject>
+          <phrase>These are the diagrams of the waveforms of the GENfarey routines, as used in the example:</phrase>
+        </textobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/genfarey-2_1.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>gidelta ftgen 100,0,-18,"farey",7,1 - delta values of Farey Sequence 7</phrase>
+        </textobject>
+
+        <caption>
+          <para>gidelta ftgen 100,0,-18,"farey",7,1 - delta values of Farey Sequence 7</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/genfarey-2_2.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>gimult ftgen 101,0,-18,"farey",7,2 - generate the denominators of fractions of F_7 </phrase>
+        </textobject>
+
+        <caption>
+          <para>gimult ftgen 101,0,-18,"farey",7,2 - generate the denominators of fractions of F_7 </para>
+        </caption>
+      </mediaobject>
+
+    </para>
   </refsect1>
 
   <refsect1>
diff --git a/scoregens/gensone.xml b/scoregens/gensone.xml
index 1279d9c..6be66aa 100644
--- a/scoregens/gensone.xml
+++ b/scoregens/gensone.xml
@@ -47,31 +47,40 @@
       is the Sone loudness curve.
     </para>
   </refsect1>
-  
+
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is a simple example of the <emphasis>GENsone</emphasis> routine. It uses the
-      file <ulink
-      url="examples/gensone.csd"><citetitle>gensone.csd</citetitle></ulink>.
-      It will generate a simple sone shaped output wave.
-
+	    Here is an example of the GENsone routine. It uses the files <ulink url="examples/gensone.csd"><citetitle>gensone.csd</citetitle></ulink>.
       <example>
-        <title>A simple example of the GENsone routine.</title>
-        <para>
-          See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.
-        </para>
+        <title>An example of the GENsone routine.</title>
         <xi:include href="examples-xml/gensone.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
       </example>
+
+        <textobject>
+          <phrase>This is the diagram of the waveforms of the GENsone routine, as used in the example:</phrase>
+        </textobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gensone.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>f 2 0 16385 "sone" 0 32000 32000 0</phrase>
+        </textobject>
+
+        <caption>
+          <para>f 2 0 16385 "sone" 0 32000 32000 0</para>
+        </caption>
+      </mediaobject>
+
     </para>
   </refsect1>
-
+  
   <refsect1>
-     <title>See Also</title>
-     <para>
-       <link linkend="GENexp"><citetitle>GENexp</citetitle></link> and
-       <link linkend="GENtanh"><citetitle>GENtanh</citetitle></link>.
-     </para>
+    <title>See Also</title>
+    <para> More information on Sone: <ulink url="http://en.wikipedia.org/wiki/Sone"><citetitle>http://en.wikipedia.org/wiki/Sone</citetitle></ulink></para>
   </refsect1>
 
   <refsect1>
diff --git a/scoregens/gentanh.xml b/scoregens/gentanh.xml
index e6004a0..b91f407 100644
--- a/scoregens/gentanh.xml
+++ b/scoregens/gentanh.xml
@@ -15,7 +15,7 @@
   <refsect1>
     <title>Description</title>
     <para>
-      Creates an ftable with values of the tanh function ....
+      Creates an ftable with values of the tanh function.
     </para>
   </refsect1>
   <refsect1>
@@ -32,7 +32,7 @@
     </para>
 
     <para>
-      <emphasis>start, end</emphasis> -- first and last value to be stored.  The points stored are uniformly spaced between these to the table size
+      <emphasis>start, end</emphasis> -- first and last value to be stored; the GEN draws a curve that goes from start to end: tanh(start) .... tanh(end). The points stored are uniformly spaced between these to the table size
     </para>
     <para>
       <emphasis>rescale</emphasis> -- if not zero the table is not rescaled
@@ -43,18 +43,58 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is a simple example of the GENtanh routine. It uses the
-      file <ulink
-      url="examples/gentanh.csd"><citetitle>gentanh.csd</citetitle></ulink>.
-      It will generate a simple tanh shaped output wave.
-
-      <example>
-        <title>A simple example of the GENtanh routine.</title>
-        <para>
-          See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.
-        </para>
-        <xi:include href="examples-xml/gentanh.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-      </example>
+      Here is a simple example of the GENtanh routine. It uses the file <ulink url="examples/gentanh.csd"><citetitle>gentanh.csd</citetitle></ulink>.
+           <example>
+        <title>Example of the GENtanh routine.</title>
+        <para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
+          <xi:include href="examples-xml/gentanh.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>  
+        <textobject>
+          <phrase>These are the diagrams of the waveforms of the GENtanh routines, as used in the example:</phrase>
+        </textobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gentanh_1.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>  f 2 0 8192 "tanh" -100 100 0 - lots of distortion</phrase>
+        </textobject>
+
+
+        <caption>
+          <para>  f 2 0 8192 "tanh" -100 100 0 - lots of distortion</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gentanh_2.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>  f 3 0 8192 "tanh" -10 10 0 - less distortion than f2 </phrase>
+        </textobject>
+
+        <caption>
+          <para>  f 3 0 8192 "tanh" -10 10 0 - less distortion than f2</para>
+        </caption>
+      </mediaobject>
+
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="images/gentanh_3.png" format="PNG"/>
+        </imageobject>
+
+        <textobject>
+          <phrase>  f 4 0 8192 "tanh" -10 15 0</phrase>
+        </textobject>
+
+        <caption>
+          <para>  f 4 0 8192 "tanh" -10 15 0</para>
+        </caption>
+      </mediaobject>
     </para>
   </refsect1>
 
@@ -63,6 +103,7 @@
      <para>
        <link linkend="GENexp"><citetitle>GENexp</citetitle></link> and
        <link linkend="GENsone"><citetitle>GENsone</citetitle></link>.
+          <para> More information on this routine: <ulink url="http://www.csounds.com/journal/issue11/distortionSynthesis.html"><citetitle>http://www.csounds.com/journal/issue11/distortionSynthesis</citetitle></ulink>, written by Victor Lazzarini</para>
      </para>
   </refsect1>
 
diff --git a/scoregens/genwave.xml b/scoregens/genwave.xml
new file mode 100644
index 0000000..100ea27
--- /dev/null
+++ b/scoregens/genwave.xml
@@ -0,0 +1,107 @@
+<refentry id="GENwave">
+      <indexterm id="IndexGENwave"><primary>GENwave</primary></indexterm>
+  <refmeta>
+    <refentrytitle>GENwave</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>"wave"</refname>
+    <refpurpose>
+      Generates a compactly supported wavelet function.
+    </refpurpose>
+  </refnamediv>
+  
+  <refsect1>
+    <title>Description</title>
+    <para>
+      Creates a compactly supported wavelet, scaling function or wavelet
+      packet. The output function is obtained by deconvolution of
+      corresponding mirror filter impulse response. This procedure is
+      applied in an iterative fashion. 
+    </para>
+    <para>
+      The filter bank used in classic discrete wavelet transform grows
+      only towards low frequencies. Meanwhile wavelet packet transform
+      introduces any possible direction of tree's growth. The sequence
+      of mirror filters used in deconvolution is determined by binary
+      form of seq value. "0" corresponds to low-pass filter and "1" to
+      high-pass. 
+    </para>
+    <para>
+      The number of iteration steps is determined by filter's length
+      and size of function table. I.e. for filter length 8 and table
+      size 256 there are log2(256/8) = 5 iterations available. 
+    </para>
+  </refsect1>
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>f</command> # time size "wave" fnsf seq rescale</synopsis>
+  </refsect1>
+ 
+  <refsect1>
+    <title>Initialization</title>
+    <para>
+      <emphasis>size</emphasis> -- number of points in the table. Must
+      be a power of 2 or power-of-2 plus 1 (see <link
+      linkend="f"><citetitle>f statement</citetitle></link>).
+    </para>
+
+    <para>
+      <emphasis>fnsf</emphasis> -- pre-existing table with scaling
+      function coefficients. 
+    </para>
+    <para>
+      <emphasis>seq</emphasis> -- non-negative integer number which
+      corresponds to sequence of low-pass and high-pass mirror filters
+      during deconvolution procedure. 
+    </para>
+    <para>
+      <emphasis>rescale</emphasis> -- if not zero the table is not rescaled
+    </para>
+
+  </refsect1>
+  
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the GENwave routine. It uses the file
+      <ulink
+          url="examples/genwave.csd"><citetitle>genwave.csd</citetitle></ulink>. 
+      <example>
+        <title>Example of the GENwave routine.</title>
+        <para>
+          See the sections <link
+          linkend="UsingRealTime"><citetitle>Real-time
+          Audio</citetitle></link> and <link
+          linkend="CommandFlags"><citetitle>Command Line
+          Flags</citetitle></link> for more information on using
+          command line flags.
+        </para> 
+        <xi:include href="examples-xml/genwave.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>  
+    </para>
+  </refsect1>
+
+  <refsect1>
+     <title>See Also</title>
+     <para>
+       Ingrid Daubechies. Ten Lectures on Wavelets, SIAM 1992.
+    </para>
+    <para>
+      Pedro A.G. Batista. An Introduction to Sound Synthesis with
+      Wavelet Packets, Csound Book CD Chapters, MIT 2000. 
+    </para>
+    <para>
+      Victor M. Wickerhauser. Acoustic Signal Compression with Wavelet
+      Packets, Yale 1992. 
+     </para>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>Written by Gleb Rogozinsky</para>
+    <para>Saint-Petersburg University of Film and Television</para>
+    <para>Saint-Petersburg, Russia</para>
+    <para>April 2012</para>
+  </refsect1>
+</refentry>
diff --git a/scoregens/i.xml b/scoregens/i.xml
index e8d7a0a..52ff501 100644
--- a/scoregens/i.xml
+++ b/scoregens/i.xml
@@ -151,71 +151,15 @@
       </para>
     </refsect2>
   </refsect1>
- 
+
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an instrument which can find out whether it is tied to a previous note (<emphasis>tival</emphasis> returns 1), and whether it is held (negative p3). Attack and release are handled accordingly:
-      <informalexample>
-        <programlisting>
-<emphasis role="oblock">instr</emphasis> 10
-        
-  icps     <emphasis role="opc">init</emphasis>      <emphasis role="opc">cpspch</emphasis>(p4)                  <emphasis role="comment">; Get target pitch from score event</emphasis>
-  iportime <emphasis role="opc">init</emphasis>      <emphasis role="opc">abs</emphasis>(p3)<emphasis role="op">/</emphasis>7                   <emphasis role="comment">; Portamento time dep on note length</emphasis>
-  iamp0    <emphasis role="opc">init</emphasis>      p5                          <emphasis role="comment">; Set default amps</emphasis>
-  iamp1    <emphasis role="opc">init</emphasis>      p5
-  iamp2    <emphasis role="opc">init</emphasis>      p5
-      
-  itie     <emphasis role="opc">tival</emphasis>                                 <emphasis role="comment">; Check if this note is tied,</emphasis>
-  <emphasis role="octrl">if</emphasis> itie  <emphasis role="op">==</emphasis>  1     <emphasis role="octrl">igoto</emphasis> <emphasis role="olabel">nofadein</emphasis>              <emphasis role="comment">; if not fade in</emphasis>
-  iamp0    <emphasis role="opc">init</emphasis>      0
-
-<emphasis role="olabel">nofadein</emphasis>:
-  <emphasis role="octrl">if</emphasis> p3    <emphasis role="op"><</emphasis> 0       <emphasis role="octrl">igoto</emphasis> <emphasis role="olabel">nofadeout</emphasis>             <emphasis role="comment">; Check if this note is held, if not fade out</emphasis>
-  iamp2    <emphasis role="opc">init</emphasis>      0    
-
-<emphasis role="olabel">nofadeout</emphasis>:
-  <emphasis role="comment">; Now do amp from the set values:</emphasis>
-  kamp     <emphasis role="opc">linseg</emphasis>    iamp0, .03, iamp1, <emphasis role="opc">abs</emphasis>(p3)<emphasis role="op">-</emphasis>.03, iamp2
-        
-  <emphasis role="comment">; Skip rest of initialization on tied note:</emphasis>
-           <emphasis role="octrl">tigoto</emphasis>    <emphasis role="olabel">tieskip</emphasis>
-
-  kcps     <emphasis role="opc">init</emphasis>      icps                        <emphasis role="comment">; Init pitch for untied note</emphasis>
-  kcps     <emphasis role="opc">port</emphasis>      icps, iportime, icps        <emphasis role="comment">; Drift towards target pitch</emphasis>
-
-  kpw      <emphasis role="opc">oscil</emphasis>     .4, <emphasis role="opc">rnd</emphasis>(1), 1, <emphasis role="opc">rnd</emphasis>(.7)      <emphasis role="comment">; A simple triangle-saw oscil</emphasis>
-  ar       <emphasis role="opc">vco</emphasis>       kamp, kcps, 3, kpw<emphasis role="op">+</emphasis>.5, 1, 1<emphasis role="op">/</emphasis>icps
-        
-  <emphasis role="comment">; (Used in testing - one may set ipch to cpspch(p4+2)
-  ;       and view output spectrum)
-  ;       ar oscil kamp, kcps, 1</emphasis>
-
-          <emphasis role="opc">out</emphasis>        ar
-
-<emphasis role="olabel">tieskip:</emphasis>                                        <emphasis role="comment">; Skip some initialization on tied note</emphasis>
-
-<emphasis role="oblock">endin</emphasis></programlisting>
-      </informalexample>
-    </para>
-
-    <para>
-      A simple score using three instances of the above instrument:
-      <informalexample>
-        <programlisting>
-  <emphasis role="stamnt">f</emphasis>1   0 8192 10 1            <emphasis role="comment">; Sine</emphasis>
-
-  <emphasis role="stamnt">i</emphasis>10.1    0    -1    7.00    10000
-  <emphasis role="stamnt">i</emphasis>10.2    0    -1    7.04
-  <emphasis role="stamnt">i</emphasis>10.3    0    -1    7.07
-  <emphasis role="stamnt">i</emphasis>10.1    1    -1    8.00  
-  <emphasis role="stamnt">i</emphasis>10.2    1    -1    8.04
-  <emphasis role="stamnt">i</emphasis>10.3    1    -1    8.07
-  <emphasis role="stamnt">i</emphasis>10.1    2     1    7.11  
-  <emphasis role="stamnt">i</emphasis>10.2    2     1    8.04  
-  <emphasis role="stamnt">i</emphasis>10.3    2     1    8.07
-  <emphasis role="stamnt">e</emphasis></programlisting>
-      </informalexample>
+      Here is an example of the i statement. It uses the file <ulink url="examples/i_statement.csd"><citetitle>i_statement.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the i statement.</title>
+        <xi:include href="examples-xml/i_statement.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
     </para>
   </refsect1>
  
diff --git a/scoregens/m.xml b/scoregens/m.xml
index ca86251..7b764e4 100644
--- a/scoregens/m.xml
+++ b/scoregens/m.xml
@@ -72,6 +72,17 @@
   </refsect1>
  
   <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the m statement. It uses the file <ulink url="examples/m.csd"><citetitle>m.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the m statement.</title>
+        <xi:include href="examples-xml/m.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
+  <refsect1>
     <title>Credits</title>
     <para>
       <simplelist>
diff --git a/scoregens/n.xml b/scoregens/n.xml
index 250accf..e931792 100644
--- a/scoregens/n.xml
+++ b/scoregens/n.xml
@@ -71,6 +71,13 @@
   </refsect1>
  
   <refsect1>
+    <title>Examples</title>
+    <para>
+      See the example for the <link linkend="m"><citetitle>m statement</citetitle></link>.
+    </para>
+  </refsect1>
+
+  <refsect1>
     <title>Credits</title>
     <para>
       <simplelist>
diff --git a/scoregens/q.xml b/scoregens/q.xml
index cbc48d7..43496b2 100644
--- a/scoregens/q.xml
+++ b/scoregens/q.xml
@@ -42,4 +42,16 @@
       Note that this does not affect instruments that are already running at time <emphasis>p2</emphasis>. It blocks any attempt to start one afterwards.
     </para>
   </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the q statement. It uses the file <ulink url="examples/q.csd"><citetitle>q.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the q statement.</title>
+        <xi:include href="examples-xml/q.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
 </refentry>
diff --git a/scoregens/r.xml b/scoregens/r.xml
index 8828e5e..ca3fc38 100644
--- a/scoregens/r.xml
+++ b/scoregens/r.xml
@@ -53,7 +53,7 @@
   <refsect1>
     <title>Examples</title>
     <para>
-      Here is an example of the r statement. It uses the file <ulink url="examples/r.csd"><citetitle>r.sco</citetitle></ulink>.
+      Here is an example of the r statement. It uses the file <ulink url="examples/r.csd"><citetitle>r.csd</citetitle></ulink>.
 
       <example>
         <title>Example of the r statement.</title>
diff --git a/scoregens/s.xml b/scoregens/s.xml
index 1368163..37f9b1e 100644
--- a/scoregens/s.xml
+++ b/scoregens/s.xml
@@ -72,4 +72,16 @@
     </para>
     </note>
   </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the s statement. It uses the file <ulink url="examples/s.csd"><citetitle>s.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the s statement.</title>
+        <xi:include href="examples-xml/s.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
 </refentry>
diff --git a/scoregens/t.xml b/scoregens/t.xml
index 5ea21db..4adab3f 100644
--- a/scoregens/t.xml
+++ b/scoregens/t.xml
@@ -70,5 +70,17 @@
       N.B. If the CSound command includes a <link linkend="FlagsMinusLowerT"><citetitle>-t flag</citetitle></link>, the interpreted tempo of all score <emphasis>t statements</emphasis> will be overridden by the command-line tempo.
     </para>
   </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the t statement. It uses the file <ulink url="examples/t.csd"><citetitle>t.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the t statement.</title>
+        <xi:include href="examples-xml/t.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
 </refentry>
 
diff --git a/scoregens/top.xml b/scoregens/top.xml
index 489e3c7..313dd3b 100644
--- a/scoregens/top.xml
+++ b/scoregens/top.xml
@@ -269,6 +269,10 @@
       <listitem>
         <simpara><link linkend="GENfarey"><citetitle>"farey"</citetitle></link> - fills a table from a Farey sequence.</simpara>
       </listitem>
+      <listitem>
+        <simpara><link linkend="GENwave"><citetitle>"wave"</citetitle></link>
+        - fills a table from a wavelet transform.</simpara>
+      </listitem>
     </itemizedlist>
   </section>
     &scoregensgen01;
@@ -292,7 +296,6 @@
     &scoregensgen19;
     &scoregensgen20;
     &scoregensgen21;
-    &scoregensgen22;
     &scoregensgen23;
     &scoregensgen24;
     &scoregensgen25;
@@ -314,4 +317,5 @@
     &scoregensexp;
     &scoregenssone;
     &scoregensfarey;
+    &scoregenswave;
 </chapter>
diff --git a/scoregens/v.xml b/scoregens/v.xml
index b70c3dc..7683bee 100644
--- a/scoregens/v.xml
+++ b/scoregens/v.xml
@@ -66,24 +66,6 @@
     <para>
       <informalexample>
         <programlisting>
-<emphasis role="stamnt">i</emphasis>1   0 1  <emphasis role="comment">; note1</emphasis>
-<emphasis role="stamnt">v</emphasis>2
-<emphasis role="stamnt">i</emphasis>1   1 .  <emphasis role="comment">; note2</emphasis>
-<emphasis role="stamnt">i</emphasis>1   2 .  <emphasis role="comment">; note3</emphasis>
-<emphasis role="stamnt">v</emphasis>1
-<emphasis role="stamnt">i</emphasis>1   3 .  <emphasis role="comment">; note4</emphasis>
-<emphasis role="stamnt">i</emphasis>1   4 .  <emphasis role="comment">; note5</emphasis>
-<emphasis role="stamnt">e</emphasis></programlisting>
-      </informalexample>
-    </para>
-
-    <para>
-      In this example, note3 and note5 occur simultaneously, while note4 actually occurs before note3, that is, at its original place. Durations are unaffected.
-    </para>
-
-    <para>
-      <informalexample>
-        <programlisting>
 <emphasis role="stamnt">i</emphasis>1   0 1
 <emphasis role="stamnt">v</emphasis>2
 <emphasis role="stamnt">i</emphasis>.   + .
@@ -93,4 +75,17 @@
       In this example, the <emphasis>v statement</emphasis> has no effect.
     </para>
   </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the v statement. It uses the file <ulink url="examples/v.csd"><citetitle>v.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the v statement.</title>
+        <xi:include href="examples-xml/v.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+      In this example, note3 and note5 occur simultaneously, while note4 actually occurs before note3, that is, at its original place. Durations are unaffected.
+    </para>
+  </refsect1>
+ 
 </refentry>
diff --git a/scoregens/x.xml b/scoregens/x.xml
index 790b06c..bb88b04 100644
--- a/scoregens/x.xml
+++ b/scoregens/x.xml
@@ -30,4 +30,16 @@
       All pfields are ignored.
     </para>
   </refsect1>
+
+  <refsect1>
+    <title>Examples</title>
+    <para>
+      Here is an example of the x statement. It uses the file <ulink url="examples/x.csd"><citetitle>x.csd</citetitle></ulink>.
+      <example>
+        <title>Example of the x statement.</title>
+        <xi:include href="examples-xml/x.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+      </example>
+    </para>
+  </refsect1>
+ 
 </refentry>
diff --git a/siggen/models.xml b/siggen/models.xml
index 5ccc77b..b07a597 100644
--- a/siggen/models.xml
+++ b/siggen/models.xml
@@ -54,6 +54,12 @@
       </listitem>
       <listitem><para><link linkend="chuap"><citetitle>chuap</citetitle></link></para>
       </listitem>
+      <listitem><para><link linkend="gendy"><citetitle>gendy</citetitle></link></para>
+      </listitem>
+      <listitem><para><link linkend="gendyc"><citetitle>gendyc</citetitle></link></para>
+      </listitem>
+      <listitem><para><link linkend="gendyx"><citetitle>gendyx</citetitle></link></para>
+      </listitem>
     </itemizedlist>
   </para>
 
diff --git a/siggen/random.xml b/siggen/random.xml
index 56c7fb5..a6d5602 100644
--- a/siggen/random.xml
+++ b/siggen/random.xml
@@ -15,10 +15,18 @@
       </listitem>
       <listitem><para><link linkend="duserrnd"><citetitle>duserrnd</citetitle></link></para>
       </listitem>
+      <listitem><para><link linkend="dust"><citetitle>dust</citetitle></link></para>
+      </listitem>
+      <listitem><para><link linkend="dust2"><citetitle>dust2</citetitle></link></para>
+      </listitem>
       <listitem><para><link linkend="exprand"><citetitle>exprand</citetitle></link></para>
       </listitem>
+      <listitem><para><link linkend="fractalnoise"><citetitle>fractalnoise</citetitle></link></para>
+      </listitem>
       <listitem><para><link linkend="gauss"><citetitle>gauss</citetitle></link></para>
       </listitem>
+      <listitem><para><link linkend="gausstrig"><citetitle>gausstrig</citetitle></link></para>
+      </listitem>
       <listitem><para><link linkend="linrand"><citetitle>linrand</citetitle></link></para>
       </listitem>
       <listitem><para><link linkend="noise"><citetitle>noise</citetitle></link></para>
diff --git a/sigmod/sample.xml b/sigmod/sample.xml
index 0e7229a..a482877 100644
--- a/sigmod/sample.xml
+++ b/sigmod/sample.xml
@@ -13,7 +13,7 @@
       <listitem><para><link linkend="opi"><citetitle>i(k)</citetitle></link></para></listitem>
       <listitem><para><link linkend="integ"><citetitle>integ</citetitle></link></para></listitem>
       <listitem><para><link linkend="interp"><citetitle>interp</citetitle></link></para></listitem>
-      <listitem><para><link linkend="opk"><citetitle>i(k)</citetitle></link></para></listitem>
+      <listitem><para><link linkend="opk"><citetitle>k(i)</citetitle></link></para></listitem>
       <listitem><para><link linkend="ntrpol"><citetitle>ntrpol</citetitle></link></para></listitem>
       <listitem><para><link linkend="samphold"><citetitle>samphold</citetitle></link></para></listitem>
       <listitem><para><link linkend="upsamp"><citetitle>upsamp</citetitle></link></para></listitem>
diff --git a/spectral/realtime.xml b/spectral/realtime.xml
index 9475a90..a5b1f92 100644
--- a/spectral/realtime.xml
+++ b/spectral/realtime.xml
@@ -1,108 +1,113 @@
-
-<section id="SpectralRealTime">
-  <title>Tools for Real-time Spectral Processing (pvs opcodes)</title>
-
-  <para>
-    With these opcodes,  two new core facilities are added to Csound. They offer improved audio quality, and fast performance, enabling high-quality analysis and resynthesis (together with transformations) to be applied in real-time to live signals. The original Csound phase vocoder remains unaltered; the new opcodes use an entirely separate set of functions based on <quote>pvoc.c</quote> in the CARL distribution, written by Mark Dolson. 
-  </para>
-
-  <para>
-    The Csound <link linkend="dnoise"><citetitle>dnoise</citetitle></link> and <link linkend="srconv"><citetitle>srconv</citetitle></link> utilities (also by Dolson, from CARL) also use this pvoc engine. CARL pvoc is also the basis for the phase vocoder included in the Composer's Desktop Project. A few small but important modifications have been made to the original CARL code to support real-time streaming.
-  </para>
-
-  <para>
-    <orderedlist>
-      <listitem><para>Support for the new PVOC-EX analysis file format. This is a fully portable (cross-platform) open  file format, supporting three analysis formats, and multi-channel signals. Currently only the standard amplitude+frequency format has been implemented in the opcodes, but the file format itself supports amplitude+phase and  complex (real-imaginary) formats. In addition to the new opcodes, the original Csound pvoc opcodes have been extended (and thereby with enhanced audio quality in some cases)  to read PVOC-EX files as well as the original (non-portable) format.</para>
-
-        <para>Full details of the structure of a PVOC-EX file are available via the website: <ulink url="http://www.cs.bath.ac.uk/~jpff/NOS-DREAM/researchdev/pvocex/pvocex.html"><citetitle>http://www.cs.bath.ac.uk/~jpff/NOS-DREAM/researchdev/pvocex/pvocex.html</citetitle></ulink>. This site also gives details of the freely available console programs pvocex and pvocex2 which can be used to create PVOC-EX files in all supported formats.</para></listitem>
-
-     <listitem><para>A new frequency-domain signal type, fully streamable, with <emphasis>f</emphasis> as the leading character.  In this document it is conveniently referred to as an <emphasis>fsig</emphasis>. Primary support for fsigs is provided by the opcodes pvsanal and pvsynth, which perform conventional phase vocoder overlap-add analysis and resynthesis, independently of the orchestra control-rate. The only requirement is that the control-rate kr be higher than or equal to the analysis rate, whch can be expressed by the requirement that ksmps <= overlap, where overlap is the distance in samples between analysis frames, as specified for pvsanal. As overlap is typically at least 128, and more usually 256, this is not an onerous restriction in practice. The opcode pvsinfo can be used at init time to acquire the properties of an fsig.</para>
-
-         <para>The fsig enables the nominal separation between the analysis and resynthesis stages of the phase vocoder to be exposed to the Csound programmer, so that not only can alternatives be employed for either or both of these stages (not only oscillator-bank resynthesis, but also the generation of synthetic fsig streams), but opcodes, operating on the fsig stream, can themselves become more elemental. Thus the fsig enables the creation of a true streaming plugin framework for frequency domain signals. With the old pvoc opcodes, each opcode is required to act as a resynthesiser, so that facilities such as pitch scaling are duplicated in each opcode; and in many cases the opcodes are parameter-rich. The separation of analysis and synthesis stages by means of the fsig encourages the development of a wide range of simple building-block opcodes implementing one or two functions, with which more elaborate processes can be constructed.</para></listitem>
-    </orderedlist>
-  </para>
-
-  <para>
-    This is very much a preliminary and experimental release, and it is possible that the precise definition of the opcodes may change, in response to user feedback. Also, clearly, many new possibilities for opcodes are opened up; these factors may also have a retrospective influence on the opcodes presented here.
-  </para>
-
-  <para>
-    Note that some opcode parameters currently have restricted or missing implementation. This is at least in part in order to keep the opcodes simple at this stage, and also because they highlight  important design issues on which no decision has yet been made, and on which opinions from users are sought.
-  </para>
-
-  <para>
-    One important point about the new signal type is that because the analysis rate is typically much lower than kr, new analysis frames are not available on each k-cycle. Internally, the opcodes track ksmps, and also maintain a frame counter, so that frames are read and written at the correct times; this process is generally transparent to the user. However, it means that k-rate signals only act on an fsig at the analysis rate, not at each k-cycle.  The opocde pvsftw returns a k-rate flag that is set when new fsig data is valid.
-  </para>
-
-  <para>
-    Because of the nature of the overlap-add system, the use of these opcodes incurs a small but significant delay, or latency, determined by the window size (max(ifftsize,iwinsize)). This is typically around 23msecs. In this first release, the delay is slightly in excess of the theoretical minimum, and it is hoped that it can be reduced, as the opcodes are further optimized for real-time streaming.
-  </para>
-
-  <para>
-    The opcodes for real-time spectral processing are
-    <link linkend="pvsadsyn"><citetitle>pvsadsyn</citetitle></link>,
-    <link linkend="pvsanal"><citetitle>pvsanal</citetitle></link>,
-    <link linkend="pvscross"><citetitle>pvscross</citetitle></link>,
-    <link linkend="pvsfread"><citetitle>pvsfread</citetitle></link>,
-    <link linkend="pvsftr"><citetitle>pvsftr</citetitle></link>,
-    <link linkend="pvsftw"><citetitle>pvsftw</citetitle></link>,
-    <link linkend="pvsinfo"><citetitle>pvsinfo</citetitle></link>,
-    <link linkend="pvsmaska"><citetitle>pvsmaska</citetitle></link>, and
-    <link linkend="pvsynth"><citetitle>pvsynth</citetitle></link>.
-  </para>
-
-  <para>
-    In addition there are a number of opcodes available as plugins in
-    Csound5.  These are
-        <link linkend="pvstanal"><citetitle>pvstanal</citetitle></link>,
-    <link linkend="pvsdiskin"><citetitle>pvsdiskin</citetitle></link>,
-    <link linkend="pvscent"><citetitle>pvscent</citetitle></link>,
-    <link linkend="pvsdemix"><citetitle>pvsdemix</citetitle></link>,
-    <link linkend="pvsfreeze"><citetitle>pvsfreeze</citetitle></link>,
-    <link linkend="pvsbuffer"><citetitle>pvsbuffer</citetitle></link>,
-    <link linkend="pvsbufread"><citetitle>pvsbufread</citetitle></link>,
-    <link linkend="pvscale"><citetitle>pvscale</citetitle></link>,
-    <link linkend="pvshift"><citetitle>pvshift</citetitle></link>,
-    <link linkend="pvsifd"><citetitle>pvsifd</citetitle></link>,
-    <link linkend="pvsinit"><citetitle>pvsinit</citetitle></link>,
-    <link linkend="pvsin"><citetitle>pvsin</citetitle></link>,
-    <link linkend="pvsout"><citetitle>pvsout</citetitle></link>,
-    <link linkend="pvsosc"><citetitle>pvsosc</citetitle></link>,
-    <link linkend="pvsbin"><citetitle>pvsbin</citetitle></link>,
-    <link linkend="pvsdisp"><citetitle>pvsdisp</citetitle></link>,
-    <link linkend="pvsfwrite"><citetitle>pvsfwrite</citetitle></link>,
-        <link linkend="pvslock"><citetitle>pvslock</citetitle></link>,
-    <link linkend="pvsmix"><citetitle>pvsmix</citetitle></link>,
-    <link linkend="pvsmooth"><citetitle>pvsmooth</citetitle></link>,
-    <link linkend="pvsfilter"><citetitle>pvsfilter</citetitle></link>,
-    <link linkend="pvsblur"><citetitle>pvsblur</citetitle></link>,
-    <link linkend="pvstencil"><citetitle>pvstencil</citetitle></link>,
-    <link linkend="pvsarp"><citetitle>pvsarp</citetitle></link>,
-    <link linkend="pvsvoc"><citetitle>pvsvoc</citetitle></link>,
-    <link linkend="pvsmorph"><citetitle>pvsmorph</citetitle></link>
-    <link linkend="pvsbandp"><citetitle>pvsbandp</citetitle></link>
-    <link linkend="pvsbandr"><citetitle>pvsbandr</citetitle></link>
-  </para>
-  <para>
-   A number of opcodes are designed to generate and process streaming
-partials tracks data. these are
-    <link linkend="partials"><citetitle>partials</citetitle></link>,
-    <link linkend="trcross"><citetitle>trcross</citetitle></link>,
-    <link linkend="trfilter"><citetitle>trfilter</citetitle></link>,
-    <link linkend="trsplit"><citetitle>trsplit</citetitle></link>,
-    <link linkend="trmix"><citetitle>trmix</citetitle></link>,
-    <link linkend="trscale"><citetitle>trscale</citetitle></link>,
-    <link linkend="trshift"><citetitle>trshift</citetitle></link>,
-    <link linkend="trlowest"><citetitle>trlowest</citetitle></link>,
-    <link linkend="trhighest"><citetitle>trhighest</citetitle></link>
-    <link linkend="tradsyn"><citetitle>tradsyn</citetitle></link>,
-    <link linkend="sinsyn"><citetitle>sinsyn</citetitle></link>,
-    <link linkend="resyn"><citetitle>resyn</citetitle></link>,
-    <link linkend="binit"><citetitle>binit</citetitle></link>
-
-  </para>
-  <para>
-    See the <link linkend="ControlStacks"><citetitle>Stacks</citetitle> section for information on the stack opcodes which can stack f-signals.</link>
-  </para>
-
-</section>
+
+<section id="SpectralRealTime">
+  <title>Tools for Real-time Spectral Processing (pvs opcodes)</title>
+
+  <para>
+    With these opcodes,  two new core facilities are added to Csound. They offer improved audio quality, and fast performance, enabling high-quality analysis and resynthesis (together with transformations) to be applied in real-time to live signals. The original Csound phase vocoder remains unaltered; the new opcodes use an entirely separate set of functions based on <quote>pvoc.c</quote> in the CARL distribution, written by Mark Dolson. 
+  </para>
+
+  <para>
+    The Csound <link linkend="dnoise"><citetitle>dnoise</citetitle></link> and <link linkend="srconv"><citetitle>srconv</citetitle></link> utilities (also by Dolson, from CARL) also use this pvoc engine. CARL pvoc is also the basis for the phase vocoder included in the Composer's Desktop Project. A few small but important modifications have been made to the original CARL code to support real-time streaming.
+  </para>
+
+  <para>
+    <orderedlist>
+      <listitem><para>Support for the new PVOC-EX analysis file format. This is a fully portable (cross-platform) open  file format, supporting three analysis formats, and multi-channel signals. Currently only the standard amplitude+frequency format has been implemented in the opcodes, but the file format itself supports amplitude+phase and  complex (real-imaginary) formats. In addition to the new opcodes, the original Csound pvoc opcodes have been extended (and thereby with enhanced audio quality in some cases)  to read PVOC-EX files as well as the original (non-portable) format.</para>
+
+        <para>Full details of the structure of a PVOC-EX file are available via the website: <ulink url="http://www.cs.bath.ac.uk/~jpff/NOS-DREAM/researchdev/pvocex/pvocex.html"><citetitle>http://www.cs.bath.ac.uk/~jpff/NOS-DREAM/researchdev/pvocex/pvocex.html</citetitle></ulink>. This site also gives details of the freely available console programs pvocex and pvocex2 which can be used to create PVOC-EX files in all supported formats.</para></listitem>
+
+     <listitem><para>A new frequency-domain signal type, fully streamable, with <emphasis>f</emphasis> as the leading character.  In this document it is conveniently referred to as an <emphasis>fsig</emphasis>. Primary support for fsigs is provided by the opcodes pvsanal and pvsynth, which perform conventional phase vocoder overlap-add analysis and resynthesis, independently of the orchestra control-rate. The only requirement is that the control-rate kr be higher than or equal to the analysis rate, whch can be expressed by the requirement that ksmps <= overlap, where overlap is the distance in samples between analysis frames, as specified for pvsanal. As overlap is typically at least 128, and more usually 256, this is not an onerous restriction in practice. The opcode pvsinfo can be used at init time to acquire the properties of an fsig.</para>
+
+         <para>The fsig enables the nominal separation between the analysis and resynthesis stages of the phase vocoder to be exposed to the Csound programmer, so that not only can alternatives be employed for either or both of these stages (not only oscillator-bank resynthesis, but also the generation of synthetic fsig streams), but opcodes, operating on the fsig stream, can themselves become more elemental. Thus the fsig enables the creation of a true streaming plugin framework for frequency domain signals. With the old pvoc opcodes, each opcode is required to act as a resynthesiser, so that facilities such as pitch scaling are duplicated in each opcode; and in many cases the opcodes are parameter-rich. The separation of analysis and synthesis stages by means of the fsig encourages the development of a wide range of simple building-block opcodes implementing one or two functions, with which more elaborate processes can be constructed.</para></listitem>
+    </orderedlist>
+  </para>
+
+  <para>
+    This is very much a preliminary and experimental release, and it is possible that the precise definition of the opcodes may change, in response to user feedback. Also, clearly, many new possibilities for opcodes are opened up; these factors may also have a retrospective influence on the opcodes presented here.
+  </para>
+
+  <para>
+    Note that some opcode parameters currently have restricted or missing implementation. This is at least in part in order to keep the opcodes simple at this stage, and also because they highlight  important design issues on which no decision has yet been made, and on which opinions from users are sought.
+  </para>
+
+  <para>
+    One important point about the new signal type is that because the analysis rate is typically much lower than kr, new analysis frames are not available on each k-cycle. Internally, the opcodes track ksmps, and also maintain a frame counter, so that frames are read and written at the correct times; this process is generally transparent to the user. However, it means that k-rate signals only act on an fsig at the analysis rate, not at each k-cycle.  The opocde pvsftw returns a k-rate flag that is set when new fsig data is valid.
+  </para>
+
+  <para>
+    Because of the nature of the overlap-add system, the use of these opcodes incurs a small but significant delay, or latency, determined by the window size (max(ifftsize,iwinsize)). This is typically around 23msecs. In this first release, the delay is slightly in excess of the theoretical minimum, and it is hoped that it can be reduced, as the opcodes are further optimized for real-time streaming.
+  </para>
+
+  <para>
+    The opcodes for real-time spectral processing are
+    <link linkend="pvsadsyn"><citetitle>pvsadsyn</citetitle></link>,
+    <link linkend="pvsanal"><citetitle>pvsanal</citetitle></link>,
+    <link linkend="pvscross"><citetitle>pvscross</citetitle></link>,
+    <link linkend="pvsfread"><citetitle>pvsfread</citetitle></link>,
+    <link linkend="pvsftr"><citetitle>pvsftr</citetitle></link>,
+    <link linkend="pvsftw"><citetitle>pvsftw</citetitle></link>,
+    <link linkend="pvsinfo"><citetitle>pvsinfo</citetitle></link>,
+    <link linkend="pvsmaska"><citetitle>pvsmaska</citetitle></link>, and
+    <link linkend="pvsynth"><citetitle>pvsynth</citetitle></link>.
+  </para>
+
+  <para>
+    In addition there are a number of opcodes available as plugins in
+    Csound5.  These are
+    <link linkend="pvstanal"><citetitle>pvstanal</citetitle></link>,
+    <link linkend="pvsdiskin"><citetitle>pvsdiskin</citetitle></link>,
+    <link linkend="pvscent"><citetitle>pvscent</citetitle></link>,
+    <link linkend="pvsdemix"><citetitle>pvsdemix</citetitle></link>,
+    <link linkend="pvsfreeze"><citetitle>pvsfreeze</citetitle></link>,
+    <link linkend="pvsbuffer"><citetitle>pvsbuffer</citetitle></link>,
+    <link linkend="pvsbufread"><citetitle>pvsbufread</citetitle></link>,
+    <link linkend="pvsbufread"><citetitle>pvsbufread2</citetitle></link>,
+    <link linkend="pvscale"><citetitle>pvscale</citetitle></link>,
+    <link linkend="pvshift"><citetitle>pvshift</citetitle></link>,
+    <link linkend="pvsifd"><citetitle>pvsifd</citetitle></link>,
+    <link linkend="pvsinit"><citetitle>pvsinit</citetitle></link>,
+    <link linkend="pvsin"><citetitle>pvsin</citetitle></link>,
+    <link linkend="pvsout"><citetitle>pvsout</citetitle></link>,
+    <link linkend="pvsosc"><citetitle>pvsosc</citetitle></link>,
+    <link linkend="pvsbin"><citetitle>pvsbin</citetitle></link>,
+    <link linkend="pvsdisp"><citetitle>pvsdisp</citetitle></link>,
+    <link linkend="pvsfwrite"><citetitle>pvsfwrite</citetitle></link>,
+    <link linkend="pvslock"><citetitle>pvslock</citetitle></link>,
+    <link linkend="pvsmix"><citetitle>pvsmix</citetitle></link>,
+    <link linkend="pvsmooth"><citetitle>pvsmooth</citetitle></link>,
+    <link linkend="pvsfilter"><citetitle>pvsfilter</citetitle></link>,
+    <link linkend="pvsblur"><citetitle>pvsblur</citetitle></link>,
+    <link linkend="pvstencil"><citetitle>pvstencil</citetitle></link>,
+    <link linkend="pvsarp"><citetitle>pvsarp</citetitle></link>,
+    <link linkend="pvsvoc"><citetitle>pvsvoc</citetitle></link>,
+    <link linkend="pvsmorph"><citetitle>pvsmorph</citetitle></link>,
+    <link linkend="pvsbandp"><citetitle>pvsbandp</citetitle></link>,
+    <link linkend="pvsbandr"><citetitle>pvsbandr</citetitle></link>,
+    <link linkend="pvswarp"><citetitle>pvswarp</citetitle></link>,
+    <link linkend="pvsgain"><citetitle>pvsgain</citetitle></link>,
+    <link linkend="pvs2tab"><citetitle>pvs2tab</citetitle></link>,
+    <link linkend="tab2pvs"><citetitle>tab2pvs</citetitle></link>.
+  </para>
+  <para>
+   A number of opcodes are designed to generate and process streaming
+partials tracks data. these are
+    <link linkend="partials"><citetitle>partials</citetitle></link>,
+    <link linkend="trcross"><citetitle>trcross</citetitle></link>,
+    <link linkend="trfilter"><citetitle>trfilter</citetitle></link>,
+    <link linkend="trsplit"><citetitle>trsplit</citetitle></link>,
+    <link linkend="trmix"><citetitle>trmix</citetitle></link>,
+    <link linkend="trscale"><citetitle>trscale</citetitle></link>,
+    <link linkend="trshift"><citetitle>trshift</citetitle></link>,
+    <link linkend="trlowest"><citetitle>trlowest</citetitle></link>,
+    <link linkend="trhighest"><citetitle>trhighest</citetitle></link>
+    <link linkend="tradsyn"><citetitle>tradsyn</citetitle></link>,
+    <link linkend="sinsyn"><citetitle>sinsyn</citetitle></link>,
+    <link linkend="resyn"><citetitle>resyn</citetitle></link>,
+    <link linkend="binit"><citetitle>binit</citetitle></link>
+
+  </para>
+  <para>
+    See the <link linkend="ControlStacks"><citetitle>Stacks</citetitle> section for information on the stack opcodes which can stack f-signals.</link>
+  </para>
+
+</section>
diff --git a/srcrelease.sh b/srcrelease.sh
deleted file mode 100755
index c2be261..0000000
--- a/srcrelease.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#! /bin/sh
-# Released under GFDL or the LGPL at your option
-
-# if [ `uname` = "Darwin" ]; then
-#    CVS_PATH="/opt/subversion/bin/svn"
-# else
-#    CVS_PATH="cvs"
-# fi
-
-CVS_PATH="cvs"
-
-echo Enter version number:
-read CSOUND_VERSION
-echo Enter tag:
-read CSOUND_TAG
-
-$CVS_PATH -d:pserver:anonymous at csound.cvs.sourceforge.net:/cvsroot/csound login
-$CVS_PATH -z3 -d:pserver:anonymous at csound.cvs.sourceforge.net:/cvsroot/csound export -r $CSOUND_TAG manual
-rm -R manual/attic/
-tar -czf Csound$CSOUND_VERSION-manual-src.tar.gz manual
-rm -R manual/
diff --git a/utility/cvanal.xml b/utility/cvanal.xml
index 2f5dde4..63bc08f 100644
--- a/utility/cvanal.xml
+++ b/utility/cvanal.xml
@@ -47,6 +47,12 @@
     <para>
       <emphasis>-d duration</emphasis> -- duration (in seconds) of the audio segment to be analyzed. The default of 0.0 means to the end of the file.
     </para>
+
+    <para>
+      <emphasis>-X</emphasis> -- write machine independent format
+      analysis file.
+    </para>
+
   </refsect1>
  
   <refsect1>
diff --git a/utility/hetro.xml b/utility/hetro.xml
index a1b97c8..bd1bac8 100644
--- a/utility/hetro.xml
+++ b/utility/hetro.xml
@@ -85,7 +85,7 @@
     <title>Performance</title>
     <para>
       As of Csound 4.08, <emphasis>hetro</emphasis> can write SDIF
-    ouput files if the output file name ends with
+    output files if the output file name ends with
     ".sdif" or ".SDIF". See the <link
     linkend="sdif2ad"><citetitle>sdif2ad utility</citetitle></link>
     for more information about the Csound's SDIF support. 
diff --git a/utility/lpanal.xml b/utility/lpanal.xml
index 5ca8356..7f7dcd1 100644
--- a/utility/lpanal.xml
+++ b/utility/lpanal.xml
@@ -83,6 +83,11 @@
 
       The default is 0.
     </para>
+
+    <para>
+      <emphasis>-X</emphasis> -- write machine independent format
+      analysis file.
+    </para>
   </refsect1>
  
   <refsect1>
diff --git a/utility/makecsd.xml b/utility/makecsd.xml
index 2ad99a8..43a675c 100644
--- a/utility/makecsd.xml
+++ b/utility/makecsd.xml
@@ -58,6 +58,26 @@
     		</para>
     	</listitem>
 
+    	<listitem>
+    		<para>
+    			optionally, a MIDI file can be included.
+    		</para>
+    	</listitem>
+
+    	<listitem>
+    		<para>
+    			optionally, a Licence can be specified as
+                        either a file or a common one.
+    		</para>
+    	</listitem>
+
+     	<listitem>
+    		<para>
+    			if required a score processor can be specified
+                        for the <CsScore> section.
+    		</para>
+    	</listitem>
+
     </itemizedlist>
 
     </para>
@@ -97,6 +117,46 @@
         		= output file name (default: stdout)
         	</para>
         </listitem>
+
+        <listitem>
+        	<para>
+        		- <emphasis>m fname</emphasis>
+        		= specify a MIDI file to include (default: none)
+        	</para>
+        </listitem>
+
+        <listitem>
+        	<para>
+        		- <emphasis>b progname</emphasis>
+        		= specify the program to process the score (default: none)
+        	</para>
+        </listitem>
+
+        <listitem>
+        	<para>
+        		- <emphasis>L fname</emphasis>
+        		= file name containing the licence text (default: none)
+        	</para>
+        </listitem>
+
+        <listitem>
+        	<para>
+        		- <emphasis>l integer</emphasis>
+        		= specify a standard licence (default: none).
+                        The ones available are:
+                        <itemizedlist>
+                          <listitem> 0: All rights reserved</listitem>
+                          <listitem> 1: CC BY-NC-ND</listitem>
+                          <listitem> 2: CC BY-NC-SA</listitem>
+                          <listitem> 3: CC BY-NC</listitem>
+                          <listitem> 4: CC BY-ND</listitem>
+                          <listitem> 5: CC BY-SA</listitem>
+                          <listitem> 6: CC BY</listitem>
+                          <listitem> 7: Licenced under BSD</listitem>
+                        </itemizedlist>
+        	</para>
+        </listitem>
+
       </itemizedlist>
 
     </para>
@@ -124,6 +184,9 @@
     <title>Credits</title>
     <para>Author: Istvan Varga</para>
     <para>Jan 2003</para>
+    <para>Author: &namejohn;</para>
+    <para>Feb 2011</para>
+    <para>Options for MIDI, score processing and licence new in version 5.14</para>
   </refsect1>
 
 </refentry>
diff --git a/utility/mkdb.xml b/utility/mkdb.xml
new file mode 100644
index 0000000..5719ca3
--- /dev/null
+++ b/utility/mkdb.xml
@@ -0,0 +1,38 @@
+
+<refentry id="mkdb">
+  <refentryinfo><title>Utilities</title></refentryinfo>
+  <refmeta>
+    <refentrytitle>mkdb</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+    <refname>mkdb</refname>
+    <refpurpose>
+      Outputs a catalog of opcodes and plugin modules.
+      <indexterm id="IndexMkdb"><primary>mkdb</primary></indexterm>
+    </refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Description</title>
+    <para>
+    	Outputs a catalog of opcodes and plugin modules, sorted by
+        opcode name or by module.
+    </para>
+
+
+  </refsect1>
+
+  <refsect1>
+    <title>Syntax</title>
+    <synopsis><command>mkdb</command> [-m] [base_directory]</synopsis>
+  </refsect1>
+
+  <refsect1>
+    <title>Credits</title>
+    <para>Author: &namejohn;</para>
+    <para>Aug 2011</para>
+    <para>New in version 5.14</para>
+  </refsect1>
+
+</refentry>
diff --git a/utility/other.xml b/utility/other.xml
index 8f66812..5c95fab 100644
--- a/utility/other.xml
+++ b/utility/other.xml
@@ -1,6 +1,7 @@
 
 <section id="UtilityOther">
-  <title>Other Csound Utilities (CS, CSB64ENC, ENVEXT, EXTRACTOR, MAKECSD, MIXER, SCALE)</title>
+  <title>Other Csound Utilities (CS, CSB64ENC, ENVEXT, EXTRACTOR,
+  MAKECSD, MIXER, SCALE, MKDB)</title>
   <para>The following miscellaneous utilities are available:
     <itemizedlist>
       <listitem>
@@ -38,6 +39,12 @@
           <link linkend="scaleutility"><citetitle>SCALE</citetitle></link>: Scale the amplitude of a sound file.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          <link linkend="mkdb"><citetitle>MKDB</citetitle></link>:
+          Creates a plugin opcode catalog.
+        </para>
+      </listitem>
     </itemizedlist>
   </para>
     &utilitycs;
@@ -47,5 +54,5 @@
     &utilitymakecsd;
     &utilitymixer;
     &utilityscale;
-
+    &utilitymkdb;
 </section>

-- 
csound-manual packaging



More information about the pkg-multimedia-commits mailing list