Hi Harm,

Thank you very much, it solves all my problems at once, much appreciated!
It tells me how to engrave my last bar, and why I had to do what I did for
my first bar :)

I was indeed confusing merged notes for collisionning ones; I wasn't aware
of the concept / term / mechanics behind.

Have a good day,
Claire


On Thu, Aug 27, 2020 at 10:52 PM Thomas Morley <[email protected]>
wrote:

> Am Mi., 26. Aug. 2020 um 20:42 Uhr schrieb Claire Meyer
> <[email protected]>:
> >
> > Hi,
> >
> > I'm trying to reproduce a piano score that has a lot of cross-staff
> notes, some of them colliding. There are 3 voices :
> > - one for the right hand on the upper staff,
> > - one for the left hand on the lower staff,
> > - and for the left hand on the upper staff.
> > That last voice is the cross-staffed one. Because the right hand
> overlaps a bit with the left, some collisions happen because the
> overlapping notes are written on the same staff.
> >
> > In the snippet that I'm sharing, there are two problematic bars :
> > - on the first bar, I "solved" the problem (the pair of Fs). I tried
> looking at lilypond examples to see for something matching, found
> something, applied it and it worked, but I have no idea why (and I'd be
> grateful for an explanation).
> > - then for the second bar, there are two pairs of F, and I'd like the
> same thing as for the first bar, but have not been successful in any
> attempt to do so (admittedly because I didn't understand how I solved my
> problem the first time around).
> > - in the snippet that I provide, I also seem to have a weird treble
> clef, and I don't why. I don't have it in my full score, it happened when I
> trimmed my score to provide the snippet, so it's not a big deal to me, but
> if someone can explain, I'm grateful too.
> >
> > The snippet is on lilybin : http://lilybin.com/7w0cet/2
> >
> > Thanks to anyone who can help!
> > Claire
> >
>
> Hi Claire,
>
> I don't understand what you mean with "colliding" notes.
> Look at the output of below.
> Equal notes in different Voices will be merged per default (first
> case), unless it would lead to difficulties to distinguish durations,
> thus in the second case they don't merge.
> You can override default-behaviour, see the third case.
>
> \new Staff
>   <<
>     \new Voice {
>       \voiceOne
>       b4 s b4 s
>       b4 s2.
>     }
>
>     \new Voice {
>       \voiceTwo
>       b4 s b2
>       \override NoteColumn.force-hshift = #1
>       b4 s2.
>     }
>   >>
>
> That said, what do you want?
> - Always merging? Don't do so, see above
> - Always two NoteHeads? Use the override as shown.
>
> Though, I'd be fine with merging or not merging NoteHeads as of
> LilyPond's default. But that's only me.
>
> #####
>
> To facilitate adjusting NoteColumns for cross-staff stems I once wrote
> pushNC
>
> Use it instead of that adding of invisible Notes
>
> pushNC =
> \once \override NoteColumn.X-offset =
>   #(lambda (grob)
>     (let* ((p-c (ly:grob-parent grob X))
>            (p-c-elts (ly:grob-object p-c 'elements))
>            (stems
>              (if (ly:grob-array? p-c-elts)
>                  (filter
>                    (lambda (elt)(grob::has-interface elt 'stem-interface))
>                    (ly:grob-array->list p-c-elts))
>                  #f))
>            (stems-x-exts
>              (if stems
>                  (map
>                    (lambda (stem)
>                      (ly:grob-extent
>                        stem
>                        (ly:grob-common-refpoint grob stem X)
>                        X))
>                    stems)
>                  '()))
>            (sane-ext
>              (filter interval-sane? stems-x-exts))
>            (cars (map car sane-ext)))
>     (if (pair? cars)
>         (abs (- (apply max cars)  (apply min cars)))
>         0)))
>
> lowerv = \relative c' {
>     \grace s8
>     \stemDown
>     r4
>     \pushNC aes2
>     aes4
>     r4 aes4 aes2
> }
>
> Cheers,
>   Harm
>

Reply via email to