Набирал как-то ноты немецкой рождественской песни «Stille Nacht», решил добавить туда немецкий текст — мне видеть его как-то привычнее, чем русский перевод, к тому же неточный и с лишними слогами. Добавил — обнаружил странный глюк: написанное в исходном тексте слово Christ в скомпилированном листе с нотами преобразовалось в Phrist. Заменил латинскую C на похожую кириллическую С — стало выглядеть как надо. Кто такой Фрист — не нашёл.
Dec. 11th, 2013
Бекары — слева, бемоли с диезами — справа
Dec. 11th, 2013 11:15 pmПрошлой зимой я изобретал хитрый способ заставить лилипонд выводить знаки при ключе по разные стороны тактовой черты в случае смены тональности: метод работал не совсем корректно, рисуя лишние бекары в случае уменьшения только лишь количества знаков.
Оказалось,всё украдено до нас есть более простой способ, описанный в документации. Код, конечно, здоровенный, но его можно спокойно вставить в нужное место, не особо задумываясь о том, что он означает.
Описано применение внутри нотного стана. Можно применить и для отдельного голоса — я проверил, работает. Применить для всей партитуры сразу не получилось: в лучшем случае лилипонд игнорирует попытки, в худшем — прерывает компиляцию. Но с учётом того, что общая часть для всех голосов в моих нотах описывается всего один раз — можно успокоиться и включать команду именно в эту общую часть.
Оказалось,
By default, the accidentals used for key cancellations are placed adjacent to those for key signature changes. This behavior can be changed by overriding the 'break-align-orders property of the BreakAlignment grob.
The value of 'break-align-orders is a vector of length 3, with quoted lists of breakable items as elements. This example only modifies the second list, moving key-cancellation before staff-bar; by modifying the second list, break alignment behavior only changes in the middle of a system, not at the beginning or the end.\new Staff " \key bes \major c'1
Описано применение внутри нотного стана. Можно применить и для отдельного голоса — я проверил, работает. Применить для всей партитуры сразу не получилось: в лучшем случае лилипонд игнорирует попытки, в худшем — прерывает компиляцию. Но с учётом того, что общая часть для всех голосов в моих нотах описывается всего один раз — можно успокоиться и включать команду именно в эту общую часть.