OLD | NEW |
1 # (setq py-indent-offset 4) | 1 # (setq py-indent-offset 4) |
2 | 2 |
3 | 3 |
4 import string | 4 import string |
5 import re | 5 import re |
6 import sys | 6 import sys |
7 import lilylib | 7 import lilylib |
8 | 8 |
9 _ = lilylib._ | 9 _ = lilylib._ |
10 | 10 |
(...skipping 3105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3116 str = re.sub (r"#'space\s+=\s+#?([0-9]*\.?[0-9]*)", r"#'basic-distance = #\1
", str) | 3116 str = re.sub (r"#'space\s+=\s+#?([0-9]*\.?[0-9]*)", r"#'basic-distance = #\1
", str) |
3117 if re.search (r'HarmonicParenthesesItem', str): | 3117 if re.search (r'HarmonicParenthesesItem', str): |
3118 stderr_write ("\n") | 3118 stderr_write ("\n") |
3119 stderr_write (NOT_SMART % ("HarmonicParenthesesItem.\n")) | 3119 stderr_write (NOT_SMART % ("HarmonicParenthesesItem.\n")) |
3120 stderr_write (_ ("HarmonicParenthesesItem has been eliminated.\n")) | 3120 stderr_write (_ ("HarmonicParenthesesItem has been eliminated.\n")) |
3121 stderr_write (_ ("Harmonic parentheses are part of the TabNoteHead grob.
\n")) | 3121 stderr_write (_ ("Harmonic parentheses are part of the TabNoteHead grob.
\n")) |
3122 stderr_write (UPDATE_MANUALLY); | 3122 stderr_write (UPDATE_MANUALLY); |
3123 return str | 3123 return str |
3124 | 3124 |
3125 @rule ((2, 13, 44), | 3125 @rule ((2, 13, 44), |
3126 _ ("Remove context from overrideTimeSignatureSettings and revertTimeSignatur
eSettings.")) | 3126 _ ("Remove context from overrideTimeSignatureSettings and revertTimeSignatur
eSettings.\n")) |
| 3127 |
3127 def conv(str): | 3128 def conv(str): |
3128 str = re.sub (r"\\(override|revert)TimeSignatureSettings(\s+[^#]*)(#[^#]*)#"
, r"\\\1TimeSignatureSettings\2#", str) | 3129 str = re.sub (r"\\(override|revert)TimeSignatureSettings(\s+[^#]*)(#[^#]*)#"
, r"\\\1TimeSignatureSettings\2#", str) |
3129 return str | 3130 return str |
3130 | 3131 |
| 3132 @rule ((2, 13, 46), |
| 3133 _ ("Change stringTunings from a list of semitones to a list of pitches.\n"\ |
| 3134 "Change tenor and baritone ukulele names in string tunings.")) |
| 3135 |
| 3136 def conv(str): |
| 3137 def semitones2pitch(semitones): |
| 3138 steps = [0, 0, 1, 1, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7] |
| 3139 alterations = ["NATURAL", "SHARP", "NATURAL", "SHARP", "NATURAL", "NATUR
AL", "SHARP", "NATURAL", "SHARP", "NATURAL", "SHARP", "NATURAL", "SHARP", "NATUR
AL"] |
| 3140 octave = 0 |
| 3141 while semitones > 11: |
| 3142 octave += 1 |
| 3143 semitones -=12 |
| 3144 while semitones < 0: |
| 3145 octave -= 1 |
| 3146 semitones += 12 |
| 3147 pitchArgs = "%d %d %s" % (octave, steps[semitones], alterations[semitone
s]) |
| 3148 return pitchArgs |
| 3149 |
| 3150 def convert_tones (semitone_list): |
| 3151 tones = semitone_list.split () |
| 3152 res = "" |
| 3153 for tone in tones: |
| 3154 args = semitones2pitch(int(tone)) |
| 3155 res += ",(ly:make-pitch " + args + ") " |
| 3156 return res |
| 3157 |
| 3158 def new_tunings (matchobj): |
| 3159 return "stringTunings = #`(" + convert_tones(matchobj.group(1)) + ")" |
| 3160 str = re.sub (r"stringTunings\s*=\s*#'\(([\d\s-]*)\)", \ |
| 3161 new_tunings , str) |
| 3162 |
| 3163 str = re.sub (r"ukulele-(tenor|baritone)-tuning", r"\1-ukulele-tuning", str) |
| 3164 return str |
3131 | 3165 |
3132 # Guidelines to write rules (please keep this at the end of this file) | 3166 # Guidelines to write rules (please keep this at the end of this file) |
3133 # | 3167 # |
3134 # - keep at most one rule per version; if several conversions should be done, | 3168 # - keep at most one rule per version; if several conversions should be done, |
3135 # concatenate them into a single "conv" function; | 3169 # concatenate them into a single "conv" function; |
3136 # | 3170 # |
3137 # - enclose strings to be localized with `_(' and `)'; | 3171 # - enclose strings to be localized with `_(' and `)'; |
3138 # | 3172 # |
3139 # - write rule for bumping major stable version with | 3173 # - write rule for bumping major stable version with |
3140 # | 3174 # |
3141 # _ ("bump version for release") | 3175 # _ ("bump version for release") |
3142 # | 3176 # |
3143 # as exact description. | 3177 # as exact description. |
OLD | NEW |