App-Music-ChordPro
view release on metacpan or search on metacpan
- Minimize all configs to only override what is necessary.
- Split german notes into scandinavian (..., A, Bb/A#, H, C) and
german (..., A, Ais/B, H, C).
- Use String::Interpolate::Named.
- (Experimental) Allow %{..} interpolations on the output file
name, e.g. --output="%{artist|%{} - }%{title}.pdf".
Command line only.
- Fix memorize problem with the first chord.
- Upgrade WxChordPro to 0.972.
0.97.1 2018-10-24
- Upgrade WxChordPro to 0.970 to fix problem with custom config.
0.97 2018-10-23
- Instrument defintions are now in separate config files. There
are no 'built-in' tunings and chords, just defaults.
Available instrument configs are guitar, guitar-ly, mandolin-ly,
and ukulele-ly. Default is guitar.
- Chords parsing has been completely overhauled.
lib/ChordPro/res/abc/abc2svg/clair-1.js view on Meta::CPAN
C0.3775 -0.79547 0.4351 -0.84567 0.7003 -0.85587\n\
C0.9459 -0.86587 1.0531 -0.85987 1.1805 -0.83797\n\
C1.6967 -0.74937 2.1173 -0.13032 2.1173 0.64059\n\
C2.1173 2.10531 0.9987 3.04975 0.019 3.8078\n\
C0 3.8345 0 3.846 0 3.8652\n\
C0 3.9101 0.022 3.94 0.056 3.94\n\
C0.071 3.94 0.079 3.93904 0.107 3.9231\n\
C1.3341 3.23572 2.6095 2.2656 2.6095 0.57604\n\
C2.6095 -0.4711 2.0006 -1.05061 1.1664 -1.05061\n\
C0.9058 -1.05561 0.7658 -1.05861 0.5568 -1.02591\n\
C0.4588 -1.01061 0.248 -0.97281 0.219 -0.92831\n\
C0.165 -0.89151 0.162 -0.77308 0.266 -0.78129"/>\n\
<text x="-5" y="-24" font-size="28px"></text>\n\
</g>\n\
<g id="cl3">\n\
<path transform="translate(-9,-12) scale(8)" d="m1.0406 -2.93878\n\
C0.9606 -2.93578 0.8881 -2.93178 0.8237 -2.92878\n\
L0.8237 -2.92846\n\
C0.6586 -2.92046 0.4659 -2.89806 0.3697 -2.87906\n\
C0.1409 -2.83386 0.0236 -2.78916 0 -2.75937\n\
C-0.018 -2.73927 -0.015 -2.71087 0 -2.69037\n\
C0.023 -2.64587 0.145 -2.67017 0.4188 -2.72887\n\
C0.5108 -2.74867 0.6924 -2.76597 0.8607 -2.77257\n\
C1.0868 -2.78157 1.2883 -2.70417 1.3194 -2.69167\n\
C1.7053 -2.53668 2.0444 -2.24033 2.0444 -1.46855\n\
C2.0444 -0.8488 1.8942 -0.04261 1.4629 -0.04261\n\
C1.4489 -0.04061 1.4419 -0.03861 1.4289 -0.02891\n\
C1.4149 -0.01311 1.4179 -0.00091 1.4169 0.01179\n\
C1.4169 0.01193 1.4169 0.01195 1.4169 0.01211\n\
C1.4169 0.01225 1.4169 0.01227 1.4169 0.01243\n\
C1.4169 0.02513 1.4169 0.03723 1.4289 0.05313\n\
C1.4389 0.06213 1.4479 0.06493 1.4629 0.06683\n\
C1.8942 0.06683 2.0444 0.87302 2.0444 1.49278\n\
C2.0444 2.26455 1.7053 2.56059 1.3194 2.71559\n\
C1.2884 2.72799 1.0868 2.80579 0.8607 2.79679\n\
C0.6924 2.78979 0.5113 2.77259 0.4188 2.75279\n\
C0.145 2.69409 0.0231 2.66979 0 2.71429\n\
C-0.011 2.73479 -0.014 2.76349 0 2.78359\n\
C0.024 2.81339 0.1409 2.85799 0.3697 2.90328\n\
C0.4657 2.92228 0.6586 2.94468 0.8237 2.95268\n\
lib/ChordPro/res/abc/abc2svg/diag-1.js view on Meta::CPAN
A: "002220 ,0 002340",
Am: "002210 ,0 002310",
A7: "002020 ,0 002030",
Am7: "002010 ,0 002010",
AM7: "002120 ,0 x02130",
Asus4: "x02230 ,0 x02340",
B: "x03330 fr2 002340 barre=5-1",
Bm: "x03320 fr2 003410 barre=5-1",
B7: "021202 ,0 x21304",
Bm7: "003020 fr2 x03020 barre=5-1",
BM7: "003230 fr2 x03240 barre=5-1",
Bsus4: "x03340 fr2 x02340 barre=5-1",
}, // cd6{}
// function called before tune generation
draw_gchord: function(of, i, s, x, y) {
var gch, nm,
cfmt = this.cfmt(),
n = cfmt.diag, // number of strings
glyphs = this.get_glyphs()
lib/ChordPro/res/abc/abc2svg/diag-1.js view on Meta::CPAN
if (!glyphs["fb" + n]) {
if (n == 4) {
glyphs.fb4 = '<g id="fb4">\n\
<path class="stroke" stroke-width="0.4" d="\
M-6 -24h12m0 6h-12\
m0 6h12m0 6h-12\
m0 6h12"/>\n\
<path class="stroke" stroke-width="0.5" d="\
M-6 -24v24m4 0v-24\
m4 0v24m4 0v-24"/>\n\
</g>'
glyphs.nut4 =
'<path id="nut4" class="stroke" stroke-width="1.6" d="\
M-6.2 -24.5h12.4"/>'
} else {
glyphs.fb6 = '<g id="fb6">\n\
<path class="stroke" stroke-width="0.4" d="\
M-10 -24h20m0 6h-20\
m0 6h20m0 6h-20\
m0 6h20"/>\n\
<path class="stroke" stroke-width="0.5" d="\
M-10 -24v24m4 0v-24\
m4 0v24m4 0v-24\
m4 0v24m4 0v-24"/>\n\
</g>'
glyphs.nut6 =
'<path id="nut6" class="stroke" stroke-width="1.6" d="\
M-10.2 -24.5h20.4"/>'
}
}
// convert the chord symbol to a "better known" one
function ch_cnv(t) {
var a = t.match(/[A-G][#â¯bâ]?([^/]*)\/?/) // a[1] = chord type
( run in 0.663 second using v1.01-cache-2.11-cpan-7add2cbd662 )