lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CrossStaff and Slashed grace


From: Gregory Evans
Subject: Re: CrossStaff and Slashed grace
Date: Fri, 6 Jan 2023 14:09:45 -0500

Hi Paul,
I would guess that someone here has a better solution (I'm basically ignorantly chiming in because I was thinking about grace slashes recently), but here’s what I’ve been doing to slash-beamed graces, in order to show an option other than \slash. And it visually matches the slashed flags a little more consistently.

my-hack-slash = {
 \once \override Stem.stencil =
   #(lambda (grob)
      (let* ((x-parent (ly:grob-parent grob X))
             (is-rest? (ly:grob? (ly:grob-object x-parent 'rest))))
        (if is-rest?
            empty-stencil
            (ly:stencil-combine-at-edge
             (ly:stem::print grob)
             Y
             (+ (ly:grob-property grob 'direction))
             (grob-interpret-markup grob
                                    (markup #:hspace 0.25 #:fontsize 3
                                            #:musicglyph "flags.ugrace"))
             -0.9))))
}

Here I print the font’s flag slash on the first stem of the grace notes. You can fiddle with the positioning or even use the downward slash symbol as needed. I haven’t tested it in cross-staff situations. And by Cross Staff, I assume you mean the use of Span_stem_engraver and \crossStaff? Because \slash appears to handle the following kind of cross-staff grace music as seen in the LSR: https://lsr.di.unimi.it/LSR/Item?id=721

regards,
GR


On Fri, Jan 6, 2023 at 12:33 PM Paul Hodges <pwh@cassland.org> wrote:
I am using a function "\slash" from the snippets repository to add a slash to acciaccaturas with multiple notes.  This works fine in isolation.

However, if I use CrossStaff on the same notes, the slash no longer appears.  I presume this is because both the slash code and the CrossStaff code are modifying the same stem definition, and the CrossStaff code wins.  But I have no idea how to overcome this, other than by generating this particular slash as markup.

Any pointers?

Regards,
Paul


--
gregory rowland evans

reply via email to

[Prev in Thread] Current Thread [Next in Thread]