paulrosen / abcjs

javascript for rendering abc music notation
Other
1.91k stars 282 forks source link

Key signature glyph in bass clef for the first line of a multi-voice tune are in the wrong place #1012

Open seisiuneer opened 5 months ago

seisiuneer commented 5 months ago

User sent this:

X:6 T:La Bouree (C Instruments) T:From "Terpsichore", 1621 C:Michael Praetorius M:C| L:1/4 Q:1/2=80 %%staffwidth 690 V:1 clef=treble name="1" sname="1" K:Cmaj A'/2B'/2 [|: c' c' c'3/2 B'/2 | A' F' F' B'/2c'/2 | d' B' B'3/2 A'/4B'/4 | c' A' A' A' | G' F' G'3/2 F'/4G'/4 | [1 A' F' F' A'/2B'/2 :|] [2 A' F' F' E'/2F'/2] [|: G' G' G'3/2 F'/2 | E' C'2 G | E' C'2 c' | A' F'2 B'/2c'/2 | d' B' B'/2c'/2 d' | c' A'2 E'/2F'/2 | V:2 clef=bass name="2" sname="2" K:Fmaj F, [|: F,3/2 C,/2 F, C, | F,, F,-F,/2_E,/2D,/2C,/2 | B,,3/2 A,,/2 G,,/2F,,/2 G,, | F,, F, F,,/2G,,/2A,,/2B,,/2 | C, A,, B,, C, | [1 F,,2 F,, F, :|] [2 F,,2 F,, F,] [|: C,3/2 G,,/2 C, D, | C,3 C, | C, C,-C,/2B,,/2A,,/2G,,/2 | F,,3 G, | D, _E, D, B,, | F,3 C, |

When rendered, the Bb flat glyph for the first line of the Bass voice is on the wrong line.

The addition of an additional K:bass on the bass voice fixes it:

X:6 T:La Bouree (C Instruments) T:From "Terpsichore", 1621 C:Michael Praetorius M:C| L:1/4 Q:1/2=80 %%staffwidth 690 V:1 clef=treble name="1" sname="1" K:Cmaj A'/2B'/2 [|: c' c' c'3/2 B'/2 | A' F' F' B'/2c'/2 | d' B' B'3/2 A'/4B'/4 | c' A' A' A' | G' F' G'3/2 F'/4G'/4 | [1 A' F' F' A'/2B'/2 :|] [2 A' F' F' E'/2F'/2] [|: G' G' G'3/2 F'/2 | E' C'2 G | E' C'2 c' | A' F'2 B'/2c'/2 | d' B' B'/2c'/2 d' | c' A'2 E'/2F'/2 | V:2 clef=bass name="2" sname="2" K:bass K:Fmaj F, [|: F,3/2 C,/2 F, C, | F,, F,-F,/2_E,/2D,/2C,/2 | B,,3/2 A,,/2 G,,/2F,,/2 G,, | F,, F, F,,/2G,,/2A,,/2B,,/2 | C, A,, B,, C, | [1 F,,2 F,, F, :|] [2 F,,2 F,, F,] [|: C,3/2 G,,/2 C, D, | C,3 C, | C, C,-C,/2B,,/2A,,/2G,,/2 | F,,3 G, | D, _E, D, B,, | F,3 C, |

paulrosen commented 5 months ago

That is an interesting bug - I'm not sure what is going on, but another work around is to just declare the clef in the key

V:2 name="2" sname="2"
K:Fmaj clef=bass
seisiuneer commented 5 months ago

Thanks! I came to the same conclusion as far as a workaround for the user.