tests fot copying arrays to ftables

tests fot copying arrays to ftables

<CsoundSynthesizer>
<CsInstruments>
instr 1 ;; lentab
  kS[] init 2
  printk2 lentab(kS)
endin
instr 2 ;; tabgen
  kS[] init 10
  kS   tabgen 0,10,2
  printk2 kS[0]
  printk2 kS[4]
  printk2 kS[9]
endin
instr 3 ;; tabmap
  kS[] init 10
  kT[] init 10
  kS   tabgen 0,10,0.01
  kT   tabmap kS,"sin"
  printk2 kS[0]
  printk2 kS[4]
  printk2 kS[9]
  printk2 kT[0]
  printk2 kT[4]
  printk2 kT[9]
endin
instr 4 ;; tabslice
  kS[]    init 10
  kT[]    init 5
  kS      tabgen 0,10,0.01
  kT[]    tabslice kS,3,7
  printk2 kT[0]
  printk2 kT[1]
  printk2 kT[2]
  printk2 kT[3]
  printk2 kT[4]
endin
instr 5 ;; scalet
  kT[]    tabgen 0,10
          scalet kT,0,1
  printk2 kT[0]
  printk2 kT[1]
  printk2 kT[2]
  printk2 kT[3]
  printk2 kT[4]
  printk2 kT[5]
  printk2 kT[6]
  printk2 kT[7]
  printk2 kT[8]
  printk2 kT[9]
endin
instr 6 ;; copy
kS[] init 1024
kS   tabgen 0,1024
     scalet kS,0,1
     copy2ftab kS, 1
aa   oscil 10000, 440, 1
     out aa
endin
instr 7 ;; copy
  kS[] init 1024
  printk2 kS[123]
  copy2ttab kS, 1
  printk2 kS[123]
endin
</CsInstruments>
<CsScore>
f1 0 1024 10 1
i1 0 0.1
i2 0.1 0.1
i3 0.2 0.1
i4 0.3 0.1
i5 0.4 0.1
i6 0.5 0.1
i7 0.6 0.1
</CsScore>
</CsoundSynthesizer>

<CsoundSynthesizer>
<CsInstruments>
instr 1 ;; lentab
  kS[] init 2
  printk2 lentab(kS)
endin
instr 2 ;; tabgen
  kS[] init 10
  kS   tabgen 0,10,2
  printk2 kS[0]
  printk2 kS[4]
  printk2 kS[9]
endin
instr 3 ;; tabmap
  kS[] init 10
  kT[] init 10
  kS   tabgen 0,10,0.01
  kT   tabmap kS,"sin"
  printk2 kS[0]
  printk2 kS[4]
  printk2 kS[9]
  printk2 kT[0]
  printk2 kT[4]
  printk2 kT[9]
endin
instr 4 ;; tabslice
  kS[] init 10
  kT[] init 5
  kS   tabgen 0,10,0.01
  kT[]   tabslice kS,3,7
  printk2 kT[0]
  printk2 kT[1]
  printk2 kT[2]
  printk2 kT[3]
  printk2 kT[4]
endin
instr 5 ;; scalet
  kT[]   tabgen 0,10
  printk2 kT[0]
  printk2 kT[1]
  printk2 kT[2]
  printk2 kT[3]
  printk2 kT[4]
  printk2 kT[5]
  printk2 kT[6]
  printk2 kT[7]
  printk2 kT[8]
  printk2 kT[9]
        scalet kT,0,1
  printk2 kT[0]
  printk2 kT[1]
  printk2 kT[2]
  printk2 kT[3]
  printk2 kT[4]
  printk2 kT[5]
  printk2 kT[6]
  printk2 kT[7]
  printk2 kT[8]
  printk2 kT[9]
endin
</CsInstruments>
<CsScore>
i1 0 0.1
i2 0.1 0.1
i3 0.2 0.1
i4 0.3 0.1
i5 0.4 0.1
</CsScore>
</CsoundSynthesizer>


no message

no message

<CsoundSynthesizer>
<CsOptions>
csound -RWfo chuas_oscillator.wav
</CsOptions>
<CsInstruments
sr              =           44100
ksmps           =           100
nchnls          =           2
0dbfs           =           10000

gibuzztable     ftgen       1, 0, 16384, 10, 1

                instr 1
                ; sys_variables = system_vars(5:12); % L,R0,C2,G,Ga,Gb,E,C1 or p8:p15
                ; integ_variables = [system_vars(14:16),system_vars(1:2)]; % x0,y0,z0,dataset_size,step_size or p17:p19, p4:p5
istep_size 	    =           p5
iL 	            =           p8
iR0             =           p9
iC2             =           p10
iG 	            =           p11
iGa             =           p12
iGb             =           p13
iE              =           p14
iC1             =           p15
iI3             =           p17
iV2             =           p18
iV1             =           p19
iattack         =           0.02
isustain        =           p3
irelease        =           0.02
p3              =           iattack + isustain + irelease
iscale          =           1.0
adamping        linseg	    0.0, iattack, iscale, isustain, iscale, irelease, 0.0
aguide          buzz        5000, 440, sr/440, gibuzztable
aI3, aV2, aV1   chuap       iL, iR0, iC2, iG, iGa, iGb, iE, iC1, iI3, iV2, iV1, istep_size
asignal         balance     aV2, aguide
                outs        adamping * asignal, adamping * asignal
                endin
</CsInstruments>
<CsScore>
;        Adapted from ABC++ MATLAB example data.
i 1 0 20 1500 .1   -1 -1 -0.00707925 0.00001647 100  1 -.99955324 -1.00028375 1 -.00222159 204.8 -2.36201596260071 3.08917625807226e-03 3.87075614929199 7 .4 .004 1 86 30; torus attractor ( gallery of attractors )
i 1 + 20 1500 .425  0 -1  1.3506168  0              -4.50746268737 -1 2.4924 .93 1 1 0 -22.28662665 .009506608 -22.2861576 32 10 2 20 86 30 ; heteroclinic orbit
i 1 + 20 1024 .05  -1 -1  0.00667    0.000651    10 -1 .856 1.1 1 .06 51.2 -20.200590133667 .172539323568344 -4.07686233520508 2.5 10 .2 1 66 81 ; periodic attractor (torus breakdown route)
i 1 + 20 1024	0.05	-1	-1	0.00667	0.000651	10	-1	0.856	1.1	1	0.1	153.6	21.12496758	0.03001749	0.515828669	2.5	10	0.2	1	66	81	 ; torus attractor (torus breakdown route)'
</CsScore>
</CsoundSynthesizer>

<CsoundSynthesizer>
<CsOptions>
csound -RWfo chuas_oscillator.wav
</CsOptions>
<CsInstruments
sr              =           44100
ksmps           =           100
nchnls          =           2
0dbfs           =           10000

gibuzztable     ftgen       1, 0, 16384, 10, 1

                instr 1
                ; Adapted from ABC++ MATLAB example data.
                ; sys_variables = system_vars(5:12); % L,R0,C2,G,Ga,Gb,E,C1 or p8:p15
                ; integ_variables = [system_vars(14:16),system_vars(1:2)]; % x0,y0,z0,dataset_size,step_size or p17:p19, p4:p5
istep_size 	    =           p5
iL 	            =           p8
iR0             =           p9
iC2             =           p10
iG 	            =           p11
iGa             =           p12
iGb             =           p13
iE              =           p14
iC1             =           p15
iI3             =           p17
iV2             =           p18
iV1             =           p19
iattack         =           0.02
isustain        =           p3
irelease        =           0.02
p3              =           iattack + isustain + irelease
iscale          =           1.0
adamping        linseg	    0.0, iattack, iscale, isustain, iscale, irelease, 0.0
aguide          buzz        5000, 440, sr/440, gibuzztable
aI3, aV2, aV1   chuap       iL, iR0, iC2, iG, iGa, iGb, iE, iC1, iI3, iV2, iV1, istep_size
asignal         balance     aV2, aguide
                outs        adamping * asignal, adamping * asignal
                endin
</CsInstruments>
<CsScore>
i 1 0 20 1500 .1   -1 -1 -0.00707925 0.00001647 100  1 -.99955324 -1.00028375 1 -.00222159 204.8 -2.36201596260071 3.08917625807226e-03 3.87075614929199 7 .4 .004 1 86 30; torus attractor ( gallery of attractors )
i 1 + 20 1500 .425  0 -1  1.3506168  0              -4.50746268737 -1 2.4924 .93 1 1 0 -22.28662665 .009506608 -22.2861576 32 10 2 20 86 30 ; heteroclinic orbit
i 1 + 20 1024 .05  -1 -1  0.00667    0.000651    10 -1 .856 1.1 1 .06 51.2 -20.200590133667 .172539323568344 -4.07686233520508 2.5 10 .2 1 66 81 ; periodic attractor (torus breakdown route)
i 1 + 20 1024	0.05	-1	-1	0.00667	0.000651	10	-1	0.856	1.1	1	0.1	153.6	21.12496758	0.03001749	0.515828669	2.5	10	0.2	1	66	81	 ; torus attractor (torus breakdown route)'
</CsScore>
</CsoundSynthesizer>


Improved example for padsynth fgen.

Improved example for padsynth fgen.

<CsoundSynthesizer>

<CsInstruments>
sr=44100
ksmps=1
nchnls=2
0dbfs=2000

	gispec_len init 2^18

	instr 1
    prints "Plain sine for frequency/amplitude/distortion comparison.\n"
	gi_padsynth_1 ftgenonce 0, 0, gispec_len, 10, 1
    iattack = 0.08
    idecay = 0.1
    isustain = 0.25
    irelease = 0.2
    aenv madsr iattack, idecay, isustain, irelease
    ifreq cpsmidinn p4
    iamp ampdb p5
    ibasefreq = 440 ; can be lower or higher frequency; close to played frequency is said to be best
    ibw_cents = 56.96943 ; width of the peaks, 100 is semitone
	asig poscil iamp, ifreq, gi_padsynth_1
    asig = aenv * asig
	aleft, aright pan2 asig, 0.5
	outs aleft, aright
	endin

	instr 2
    prints "PadSynth with sine tone.\n"
    ibasehz = 261.625565
    ;                       p1 p2 p3          p4           p5       p6  p7    p8 p9  p10  p11
	gi_padsynth_1 ftgenonce 0, 0, gispec_len, "padsynth", ibasehz, p6, 0.0,  1, 1,  1.0, 1
    iattack = 0.08
    idecay = 0.1
    isustain = 0.25
    irelease = 0.2
    aenv madsr iattack, idecay, isustain, irelease
    ifreq cpsmidinn p4
    iamp ampdb p5
	asig poscil iamp, ifreq*(sr/gispec_len/ibasehz), gi_padsynth_1
    asig = aenv * asig
	aleft, aright pan2 asig, 0.5
	outs aleft, aright
	endin

	instr 3
    prints "PadSynth with harmonics.\n"
    ibasehz = 261.625565
    ;                       p1 p2 p3          p4           p5       p6  p7 p8 p9  p10  p11
	gi_padsynth_1 ftgenonce 0, 0, gispec_len, "padsynth", ibasehz, p6, 1, 1, 1,  1, 0.7600046992, 0.6199994683, 0.9399998784, 0.4400023818, 0.0600003302, 0.8499968648, 0.0899999291, 0.8199964762, 0.3199984133, 0.9400014281, 0.3000001907, 0.120003365, 0.1799997687, 0.5200006366, 0.9300042987
    iattack = 0.08
    idecay = 0.1
    isustain = 0.25
    irelease = 0.2
    aenv madsr iattack, idecay, isustain, irelease
    ifreq cpsmidinn p4
    iamp ampdb p5
	asig poscil iamp, ifreq*(sr/gispec_len/ibasehz), gi_padsynth_1
    asig = aenv * asig
	aleft, aright pan2 asig, 0.5
	outs aleft, aright
	endin

	instr 4
    prints "PadSynth with inharmonic partials.\n"
    ibasehz = 261.625565
    ;                       p1 p2 p3          p4           p5       p6  p7 p8 p9  p10  p11
	gi_padsynth_1 ftgenonce 0, 0, gispec_len, "padsynth", ibasehz, p6, 1, 2, 3,  1, 0.7600046992, 0.6199994683, 0.9399998784, 0.4400023818, 0.0600003302, 0.8499968648, 0.0899999291, 0.8199964762, 0.3199984133, 0.9400014281, 0.3000001907, 0.120003365, 0.1799997687, 0.5200006366, 0.9300042987
    iattack = 0.08
    idecay = 0.1
    isustain = 0.25
    irelease = 0.2
    aenv madsr iattack, idecay, isustain, irelease
    ifreq cpsmidinn p4
    iamp ampdb p5
	asig poscil iamp, ifreq*(sr/gispec_len/ibasehz), gi_padsynth_1
    asig = aenv * asig
	aleft, aright pan2 asig, 0.5
	outs aleft, aright
	endin

