Lines Matching +full:v +full:- +full:gen
1 // abc2svg - ABC to SVG translator
3 // Copyright (C) 2014-2020 Jean-Francois Moine - LGPL3+
4 //snd-1.js-file to include in html pages with abc2svg-1.js for playing
8 …,audio5,midi5,current,abcplay={clear:audio.clear,add:audio.add,set_sfu:function(v){if(v==undefined) argument
10 conf.sfu=v},set_speed:function(v){if(v==undefined) argument
12 conf.new_speed=v},set_vol:function(v){if(v==undefined) argument
13 return conf.gain;conf.gain=v
15 current.set_vol(v)},play:play,stop:vf}
31 if(out.length==1){o=0}else{o=-1
38 o=-1}
49 var v=localStorage.getItem("sfu")
50 if(v)
51 conf.sfu=v;v=localStorage.getItem("volume")
52 if(v)
53 conf.gain=Number(v)})()
62 …oaud=this,C=abc2svg.C,p_time=0,abc_time=0,play_fac=C.BLEN/4*120/60,i,n,dt,d,v,c,s=first,rst=s,rst_…
63 function build_parts(first){var i,j,c,n,v,s=first,p=s.parts,st=[],r=""
78 v=r.slice(j)
79 if(r.length+v.length*n>128)
81 while(--n>0)
82 r+=v}
89 v=s.text[0]
90 for(i=0;i<first.parts.length;i++){if(first.parts[i]==v)
92 function midi_start(){var v,p_v,c,i,ii
93 for(v=0;v<voice_tb.length;v++){p_v=voice_tb[v]
97 c=p_v.v<9?p_v.v:p_v.v+1
106 chn[v]=c
108 function do_block(s){var v=s.v,c=chn[v]
109 switch(s.subtype){case"midichn":chn[v]=s.chn
116 chn[v]=c=9}
124 if(!(d&(d-1)))
129 next.dur-=d}
137 g.chn=chn[s.v]
145 n=n.match(/[1-8]-[2-9]|[1-9,.]|[^\s]+$/g)
149 if(d[1]=='-')
157 abc2svg.loadjs("chord-1.js",function(){toaud.add(first,voice_tb,cfmt)},function(){cfmt.chord=null
167 dt=s.time-abc_time
189 if(rst.bar_type&&rst.bar_type.slice(-1)!=':')
192 rst_fac=play_fac}}else if(s.rbstop){if(s.bar_type.slice(-1)==':'){if(b_typ&4)
207 abc_time-=dt}
216 s.next.time-=dt
217 d-=dt}
220 v=s.v
221 c=chn[v]
236 abc2svg.play_next=function(po){function do_tie(s,midi,d){var i,note,C=abc2svg.C,v=s.v,end_time=s.ti…
250 if(s.type==C.NOTE&&s.v==v)
253 while(--i>=0){note=s.notes[i]
258 function set_ctrl(po,s2,t){var i,p_v=s2.p_v,tim=s2.time,s={subtype:"midictl",p_v:p_v,v:p_v.v,chn:p_… property
264 po.p_v[s2.v]=true}
275 po.stim=d-(d-po.stim)*po.conf.speed/po.conf.new_speed
281 while(1){if(!po.p_v[s.v])
284 if(!po.repn&&(!s.rep_v||po.repv<s.rep_v.length)){po.stim+=(s.ptim-s.rep_p.ptim)/po.conf.speed
293 if(s2){po.stim+=(s.ptim-s2.ptim)/po.conf.speed
298 if(s.bar_type.slice(-1)==':')
305 if(s2){po.stim+=(s.ptim-s2.ptim)/po.conf.speed
314 po.note_run(po,g,note.midi,t+g.ptim-s.ptim,d)}}
323 st=(t-po.get_time(po))*1000
328 setTimeout(po.onend,(t-po.get_time(po)+d)*1000,po.repv)
338 po.timouts.push(setTimeout(play_cont,(t-po.get_time(po))*1000
339 -300,po))}
341 for(s=po.s_cur;s;s=s.ts_prev){if(s.parts){po.i_p=-1
350 -po.s_cur.ptim*po.conf.speed
366 if(s[l-1]=='='){if(s[l-2]=='=')
367 dl--
368 dl--
369 l-=4}
389 function sf2_create(sf2_bin,instr){var i,sid,gen,parm,sampleRate,sample,infos,parser=new sf2.Parser…
393 for(i=0;i<infos.length;i++){gen=infos[i].generator
394 if(!gen.sampleID)
396 sid=gen.sampleID.amount
399 …gen.attackVolEnv?gen.attackVolEnv.amount:-12000)/1200),hold:Math.pow(2,(gen.holdVolEnv?gen.holdVol…
405 parm.sustain=1-parm.sustain/.4
407 if(gen.sampleModes&&(gen.sampleModes.amount&1)){parm.loopStart=parser.sampleHeader[sid].startLoop/s…
409 var scale=(gen.scaleTuning?gen.scaleTuning.amount:100)/100,tune=(gen.coarseTune?gen.coarseTune.amou…
410 (gen.fineTune?gen.fineTune.amount:0)/100+
411 parser.sampleHeader[sid].pitchCorrection/100-
412 (gen.overridingRootKey?gen.overridingRootKey.amount:parser.sampleHeader[sid].originalPitch)
413 for(j=gen.keyRange.lo;j<=gen.keyRange.hi;j++){rates[instr][j]=Math.pow(Math.pow(2,1/12),(j+tune)*sc…
417 if(--w_instr==0)
419 ((instr/128)|0).toString()+'-'+
421 if(--w_instr==0)
432 parm=po.params[instr][k],o=po.ac.createBufferSource(),v=s.p_v.vol==undefined?1:s.p_v.vol
433 if(!v||!parm)
444 if(parm.hold<0.002){g.gain.setValueAtTime(v,t)}else{if(parm.attack<0.002){g.gain.setValueAtTime(v,t…
445 g.gain.linearRampToValueAtTime(v,t+parm.attack)}
446 g.gain.setValueAtTime(v,t+parm.hold)}
447 g.gain.exponentialRampToValueAtTime(parm.sustain*v,t+parm.decay)
476 if(--w_instr==0)
481 gain=null}},set_vol:function(v){if(gain) argument
482 gain.gain.value=v}}}
487 …'+signature);parser=new sf2.Riff.Parser(data,{'index':ip,'length':chunk.size-4});parser.parse();if…
490 …'+signature);parser=new sf2.Riff.Parser(data,{'index':ip,'length':chunk.size-4});parser.parse()};s…
492 …'+signature);parser=new sf2.Riff.Parser(data,{'index':ip,'length':chunk.size-4});parser.parse();if…
495 …'+signature);parser=new sf2.Riff.Parser(data,{'index':ip,'length':chunk.size-4});parser.parse();if…
505 …ta.offset+start*2,this.samplingData.offset+end*2)).buffer);startLoop-=start;endLoop-=start;if(samp…
517 …nput=input;this.ip=options.index||0;this.length=options.length||input.length-this.ip;this.offset=t…
518 …<<8)|(input[ip++]<<16)|(input[ip++]<<24))),ip));ip+=size;if((this.padding&&(ip-this.offset)&1)===1)
533 po.op.send(new Uint8Array([0x80+c,k,0]),t+d-20)}
569 y=window.scrollY+b.top-
575 x=window.scrollX+b.left-
582 var sty=document.createElement("style");sty.innerHTML=".abcr {fill: #d00000; fill-opacity: 0; z-ind…