if m.group (1):
return m.group (0)
x = m.group (2) + m.group (4)
-
+
if m.group (3):
x = x + re.sub (r"(\s*)(" + symbol_list + ")", fn_path_replace,
m.group (3))
str = re.sub (r'\blocalKeySignature\b', 'localAlterations', str)
return str
+@rule ((2, 19, 11), "thin-kern -> segno-kern")
+def conv(str):
+ str = re.sub (r'\bthin-kern\b', 'segno-kern', str)
+ return str
+
+# before_id is written in a manner where it will only substantially
+# (rather than as a lookbefore assertion) match material that could
+# not be part of a previous id. In that manner, one replacement does
+# not inhibit an immediately adjacent replacement.
+
+before_id = r'(?:^|(?<!\\)(?:\\\\)+|(?<=[^-_\\a-zA-Z])|(?<=[^a-zA-Z][-_]))'
+
+# after_id is a pure lookbehind assertion so its match string is
+# always empty
+
+after_id = r'(?![a-zA-Z]|[-_][a-zA-Z])'
+
+@rule ((2, 19, 16), """implicitTimeSignatureVisibility -> initialTimeSignatureVisibility
+csharp -> c-sharp""")
+def conv(str):
+ str = re.sub (r'\bimplicitTimeSignatureVisibility\b', 'initialTimeSignatureVisibility', str)
+ str = re.sub ('(' + before_id + r'[a-g])((?:sharp){1,2}|(?:flat){1,2})'
+ + after_id, r'\1-\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,