--track0:Buf補正,1,100,50,0.01 --track1:間隔,1,1024,80,1 --track2:入力固定,0,1,1,1 --track3:サイズ,1,100,10,1 --check0:※初期化,0 --dialog:Guid/chk,chk0=0;図形選択/fig,local fig="四角形";色/col,local col=0xffffff;グラフ幅割合[%],local t2=30;X範囲係数,ww=1.00;Y範囲係数,hh=1.00; ------------------------------------set local t0=obj.track0 local t1=math.floor(obj.track1)/100 local chk1=math.floor(obj.track2) local t3=math.floor(obj.track3) local sw=obj.screen_w local sh=obj.screen_h local bcor=t0 local buf={} local div=1 local abm="spectrum" --pcm,spectrum,fourier local n=obj.getaudio(buf,"audiobuffer",abm,div) ------------------------------------script local fgs1=t3 local fgs2=t3 local nf=math.floor(obj.frame/obj.totalframe*sw*t2/100) if(bvl==null)then bvl={} end if(chk1==0)then flag=true end if(flag==true)then bvl[nf+1]=buf[1] if(bvl[nf+1]==nil)then bvl[nf+1]=0 end end local sf=1 local ef=math.floor(sw*t2/100) if((obj.frame==0 and chk1==0) or obj.check0)then if(#bvl>=ef)then ev=#bvl else ev=ef end for i=1,ev do bvl[i]=0 end end obj.setoption("drawtarget","tempbuffer",sw*ww,sh*hh) obj.load("figure",fig,col,fgs1*t1,fgs2*t1) for i=sf,ef do hei=math.floor(bvl[i]/bcor/fgs1) for j=0,hei do dx=i*fgs1 -ef*fgs1/2-fgs1/2 dy=-j*fgs1 +sh/2-fgs1 obj.draw(dx*t2/100,dy*t2/100,0,t2/100) end end obj.load("tempbuffer") if(chk1==1)then flag=false end if(chk0==1)then obj.draw() obj.setfont("",sh/20) output="使用手順\n1.初期化にチェックを入れ、外す。\n2.入力固定を『0』にして、プレビュー再生等で音を取得する。\n3.その都度、音を取得しないのであれば、入力固定の値を『1』にする。" obj.load("text",output) obj.draw() end