abcjs icon indicating copy to clipboard operation
abcjs copied to clipboard

Time signature change in grand staff causes rendering issue (using `%%score {R|L}`)

Open AGBrown opened this issue 6 months ago • 1 comments

Environment:

  • abcjs 6.4.1
  • tested on and occurs in both chrome (127.0.6533.120 (Official Build) (64-bit) (cohort: Stable) ) and firefox (Version 129.0.1, Build ID 20240812083845)

Issue:

If you add a time signature change at the start of both staves in a grand staff that is set up using %%score {R|L}, then it causes a rendering issue with that line of the staff.

(expand for test tune).

%abc-2.1

X:0
T:Time sig change test
%%barnumbers 1
%%measurenb 0
%%score {R|L}
%%stretchlast 1
Q:"Misterioso" 1/4=80
M:2/4
L:1/4
V:R clef=treble
V:L clef=bass
K:Gmaj
[V:R] x x/ G/ | G2 | G2 | G2 |
[V:L] x x/ z/ | C2 | C2 | C2 |
%
%%vskip 40
[V:R] [M:4/4] G4 | G4 | G4 | G4 |
[V:L] [M:4/4] C4 | C4 | C4 | C4 |
%
%%vskip 40
[V:R] G4 | G4 | G4 | G4 |]
[V:L] C4 | C4 | C4 | C4 |]

Expected output

The grand staff should be rendered normally.

(e.g. from abc2svg ):

(expand for image of expected output).

image

Actual output

The grand staff rendering fails on the line with the time signature change at the start

(expand for image of actual output).

image

Other notes

§ 7.3 of abc v2.1 standard:

To avoid ambiguity, inline fields that specify music properties should be repeated in every voice to which they apply.

Example:

[V:1] C4|[M:3/4]CEG|Gce|
[V:2] E4|[M:3/4]G3 |E3 |

AGBrown avatar Aug 18 '24 23:08 AGBrown