diff --git a/Makefile b/Makefile
index 06b95c535b..8ca110df97 100644
--- a/Makefile
+++ b/Makefile
@@ -696,7 +696,7 @@ $(XSL_HTML) $(XSL_HTMLHELP) $(XSL_PRINT) $(XSL_HTML_ONECHUNK): %: %.in
examples-xml/stamp: examples $(wildcard examples/*)
mkdir -p examples-xml
- python csd2docbook.py
+ python3 csd2docbook.py
touch examples-xml/stamp
html: $(XSL_HTML) manual.xml $(SRCS) Makefile
@@ -715,7 +715,7 @@ html: $(XSL_HTML) manual.xml $(SRCS) Makefile
@ echo "Remember to use the html-dist target for distribution!"
html-dist:
- python quickref.py
+ python3 quickref.py
$(MAKE) html
#python makeframes.py
diff --git a/deprecated/top.xml b/deprecated/top.xml
index ee089f8216..c1a2b74bd0 100644
--- a/deprecated/top.xml
+++ b/deprecated/top.xml
@@ -13,52 +13,52 @@
&opcodesjackoon;
- &opcodesabetarand;
- &opcodesabexprnd;
- &opcodesacauchy;
- &opcodesaexprand;
- &opcodesagauss;
- &opcodesagogobel;
- &opcodesalinrand;
- &opcodesapcauchy;
- &opcodesapoisson;
- &opcodesapow;
+
+
+
+
+
+
+
+
+
+
&opcodesarray;
- &opcodesatrirand;
- &opcodesaunirand;
- &opcodesaweibull;
+
+
+
&opcodesbformdec;
&opcodesbformenc;
&opcodesclock;
&opcodesfin;
&opcodeshrtfer;
- &opcodesibetarand;
- &opcodesibexprnd;
- &opcodesicauchy;
- &opcodesictrl14;
- &opcodesictrl21;
- &opcodesictrl7;
- &opcodesiexprand;
- &opcodesigauss;
- &opcodesilinrand;
- &opcodesimidic14;
- &opcodesimidic21;
- &opcodesimidic7;
+
+
+
+
+
+
+
+
+
+
+
+
&opcodesinstimek;
&opcodesinstimes;
- &opcodesioff;
- &opcodesion;
- &opcodesiondur2;
- &opcodesiondur;
- &opcodesioutat;
- &opcodesioutc14;
- &opcodesioutc;
- &opcodesioutpat;
- &opcodesioutpb;
- &opcodesioutpc;
- &opcodesipcauchy;
- &opcodesipoisson;
- &opcodesipow;
+
+
+
+
+
+
+
+
+
+
+
+
+
&opcodesis16b14;
&opcodesis32b14;
&opcodesislider16;
@@ -69,38 +69,38 @@
&opcodesitablegpw;
&opcodesitablemix;
&opcodesitablew;
- &opcodesitrirand;
- &opcodesiunirand;
- &opcodesiweibull;
- &opcodeskbetarand;
- &opcodeskbexprnd;
- &opcodeskcauchy;
- &opcodeskdump2;
- &opcodeskdump3;
- &opcodeskdump4;
- &opcodeskdump;
- &opcodeskexprand;
- &opcodeskfilter2;
- &opcodeskgauss;
- &opcodesklinrand;
- &opcodeskon;
- &opcodeskoutat;
- &opcodeskoutc14;
- &opcodeskoutc;
- &opcodeskoutpat;
- &opcodeskoutpb;
- &opcodeskoutpc;
- &opcodeskpcauchy;
- &opcodeskpoisson;
- &opcodeskpow;
- &opcodeskread2;
- &opcodeskread3;
- &opcodeskread4;
- &opcodeskread;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
&opcodesktableseg;
- &opcodesktrirand;
- &opcodeskunirand;
- &opcodeskweibull;
+
+
+
&opcodessc_lag;
&opcodessc_lagud;
&opcodessc_phasor;
diff --git a/examples/flanger.csd b/examples/flanger.csd
index f9f185254f..e6c821e1f6 100644
--- a/examples/flanger.csd
+++ b/examples/flanger.csd
@@ -18,7 +18,7 @@ instr 1
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
+aflg flanger asnd, adel, kfeedback, 1
asig clip aflg, 1, 1
outs asig+asnd, asig+asnd ;mix flanger with original
@@ -26,8 +26,8 @@ endin
-i 1 0 10 .2
-i 1 11 10 .8 ;lot of feedback
+i 1.1 0 10 .2
+i 1.1 10 10 .8 ;lot of feedback
e
diff --git a/examples/musical/schedkwhen_Daughtrey.csd b/examples/musical/schedkwhen_Daughtrey.csd
new file mode 100644
index 0000000000..7811510298
--- /dev/null
+++ b/examples/musical/schedkwhen_Daughtrey.csd
@@ -0,0 +1,76 @@
+
+
+-odac
+; output for writing audio file with
+; Android version of Csound:
+;-o/sdcard/TableArps.wav
+
+
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs = 1
+
+; initialize global reverb channels
+gaRvbL init 0
+gaRvbR init 0
+; initialize Count at -1 so Note tables are read starting at index 0
+giCount init -1
+; arpeggio note tables
+giMinAdd2 ftgen 1, 0, 0, 2, 60, 62, 63, 67, 72,
+ 74, 75, 74, 72, 67, 63, 62
+giMajAdd2 ftgen 2, 0, 0, 2, 60, 62, 64, 67, 72,
+ 74, 76, 74, 72, 67, 64, 62
+
+ instr Trigger
+kTrig metro 8
+ schedkwhen kTrig, 0, 0, "Arps", 0, 1/3, p4, p5, p6 ; trigger a note
+ endin
+
+ instr Arps
+giCount = giCount + 1
+iNote = table(giCount, p6, 0, 0, 1) ;read incrementally from the table
+kEnv = linsegr(0, 0.003, p5, p3, p5, .5, 0) ; amplitude envelope
+iRnd = random(0.92, 0.98) ; randomize amp and pluck point
+iDtn = random(-0.05, 0.05) ; random detune
+iFreq = cpsmidinn(iNote + p4 + iDtn) ; convert note table values to cps
+aSig = wgpluck2(iRnd, kEnv/5*iRnd, iFreq, .25, 0.06) ; plucked string opcodr
+kEnv2 = linseg(.1, p3/2, 0)
+aSig2 = oscil(kEnv2*.1*iRnd, iFreq + 12) ; sine osc one octave higher
+aMixL = aSig+aSig2/2
+aMixR = aSig+aSig2
+gaRvbL += aSig*.22 ; send to global reverb channels
+gaRvbR += aSig*.22
+ outs(aMixL, aMixR)
+ endin
+
+ instr Reverb
+aRvbL,aRvbR reverbsc gaRvbL, gaRvbR, 0.91, 11000
+ outs(aRvbL,aRvbR)
+ clear(gaRvbL,gaRvbR)
+ endin
+
+
+
+i"Reverb" 0 34
+; for instr Trigger: p4=number of semi-tones
+; away from original note table freqs,
+; p5=amp, p6=table used
+i"Trigger" 0 5 0 .8 1
+i . 5 . -4 .8 2
+i . 10 . -7 .8 1
+i . 15 5.1 -2 .8 2
+
+i . 22 1 -12 .8 1
+i . 23 . -9 .8 2
+i . 24 . -7 .8 1
+i . 25 . -4 .8 2
+i . 26 . -2 .8 2
+i . 27 2 0 .8 1
+i . 29 0.7 3 .8 2
+e
+
+
+; example by Scott Daughtrey
+; inspired by example 01D13 by Iain McCurdy
+; from the FLOSS manual
diff --git a/misc/examples.xml b/misc/examples.xml
index 5e41390a0e..2ea603134a 100644
--- a/misc/examples.xml
+++ b/misc/examples.xml
@@ -284,6 +284,7 @@
Signal Generators:Scanned Synthesis
scanhammer.csd
scanmap.csd
+scanmap_matrxT.csd
scans.csd
scans-2.csd
scantable.csd
@@ -846,8 +847,18 @@
times_complex.csd
Jacko Opcodes
+JackoAudioIn.csd
+JackoAudioIn.csd
+JackoAudioOut.csd
+JackoAudioOut.csd
+JackoFreewheel.csd
JackoInfo.csd
JackoInit.csd
+JackoMidiInConnect.csd
+JackoMidiOut.csd
+JackoNoteOut.csd
+JackoNoteOut.csd
+JackoTransport.csd
Serial I/O
arduinoRead.csd
diff --git a/misc/quickref.xml b/misc/quickref.xml
index f2e7afcaae..8b3798c645 100644
--- a/misc/quickref.xml
+++ b/misc/quickref.xml
@@ -108,8 +108,9 @@
ifn2, ifn3, ifn4, ivibfn]
ares fmwurlie kamp, kfreq, kc1, kc2, kvdepth, kvrate, ifn1, ifn2, ifn3, \
ifn4, ivfn
-ares foscil xamp, kcps, xcar, xmod, kndx, ifn [, iphs]
-ares foscili xamp, kcps, xcar, xmod, kndx, ifn [, iphs]
+ares foscil xamp, kcps, xcar, xmod, kndx [, ifn , iphs]
+ares foscili xamp, kcps, xcar, xmod,
+ kndx [, ifn, iphs]
Signal Generators:Granular Synthesis
@@ -1186,7 +1187,7 @@
JackoMidiInConnect SexternalPortName, ScsoundPortName
JackoMidiOut ScsoundPortName, kstatus, kchannel, kdata1[, kdata2]
JackoMidiOutConnect ScsoundPortName, SexternalPortName
-JackoNoteOut ScsoundPortName, kstatus, kchannel, kdata1[, kdata2]
+JackoNoteOut ScsoundPortName, kchannel, kdata1[, kdata2]
JackoOn [iactive]
JackoTransport kcommand, [kposition]
diff --git a/opcodes/foscil.xml b/opcodes/foscil.xml
index c22e285b81..5599c7f823 100644
--- a/opcodes/foscil.xml
+++ b/opcodes/foscil.xml
@@ -24,13 +24,14 @@
Syntax
- ares foscil xamp, kcps, xcar, xmod, kndx, ifn [, iphs]
+ ares foscil xamp, kcps, xcar, xmod, kndx [, ifn , iphs]
Initialization
- ifn -- function table number. Requires a wrap-around guard point.
+ ifn (optional) -- function table number. Requires a
+ wrap-around guard point. Defaults to a sine wave.
diff --git a/opcodes/foscili.xml b/opcodes/foscili.xml
index 629b0bbc83..3e65d74a0c 100644
--- a/opcodes/foscili.xml
+++ b/opcodes/foscili.xml
@@ -24,13 +24,15 @@
Syntax
- ares foscili xamp, kcps, xcar, xmod, kndx, ifn [, iphs]
+ ares foscili xamp, kcps, xcar, xmod,
+ kndx [, ifn, iphs]
Initialization
- ifn -- function table number. Requires a wrap-around guard point.
+ ifn (optional) -- function table
+ number. Requires a wrap-around guard point. Defaults to a sine wave/
diff --git a/opcodes/schedkwhen.xml b/opcodes/schedkwhen.xml
index 4edb399e70..3a3762097f 100644
--- a/opcodes/schedkwhen.xml
+++ b/opcodes/schedkwhen.xml
@@ -85,6 +85,9 @@
See the sections Real-time Audio and Command Line Flags for more information on using command line flags.
+
+ A musical example featuring the schedkwhen opcode: schedkwhen_Daughtrey.csd by Scott Daughtrey.
+
diff --git a/opcodes/setcol.xml b/opcodes/setcol.xml
index 8a4cbb8275..9510b14666 100644
--- a/opcodes/setcol.xml
+++ b/opcodes/setcol.xml
@@ -21,7 +21,7 @@
Syntax
- i/kout[] setcoli/kin[],i/kcol
+ i/kout[] setcol i/kin[],i/kcol