</CsInstruments>

<CsScore>

i1  0 2 60.00 60
i1  + 2 72.00 60
i1  + 2 84.00 60

i2  7 2 60.00 60 0.3
i2  + 2 72.00 60 0.3
i2  + 2 84.00 60 0.3
i2  + 2 60.00 60 25
i2  + 2 72.00 60 25
i2  + 2 84.00 60 25
i2  + 2 60.00 60 55
i2  + 2 72.00 60 55
i2  + 2 84.00 60 55

i3 26 2 60.00 60 0.3
i3  + 2 72.00 60 0.3
i3  + 2 84.00 60 0.3
i3  + 2 60.00 60 25
i3  + 2 72.00 60 25
i3  + 2 84.00 60 25
i3  + 2 60.00 60 55
i3  + 2 72.00 60 55
i3  + 2 84.00 60 55

i4 45 2 60.00 60 0.3
i4  + 2 72.00 60 0.3
i4  + 2 84.00 60 0.3
i4  + 2 60.00 60 25
i4  + 2 72.00 60 25
i4  + 2 84.00 60 25
i4  + 2 60.00 60 55
i4  + 2 72.00 60 55
i4  + 2 84.00 60 55

e
</CsScore>
</CsoundSynthesizer>
<bsbPanel>
 Widgets
 <objectName/>
 <x>100</x>
 <y>100</y>
 <width>320</width>
 <height>240</height>
 <visible>true</visible>
 <uuid/>
 <bgcolor mode="nobackground">
  <r>255</r>
  <g>255</g>
  255
 </bgcolor>
</bsbPanel>
<bsbPresets>
</bsbPresets>

<CsoundSynthesizer>

<CsInstruments>
sr=44100
ksmps=1
nchnls=2
0dbfs=2000

	gispec_len init 2^18

	instr 1
    prints "Plain sine for frequency/amplitude/distortion comparison.\n"
	gi_padsynth_1 ftgenonce 0, 0, gispec_len, 10, 1
    iattack = 0.08
    idecay = 0.1
    isustain = 0.25
    irelease = 0.2
    aenv madsr iattack, idecay, isustain, irelease
    ifreq cpsmidinn p4
    iamp ampdb p5
    ibasefreq = 440 ; can be lower or higher frequency; close to played frequency is said to be best
    ibw_cents = 56.96943 ; width of the peaks, 100 is semitone
	asig poscil iamp, ifreq, gi_padsynth_1
    asig = aenv * asig
	aleft, aright pan2 asig, 0.5
	outs aleft, aright
	endin

	instr 2
    prints "PadSynth with sine tone.\n"
    ibasehz = 261.625565
    ;                       p1 p2 p3          p4           p5       p6  p7    p8 p9  p10  p11
	gi_padsynth_1 ftgenonce 0, 0, gispec_len, "padsynth", ibasehz, p6, 0.0,  1, 1,  1.0, 1
    iattack = 0.08
    idecay = 0.1
    isustain = 0.25
    irelease = 0.2
    aenv madsr iattack, idecay, isustain, irelease
    ifreq cpsmidinn p4
    iamp ampdb p5
	asig poscil iamp, ifreq*(sr/gispec_len/ibasehz), gi_padsynth_1
    asig = aenv * asig
	aleft, aright pan2 asig, 0.5
	outs aleft, aright
	endin

	instr 3
    prints "PadSynth with harmonics.\n"
    ibasehz = 261.625565
    ;                       p1 p2 p3          p4           p5       p6  p7 p8 p9  p10  p11
	gi_padsynth_1 ftgenonce 0, 0, gispec_len, "padsynth", ibasehz, p6, 1, 1, 1,  1, 0.7600046992, 0.6199994683, 0.9399998784, 0.4400023818, 0.0600003302, 0.8499968648, 0.0899999291, 0.8199964762, 0.3199984133, 0.9400014281, 0.3000001907, 0.120003365, 0.1799997687, 0.5200006366, 0.9300042987
    iattack = 0.08
    idecay = 0.1
    isustain = 0.25
    irelease = 0.2
    aenv madsr iattack, idecay, isustain, irelease
    ifreq cpsmidinn p4
    iamp ampdb p5
	asig poscil iamp, ifreq*(sr/gispec_len/ibasehz), gi_padsynth_1
    asig = aenv * asig
	aleft, aright pan2 asig, 0.5
	outs aleft, aright
	endin

</CsInstruments>

<CsScore>

i1  0 2 60.00 60
i1  + 2 72.00 60
i1  + 2 84.00 60

i2  7 2 60.00 60 0.3
i2  + 2 72.00 60 0.3
i2  + 2 84.00 60 0.3
i2  + 2 60.00 60 25
i2  + 2 72.00 60 25
i2  + 2 84.00 60 25
i2  + 2 60.00 60 55
i2  + 2 72.00 60 55
i2  + 2 84.00 60 55

i3 26 2 60.00 60 0.3
i3  + 2 72.00 60 0.3
i3  + 2 84.00 60 0.3
i3  + 2 60.00 60 25
i3  + 2 72.00 60 25
i3  + 2 84.00 60 25
i3  + 2 60.00 60 55
i3  + 2 72.00 60 55
i3  + 2 84.00 60 55

e
</CsScore>
</CsoundSynthesizer>
<bsbPanel>
 Widgets
 <objectName/>
 <x>100</x>
 <y>100</y>
 <width>320</width>
 <height>240</height>
 <visible>true</visible>
 <uuid/>
 <bgcolor mode="nobackground">
  <r>255</r>
  <g>255</g>
  255
 </bgcolor>
</bsbPanel>
<bsbPresets>
</bsbPresets>


First commit

First commit

<CsoundSynthesizer>
<CsOptions>
-odac -B441 -b441
</CsOptions>
<CsInstruments>

sr     =        44100
kr     =        100
ksmps  =        441
nchnls =        2

       instr    1
ktrig metro 0.2
printk2 ktrig
	endin

</CsInstruments>
<CsScore>
i 1 0 20

</CsScore>
</CsoundSynthesizer>

error: pathspec 'Opcodes/gab/examples/metro.csd' did not match any file(s) known to git


Added a simple csd for the instrument editor sub-app.

iOS/Csound iOS Examples/Csound iOS Examples/ViewControllers/InstrumentEditor/instrumentEditor.csd

error: pathspec 'iOS/Csound' did not match any file(s) known to git
error: pathspec 'Examples/Csound' did not match any file(s) known to git
error: pathspec 'Examples/ViewControllers/InstrumentEditor/instrumentEditor.csd' did not match any file(s) known to git


no message

no message

<CsoundSynthesizer>
<CsOptions>
csound -RWZfo Xanadu-high-resolution.wav temp.orc temp.sco
</CsOptions>
<CsInstruments>
sr          =           88200
ksmps       =           1
nchnls      =           2
;--------------------------------------------------------
;Instrument 1 : plucked strings chorused left/right and
;       pitch-shifted and delayed taps thru exponential
;       functions, and delayed.
;--------------------------------------------------------

            instr       1
ishift      =           .00666667               ;shift it 8/1200.
ipch        =           cpspch(p5)              ;convert parameter 5 to cps.
ioct        =           octpch(p5)              ;convert parameter 5 to oct.
kvib        poscil       1/120, ipch/50, 1       ;vibrato
ag          pluck       2000, cpsoct(ioct+kvib), 1000, 1, 1
agleft      pluck       2000, cpsoct(ioct+ishift), 1000, 1, 1
agright     pluck       2000, cpsoct(ioct-ishift), 1000, 1, 1
af1         expon       .1, p3, 1.0             ;exponential from 0.1 to 1.0
af2         expon       1.0, p3, .1             ;exponential from 1.0 to 0.1
adump       delayr      2.0                     ;set delay line of 2.0 sec
atap1       deltap3     af1                     ;tap delay line with kf1 func.
atap2       deltap3     af2                     ;tap delay line with kf2 func.
ad1         deltap3     2.0                     ;delay 2 sec.
ad2         deltap3     1.1                     ;delay 1.1 sec.
            delayw      ag                      ;put ag signal into delay line.
            outs        agleft+atap1+ad1, agright+atap2+ad2
            endin
;-------------------------------------------------------------
;Instrument 2 : plucked strings chorused left/right and
;       pitch-shifted with fixed delayed taps.
;------------------------------------------------------------

            instr       2
ishift      =           .00666667               ;shift it 8/1200.
ipch        =           cpspch(p5)              ;convert parameter 5 to cps.
ioct        =           octpch(p5)              ;convert parameter 5 to oct.
kvib        poscil       1/120, ipch/50, 1       ;vibrato
ag          pluck       1000, cpsoct(ioct+kvib), 1000, 1, 1
agleft      pluck       1000, cpsoct(ioct+ishift), 1000, 1, 1
agright     pluck       1000, cpsoct(ioct-ishift), 1000, 1, 1
adump       delayr      0.3                     ;set delay line of 0.3 sec
ad1         deltap3     0.1                     ;delay 100 msec.
ad2         deltap3     0.2                     ;delay 200 msec.
            delayw      ag                      ;put ag sign into del line.
            outs        agleft+ad1, agright+ad2
            endin
;-----------------------------------------------------------
;Instrument 3 : New FM algorithm, modified to produce large timbre
;               shifts using modulation of I and r. Detuned chorusing employed.
;-----------------------------------------------------------
            instr       3
ishift      =           .00666667               ;shift it 8/1200.
ipch        =           cpspch(p5)              ;convert parameter 5 to cps.
ioct        =           octpch(p5)              ;convert parameter 5 to oct.
aadsr       linseg      0, p3/3, 1.0, p3/3, 1.0, p3/3, 0 ;ADSR envelope
amodi       linseg      0, p3/3, 5, p3/3, 3, p3/3, 0 ;ADSR envelope for I
amodr       linseg      p6, p3, p7              ;r moves from p6->p7 in p3 sec.
a1          =           amodi*(amodr-1/amodr)/2
a1ndx       =           abs(a1*2/20)            ;a1*2 is normalized from 0-1.
a2          =           amodi*(amodr+1/amodr)/2
a3          tablei      a1ndx, 3, 1             ;lookup tbl in f3, normal index
ao1         poscil      a1, ipch, 2             ;cosine
a4          =           exp(-0.5*a3+ao1)
ao2         poscil      a2*ipch, ipch, 2        ;cosine
aoutl       poscil      1000*aadsr*a4, ao2+cpsoct(ioct+ishift), 1 ;fnl outleft
aoutr       poscil      1000*aadsr*a4, ao2+cpsoct(ioct-ishift), 1 ;fnl outright
            outs        aoutl, aoutr
            endin

</CsInstruments>
<CsScore>
;       Score for final project in Digital Audio Processing
;       ---------------------------------------------------

;           Piece entitled :  X A N A D U (short version)
;                           Joseph T. Kung, 12/12/88
;            Instruments modified for higher precision
;                         Michael Gogins, 07/22/2006

;           The first part of the score will specify all function
;       tables used in the piece. The second part specifies
;       the instruments and notes. The latter is divided into
;       7 sections, each playing a chord on a different
;                 instrument.
;       The chords are uncommon guitar chords that use the open
;       B and E strings often. These will be transposed by
;       octaves on some chords.

;       Each instrument will play a chord for 15 seconds. The
;                 timbre
;       of the instrument will change in that interval and join
;       with the next instrument/chord sequence. Instrument 3
;       uses a modified FM synthesis technique. This is joined
;       by an additional plucked-string instrument
;       (instruments 1 and 2).

;   The Function Tables
;   -------------------
;All functions are post-normalized (max value is 1) if p4 is
;POSITIVE.

f1 0 65536 10 1      ;sine wave
f2 0 65536 11 1      ;cosine wave
f3 0 65536 -12 20.0  ;unscaled ln(I(x)) from 0 to 20.0

;-----------------------------------------------------------

;----- This section comprises all the new FM sounds -----------

;F#7addB chord on a guitar
i3 0 15 0 7.06 2.0 0.2  ;F#
i3 . . . 8.01 . .   ;C# above
i3 . . . 8.06 . .   ;F# octave above 1st one
i3 . . . 8.10 . .   ;Bb next one up
i3 . . . 8.11 . .   ;B
i3 . . . 9.04 . .   ;E

