-+P
sr = 44100
kr = 441
ksmps = 100
nchnls = 2
FLpanel "VU-meter panel",800,300
ih2 FLvalue " ", 54, 25, 480, 15
gk2,gih2 FLslider " ", 0,32767,0,3, ih2, 450,15, 10,15
gk1,gih1 FLslider " ", 0,32767,0,1, -1, 450,12, 10,30
ih4 FLvalue " ", 54, 25, 480, 40
gk4,gih4 FLslider " ", 0,32767,0,3, ih4, 450,15, 10,30+20
gk3,gih3 FLslider " ", 0,32767,0,1, -1, 450,12, 10,20+20
gk6,gih6 FLslider " ", 0, 1, 0, 1, -1,15,25, 460,15
gk5,gih5 FLslider " ", 0, 1, 0, 1, -1,15,25, 460,40
FLsetColor2 0, 255, 0, gih1
FLsetColor2 0, 0, 255, gih2
FLsetColor2 0, 255, 0, gih3
FLsetColor2 0, 0, 255, gih4
FLsetColor2 255, 0, 0, gih6
FLsetColor2 255, 0, 0, gih5
gkplay, iCl FLbutton "Play Meters", 1, 0, 3, 150, 20, 560, 15, +105,2,0,36000
gkselect,iSe FLbutton "Static/Dinamic peak", 1, 0, 3, 150, 20, 560, 40, -105
FLpanel_end
FLrun
ga1 init 0
ga2 init 0
instr 1
kamp randomi 0, 35768,5
a1 oscili kamp, 440,1
ga1 = ga1+a1
kamp2 randomi 0, 35768,rnd(5)
a2 oscili kamp2, 440,1
ga2 = ga2+a2
endin
instr 2
turnoffk 1-gkplay
ktrig metro 25
kvalL max_k ga1, ktrig, 0
kvalR max_k ga2, ktrig, 0
kpeakL peak kvalL
kpeakR peak kvalR
if gkselect == 1 kgoto contin
reset:
timout 0, 1.5, contin
kpeakL = 0
kpeakR = 0
kclipL = 0
kclipR = 0
reinit reset
contin:
if kpeakL < 32767 kgoto nonclip1
kclipL = 1
FLsetVal ktrig, kclipL, gih6
nonclip1:
if kpeakR < 32767 kgoto nonclip2
kclipR = 1
FLsetVal ktrig, kclipR, gih5
nonclip2:
FLsetVal ktrig, kvalL, gih1
FLsetVal ktrig, kpeakL, gih2
FLsetVal ktrig, kvalR, gih3
FLsetVal ktrig, kpeakR, gih4
FLsetVal ktrig, kclipL, gih6
FLsetVal ktrig, kclipR, gih5
ga1 = 0
ga2 = 0
endin
f1 0 1024 10 1
i1 0 1000
f0 3600
e