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 >