;D6add9 chord on a guitar
i3 7.5 15 0 6.02 1.7 0.5    ;D
i3 . . . 6.09 . .   ;A above
i3 . . . 7.02 . .   ;D octave above 1st one
i3 . . . 7.06 . .   ;F# next one up
i3 . . . 6.11 . .   ;B
i3 . . . 7.04 . .   ;E

;Bmajadd11 chord on a guitar
i3 15 15 0 7.11 1.4 0.8 ;B
i3 . . . 8.06 . .   ;F# above
i3 . . . 8.11 . .   ;B octave above 1st one
i3 . . . 9.03 . .   ;D# next one up
i3 . . . 8.11 . .   ;B
i3 . . . 9.04 . .   ;E;

;Amajadd9 chord on a guitar
i3 22.5 15 0 6.09 1.1 1.1   ;A
i3 . . . 7.04 . .   ;E above
i3 . . . 8.09 . .   ;A octave above 1st one
i3 . . . 8.01 . .   ;C# next one up
i3 . . . 7.11 . .   ;B
i3 . . . 8.04 . .   ;E

;Bmajadd11 chord on a guitar
i3 30 15 0 6.11 0.8 1.4 ;B
i3 . . . 7.06 . .   ;F# above
i3 . . . 7.11 . .   ;B octave above 1st one
i3 . . . 8.03 . .   ;D# next one up
i3 . . . 7.11 . .   ;B
i3 . . . 8.04 . .   ;E;

;Gmaj6 chord on a guitar
i3 37.5 15 0 5.07 0.5 1.7   ;G
i3 . . . 6.02 . .   ;D above
i3 . . . 6.07 . .   ;G octave above 1st one
i3 . . . 6.11 . .   ;B on G string
i3 . . . 6.11 . .   ;B
i3 . . . 7.04 . .   ;E

;F#7addB chord on a guitar
i3 45 15 0 7.06 0.2 2.0 ;F#
i3 . . . 8.01 . .   ;C# above
i3 . . . 8.06 . .   ;F# octave above 1st one
i3 . . . 8.10 . .   ;Bb next one up
i3 . . . 8.11 . .   ;B
i3 . . . 9.04 . .   ;E

; This section adds the plucked chords to the beginning of each
; section.

;F#7addB chord on a guitar
i1 0 10 0 8.06  ;F#
i1 0.1 . . 9.01 ;C# above
i1 0.2 . . 9.06 ;F# octave above 1st one
i1 0.3 . . 9.10 ;Bb next one up
i1 0.4 . . 9.11 ;B
i1 0.5 . . 10.04    ;E

;D6add9 chord on a guitar
i2 7.5 10 0 8.02    ;D
i2 7.6 . . 8.09     ;A above
i2 7.7 . . 9.02     ;D octave above 1st one
i2 7.8 . . 9.06     ;F# next one up
i2 7.9 . . 9.11     ;B
i2 8.0 . . 10.04    ;E

;Bmajadd11 chord on a guitar
i2 15 10 0 8.11     ;B
i2 15.1 . . 9.06    ;F# above
i2 15.2 . . 9.11    ;B octave above 1st one
i2 15.3 . . 10.03   ;D# next one up
i2 15.4 . . 9.11    ;B
i2 15.5 . . 10.04   ;E;

;Amajadd9 chord on a guitar
i2 22.5 10 0 8.09   ;A
i2 22.6 . . 9.04    ;E above
i2 22.7 . . 10.09   ;A octave above 1st one
i2 22.8 . . 10.01   ;C# next one up
i2 22.9 . . 9.11    ;B
i2 23.0 . . 10.04   ;E

;Bmajadd11 chord on a guitar
i2 30 10 0 8.11     ;B
i2 30.1 . . 9.06    ;F# above
i2 30.2 . . 9.11    ;B octave above 1st one
i2 30.3 . . 10.03   ;D# next one up
i2 30.4 . . 9.11    ;B
i2 30.5 . . 10.04   ;E;

;Gmaj6 chord on a guitar
i2 37.5 10 0 8.07   ;G
i2 37.6 . . 9.02    ;D above
i2 37.7 . . 9.07    ;G octave above 1st one
i2 37.8 . . 9.11    ;B on G string
i2 37.9 . . 9.11    ;B
i2 38.0 . . 10.04   ;E

;F#7addB chord on a guitar
i1 45 10 0 9.06     ;F#
i1 45.1 . . 10.01   ;C# above
i1 45.2 . . 10.06   ;F# octave above 1st one
i1 45.3 . . 10.10   ;Bb next one up
i1 45.4 . . 10.11   ;B
i1 45.5 . . 11.04   ;E
e

</CsScore>
</CsoundSynthesizer>

error: pathspec 'examples/xanadu-high-resolution.csd' did not match any file(s) known to git


Initial commit

Initial commit

<CsoundSynthesizer>

<CsOptions>
  -d -o dac -m0
</CsOptions>

<CsInstruments>
sr     = 48000
ksmps  = 2000
nchnls = 2
0dbfs  = 1

ifn       vco2init  31

          instr 1
idur      =         p3
iamp      =         p4
icps      =         p5
imode     =         p6
ipw       =         p7
iatt      =         p8
idec      =         p9
islev     =         p10
irel      =         p11
idel      =         p12
ifco      =         p13
ires      =         p14

kenv      adsr      iatt, idec, islev, irel, idel
a1        vco2      iamp, icps, imode, ipw
a2        rezzy     a1, ifco, ires
          outs      a2*kenv, a2*kenv
          endin
</CsInstruments>

<CsScore>
i 1 0 1 0.7 220 10 0 0.1 0.2 0.75 0.3 0 2000 10
e
</CsScore>
</CsoundSynthesizer>

error: pathspec 'analogSynth01.csd' did not match any file(s) known to git


Create ICSC_Demonstration_04.csd

Create ICSC_Demonstration_04.csd

Initial commit. This file is the concert version of this piece, except that the output is to the dac instead of to a soundfile.

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/gogins/gogins.github.io.git/'


Real-time audio test composition.

Real-time audio test composition.

error: pathspec 'trappedrt.csd' did not match any file(s) known to git


New example showing how to use ctcsound with py- opcodes

<CsoundSynthesizer>
<CsOptions>
  -odac
</CsOptions>
<CsInstruments>

sr     = 48000
ksmps  = 100
nchnls = 2

pyinit ;Start python interpreter

pyruni {{
import ctcsound
import sys

# Get an opaque pointer to the running Csound instance
# and print Python version number
p = _CSOUND_
print("\\n  --> Python version number: {}\\n".format(sys.version_info[0]))
# Create an object called cs from the ctcsound.Csound class
# using the opaque pointer to the Csound instance
cs = ctcsound.Csound(pointer_=p)
}}

instr 1
  ; Use the cs python object
  pyruni {{
print("\\n  --> Sample Rate: {}, Control Rate: {}\\n".format(cs.sr(), cs.kr()))
  }}
endin

</CsInstruments>
<CsScore>
i1 0 1
</CsScore>
</CsoundSynthesizer>

error: pathspec 'cookbook/examples/embeddedCtcsound.csd' did not match any file(s) known to git


Adding a few ftables to plot

Adding a few ftables to plot

iOS/Csound iOS Examples/Csound iOS Examples/ViewControllers/Waveview/Waveviewtest.csd

error: pathspec 'iOS/Csound' did not match any file(s) known to git
error: pathspec 'Examples/Csound' did not match any file(s) known to git
error: pathspec 'Examples/ViewControllers/Waveview/Waveviewtest.csd' did not match any file(s) known to git


Removed MacGUI cruft from csd file.

Removed MacGUI cruft from csd file.


added array udo tests

added array udo tests

<CsoundSynthesizer>
<CsOptions>
-d
</CsOptions>
<CsInstruments>

opcode Test,k,[k]

kS[] xin
k1 = kS[0]
   xout ks1

endop

instr 1

;kS[] init 2
; ks[0] = 1
;k2 Test kS[]
   ;printk2 k2

endin

</CsInstruments>
<CsScore>

i1 0 1

</CsScore>
</CsoundSynthesizer>
<bsbPanel>
 Widgets
 <objectName/>
 <x>614</x>
 <y>61</y>
 <width>695</width>
 <height>747</height>
 <visible>true</visible>
 <uuid/>
 <bgcolor mode="nobackground">
  <r>231</r>
  <g>46</g>
  255
 </bgcolor>
 <bsbObject version="2" type="BSBVSlider">
  <objectName>slider1</objectName>
  <x>5</x>
  <y>5</y>
  <width>20</width>
  <height>100</height>
  <uuid>{fe924818-39b1-44b5-b240-331a49ca0049}</uuid>
  <visible>true</visible>
  <midichan>0</midichan>
  <midicc>-3</midicc>
  <minimum>0.00000000</minimum>
  <maximum>1.00000000</maximum>
  <value>0.00000000</value>
  <mode>lin</mode>
  <mouseControl act="jump">continuous</mouseControl>
  <resolution>-1.00000000</resolution>
  <randomizable group="0">false</randomizable>
 </bsbObject>
</bsbPanel>
<bsbPresets>
</bsbPresets>
<MacGUI>
ioView nobackground {59367, 11822, 65535}
ioSlider {5, 5} {20, 100} 0.000000 1.000000 0.000000 slider1
</MacGUI>

error: pathspec 'tests/commandline/test_karrays_udo.csd' did not match any file(s) known to git


added commandline csd to test various array operations

<CsoundSynthesizer>
<CsOptions>
-m0
</CsOptions>
<CsInstruments>
ksmps = 32

/****UDOs for printing one-dim arrays****/
  opcode PrtArr1i, 0, i[]ojjj
iArr[], istart, iend, iprec, ippr xin
iprint     init       0
ippr       =          (ippr == -1 ? 10 : ippr)
iend       =          (iend == -1 ? lenarray(iArr) : iend)
iprec      =          (iprec == -1 ? 3 : iprec)
indx       =          istart
Sformat    sprintf    "%%%d.%df, ", iprec+3, iprec
Sdump      sprintf    "%s", "["
loop:
Snew       sprintf    Sformat, iArr[indx]
Sdump      strcat     Sdump, Snew
imod       =          (indx+1-istart) % ippr
 if imod == 0 && indx != iend-1 then
           printf_i   "%s\n", iprint+1, Sdump
Sdump      strcpy     " "
 endif
iprint     =          iprint + 1
           loop_lt    indx, 1, iend, loop
ilen       strlen     Sdump
Slast      strsub     Sdump, 0, ilen-2
           printf_i   "%s]\n", iprint+1, Slast
  endop
  opcode PrtArr1k, 0, k[]POVVO
kArr[], ktrig, kstart, kend, kprec, kppr xin
kprint     init       0
kndx       init       0
if ktrig > 0 then
kppr       =          (kppr == 0 ? 10 : kppr)
kend       =          (kend == -1 || kend == .5 ? lenarray(kArr) : kend)
kprec      =          (kprec == -1 || kprec == .5 ? 3 : kprec)
kndx       =          kstart
Sformat    sprintfk   "%%%d.%df, ", kprec+3, kprec
Sdump      sprintfk   "%s", "["
loop:
Snew       sprintfk   Sformat, kArr[kndx]
Sdump      strcatk    Sdump, Snew
kmod       =          (kndx+1-kstart) % kppr
 if kmod == 0 && kndx != kend-1 then
           printf     "%s\n", kprint+1, Sdump
Sdump      strcpyk    " "
 endif
kprint     =          kprint + 1
           loop_lt    kndx, 1, kend, loop
klen       strlenk    Sdump
Slast      strsubk    Sdump, 0, klen-2
           printf     "%s]\n", kprint+1, Slast
endif
  endop
  opcode PrtArr1S, 0, S[]oj
SArr[], istart, iend xin
iend       =          (iend == -1 ? lenarray(SArr) : iend)
indx       =          istart
           printf_i   "%s", 1, "["
 until indx >= iend-1 do
           printf_i    "%s, ", 1, SArr[indx]
indx       +=         1
 enduntil
           printf_i   "%s]\n", 1, SArr[indx]
  endop

    giSine  ftgen   0, 0, 8, 10, 1

instr Fillarray
    prints "\n instr Fillarray\n"
;different types, one dim
    iArr1d[] fillarray 1, 2, 3
    kArr1d[] fillarray 1, 2, 3
    SArr1d[] fillarray "a", "b", "c"
    PrtArr1i iArr1d
    PrtArr1k kArr1d
    PrtArr1S SArr1d
