1// abc2svg - ABC to SVG translator 2// @source: https://chiselapp.com/user/moinejf/repository/abc2svg 3// Copyright (C) 2014-2020 Jean-Francois Moine - LGPL3+ 4//pedline.js-module to draw pedal lines instead of'Ped .. *' 5abc2svg.pedline={draw_all_deco:function(of){var de,i,a_de=this.a_de() 6if(!a_de.length) 7return 8if(this.cfmt().pedline){for(i=0;i<a_de.length;i++){de=a_de[i] 9if(de.dd.name!="ped)") 10continue 11if(de.prev&&de.prev.dd.name=="ped)"){de.defl.nost=true 12de.prev.defl.noen=true 13de.x=de.prev.s.x-5 14de.val=de.s.x-de.x-5 15if(!de.prev.prev) 16de.prev.val=de.x-de.prev.x}else{de.x-=3 17de.val+=10}}} 18of()},out_lped:function(of,x,y,val,defl){if(!this.cfmt().pedline){of(x,y,val,defl) 19return} 20this.xypath(x,y+16) 21if(defl.nost){this.out_svg("l2.5 6") 22val-=2.5}else{this.out_svg("v6")} 23if(defl.noen){val-=2.5 24this.out_svg("h"+val.toFixed(1)+'l2.5 -6"/>\n')}else{this.out_svg("h"+val.toFixed(1)+'v-6"/>\n')}},set_fmt:function(of,cmd,param){if(cmd=="pedline") 25this.cfmt().pedline=param 26else 27of(cmd,param)},set_hooks:function(abc){abc.draw_all_deco=abc2svg.pedline.draw_all_deco.bind(abc,abc.draw_all_deco) 28abc.out_lped=abc2svg.pedline.out_lped.bind(abc,abc.out_lped) 29abc.set_format=abc2svg.pedline.set_fmt.bind(abc,abc.set_format)}} 30abc2svg.modules.hooks.push(abc2svg.pedline.set_hooks) 31abc2svg.modules.pedline.loaded=true 32