| Hi Istvan,
On May 7, 2006, at 2:37 PM, Istvan Varga wrote:
> It may be interesting to see if the FLTK opcodes and displays work
> in Winsound on OS X. I am having trouble with these, but do not know
> exactly why, as I did use FLTK in the documented way, and the problems
> did not occur on non-Mac platforms.
It appears that the Winsound frontend does correctly perform with FLTK
widget opcodes [0]. It is uncertain however, if they are in a separate
thread from the audio.
Trying the same csd file [4] with csound5gui, disabling perform in a
separate thread [1], I get the behavior described in a previous email
[2]. Strangely, it seems that disabling perform audio in a separate
thread for the csound5gui frontend does not produce sound even in csd
files that do not have FLTK widgets, however the sound driver is
initialized and all steps leading up to a typical Csound performance
appear correct.
Both in the Winsound frontend and the csound5gui frontend when FLTK is
used, there is no easy way to quit or cease performance. Winsound
compiles and runs with FLTK but there's no way to stop performance
other than kill -9 [winsound pid]. In this frontend, the same could be
said for all csd files run, as there is no readily apparent way to stop
performance. Keep in mind this is running the Winsound.app and not just
./winsound which *does* correctly terminate performance when simply
closing the window. csound5gui correctly terminates performance, but if
FLTK graphs are used kill -9 [csound5gui pid] is still required, as
trying to Quit or Force Quit the programs do not seem to have any
noticeable effect.
Here is what I'm used to seeing in csound5gui [3] - a correctly running
and terminating performance using a csd that contains no FLTK widget
opcodes. This is how I prefer to use the frontend.
Thanks again for all of your hard work !
-David
[0] http://www.csounds.com/akbari/winsound-derv1.png
[1] http://www.csounds.com/akbari/cs5gui-derv2.png
[2] http://www.csounds.com/akbari/cs5gui-derv3.png
[3] http://www.csounds.com/akbari/cs5gui-twilight4.png
[4]
sr = 44100
kr = 441
ksmps = 100
nchnls = 2
FLpanel "Angel Dervish (2005) - Arthur B. Hunkins [stdervish.csd]",
510, 430, 100, 0
gkoff,i0 FLbutton "All Off", 1, 0, 1, 77, 30, 5, 5, 0, 5, 0, .01
gkdir,i0 FLbutton "Set to CCW", 1, 0, 3, 65, 25, 20, 36, -1
gka,ia FLcount "On Dur (1-10)", 1, 10, 1, 1, 2, 95, 25, 90, 10, -1
FLsetVal_i 3, ia
gkr,ir FLcount "Off Dur (1-20)", 1, 20, 1, 1, 2, 95, 25, 192, 10, -1
FLsetVal_i 6, ir
gkv,iv FLcount "Amp (0-10)", 0, 10, 1, 1, 2, 75, 25, 300, 10, -1
FLsetVal_i 10, iv
gkg,ig FLcount "Glide Time (.5-10)", .5, 10, .5, 1, 1, 118, 25, 382,
10, -1
FLsetVal_i 3, ig
gkon1,i0 FLbutton "Tone 1 On", 1, 0, 1, 77, 30, 8, 64, 0, 1, 0, .01
gkc1,ic1 FLslider "Distance from Center 1 (0-1)", 0, 1, 0, 3, -1, 200,
15, 90, 64
FLsetVal_i .3, ic1
gkp1,ip1 FLcount "Initial Position 1 (0-1)", 0, 1, .05, .1, 1, 170, 25,
330, 64, -1
FLsetVal_i .9, ip1
gkf1,if1 FLslider "Tone 1 Detune Spread", .01, .6, 0, 5, -1, 200, 20,
90, 104
FLsetVal_i .01, if1
gks1,is1 FLslider "Rotation Speed 1 (0-3)", 0, 3, 0, 5, -1, 200, 20,
300, 104
FLsetVal_i 0, is1
gkon2,i0 FLbutton "Tone 2 On", 1, 0, 1, 77, 30, 8, 158, 0, 2, 0, .01
gkc2,ic2 FLslider "Distance from Center 2 (0-1)", 0, 1, 0, 3, -1, 200,
15, 90, 158
FLsetVal_i .5, ic2
gkp2,ip2 FLcount "Initial Position 2 (0-1)", 0, 1, .05, .1, 1, 170, 25,
330, 158, -1
FLsetVal_i .05, ip2
gkf2,if2 FLslider "Tone 2 Detune Spread", .01, .65, 0, 5, -1, 200, 20,
90, 198
FLsetVal_i .01, if2
gks2,is2 FLslider "Rotation Speed 2 (0-3.5)", 0, 3.5, 0, 5, -1, 200,
20, 300, 198
FLsetVal_i 0, is2
gkon3,i0 FLbutton "Tone 3 On", 1, 0, 1, 77, 30, 8, 252, 0, 3, 0, .01
gkc3,ic3 FLslider "Distance from Center 3 (0-1)", 0, 1, 0, 3, -1, 200,
15, 90, 252
FLsetVal_i .9, ic3
gkp3,ip3 FLcount "Initial Position 3 (0-1)", 0, 1, .05, .1, 1, 170, 25,
330, 252, -1
FLsetVal_i .8, ip3
gkf3,if3 FLslider "Tone 3 Detune Spread", .01, .7, 0, 5, -1, 200, 20,
90, 292
FLsetVal_i .01, if3
gks3,is3 FLslider "Rotation Speed 3 (0-4)", 0, 4, 0, 5, -1, 200, 20,
300, 292
FLsetVal_i 0, is3
gkon4,i0 FLbutton "Tone 4 On", 1, 0, 1, 77, 30, 8, 346, 0, 4, 0, .01
gkc4,ic4 FLslider "Distance from Center 4 (0-1)", 0, 1, 0, 3, -1, 200,
15, 90, 346
FLsetVal_i .7, ic4
gkp4,ip4 FLcount "Initial Position 4 (0-1)", 0, 1, .05, .1, 1, 170, 25,
330, 346, -1
FLsetVal_i .15, ip4
gkf4,if4 FLslider "Tone 4 Detune Spread", .01, .75, 0, 5, -1, 200, 20,
90, 386
FLsetVal_i .015, if4
gks4,is4 FLslider "Rotation Speed 4 (0-4.5)", 0, 4.5, 0, 5, -1, 200,
20, 300, 386
FLsetVal_i 0, is4
FLpanelEnd
FLrun
instr 1
gkoff1 = 0
ktrig = 1
kon trigger ktrig, .5, 0
schedkwhen kon, 0, 0, 6.1, 0, -1
schedkwhen kon, 0, 0, 6.2, 0, -1
schedkwhen kon, 0, 0, 6.3, 0, -1
schedkwhen kon, 0, 0, 6.4, 0, -1
schedkwhen kon, 0, 0, 6.5, 0, -1
endin
instr 2
gkoff1 = 0
ktrig = 1
kon trigger ktrig, .5, 0
schedkwhen kon, 0, 0, 7.1, 0, -1
schedkwhen kon, 0, 0, 7.2, 0, -1
schedkwhen kon, 0, 0, 7.3, 0, -1
schedkwhen kon, 0, 0, 7.4, 0, -1
schedkwhen kon, 0, 0, 7.5, 0, -1
endin
instr 3
gkoff1 = 0
ktrig = 1
kon trigger ktrig, .5, 0
schedkwhen kon, 0, 0, 8.1, 0, -1
schedkwhen kon, 0, 0, 8.2, 0, -1
schedkwhen kon, 0, 0, 8.3, 0, -1
schedkwhen kon, 0, 0, 8.4, 0, -1
schedkwhen kon, 0, 0, 8.5, 0, -1
endin
instr 4
gkoff1 = 0
ktrig = 1
kon trigger ktrig, .5, 0
schedkwhen kon, 0, 0, 9.1, 0, -1
schedkwhen kon, 0, 0, 9.2, 0, -1
schedkwhen kon, 0, 0, 9.3, 0, -1
schedkwhen kon, 0, 0, 9.4, 0, -1
schedkwhen kon, 0, 0, 9.5, 0, -1
endin
instr 5
gkoff1 = 1
endin
instr 6
ia = i(gka)
ks portk gks1, gkg
k1 phasor (gkdir == 0? ks: -ks), i(gkp1)
k2 tablei k1, 1, 1
k3 tablei k1, 1, 1, .25, 1
kc portk gkc1, gkg
kfreq portk gkf1, gkg
kv portk gkv, gkg
if p1 > 6.1 goto skip
kfreq = 0
goto skip5
skip: if p1 > 6.2 goto skip2
kfreq = kfreq
goto skip5
skip2: if p1 > 6.3 goto skip3
kfreq = kfreq*1.7
goto skip5
skip3: if p1 > 6.4 goto skip4
kfreq = kfreq*2.8
goto skip5
skip4:
kfreq = kfreq*3.9
skip5:
kamp linseg 0, ia, 512, .1, 512
krel = (gkoff1 == 1? gkr: 0)
kamp = (gkoff1 == 1? 0: kamp)
kamp lineto kamp, krel
kamp table kamp, 3
iinit rnd31 1, 1
kramp randi .2*kamp, 5, abs(iinit)
kamp = (kamp+kramp)*kv*300
asig1 oscil kamp, 400+kfreq, (p1 == 6.1? 4: 5)
asig2 oscil kamp, 400-kfreq, (p1 == 6.1? 4: 5)
a1,a2,a3,a4 pan asig1+asig2, (kc*k2*.5)+.5, (kc*k3*.5)+.5, 2, 1
outs a1, a2
koff trigger kamp, 10, 1
if koff == 0 kgoto end
turnoff
end: endin
instr 7
ia = i(gka)
ir = i(gkr)
ks portk gks2, gkg
k1 phasor (gkdir == 0? ks: -ks), i(gkp2)
k2 tablei k1, 1, 1
k3 tablei k1, 1, 1, .25, 1
kc portk gkc2, gkg
kfreq portk gkf2, gkg
kv portk gkv, gkg
if p1 > 7.1 goto skip
kfreq = 0
goto skip5
skip: if p1 > 7.2 goto skip2
kfreq = kfreq*.9
goto skip5
skip2: if p1 > 7.3 goto skip3
kfreq = kfreq*1.6
goto skip5
skip3: if p1 > 7.4 goto skip4
kfreq = kfreq*2.7
goto skip5
skip4:
kfreq = kfreq*3.8
skip5:
kamp linseg 0, ia, 512, .1, 512
krel = (gkoff1 == 1? gkr: 0)
kamp = (gkoff1 == 1? 0: kamp)
kamp lineto kamp, krel
kamp table kamp, 3
iinit rnd31 1, 1
kramp randi .15*kamp, 9, abs(iinit)
kamp = (kamp+kramp)*kv*300
asig1 oscil kamp, 600+kfreq, (p1 == 7.1? 4: 5)
asig2 oscil kamp, 600-kfreq, (p1 == 7.1? 4: 5)
a1,a2,a3,a4 pan asig1+asig2, (kc*k2*.5)+.5, (kc*k3*.5)+.5, 2, 1
outs a1, a2
koff trigger kamp, 10, 1
if koff == 0 kgoto end
turnoff
end: endin
instr 8
ia = i(gka)
ir = i(gkr)
ks portk gks3, gkg
k1 phasor (gkdir == 0? ks: -ks), i(gkp3)
k2 tablei k1, 1, 1
k3 tablei k1, 1, 1, .25, 1
kc portk gkc3, gkg
kfreq portk gkf3, gkg
kv portk gkv, gkg
if p1 > 8.1 goto skip
kfreq = 0
goto skip5
skip: if p1 > 8.2 goto skip2
kfreq = kfreq*.8
goto skip5
skip2: if p1 > 8.3 goto skip3
kfreq = kfreq*1.5
goto skip5
skip3: if p1 > 8.4 goto skip4
kfreq = kfreq*2.6
goto skip5
skip4:
kfreq = kfreq*3.7
skip5:
kamp linseg 0, ia, 512, .1, 512
krel = (gkoff1 == 1? gkr: 0)
kamp = (gkoff1 == 1? 0: kamp)
kamp lineto kamp, krel
kamp table kamp, 3
iinit rnd31 1, 1
kramp randi .12*kamp, 16, abs(iinit)
kamp = (kamp+kramp)*kv*350
asig1 oscil kamp, 800+kfreq, (p1 == 8.1? 4: 5)
asig2 oscil kamp, 800-kfreq, (p1 == 8.1? 4: 5)
a1,a2,a3,a4 pan asig1+asig2, (kc*k2*.5)+.5, (kc*k3*.5)+.5, 2, 1
outs a1, a2
koff trigger kamp, 10, 1
if koff == 0 kgoto end
turnoff
end: endin
instr 9
ia = i(gka)
ir = i(gkr)
ks portk gks4, gkg
k1 phasor (gkdir == 0? ks: -ks), i(gkp4)
k2 tablei k1, 1, 1
k3 tablei k1, 1, 1, .25, 1
kc portk gkc4, gkg
kfreq portk gkf4, gkg
kv portk gkv, gkg
if p1 > 9.1 goto skip
kfreq = 0
goto skip5
skip: if p1 > 9.2 goto skip2
kfreq = kfreq*.1.1
goto skip5
skip2: if p1 > 9.3 goto skip3
kfreq = kfreq*1.8
goto skip5
skip3: if p1 > 9.4 goto skip4
kfreq = kfreq*2.9
goto skip5
skip4:
kfreq = kfreq*4
skip5:
kamp linseg 0, ia, 512, .1, 512
krel = (gkoff1 == 1? gkr: 0)
kamp = (gkoff1 == 1? 0: kamp)
kamp lineto kamp, krel
kamp table kamp, 3
iinit rnd31 1, 1
kramp randi .1*kamp, 20, abs(iinit)
kamp = (kamp+kramp)*kv*300
asig1 oscil kamp, 800+kfreq, (p1 == 9.1? 6: 7)
asig2 oscil kamp, 800-kfreq, (p1 == 9.1? 6: 7)
a1,a2,a3,a4 pan asig1+asig2, (kc*k2*.5)+.5, (kc*k3*.5)+.5, 2, 1
outs a1, a2
koff trigger kamp, 10, 1
if koff == 0 kgoto end
turnoff
end: endin
f1 0 8192 10 1
f2 0 8193 9 .25 1 0
f3 0 512 16 1 511 2.2 1000
f4 0 8192 10 .6 0 1 0 .9 0 .8 0 .7 0 .6 0 .5 0 .4 0 .3 0 .2 0 .1
f5 0 8192 10 0 0 1 0 .9 0 .8 0 .7 0 .6 0 .5 0 .4 0 .3 0 .2 0 .1
f6 0 8192 10 .6 0 1 0 .85 0 .7 0 .55 0 .4 0 .25 0 .1
f7 0 8192 10 0 0 1 0 .85 0 .7 0 .55 0 .4 0 .25 0 .1
f0 3600
e
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net |