;different types, two dims
    iArr2d[][] init 2, 3
    iArr2d fillarray 1, 2, 3, 4, 5, 6
    kArr2d[][] init 3, 2
    kArr2d fillarray 1, 2, 3, 4, 5, 6
    SArr2d[] init 2, 3
    SArr2d fillarray "a", "b", "c", "e", "f", "g"
;two dims, arrays as arguments
;    iArr1[] fillarray 1, 2, 3
;    iArr2[] fillarray 4, 5, 6
;    iArrcmb[][] fillarray iArr1, iArr2
    turnoff
endin

instr Lenarray
    prints "\n instr Lenarray\n"
    iArr1d[] fillarray 1, 2, 3
    kArr1d[] fillarray 1, 2, 3
    SArr1d[] fillarray "a", "b", "c"
    print lenarray(iArr1d)
    print lenarray(SArr1d)
    printk 0, lenarray(kArr1d)
    turnoff
endin

instr Slicearray
    prints "\n instr Sclicearray\n"
;i-rate
   iArr[]  fillarray  1, 2, 3, 4, 5, 6, 7, 8, 9
   iArr1[] init       5
   iArr2[] init       4
   iArr1   slicearray iArr, 0, 4
   iArr2   slicearray iArr, 5, 8
           PrtArr1i   iArr1
           PrtArr1i   iArr2
;k-rate
   kArr[]  fillarray  1, 2, 3, 4, 5, 6, 7, 8, 9
   kArr1[] init       5
   kArr2[] init       4
   kArr1   slicearray iArr, 0, 4
   kArr2   slicearray iArr, 5, 8
           PrtArr1k   kArr1
           PrtArr1k   kArr2
;string arrays
   SArr[]  fillarray  "a", "b", "c", "d", "e"
   SArr1[] init       3
   SArr2[] init       2
   SArr1   slicearray SArr, 0, 2
   SArr2   slicearray SArr, 3, 4
           PrtArr1S   SArr1
           PrtArr1S   SArr2
           turnoff
endin

instr Copyf2array
    prints "\n instr Copyf2array\n"
;i-rate
    iArr[]  init       8
    copyf2array iArr, giSine
    PrtArr1i iArr
;k-rate
    kArr[]  init       8
    copyf2array kArr, giSine
    PrtArr1k kArr
    turnoff
endin

instr Copya2ftab
    prints "\n instr Copya2ftab\n"
;i-rate
    iArr[]  fillarray  1, 2, 3, 4, 5, 6, 7, 8
    iFt1 ftgen 0, 0, lenarray(iArr), 2, 0
    copya2ftab iArr, iFt1
    prints "iFt1 values = "
    iIndx = 0
    until iIndx == lenarray(iArr) do
    printf_i "%.3f ", iIndx+1, table:i(iIndx, iFt1)
    iIndx += 1
    enduntil
    prints "\n"
;k-rate
    kArr[]  fillarray  1, 2, 3, 4, 5, 6, 7, 8
    iFt2 ftgen 0, 0, 8, 2, 0
    copya2ftab kArr, iFt2
    printks "iFt2 values = ", 0
    kIndx = 0
    until kIndx == lenarray(kArr) do
    printf "%.3f ", kIndx+1, table:k(kIndx, iFt2)
    kIndx += 1
    enduntil
    printks "\n", 0
    turnoff
endin

instr Arr_Num_Math
;+, -, *, / between an array and a number
    prints "\n instr Arr_Num_Math\n"
;i-rate
    iArr1[] fillarray 1, 2, 3
    iArr2[] = iArr1 + 10
    iArr3[] = iArr2 - 10
    iArr4[] = iArr3 * 10
    iArr5[] = iArr4 / 10
    prints "iArr1 = "
    PrtArr1i iArr1
    prints "iArr2 = iArr1 + 10: "
    PrtArr1i iArr2
    prints "iArr3 = iArr2 - 10: "
    PrtArr1i iArr3
    prints "iArr4 = iArr3 * 10: "
    PrtArr1i iArr4
    prints "iArr5 = iArr4 / 10: "
    PrtArr1i iArr5
;k-rate
    kArr1[] fillarray -1, -2, -3
    kArr2[] = kArr1 + 10
    kArr3[] = kArr2 - 10
    kArr4[] = kArr3 * 10
    kArr5[] = kArr4 / 10
    printks "kArr1 = ", 0
    PrtArr1k kArr1
    printks "kArr2 = kArr1 + 10: ", 0
    PrtArr1k kArr2
    printks "kArr3 = kArr2 - 10: ", 0
    PrtArr1k kArr3
    printks "kArr4 = kArr3 * 10: ", 0
    PrtArr1k kArr4
    printks "kArr5 = kArr4 / 10: ", 0
    PrtArr1k kArr5
    turnoff
endin

instr Arr_Arr_Math
; +, -, *, / between two arrays
    prints "\n instr Arr_Arr_Math\n"
;i-rate
    iArr1[] fillarray 1, 2, 3
    iArr2[] fillarray 4, 5, 6
    iArr3[] = iArr1 + iArr2
    iArr4[] = iArr1 - iArr2
    iArr5[] = iArr1 * iArr2
    iArr6[] = iArr1 / iArr2
    prints "iArr1 = "
    PrtArr1i iArr1
    prints "iArr2 = "
    PrtArr1i iArr2
    prints "iArr3[] = iArr1 + iArr2:\n        "
    PrtArr1i iArr3
    prints "iArr4[] = iArr1 - iArr2:\n        "
    PrtArr1i iArr4
    prints "iArr5[] = iArr1 * iArr2:\n        "
    PrtArr1i iArr5
    prints "iArr6[] = iArr1 / iArr2:\n        "
    PrtArr1i iArr6
;k-rate
    kArr1[] fillarray -1, -2, -3
    kArr2[] fillarray -4, -5, -6
    kArr3[] = kArr1 + kArr2
    kArr4[] = kArr1 - kArr2
    kArr5[] = kArr1 * kArr2
    kArr6[] = kArr1 / kArr2
    printks "kArr1 = ", 0
    PrtArr1k kArr1
    printks "kArr2 = ", 0
    PrtArr1k kArr2
    printks "kArr3[] = kArr1 + kArr2:\n        ", 0
    PrtArr1k kArr3
    printks "kArr4[] = kArr1 - kArr2:\n        ", 0
    PrtArr1k kArr4
    printks "kArr5[] = kArr1 * kArr2:\n        ", 0
    PrtArr1k kArr5
    printks "kArr6[] = kArr1 / kArr2:\n        ", 0
    PrtArr1k kArr6
    turnoff
endin

instr Minarray
    prints "\n instr Minarray\n"
;i-rate
    iArr[] fillarray -1, 0, 1.1, -3.3, 17
    iMin, iPos minarray iArr
    prints "iArr = "
    PrtArr1i iArr
    prints "iMin = value %.3f at index %d\n", iMin, iPos
;k-rate
    kArr[] fillarray -1, 0, 1.1, -3.3, 17
    kMin, kPos minarray kArr
    printks "kArr = ", 0
    PrtArr1k kArr
    printks "kMin = value %.3f at index %d\n", 0, kMin, kPos
    turnoff
endin

instr Maxarray
    prints "\n instr Maxarray\n"
;i-rate
    iArr[] fillarray -1, 0, 1.1, -3.3, 17
    iMax, iPos maxarray iArr
    prints "iArr = "
    PrtArr1i iArr
    prints "iMax = value %.3f at index %d\n", iMax, iPos
;k-rate
    kArr[] fillarray -1, 0, 1.1, -3.3, 17
    kMax, kPos maxarray kArr
    printks "kArr = ", 0
    PrtArr1k kArr
    printks "kMax = value %.3f at index %d\n", 0, kMax, kPos
    turnoff
endin

instr Sumarray
    prints "\n instr Sumarray\n"
;i-rate
    iArr[] fillarray -1, 0, 1.1, -3.3, 17
    iSum sumarray iArr
    prints "iArr = "
    PrtArr1i iArr
    prints "iSum = %.3f\n", iSum
;k-rate
    kArr[] fillarray -1, 0, 1.1, -3.3, 17
    kSum sumarray kArr
    printks "kArr = ", 0
    PrtArr1k kArr
    printks "kSum = %.3f\n", 0, kSum
    turnoff
endin

instr Scalearray
    prints "\n instr Scalearray\n"
;i-rate
    iArr[] fillarray -1, 0, 1.1, -3.3, 17
    prints "iArr before scaling: "
    PrtArr1i iArr
    scalearray iArr, 0, 10
    prints "iArr after scaling (0..10): "
    PrtArr1i iArr
;k-rate
    kArr[] fillarray -1, 0, 1.1, -3.3, 17
    printks "kArr before scaling: ", 0
    PrtArr1k kArr
    scalearray kArr, 0, 10
    printks "kArr after scaling (0..10): ", 0
    PrtArr1k kArr
    turnoff
endin

instr Maparray
    prints "\n instr Maparray\n"
;i-rate
    iArr1[] fillarray 1, 2, 3, 4, 5
    iArr2[] init 5
    iArr2 maparray iArr1, "sqrt"
    prints "iArr1 = "
    PrtArr1i iArr1
    prints "applied sqrt function to it = "
    PrtArr1i iArr2
;k-rate
    kArr1[] fillarray 1, 2, 3, 4, 5
    kArr2[] init 5
    kArr2 maparray kArr1, "sqrt"
    printks "kArr1 = ", 0
    PrtArr1k kArr1
    printks "applied sqrt function to it = ", 0
    PrtArr1k kArr2
    turnoff
endin

instr Assign
    prints "\n instr Assign\n"
;i-rate
    iArr1[] fillarray 1, 2, 3, 4, 5
    iArr2[] = iArr1
    PrtArr1i iArr2
;string array
    Sarr1[] fillarray "is", "this", "really", "possible", "?"
    ;not yet ...=)
;    Sarr2[] = Sarr1
;    PrtArr1S Sarr2
;k-rate
    kArr1[] fillarray 1, 2, 3, 4, 5
    kArr2[] = kArr1
    PrtArr1k kArr2
    turnoff
endin

instr Genarray
    prints "\n instr Genarray\n"
;i-rate
    iArr1[] genarray   1, 5
    iArr2[] genarray   -1, 1, 0.5
    iArr3[] genarray   1, -1, -0.5
    iArr4[] genarray   -1, 1, 0.6
    PrtArr1i iArr1
    PrtArr1i iArr2
    PrtArr1i iArr3
    PrtArr1i iArr4
;k-rate
    kArr1[] genarray_i   1, 5
    kArr2[] genarray_i   -1, 1, 0.5
    kArr3[] genarray_i   1, -1, -0.5
    kArr4[] genarray_i   -1, 1, 0.6
    PrtArr1k kArr1
    PrtArr1k kArr2
    PrtArr1k kArr3
    PrtArr1k kArr4
    turnoff
endin

</CsInstruments>
<CsScore>
i "Fillarray" 0 .01
i "Lenarray" .01 .01
i "Slicearray" .02 .01
i "Copyf2array" .03 .01
i "Copya2ftab" .04 .01
i "Arr_Num_Math" .05 .01
i "Arr_Arr_Math" .06 .01
i "Minarray" .07 .01
i "Maxarray" .08 .01
i "Sumarray" .09 .01
i "Scalearray" .1 .01
i "Maparray" .11 .01
i "Assign" .12 .01
i "Genarray" .13 .01
</CsScore>
</CsoundSynthesizer>
<bsbPanel>
 Widgets
 <objectName/>
 <x>758</x>
 <y>141</y>
 <width>541</width>
 <height>240</height>
 <visible>true</visible>
 <uuid/>
 <bgcolor mode="nobackground">
  <r>255</r>
  <g>255</g>
  255
 </bgcolor>
 <bsbObject version="2" type="BSBButton">
  <objectName>_Browse</objectName>
  <x>73</x>
  <y>27</y>
  <width>100</width>
  <height>30</height>
  <uuid>{737b2ca7-2fac-4257-ae57-7863dd7b6135}</uuid>
  <visible>true</visible>
  <midichan>0</midichan>
  <midicc>0</midicc>
  <type>value</type>
  <pressedValue>1.00000000</pressedValue>
  <stringvalue>/home/jh/Joachim/Stuecke/25Siononmiro/z_produktion_angela_2014/teil1_trocken.wav</stringvalue>
  <text>button0</text>
  <image>/</image>
  <eventLine>i1 0 10</eventLine>
  <latch>false</latch>
  <latched>false</latched>
 </bsbObject>
 <bsbObject version="2" type="BSBLineEdit">
  <objectName>Browse1</objectName>
  <x>28</x>
  <y>67</y>
  <width>462</width>
  <height>29</height>
  <uuid>{111f96a6-2d30-48ad-aa25-27efb2119419}</uuid>
  <visible>true</visible>
  <midichan>0</midichan>
  <midicc>0</midicc>
  bla
  <alignment>left</alignment>
  Arial
  <fontsize>10</fontsize>
  <precision>3</precision>
  <color>
   <r>0</r>
   <g>0</g>
   0
  </color>
  <bgcolor mode="nobackground">
   <r>206</r>
   <g>206</g>
   206
  </bgcolor>
  <background>nobackground</background>
 </bsbObject>
 <bsbObject version="2" type="BSBLineEdit">
  <objectName>bla</objectName>
  <x>28</x>
  <y>118</y>
  <width>462</width>
  <height>29</height>
  <uuid>{f8350608-e7d4-472f-8e21-2eaf0248a8e3}</uuid>
  <visible>true</visible>
  <midichan>0</midichan>
  <midicc>0</midicc>
  aaaaaaaaaaaaaaaaaaaaaaaaa
  <alignment>left</alignment>
  Arial
  <fontsize>10</fontsize>
  <precision>3</precision>
  <color>
   <r>0</r>
   <g>0</g>
   0
  </color>
  <bgcolor mode="nobackground">
   <r>206</r>
   <g>206</g>
   206
  </bgcolor>
  <background>nobackground</background>
 </bsbObject>
