From f88e27c53588dd0ccdaa6d23dadd36979990503f Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Fri, 22 Nov 2013 13:34:50 +0100 Subject: [PATCH] convert-ly rule for new make-relative semantics accepting music arguments This only works when the "reference pitch" is the first or last of the list. --- python/convertrules.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/python/convertrules.py b/python/convertrules.py index e2eb3baa4a..28c27fb8b8 100644 --- a/python/convertrules.py +++ b/python/convertrules.py @@ -3683,6 +3683,17 @@ def conv(str): str = re.sub ("New_dynamic_engraver", "Dynamic_engraver", str) return str +@rule ((2, 17, 97), r'''(make-relative (a b) b ...) -> make-relative (a b) #{ a b #}...''') +def conv (str): + str = re.sub (r"(\(make-relative\s+\(\s*(([A-Za-z][-_A-Za-z0-9]*)" + + r"(?:\s+[A-Za-z][-_A-Za-z0-9]*)*)\s*\)\s*)\3(?=\s)", + r"\1(make-event-chord (list \2))", str) + str = re.sub (r"(\(make-relative\s+\(\s*([A-Za-z][-_A-Za-z0-9]*" + + r"(?:\s+([A-Za-z][-_A-Za-z0-9]*))+)\s*\)\s*)\3(?=\s)", + r"\1(make-sequential-music (list \2))", str) + return str + + # Guidelines to write rules (please keep this at the end of this file) # # - keep at most one rule per version; if several conversions should be done, -- 2.39.2