Hello Harm,
If you use two voices as Jeffery suggested and adjust the Stem.beaming
parameters it seems that the following is not needed.
Am I correct or is there something I’m missing?
> On Mar 25, 2017, at 6:38 AM, Thomas Morley <[email protected]> wrote:
>
> %% This one is really ugly, because the values are hardcoded
> %% Every slight change in layout will cause a new round of try-and-error :(
> %% Currently I see no convincing method to automate it.
> \once \override Beam.after-line-breaking =
> #(lambda (grob)
> ;; the (commented) line below prints the list to terminal
> ;; c/p this list and change the values until they fit your needs
> ;(pretty-print (ly:grob-property grob 'beam-segments))
> (ly:grob-set-property! grob 'beam-segments
> '(((vertical-count . 0)
> (horizontal 55.65 . 85.5911087716535))
> ((vertical-count . 1)
> (horizontal 55.65 . 74.7368967716535))
> ((vertical-count . 1)
> (horizontal 76.9068967716535 . 78.8368967716535))
> ((vertical-count . 1)
> (horizontal 80.5068967716535 . 85.5911087716535))
> ((vertical-count . 2)
> (horizontal 55.65 . 58.3142607716535))
> ((vertical-count . 2)
> (horizontal 61.1842607716535 . 62.34926077165349))
> ((vertical-count . 2)
> (horizontal 73.5718967716535 . 74.7368967716535))
> ((vertical-count . 2)
> (horizontal 76.9068967716535 . 78.8368967716535))
> ((vertical-count . 2)
> (horizontal 80.5068967716535 . 82.4368967716535))))
> )
best,
jc
%%example
\version "2.19.57"
stemBeams =
#(define-music-function (parser location l1 l2)(list? list?)
#{
\once \override Stem.beaming = #(cons l1 l2)
#})
\layout {
\override NoteHead.stem-attachment = #'(0 . 0)
\context {
\Score
proportionalNotationDuration = #(ly:make-moment 1/64)
\override SpacingSpanner.uniform-stretching = ##t
}
}
\new PianoStaff <<
\new Staff = "up"
\with { \override VerticalAxisGroup.staff-staff-spacing.padding = 4 }
<<
{
\cadenzaOn
\stemUp
\once \override Beam.positions = #'(8 . 8)
b''!16[
\stemBeams #'(0) #'(0 1)
\times 4/5 { dis'' cis' dis'' b'! \stemBeams #'(0 1) #'(0) f''! }
\stemBeams #'(0) #'(0 1)
\times 4/5 { d' f''! bes' f''! \stemBeams #'(0 1) #'(0) gis' }
\stemBeams #'(0) #'(0 1)
b'!
\stemBeams #'(0 1) #'(0)
g''!
\change Staff = "down"
dis''!16]
}
\\
{
s2
s8.
\once \override Beam.positions = #'(-5 . -5)
\once \override Score.NoteColumn. X-offset = -1.2
\stemBeams #'(0 1 2) #'(0 1)
\stemDown
\once \hide Rest
\stemBeams #'() #'(0 1 2)
r32[
\stemBeams #'(0 1 2) #'(0 1)
fis'''!32
\change Staff = "down"
\stemUp
\stemBeams #'(-1 0) #'(-2 -1 0 )
gis''!32
\change Staff = "up"
\stemDown
\stemBeams #'(-2 -1 ) #'(-2 -1 )
a'''!16 cis'''! cis'''!
\stemBeams #'(0 1 2) #'(0)
a'''!32
\change Staff = "down"
\stemUp
\stemBeams #'(0) #'(-2 -1 0)
dis'''!32
\change Staff = "up"
\stemDown
\stemBeams #'(-1 0 1) #'(-1)
g'''!
\change Staff = "down"
\stemUp
\stemBeams #'(0) #'(-2 -1 0)
cis''' !
\change Staff = "up"
\stemDown
bes'''! fis'''!16]
}
>>
\new Staff = "down" {
s2 s8 s8
\times 4/5 { gis''16[ dis''! gis''! ais'' b''!] }
\once \override Stem.length = #18
dis'''!
s8
}
>>_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user