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