</bsbPanel>
<bsbPresets>
</bsbPresets>

error: pathspec 'tests/commandline/test_array_operations.csd' did not match any file(s) known to git


Added sfMixer, which is a sound file mixer

<CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
; Audio out   Audio in    No messages
-odac           -iadc     -+rtaudio=alsa -d     ;;;RT audio I/O
; For Non-realtime ouput leave only the line below:
; -o FLslidBnk.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
kr = 441
ksmps = 100
nchnls = 1
0dbfs	= 1

giScaleAmp = .5

iTableSize = 64 ; must be a power of 2
giOutTable ftgen 0, 0, iTableSize, -23, "mixLevelsLoad.txt"

FLpanel "Soundfile loops mixer", 600, 380, 50, 50
    ;Number of sliders
    iNum = 16
    ; Width of the slider bank in piXels
    iWidth = 350
    ; Height of the slider in piXels
    iHeight = 260
    ; Distance of the left edge of the slider
    ; from the left edge of the panel
    iX = 30
    ; Distance of the top edge of the slider
    ; from the top edge of the panel
    iY = 10
    ; Button type
    iTypeTable = -23
    ; Table containing fader types
    iExpTable  = 0 ; linear faders
    FLslidBnk " ", iNum , giOutTable , iWidth , iHeight , iX, iY, \
    iTypeTable, iExpTable, 1
    ; Save button
    iOn = 1
    iOff = 23
    iXb = 400
    iYb = 10
    gkButton, ihb1 FLbutton "Save fader values", iOn, iOff, 21, 200, 40, iXb, iYb, -1
    ; Mute button
    iOn1 = 0
    iOff1 = 1
    iXb1 = 400
    iYb1 = 60
    gkMute, ihb2 FLbutton "Mute", iOn1, iOff1, 23, 200, 40, iXb1, iYb1, -1

; End of panel contents
FLpanelEnd
; Run the widget thread!
FLrun

strset 1, "../stones/violin1/samples/1vln1.wav"
strset 2, "../stones/violin1/samples/2vln1.wav"
strset 3, "../stones/violin1/samples/3vln1.wav"
strset 4, "../stones/violin1/samples/4vln1.wav"
strset 5, "../stones/violin1/samples/5vln1.wav"
strset 6, "../stones/violin1/samples/6vln1.wav"
strset 7, "../stones/violin1/samples/7vln1.wav"
strset 8, "../stones/violin1/samples/8vln1.wav"
strset 9, "../stones/violin1/samples/9vln1.wav"
strset 10, "../stones/violin1/samples/10vln1.wav"
strset 11, "../stones/violin1/samples/11vln1.wav"
strset 12, "../stones/violin1/samples/13vln1.wav"
strset 13, "../stones/violin1/samples/14vln1.wav"
strset 14, "../stones/violin1/samples/15vln1.wav"
strset 15, "../stones/violin1/samples/16vln1.wav"

	instr 1
iFileNum	= p4

iPitch		= 1
iSkipTime 	= 0
iWrap		= 1

aLoop diskin2 iFileNum, iPitch, iSkipTime, iWrap

kAmpScale table iFileNum, giOutTable

printf "Channel%d - AmpScale = %f\n", kAmpScale, iFileNum, kAmpScale
out aLoop * kAmpScale * giScaleAmp * gkMute
	endin

	instr 2
if gkButton != 23 then
	ftsavek "mixLevelsSave.txt", gkButton, 1, giOutTable
	gkButton = 23
endif
	endin

</CsInstruments>
<CsScore>

; Instrument 1 will play a note for 1 hour.
i1 0 3600 1
i1 0 3600 2
i1 0 3600 3
i1 0 3600 4
i1 0 3600 5
i1 0 3600 6
i1 0 3600 7
i1 0 3600 8
i1 0 3600 9
i1 0 3600 10
i1 0 3600 11
i1 0 3600 12
i1 0 3600 13
i1 0 3600 14
i1 0 3600 15
i2 0 3600
e

</CsScore>
</CsoundSynthesizer>

error: pathspec 'sfMixer.csd' did not match any file(s) known to git


Removed unused instruments.

Removed unused instruments.

OSX/Csound OSX Examples/Csound OSX Examples/SimpleTest1/test.csd

error: pathspec 'OSX/Csound' did not match any file(s) known to git
error: pathspec 'Examples/Csound' did not match any file(s) known to git
error: pathspec 'Examples/SimpleTest1/test.csd' did not match any file(s) known to git


added print debug statement

added print debug statement

<CsoundSynthesizer>

<CsInstruments>
sr=44100
ksmps=1
nchnls=2

giamp = 10000

		opcode testUDO, i, i
ipch	xin
print ipch
ipch 	= ipch * 2
		xout ipch
		endop

	instr 1	;untitled

iamp = giamp

ipch = p4

kenv	linseg 0, p3 * (.25 + .25), 1, p3 * .5 * 1, 0
kenv 	= kenv * iamp

ifreq	testUDO ipch

aout	vco2 kenv, ifreq

	outs aout, aout
	endin

</CsInstruments>

<CsScore>

i1	0.0	1 440
i1  + . 550
i1  + . 660
i1  + . 770
i1  + . 880

e

</CsScore>

</CsoundSynthesizer>

<CsoundSynthesizer>

<CsInstruments>
sr=44100
ksmps=1
nchnls=2

giamp = 10000

		opcode testUDO, i, i
ipch	xin
ipch 	= ipch * 2
		xout ipch
		endop

	instr 1	;untitled

iamp = giamp

ipch = p4

kenv	linseg 0, p3 * (.25 + .25), 1, p3 * .5 * 1, 0
kenv 	= kenv * iamp

ifreq	testUDO ipch

aout	vco2 kenv, ifreq

	outs aout, aout
	endin

</CsInstruments>

<CsScore>

i1	0.0	1 440
i1  + . 550
i1  + . 660
i1  + . 770
i1  + . 880

e

</CsScore>

</CsoundSynthesizer>


cleanup

cleanup

error: pathspec 'Aluminum' did not match any file(s) known to git
error: pathspec 'March/Aluminum' did not match any file(s) known to git
error: pathspec 'March.csd' did not match any file(s) known to git


First attempt at OSC listener

First attempt at OSC listener

<CsoundSynthesizer>

<CsInstruments>
instr 1
    OSCinit     7070
endin

instr 2
        ki init 0
    kk OSClisten "/foo/bar", "i", ki
endin

</CsInstruments>

<CsScore>
i1 0 1
i2 0 10
e
</CsScore>

</CsoundSynthesizer>

error: pathspec 'examples/oscrecv.csd' did not match any file(s) known to git


added test for array copies

added test for array copies

<CsoundSynthesizer>
<CsOptions>
-n
</CsOptions>
<CsInstruments>

ksmps = 32

instr copy_one_dim_i2i

 iArrSrc[] fillarray 1, 2, 3, 4, 5
 iArrCpy[] init 5
 iArrCpy = iArrSrc
 print iArrCpy[0], iArrCpy[4]

endin

instr copy_one_dim_k2k

 kArrSrc[] fillarray 1, 2, 3, 4, 5
 kArrCpy[] init 5
 kArrCpy = kArrSrc
 printk 0, kArrCpy[0]
 printk 0, kArrCpy[4]
 turnoff

endin

instr copy_one_dim_i2k

 iArrSrc[] fillarray 1, 2, 3, 4, 5
 kArrCpy[] init 5
 kArrCpy = iArrSrc
 printk 0, kArrCpy[0]
 printk 0, kArrCpy[4]
 turnoff

endin

instr copy_one_dim_k2i

 kArrSrc[] fillarray 1, 2, 3, 4, 5
 iArrCpy[] init 5
 iArrCpy = kArrSrc
 print iArrCpy[0]
 print iArrCpy[4]

endin

instr copy_two_dims_i2i

 iArrSrc[][] init 2, 3
 iArrSrc fillarray 1, 2, 3, 4, 5, 6
 iArrCpy[][] init 2, 3
 iArrCpy = iArrSrc
 print iArrCpy[0][0], iArrCpy[1][2]

endin

instr copy_two_dims_k2k

 kArrSrc[][] init 2, 3
 kArrSrc fillarray 1, 2, 3, 4, 5, 6
 kArrCpy[][] init 2, 3
 kArrCpy = kArrSrc
 printk 0, kArrCpy[0][0]
 printk 0, kArrCpy[1][2]
 turnoff

endin

instr copy_two_dims_i2k

 iArrSrc[][] init 2, 3
 iArrSrc fillarray 1, 2, 3, 4, 5, 6
 kArrCpy[][] init 2, 3
 kArrCpy = iArrSrc
 printk 0, kArrCpy[0][0]
 printk 0, kArrCpy[1][2]
 turnoff

endin

instr copy_two_dims_k2i

 kArrSrc[][] init 2, 3
 kArrSrc fillarray 1, 2, 3, 4, 5, 6
 iArrCpy[][] init 2, 3
 iArrCpy = kArrSrc
 print iArrCpy[0][0], iArrCpy[1][2]

endin

</CsInstruments>
<CsScore>
i "copy_one_dim_i2i" 0 0
i "copy_one_dim_k2k" .1 .1
i "copy_one_dim_i2k" .2 .1
i "copy_one_dim_k2i" .3 0
i "copy_two_dims_i2i" .4 0
i "copy_two_dims_k2k" .5 .1
i "copy_two_dims_i2k" .6 .1
i "copy_two_dims_k2i" .7 0
</CsScore>
</CsoundSynthesizer>

error: pathspec 'tests/commandline/arrays/array_copy.csd' did not match any file(s) known to git


added CSD test by Joachim Heintz that has var definition within if-then blocks

/****************************************************************************
ift, iftlen StrayNumToFt Stray [, iftno [, isep1 [, isep2]]]
Converts a string-array which just consists of numbers or simple math expressions to a function table

Puts all numbers in Stray (which must not contain non-numerical elements) in a function table and returns its variable ift (which is produced by iftno, default=0) and the length of the elements written iftlen. (An empty string as input writes a function table of size=1 to avoid an error but returns 0 as length of elements written.) Simple binary math expressions using +, -, *, /, ^ and % are allowed, with just one parenthesis in total (see the examples below).
Elements are defined by two seperators as ASCII coded characters: isep1 defaults to 32 (= space), isep2 defaults to 9 (= tab). If just one seperator is used, isep2 equals isep1.
Requires csound 5.15 or higher, and the UDOs StrayLen, StrExpr1 and StrExpr2

Stray - a string as array
iftno - like in an ftgen statement: if 0 (which is also the default) an automatic number is generated by Csound; if any positive number, this is then the number of the function table
isep1 - the first seperator (default=32: space)
isep2 - the second seperator (default=9: tab)
ift - the number of the function table which has been created
iftlen - the length of the elements written to the function table (usually this equals the length of the function table; just an empty string as input will create a function table of size=1 but with iftlen=0)
****************************************************************************/

<CsoundSynthesizer>
<CsOptions>
-n -m0
</CsOptions>
<CsInstruments>

  opcode StrayLen, i, Sjj
