lilypond:音乐功能中的不可见音符不留空格

时间:2019-02-01 10:27:41

标签: scheme lilypond

我想自动化在吉他滑片的音符和和弦中添加落眼线的过程,就像片段文档here中所见(请参阅标有\afterGrace的片段)。 / p>

因为它在那里,所以保留了看不见的宽限音符的空间,但是它不需要在那里。以下是我到目前为止提出的功能:

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
        }
    #})

我用方案手动添加了gliss,因为如果将\glissando附加到变量后,它将不起作用。

如何删除由隐性宽限期引起的空间?

1 个答案:

答案 0 :(得分:1)

我设法找到了一个解决方案,尽管感觉有些棘手:

    #{
        \afterGrace 16/16
        ...

首先,我添加了16/16,它将宽限音符尽可能地移到最右端。

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

然后,我将注释头的字体大小改写为无穷小值,使其消失