Лилипонд: не оставляя места для невидимой (благодати) ноты в музыкальной функции - PullRequest
0 голосов
/ 01 февраля 2019

Я хочу автоматизировать процесс добавления ниспадающих линий блеска к нотам и аккордам для слайдов на гитаре, как показано в документации к фрагментам здесь (см. Тот, который отмечен \afterGrace).

Как он есть, он сохраняет место для невидимой записки благодати, но он не должен быть там.Ниже приводится функция, которую я до сих пор придумал:

fall = #(define-music-function (inputA) (ly:music?)
    (define gliss (ly:music-deep-copy inputA))
    (define grace (ly:music-deep-copy inputA))
        (set! (ly:music-property gliss 'articulations)
          (cons (make-music (quote GlissandoEvent))
                (ly:music-property gliss 'articulations)))
    #{
        \afterGrace $gliss
        \transpose c g, {
            \once \omit Stem
            \once \omit Flag
            \once \omit Accidental
            \once \hideNotes
            $grace
        }
    #})

Я добавляю глисс вручную с помощью схемы, потому что она не работает, если к переменной добавляется \glissando.

Как я могу удалить пространство, вызванное невидимой благодатью?

1 Ответ

0 голосов
/ 01 февраля 2019

Мне удалось найти решение, хотя оно выглядит несколько хакерским:

    #{
        \afterGrace 16/16
        ...

Сначала я добавил 16/16, который перемещает ноту благодати как можно дальше вправо.

        \transpose c g, {
            ...
            \once \override NoteHead.font-size = #-50
            $grace
        }
    #})

Затем я переопределил размер шрифта заголовка заметки до бесконечно малого значения, и оно исчезло

...