;returns the number of elements in Stray. elements are defined by two seperators as ASCII coded characters: isep1 defaults to 32 (= space), isep2 defaults to 9 (= tab). if just one seperator is used, isep2 equals isep1
Stray, isepA, isepB xin
;;DEFINE THE SEPERATORS
isep1     =         (isepA == -1 ? 32 : isepA)
isep2     =         (isepA == -1 && isepB == -1 ? 9 : (isepB == -1 ? isep1 : isepB))
Sep1      sprintf   "%c", isep1
Sep2      sprintf   "%c", isep2
;;INITIALIZE SOME PARAMETERS
ilen      strlen    Stray
icount    =         0; number of elements
iwarsep   =         1
indx      =         0
 if ilen == 0 igoto end ;don't go into the loop if String is empty
loop:
Snext     strsub    Stray, indx, indx+1; next sign
isep1p    strcmp    Snext, Sep1; returns 0 if Snext is sep1
isep2p    strcmp    Snext, Sep2; 0 if Snext is sep2
 if isep1p == 0 || isep2p == 0 then; if sep1 or sep2
iwarsep   =         1; tell the log so
 else 				; if not
  if iwarsep == 1 then	; and has been sep1 or sep2 before
icount    =         icount + 1; increase counter
iwarsep   =         0; and tell you are ot sep1 nor sep2
  endif
 endif
          loop_lt   indx, 1, ilen, loop
end:      xout      icount
  endop

  opcode StrExpr1, i, S
Str       xin
isum      strindex  Str, "+"; sum
idif      strindex  Str, "-"; difference
ipro      strindex  Str, "*"; product
irat      strindex  Str, "/"; ratio
ipow      strindex  Str, "^"; power
imod      strindex  Str, "%"; modulo
 if ipow > 0 then
ifirst    strindex  Str, "^"
S1        strsub    Str, 0, ifirst
S2        strsub    Str, ifirst+1
i1        strtod    S1
i2        strtod    S2
ires      =         i1 ^ i2
 elseif imod > 0 then
ifirst    strindex  Str, "%"
S1        strsub    Str, 0, ifirst
S2        strsub    Str, ifirst+1
i1        strtod    S1
i2        strtod    S2
ires      =         i1 % i2
 elseif ipro > 0 then
ifirst    strindex  Str, "*"
S1        strsub    Str, 0, ifirst
S2        strsub    Str, ifirst+1
i1        strtod    S1
i2        strtod    S2
ires      =         i1 * i2
 elseif irat > 0 then
ifirst    strindex  Str, "/"
S1        strsub    Str, 0, ifirst
S2        strsub    Str, ifirst+1
i1        strtod    S1
i2        strtod    S2
ires      =         i1 / i2
 elseif isum > 0 then
ifirst    strindex  Str, "+"
S1        strsub    Str, 0, ifirst
S2        strsub    Str, ifirst+1
i1        strtod    S1
i2        strtod    S2
ires      =         i1 + i2
 elseif idif > -1 then
ifirst    strrindex Str, "-";(last occurrence: -3-4 is possible, but not 3--4)
S1        strsub    Str, 0, ifirst
S2        strsub    Str, ifirst+1
iS1len    strlen    S1
 if iS1len == 0 then ;just a negative number
inum      strtod    S2
ires      =         -inum
 else
ifirst    strtod    S1
isec      strtod    S2
ires      =         ifirst - isec
  endif
 else
ires      strtod    Str
 endif
          xout      ires
  endop

  opcode StrExpr2, i, S
Sin       xin
ilen      strlen    Sin
;if a parenthesis can be found
iparenth  strindex  Sin, "("
if iparenth > -1 then
  ;if in first half and no '-' preceeds
  if iparenth == 0 then
    ;then first element ends in ")"
iprend    strindex   Sin, ")"
S1        strsub     Sin, 1, iprend
    ;convert this element into a number
i1        StrExpr1   S1
    ;append the rest and convert again
S2        strsub     Sin, iprend+2
Sep       strsub     Sin, iprend+1, iprend+2
Scoll     sprintf    "%f%s%s", i1, Sep, S2
ires      StrExpr1   Scoll
  ;if in first half and '-' preceeds
  elseif iparenth == 1 then
    ;then first element ends in ")"
iprend    strindex   Sin, ")"
S1        strsub     Sin, 2, iprend
    ;convert this element into a number
i1        StrExpr1   S1
i1        =          -i1
    ;append the rest and convert again
S2        strsub     Sin, iprend+2
Sep       strsub     Sin, iprend+1, iprend+2
Scoll     sprintf    "%f%s%s", i1, Sep, S2
ires      StrExpr1   Scoll
  ;if the parenthesis is in the second half
  else
    ;isolate first element and the conjunction
S1        strsub     Sin, 0, iparenth-1
Sep       strsub     Sin, iparenth-1, iparenth
    ;convert the second element
S2        strsub     Sin, iparenth+1, ilen-1
i2        StrExpr1   S2
      ;if subtraction and i2 negative, convert to addition
isepminus strcmp     Sep, "-"
      if i2 < 0 && isepminus == 0 then
i2        =          -i2
Sep       =          "+"
      endif
    ;convert the whole
Scoll     sprintf    "%s%s%f", S1, Sep, i2
ires      StrExpr1   Scoll
  endif
;if no parenthesis, simply convert
else
ires      StrExpr1   Sin
endif
          xout       ires
  endop

  opcode StrayNumToFt, ii, Sojj
  ;requires the UDOs StrayLen, StrExpr1 and StrExpr2
Stray, iftno, isepA, isepB xin
;;DEFINE THE SEPERATORS
isep1     =         (isepA == -1 ? 32 : isepA)
isep2     =         (isepA == -1 && isepB == -1 ? 9 : (isepB == -1 ? isep1 : isepB))
Sep1      sprintf   "%c", isep1
Sep2      sprintf   "%c", isep2
;;CREATE A FUNCTION TABLE
iftlen    StrayLen  Stray, isep1, isep2
 if iftlen == 0 then
          prints    "WARNING! StrayNumToFt got empty string as input. Function table with length=1 created, but iftlen=0 returned.\n"
iftl      =         1
 else
iftl      =         iftlen
 endif
ift       ftgen     iftno, 0, -iftl, -2, 0
;;INITIALIZE SOME PARAMETERS
ilen      strlen    Stray
istartsel =         -1; startindex for searched element
iel       =         -1; number of element in Stray and ift
iwarleer  =         1; is this the start of a new element
indx      =         0 ;character index
inewel    =         0 ;new element to find
;;LOOP
 if ilen == 0 igoto end ;don't go into the loop if Stray is empty
loop:
Schar     strsub    Stray, indx, indx+1; this character
isep1p    strcmp    Schar, Sep1; returns 0 if Schar is sep1
isep2p    strcmp    Schar, Sep2; 0 if Schar is sep2
is_sep    =         (isep1p == 0 || isep2p == 0 ? 1 : 0) ;1 if Schar is a seperator
 ;END OF STRING AND NO SEPARATORS BEFORE?
 if indx == ilen && iwarleer == 0 then
Sel       strsub    Stray, istartsel, -1
inewel    =         1
 ;FIRST CHARACTER OF AN ELEMENT?
 elseif is_sep == 0 && iwarleer == 1 then
istartsel =         indx ;if so, set startindex
iwarleer  =         0 ;reset info about previous separator
iel       =         iel+1 ;increment element count
 ;FIRST SEPERATOR AFTER AN ELEMENT?
 elseif iwarleer == 0 && is_sep == 1 then
Sel       strsub    Stray, istartsel, indx ;get element
inewel    =         1 ;tell about
iwarleer  =         1 ;reset info about previous separator
 endif
 ;WRITE THE ELEMENT TO THE TABLE
 if inewel == 1 then
inum      StrExpr2  Sel ;convert expression to number
          tabw_i    inum, iel, ift ;write to ift
 endif
inewel    =         0
          loop_le   indx, 1, ilen, loop
end:
          xout      ift, iftlen
  endop

  opcode TbDmpSmpS, 0, iiSo
;prints the content of a table in a simple way, with an additional string as 'introduction'
ifn, iprec, String, ippr xin; function table, float precision while printing, String, parameters per row (maximum = 32)
ippr      =         (ippr == 0 ? 10 : ippr)
iend      =         ftlen(ifn)
indx      =         0
Sformat   sprintf   "%%.%df, ", iprec
Sdump     sprintf   "%s[", String
loop:
ival      tab_i     indx, ifn
Snew      sprintf   Sformat, ival
Sdump     strcat    Sdump, Snew
imod      =         (indx+1) % ippr
 if imod == 0 && indx != iend-1 then
          puts      Sdump, 1
Sdump     =         ""
 endif
          loop_lt   indx, 1, iend, loop
ilen      strlen    Sdump
Slast     strsub    Sdump, 0, ilen-2
		printf_i	"%s]\n", 1, Slast
  endop

instr 1
Stray     strget    p4
          printf_i  "\nStray = '%s'\n", 1, Stray
ipcnt     pcount
if ipcnt == 4 then
ift, ilen StrayNumToFt Stray
elseif ipcnt == 5 then
ift, ilen StrayNumToFt Stray, p5
elseif ipcnt == 6 then
ift, ilen StrayNumToFt Stray, p5, p6
elseif ipcnt == 7 then
ift, ilen StrayNumToFt Stray, p5, p6, p7
endif
          prints    "ift# = %d, iftlen = %d%n", ift, ilen
          TbDmpSmpS ift, 5, "table content = "
endin

</CsInstruments>
<CsScore>
i 1 0 .01 "1 -2 3 4 5 6 7"
i . + . "1.2  	2+3.45  6.7/-8.09 "
i . + . "  	15%12  -5-3   "
i . + . "	 2^0.6	 2^(1/12) 2^(-1/12)  	16 32"
i . + . "123*-4.56	 "
i . + . "123*(-4.56)	 "
i . + . "	 "
i . + . ""
i . + . "-(1+2.7)*-3 2^-(-1/-12) -(-3.10*-65)/-3.4567 27%5"
i . + . "1+2.7 2^(1/12) 3.10*65 27%5"
i . + . "1+2.7 2^(1/12) 3.10*65 27%6" 13 ;write table number 13
i . + . "1+2.7,2^(1/12),3.10*65,27%7" 0 44 ;just commas are seperators
i . + . "1+2.7, 2^(1/12), 3.10*65, 27%8" 0 44 ;no problem to write spaces though
i . + . "1+2.7,2^(1/12)|3.10*65,27%9" 0 44 124 ;commas and '|' are seperators
e
</CsScore>
</CsoundSynthesizer>

returns:

Stray = '1 -2 3 4 5 6 7'
ift# = 101, iftlen = 7
table content = [1.00000, -2.00000, 3.00000, 4.00000, 5.00000, 6.00000, 7.00000]

Stray = '1.2  	2+3.45  6.7/-8.09 '
ift# = 102, iftlen = 3
table content = [1.20000, 5.45000, -0.82818]

Stray = '  	15%12  -5-3   '
ift# = 103, iftlen = 2
table content = [3.00000, -8.00000]

Stray = '	 2^0.6	 2^(1/12) 2^(-1/12)  	16 32'
ift# = 104, iftlen = 5
table content = [1.51572, 1.05946, 0.94387, 16.00000, 32.00000]

Stray = '123*-4.56	 '
ift# = 105, iftlen = 1
table content = [-560.88000]

Stray = '123*(-4.56)	 '
ift# = 106, iftlen = 1
table content = [-560.88000]

Stray = '	 '
WARNING! StrayNumToFt got empty string as input. Function table with length=1 created, but iftlen=0 returned.
ift# = 107, iftlen = 0
table content = [0.00000]

Stray = ''
WARNING! StrayNumToFt got empty string as input. Function table with length=1 created, but iftlen=0 returned.
ift# = 108, iftlen = 0
table content = [0.00000]

Stray = '-(1+2.7)*-3 2^-(-1/-12) -(-3.10*-65)/-3.4567 27%5'
ift# = 109, iftlen = 4
table content = [11.10000, 0.94387, 58.29259, 2.00000]

Stray = '1+2.7 2^(1/12) 3.10*65 27%5'
ift# = 110, iftlen = 4
table content = [3.70000, 1.05946, 201.50000, 2.00000]

Stray = '1+2.7 2^(1/12) 3.10*65 27%6'
ift# = 13, iftlen = 4
table content = [3.70000, 1.05946, 201.50000, 3.00000]

Stray = '1+2.7,2^(1/12),3.10*65,27%7'
ift# = 111, iftlen = 4
table content = [3.70000, 1.05946, 201.50000, 6.00000]

Stray = '1+2.7, 2^(1/12), 3.10*65, 27%8'
ift# = 112, iftlen = 4
table content = [3.70000, 1.05946, 201.50000, 3.00000]

