App-Music-ChordPro
view release on metacpan or search on metacpan
lib/ChordPro/res/abc/abc2svg/jazzchord-1.js view on Meta::CPAN
r += '(' + jzch(t[1])
} else {
r = t
}
if (gch.text[0] == '(')
gch.text = '(' + r + ')'
else
gch.text = r
}
of(s) // build the chord symbols
}, // gch_build()
set_fmt: function(of, cmd, parm) {
var i, k, s,
cfmt = this.cfmt()
if (cmd == "jazzchord") {
cfmt.jazzchord = this.get_bool(parm)
if (!cfmt.jazzchord)
return
if (parm[0] == '2')
cfmt.jazzchord = 2 // no style
if(!cfmt.jzreg) { // if new definition
// cfmt.jzreg = "-|°|º|áµ|0|6/9|maj|M|min|m|\\^"
cfmt.jzreg = "-|°|º|áµ|0|\\^"
cfmt.jzrep = Object.create(abc2svg.jazzchord.defrep)
cfmt.jzRE = new RegExp(cfmt.jzreg, 'g')
}
if (parm && parm.indexOf('=') > 0) {
parm = parm.split(/[\s]+/)
for (cmd = 0; cmd < parm.length; cmd++) {
k = parm[cmd].split('=')
if (k.length != 2)
//fixme: error
continue
s = k[1] // replacement
k = k[0] // key
i = cfmt.jzreg.indexOf(k)
if (i >= 0) { // if old key
if (s) { // new value
cfmt.jzrep[k] = s
} else {
cfmt.jzreg = cfmt.jzreg.replace(k, '')
cfmt.jzreg = cfmt.jzreg.replace('||', '|')
delete cfmt.jzrep[k]
}
} else {
cfmt.jzreg += '|' + k
cfmt.jzrep[k] = s
}
cfmt.jzRE = new RegExp(cfmt.jzreg, 'g')
}
}
return
}
of(cmd, parm)
}, // set_fmt()
set_hooks: function(abc) {
abc.gch_build = abc2svg.jazzchord.gch_build.bind(abc, abc.gch_build)
abc.set_format = abc2svg.jazzchord.set_fmt.bind(abc, abc.set_format)
abc.add_style("\
\n.jc7{font-size:90%}\
\n.jc8{baseline-shift:25%;font-size:75%;letter-spacing:-0.05em}\
\n.jc9{font-size:75%;letter-spacing:-0.05em}\
")
abc.param_set_font("setfont-7", "* * class=jc7")
abc.param_set_font("setfont-8", "* * class=jc8")
abc.param_set_font("setfont-9", "* * class=jc9")
} // set_hooks()
} // jazzchord
if (!abc2svg.mhooks)
abc2svg.mhooks = {}
abc2svg.mhooks.jazzchord = abc2svg.jazzchord.set_hooks
( run in 0.967 second using v1.01-cache-2.11-cpan-2398b32b56e )