-
Notifications
You must be signed in to change notification settings - Fork 36
Open
Description
In version 2.20, LilyPond introduced the \= command, which is used to assign IDs to slurs so thay can cross or line up correctly in a chord. For example:
\fixed c' { c\=1( d\=2( e\=1) f\=2) }
\fixed c' { <c\=A( e\=2^(>4 <d\=A) f\=2)> }
ly.lex
does not parse this command correctly, leading to this issues in Frescobaldi: frescobaldi/frescobaldi#1964. It looks like new classifications will be needed, perhaps called "SlurAssignment" and "SlurId".
Using a simple Python script and the above LilyPond source code, you can see the problem:
import sys
import ly.lex
with open(sys.argv[1]) as f:
txt = f.read()
for t in ly.lex.state("lilypond").tokens(txt):
print(t, t.__class__.__name__)
Metadata
Metadata
Assignees
Labels
No labels