Stray = '1+2.7,2^(1/12)|3.10*65,27%9'
ift# = 113, iftlen = 4
table content = [3.70000, 1.05946, 201.50000, 0.00000]
<bsbPanel>
 Widgets
 <objectName/>
 <x>100</x>
 <y>100</y>
 <width>320</width>
 <height>240</height>
 <visible>true</visible>
 <uuid/>
 <bgcolor mode="nobackground">
  <r>255</r>
  <g>255</g>
  255
 </bgcolor>
</bsbPanel>
<bsbPresets>
</bsbPresets>

error: pathspec 'tests/commandline/contrib/StrayNumToFt.csd' did not match any file(s) known to git


Basic clap detection

Basic clap detection

<CsoundSynthesizer>
<CsOptions>
-odac   -iadc   ;;;realtime audio I/O
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 32
nchnls = 1
0dbfs  = 1

pyinit

instr 1
	pyruni "import time"
	kLastRms init 0
	kLastAttack init 0
	iRmsDiffThreshold init .0002

	aIn in
	kRms rms aIn
	kRmsDiff = kRms - kLastRms

	kSmoothRms tonek kRms, 0.01

	kTime times

	if (kRmsDiff > iRmsDiffThreshold && kTime - kLastAttack > 0.05) then
		kLastAttack times
		pyrun "print 'clap detected', time.time()"
	endif

	printk2 kLastAttack

	aIn = 0.1 * aIn / a(kSmoothRms)

	;if (kRatio < 0.5) then
		;TODO: check time since last transient (attack)
	;	kLastDescent times
	;endif

	;printk2 kRms
	;printks "lastattack", 0.01, kLastAttack

	out aIn
	kLastRms = kRms
endin
</CsInstruments>
<CsScore>

i 1 0 50
e
</CsScore>
</CsoundSynthesizer>

error: pathspec 'clap.csd' did not match any file(s) known to git


First commit

First commit

error: pathspec 'Opcodes/gab/examples/metro.csd' did not match any file(s) known to git


added opencl opcode example

added opencl opcode example

<CsoundSynthesizer>
<CsOptions>
--opcode-lib=./libclops.dylib
</CsOptions>
<CsInstruments>

ksmps = 64
0dbfs = 1

instr 1
ifftsize = 2048
ihopsize = 512
ibins = 1024
asig1,adp diskin "/users/victor/audio/metheny.wav",1,0,1
fsig = pvsanal(asig1, ifftsize,ihopsize, ifftsize, 1)
asig = cladsynth(fsig,1,1,ibins)
asig = linenr(asig,0.001,0.01,0.01)
    out(asig*0.5)

endin

instr 2
ifftsize = 2048
ihopsize = 512
ibins = 1024
asig1,adp diskin "/users/victor/audio/metheny.wav",1,0,1
fsig = pvsanal(asig1, ifftsize,ihopsize, ifftsize, 1)
asig = pvsadsyn(fsig,ibins,1)
asig = linenr(asig,0.001,0.01,0.01)
    out(asig*0.5)

endin

</CsInstruments>
<CsScore>
i1 0 5
</CsScore>
</CsoundSynthesizer>

error: pathspec 'Opcodes/opencl/cladsyn.csd' did not match any file(s) known to git


Add example CSD file

Add example CSD file

fatal: remote error: upload-pack: not our ref e4fea8899bed7ebee32ad755cf492b395cac6211
fatal: the remote end hung up unexpectedly


added test

added test

<CsoundSynthesizer>
<CsOptions>
-d
</CsOptions>
<CsInstruments>

instr 1
kS[] init 2
kS[0] = 1
   printk2 kS[0]
endin

</CsInstruments>
<CsScore>

i1 0 1

</CsScore>
</CsoundSynthesizer>
<bsbPanel>
 Widgets
 <objectName/>
 <x>614</x>
 <y>61</y>
 <width>695</width>
 <height>747</height>
 <visible>true</visible>
 <uuid/>
 <bgcolor mode="nobackground">
  <r>231</r>
  <g>46</g>
  255
 </bgcolor>
 <bsbObject version="2" type="BSBVSlider">
  <objectName>slider1</objectName>
  <x>5</x>
  <y>5</y>
  <width>20</width>
  <height>100</height>
  <uuid>{fe924818-39b1-44b5-b240-331a49ca0049}</uuid>
  <visible>true</visible>
  <midichan>0</midichan>
  <midicc>-3</midicc>
  <minimum>0.00000000</minimum>
  <maximum>1.00000000</maximum>
  <value>0.00000000</value>
  <mode>lin</mode>
  <mouseControl act="jump">continuous</mouseControl>
  <resolution>-1.00000000</resolution>
  <randomizable group="0">false</randomizable>
 </bsbObject>
</bsbPanel>
<bsbPresets>
</bsbPresets>
<MacGUI>
ioView nobackground {59367, 11822, 65535}
ioSlider {5, 5} {20, 100} 0.000000 1.000000 0.000000 slider1
</MacGUI>

error: pathspec 'tests/commandline/test_arrays_constant_index.csd' did not match any file(s) known to git


Delete test.csd

Delete test.csd

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/gogins/gogins.github.io.git/'


Delete test2.csd

Delete test2.csd


added test file for RTTI

added test file for RTTI

<CsoundSynthesizer>
;<CsOptions>
;</CsOptions>
; ==============================================
<CsInstruments>

sr	=	44100
ksmps	=	1
nchnls	=	2
0dbfs	=	1

gi_var = 22
gk_var = 33
gS_var = "TEST"

instr testInstr

prints "Testing constants...\n"
print 44
print_type 44
print_type "test"

prints "Testing Global Vars...\n"
print_type gi_var
print_type gk_var
print_type gS_var

ivar = 300
kvar = 400
avar init 0

prints "Testing Local Vars...\n"
print_type ivar
print ivar
print_type kvar
print_type avar

prints "Testing PFields...\n"
print_type p1
print p1
print_type p2
print p2
print_type p3
print p3
print_type p4
print p4
print_type p5
prints p5

turnoff

endin

instr 2

print_type p4
prints p4
print_type p5
prints p5
print_type p6
prints p6

turnoff

endin

instr 3
pset 3, 0, 4, 5, 6

print p3
print p4
print p5
turnoff

endin
</CsInstruments>

; ==============================================
<CsScore>
i "testInstr" 0 .5 999 "testPfield"
i2 0 3 "aaa" "bbb" "ccc"
i3 0 3
</CsScore>

</CsoundSynthesizer>

error: pathspec 'tests/commandline/contrib/runtime_type.csd' did not match any file(s) known to git


Test csd for linear algebra opcodes.

Test csd for linear algebra opcodes.

<CsoundSynthesizer>
<CsInstruments>
sr=48000
ksmps=1
nchnls=2

instr 1
imc   la_i_mc_create 5, 5, p4, p5
      la_i_print_mc imc
endin

</CsInstruments>
<CsScore>
i 1 1 1 0 0
i 1 2 1 -1 1
e
</CsScore>
</CsoundSynthesizer>

error: pathspec 'tests/test24.csd' did not match any file(s) known to git


runtime test, useful for checking instrument kcounter (CS_KCNT) is being updated

<CsoundSynthesizer>

<CsInstruments>

sr = 44100
ksmps = 1
nchnls = 2
0dbfs = 1

instr 1

k1 init 1

if (k1 == 1) then

  if (k1 == 1) then
   kval = 2
  else
   kval = 1
  endif

  printk .1, kval
elseif (k1 == 2) then
  kval = 0
else
  kval = -1
endif

printk .1, kval

endin

</CsInstruments>

<CsScore>
i1 0 .5
</CsScore>

</CsoundSynthesizer>

error: pathspec 'tests/commandline/test_nested_ifs.csd' did not match any file(s) known to git


no message

no message

error: pathspec 'examples/trapped-high-resolution.csd' did not match any file(s) known to git


no message

no message

<CsoundSynthesizer>

<CsOptions>
-odac
</CsOptions>

<CsInstruments>

sr= 44100
kr = 4410
ksmps = 10
nchnls= 2

instr 1

kfreq    expon      p5, p3, p6
kinterval expon      p7, p3, p8
kglissdur line     p9, p3, p10

idir = p11
iphs = p12
iwin = p13

kph phasor idir/kglissdur, iphs

kamp1   tablei kph, iwin, 1, 0, 1
kpa1    tablei kph, 3, 1, 0, 1
kifreq1  = kfreq                                     ; plays base_freq
aout1   oscili  kamp1,kifreq1,1                      ;
aout1l = kpa1*aout1
aout1r = -(kpa1-1)*aout1

kamp2   tablei kph, iwin, 1, .1, 1
kpa2    tablei kph, 3, 1, .1, 1
kifreq2  = kifreq1*kinterval                           ; plays base_freq * interval
aout2   oscili  kamp2,kifreq2,1
aout2l = kpa2*aout2
aout2r = -(kpa2-1)*aout2

kamp3   tablei kph, iwin, 1, .2, 1                        ; 2/10 table offset
kpa3    tablei kph, 3, 1, .2, 1
kifreq3  = kifreq2*kinterval                           ; plays base_freq * interval^2
aout3   oscili  kamp3,kifreq3,1
aout3l = kpa3*aout3
aout3r = -(kpa3-1)*aout3

kamp4   tablei kph, iwin, 1, .3, 1
kpa4    tablei kph, 3, 1, .3, 1
kifreq4  = kifreq3*kinterval
aout4   oscili  kamp4,kifreq4,1
aout4l = kpa4*aout4
aout4r = -(kpa4-1)*aout4

kamp5   tablei kph, iwin, 1, .4, 1
kpa5    tablei kph, 3, 1, .4, 1
kifreq5  = kifreq4*kinterval
aout5   oscili  kamp5,kifreq5,1
aout5l = kpa5*aout5
aout5r = -(kpa5-1)*aout5

kamp6   tablei kph, iwin, 1, .5, 1
kpa6    tablei kph, 3, 1, .5, 1
kifreq6  = kifreq5*kinterval
aout6   oscili  kamp6,kifreq6,1
aout6l = kpa6*aout6
aout6r = -(kpa6-1)*aout6

kamp7   tablei kph, iwin, 1, .6, 1
kpa7    tablei kph, 3, 1, .6, 1
kifreq7  = kifreq6*kinterval
aout7   oscili  kamp7,kifreq7,1
aout7l = kpa7*aout7
aout7r = -(kpa7-1)*aout7

kamp8   tablei kph, iwin, 1, .7, 1
kpa8    tablei kph, 3, 1, .7, 1
kifreq8  = kifreq7*kinterval
aout8   oscili  kamp8,kifreq8,1
aout8l = kpa8*aout8
aout8r = -(kpa8-1)*aout8

kamp9   tablei kph, iwin, 1, .8, 1
kpa9    tablei kph, 3, 1, .8, 1
kifreq9  = kifreq8*kinterval
aout9   oscili  kamp9,kifreq9,1
aout9l = kpa9*aout9
aout9r = -(kpa9-1)*aout9

kamp10   tablei kph, iwin, 1, .9, 1
kpa10    tablei kph, 3, 1, .9, 1
kifreq10  = kifreq9*kinterval
aout10   oscili  kamp10,kifreq10,1
aout10l = kpa10*aout10
aout10r = -(kpa10-1)*aout10

kline linen ampdb(p4)*32767, p14, p3, p14

;kpleft = (sqrt(2)/2)*(1-kpan/sqrt(1+(kpan*kpan)))
;kpright = (sqrt(2)/2)* (1+kpan/sqrt(1+(kpan*kpan)))

aright = aout1r+aout2r+aout3r+aout4r+aout5r+aout6r+aout7r+aout8r+aout9r+aout10r
aleft =  aout1l+aout2l+aout3l+aout4l+aout5l+aout6l+aout7l+aout8l+aout9l+aout10l
     outs    aleft*kline, aright*kline

endin

instr 2

kfreq    expon      p5, p3, p6
kinterval expon      p7, p3, p8
kglissdur line     p9, p3, p10
idir = p11
iphs = p12
iwin = p13
iq = p15
isrc = p16

if isrc == 1 goto noise
asig diskin "sound.wav", 1, 0, 1
asig = asig/2000
goto next
noise: asig rand 1

next:
kph phasor idir/kglissdur, iphs

kamp1   tablei kph, iwin, 1, 0, 1
kpa1    tablei kph, 3, 1, 0, 1
kifreq1  = kfreq                                     ; plays base_freq
aout1   reson asig,kifreq1,kifreq1/iq,2
aout1 = kamp1*aout1
aout1l = kpa1*aout1
aout1r = -(kpa1-1)*aout1

