-+P
sr = 44100
kr = 11025
ksmps = 4
giwidth init 800
giheight init 400
gipixelpaletta init 40
FLpanel " ",giwidth,giheight,50,50
givalue FLvalue " ",50,20,giwidth/2,giheight/2
FLsetBox 1,givalue
gk1,gih1 FLslider " ",0,1,0,4,-1,10,giheight,0,0
;gk2,gih2 FLslider " ",0,1,0,4,-1,10,giheight,giwidth-10,0
FLsetVal_i .5,gih1
;FLsetVal_i .5,gih2
FLsetBox 12, gih1
;FLsetBox 12, gih2
gih3 FLbox " ",8,1,11,10,gipixelpaletta,giwidth,0
gih4 FLbox " ",8,1,11,10,gipixelpaletta,giwidth-10,0
gih5 FLbox "@circle",1,1,12,1,1,242,102
FLsetColor 128,0,0,gih3
FLsetColor 0,0,128,gih4
FLsetTextColor 100,0,100,gih5
FLpanel_end
FLrun
instr 1
incr init -1
iold1 init 0
iold2 init iold1
kindexoriz phasor .25,.5
kindexvert phasor .1534,.5
koriz tab kindexoriz,1,1
kvert tab kindexvert,1,1
reset:
FLhide gih3
FLhide gih4
;FLsetVal_i i(kvert)*giheight,gih2
FLsetPosition 0,i(gk1)*giheight-(gipixelpaletta*.5),gih3
FLsetPosition giwidth-10,i(kvert)*giheight-(gipixelpaletta*.5),gih4
iorizzontale init i(koriz)*giwidth
iverticale init i(kvert)*giheight
iPaletta init i(gk1)*giheight
iPallina init iverticale
if i(kindexoriz) > iold1 goto salta
;iPaletta init (((iPaletta+(gipixelpaletta*.5) > iPallina) && (iPaletta-(gipixelpaletta*.5) < iPallina)) ? 0 : 1)
;if (((iPaletta+(gipixelpaletta*.5) < iPallina) || (iPaletta-(gipixelpaletta*.5) > iPallina))) goto salta
if (((abs(iPaletta+(gipixelpaletta*.5)) < iPallina) || (abs(iPaletta-(gipixelpaletta*.5)) > iPallina))) goto salta
call 2,0,.1,440
incr = incr + 1
FLprintk 0, incr,givalue
salta:
iold1 init i(kindexoriz)
FLsetPosition iorizzontale,iverticale,gih5
FLshow gih3
FLshow gih4
reinit reset
endin
instr 2
timout 0,p3,contin
turnoff
contin:
aenv linseg 0,p3/4,10000,p3/4,10000,p3/2,0
asig oscil aenv,p4,10
out asig
endin
instr 3
asig oscil 20000,440,10
out asig
endin
f1 0 1024 7 0 512 1 512 0
f10 0 4096 10 1
i1 0 10000
i3 0 3000
e