kamp2   tablei kph, iwin, 1, .1, 1
kpa2    tablei kph, 3, 1, .1, 1
kifreq2  = kifreq1*kinterval                           ; plays base_freq * interval
aout2   reson asig,kifreq2,kifreq2/iq,2
aout2 = kamp2*aout2
aout2l = kpa2*aout2
aout2r = -(kpa2-1)*aout2

kamp3   tablei kph, iwin, 1, .2, 1                        ; 2/10 table offset
kpa3    tablei kph, 3, 1, .2, 1
kifreq3  = kifreq2*kinterval                           ; plays base_freq * interval^2
aout3   reson asig,kifreq3,kifreq3/iq,2
aout3 = kamp3*aout3
aout3l = kpa3*aout3
aout3r = -(kpa3-1)*aout3

kamp4   tablei kph, iwin, 1, .3, 1
kpa4    tablei kph, 3, 1, .3, 1
kifreq4  = kifreq3*kinterval
aout4   reson asig,kifreq4,kifreq4/iq,2
aout4 = kamp4*aout4
aout4l = kpa4*aout4
aout4r = -(kpa4-1)*aout4

kamp5   tablei kph, iwin, 1, .4, 1
kpa5    tablei kph, 3, 1, .4, 1
kifreq5  = kifreq4*kinterval
aout5   reson asig,kifreq5,kifreq5/iq,2
aout5 = kamp5*aout5
aout5l = kpa5*aout5
aout5r = -(kpa5-1)*aout5

kamp6   tablei kph, iwin, 1, .5, 1
kpa6    tablei kph, 3, 1, .5, 1
kifreq6  = kifreq5*kinterval
aout6   reson asig,kifreq6,kifreq6/iq,2
aout6 = kamp6*aout6
aout6l = kpa6*aout6
aout6r = -(kpa6-1)*aout6

kamp7   tablei kph, iwin, 1, .6, 1
kpa7    tablei kph, 3, 1, .6, 1
kifreq7  = kifreq6*kinterval
aout7   reson asig,kifreq7,kifreq7/iq,2
aout7 = kamp7*aout7
aout7l = kpa7*aout7
aout7r = -(kpa7-1)*aout7

kamp8   tablei kph, iwin, 1, .7, 1
kpa8    tablei kph, 3, 1, .7, 1
kifreq8  = kifreq7*kinterval
aout8   reson asig,kifreq8,kifreq8/iq,2
aout8 = kamp8*aout8
aout8l = kpa8*aout8
aout8r = -(kpa8-1)*aout8

kamp9   tablei kph, iwin, 1, .8, 1
kpa9    tablei kph, 3, 1, .8, 1
kifreq9  = kifreq8*kinterval
aout9   reson asig,kifreq9,kifreq9/iq,2
aout9 = kamp9*aout9
aout9l = kpa9*aout9
aout9r = -(kpa9-1)*aout9

kamp10   tablei kph, iwin, 1, .9, 1
kpa10    tablei kph, 3, 1, .9, 1
kifreq10  = kifreq9*kinterval
aout10   reson asig,kifreq10,kifreq10/iq,2
aout10 = kamp10*aout10
aout10l = kpa10*aout10
aout10r = -(kpa10-1)*aout10

kline linen ampdb(p4)*32767, p14, p3, p14

;kpleft = (sqrt(2)/2)*(1-kpan/sqrt(1+(kpan*kpan)))
;kpright = (sqrt(2)/2)* (1+kpan/sqrt(1+(kpan*kpan)))

aright = aout1r+aout2r+aout3r+aout4r+aout5r+aout6r+aout7r+aout8r+aout9r+aout10r
aleft =  aout1l+aout2l+aout3l+aout4l+aout5l+aout6l+aout7l+aout8l+aout9l+aout10l
     outs    aleft*kline, aright*kline

endin

instr 3

kfreq0    expon      p5, p3, p6
kinterval expon      p7, p3, p8
kglissdur line     p9, p3, p10
koct line  p16, p3, p17
idir = p11
iphs = p12
iwin = p13
iq  = p15
idur = .04
iris = .007
idec = .003
iolaps = 1000

kph phasor idir/kglissdur, iphs
kran randi kfreq0*0.005, 4
kfreq = kfreq0+kran

kamp1   tablei kph, iwin, 1, 0, 1
kpa1    tablei kph, 3, 1, 0, 1
kifreq1  = kfreq0*kinterval
aout1   fof  kamp1, kfreq, kifreq1, koct, kifreq1/iq, iris, idur, idec, iolaps, 1, 4, p3
aout1l = kpa1*aout1
aout1r = -(kpa1-1)*aout1

kamp2   tablei kph, iwin, 1, .1, 1
kpa2    tablei kph, 3, 1, .1, 1
kifreq2  = kifreq1*kinterval                           ; plays base_freq * interval
aout2  fof  kamp2, kfreq, kifreq2, koct, kifreq2/iq, iris, idur, idec, iolaps, 1, 4, p3
aout2l = kpa2*aout2
aout2r = -(kpa2-1)*aout2

kamp3   tablei kph, iwin, 1, .2, 1                        ; 2/10 table offset
kpa3    tablei kph, 3, 1, .2, 1
kifreq3  = kifreq2*kinterval                           ; plays base_freq * interval^2
aout3   fof  kamp3,kfreq, kifreq3, koct, kifreq3/iq, iris, idur, idec, iolaps, 1, 4, p3
aout3l = kpa3*aout3
aout3r = -(kpa3-1)*aout3

kamp4   tablei kph, iwin, 1, .3, 1
kpa4    tablei kph, 3, 1, .3, 1
kifreq4  = kifreq3*kinterval
aout4   fof  kamp4,kfreq, kifreq4, koct, kifreq4/iq, iris, idur, idec, iolaps, 1, 4, p3
aout4l = kpa4*aout4
aout4r = -(kpa4-1)*aout4

kamp5   tablei kph, iwin, 1, .4, 1
kpa5    tablei kph, 3, 1, .4, 1
kifreq5  = kifreq4*kinterval
aout5   fof  kamp5,kfreq, kifreq5, koct, kifreq5/iq, iris, idur, idec, iolaps, 1, 4, p3
aout5l = kpa5*aout5
aout5r = -(kpa5-1)*aout5

kamp6   tablei kph, iwin, 1, .5, 1
kpa6    tablei kph, 3, 1, .5, 1
kifreq6  = kifreq5*kinterval
aout6   fof  kamp6,kfreq, kifreq6, koct, kifreq6/iq, iris, idur, idec, iolaps, 1, 4, p3
aout6l = kpa6*aout6
aout6r = -(kpa6-1)*aout6

kamp7   tablei kph, iwin, 1, .6, 1
kpa7    tablei kph, 3, 1, .6, 1
kifreq7  = kifreq6*kinterval
aout7   fof  kamp7,kfreq, kifreq7, koct, kifreq7/iq, iris, idur, idec, iolaps, 1, 4, p3
aout7l = kpa7*aout7
aout7r = -(kpa7-1)*aout7

kamp8   tablei kph, iwin, 1, .7, 1
kpa8    tablei kph, 3, 1, .7, 1
kifreq8  = kifreq7*kinterval
aout8  fof kamp8,kfreq, kifreq8, koct, kifreq8/iq, iris, idur, idec, iolaps, 1, 4, p3
aout8l = kpa8*aout8
aout8r = -(kpa8-1)*aout8

kamp9   tablei kph, iwin, 1, .8, 1
kpa9    tablei kph, 3, 1, .8, 1
kifreq9  = kifreq8*kinterval
aout9   fof  kamp9,kfreq, kifreq9, koct, kifreq9/iq, iris, idur, idec, iolaps, 1, 4, p3
aout9l = kpa9*aout9
aout9r = -(kpa9-1)*aout9

kamp10   tablei kph, iwin, 1, .9, 1
kpa10    tablei kph, 3, 1, .9, 1
kifreq10  = kifreq9*kinterval
aout10   fof  kamp10,kfreq, kifreq10, koct, kifreq10/iq, iris, idur, idec, iolaps, 1, 4, p3
aout10l = kpa10*aout10
aout10r = -(kpa10-1)*aout10

kline linen ampdb(p4)*20000, p14, p3, p14

;kpleft = (sqrt(2)/2)*(1-kpan/sqrt(1+(kpan*kpan)))
;kpright = (sqrt(2)/2)* (1+kpan/sqrt(1+(kpan*kpan)))

aright = aout1r+aout2r+aout3r+aout4r+aout5r+aout6r+aout7r+aout8r+aout9r+aout10r
aleft =  aout1l+aout2l+aout3l+aout4l+aout5l+aout6l+aout7l+aout8l+aout9l+aout10l
     outs    aleft*kline, aright*kline

endin

</CsInstruments>

<CsScore>

; senoide
f1 0 4096 10 1 ;0 .8 0 .4 0 .6 0 .2
f4 0 4097 5  .000001 4096 1

f21 0 4096 20 5 ;blackman
f22 0 4096 20 6 ;gauss
f23 0 4096 20 3 ;triang

f3 0 512 7 0.00001 128 0.00001 256 1 128 1

;     dur amp      fr1 fr2   int1 int2 sp1 sp2 idir iphs iwin att/dec
i2 0.5  62  -12  1000 1100  1.3 1.1  18  .6   1  .75     22    2   500 1
i1 45   40  -16  1050  980  1.04 1.06  1   4  -1   .1     23    8
i2 50   30   -13  800  500  1.03 1.5   .3  10  1   0     21     2  250 1
i1 65   36   -13  100   110  1.6  1.01  2   4   -1  .5    22    1
i2 75   25   -18   800  950  1.5 1.15   .9  2  -1  .7    23    9   50  1
i1 87  20   -15   1200 1100  1.3 1.09 1   3   1   .25    21    2
i3 95  20   -13    110  130  1.55  1.2  4  2   -1  .5    23    3   20 0 0
i1 100  30   -18   5000 7000  1.004 1.09 2   1   -1  0    23    4
i2 105  20   -15   4000 4500  1.1   1.17  1.3  .8  1  0   21    6 100 1
i2 115  27   -24   2500 1000  1.1   1.3   5    8   -1 .75 22    4  50 1
i1 123  22   -18   2000 2050  1.008 1.02  .3   3   1  0   21    2
i3 125   6   -20    800  850  1.1  1.3    6  6   -1  .5    22    3  500 0 0

</CsScore>

</CsoundSynthesizer>
<MacOptions>
Version: 3
Render: Real
Ask: Yes
Functions: ioObject
Listing: Window
WindowBounds: 634 268 400 140
CurrentView: io
IOViewEdit: On
Options:
</MacOptions>

<MacGUI>
ioView nobackground {65535, 65535, 65535}
ioSlider {5, 5} {20, 100} 0.000000 1.000000 0.000000 slider1
ioSlider {45, 5} {20, 100} 0.000000 1.000000 0.000000 slider2
ioSlider {85, 5} {20, 100} 0.000000 1.000000 0.000000 slider3
ioSlider {125, 5} {20, 100} 0.000000 1.000000 0.000000 slider4
ioSlider {165, 5} {20, 100} 0.000000 1.000000 0.000000 slider5
</MacGUI>

error: pathspec 'examples/hommage.csd' did not match any file(s) known to git


Removed -+rtaudio=null part from this csd file.

OSX/Csound OSX Examples/Csound OSX Examples/ButtonTest/buttonTest.csd

error: pathspec 'OSX/Csound' did not match any file(s) known to git
error: pathspec 'Examples/Csound' did not match any file(s) known to git
error: pathspec 'Examples/ButtonTest/buttonTest.csd' did not match any file(s) known to git


Cloud Solution Descriptor file

Cloud Solution Descriptor file

error: pathspec 'salty-django.csd' did not match any file(s) known to git


added test file for RTTI

added test file for RTTI


Test csd for linear algebra opcodes.

Test csd for linear algebra opcodes.


removed old cuda adsyn example

removed old cuda adsyn example

<CsoundSynthesizer>
<CsOptions>
--opcode-lib=./libcudaop1.dylib
</CsOptions>
<CsInstruments>
ksmps = 64
0dbfs = 1

i1 ftgen 1,0,512,7,1,512,0.001
i2 ftgen 2,0,512,-7,1,512,512
i3 ftgen 3,0,16384,10,1
schedule 1,0,10

instr 1
a1 cudasynth 0.001, 100,0, 2, 1,128
    out a1

endin

</CsInstruments>
<CsScore>
e 10
</CsScore>
</CsoundSynthesizer>