Hi Molly,
in your example .ly file, the tweaking of the PhrasingSlur seems to be
kind-of necessary (and I admit the default phrasing slur looks awful).
As for the collision with lyrics: It seems that \shape'd slurs may
collide with lyrics and the like in a way that non-\shape'd slurs don't.
I've never had to do this before, but to me it seems this is a case for
explicitly controlling the inter-staff distance.
In your case, if I add
\overrideProperty
Score.NonMusicalPaperColumn.line-break-system-details
#'((alignment-distances . (15 12)))
before the \shape command, I get something that looks reasonable; the 15
and 12 control, respectively, the first/second inter-staff distance.
By the way, you could think about creating shorthands for \change Staff
= "upper" and the like:
down =
#(define-music-function (mus) (ly:music?)
#{
\change Staff = "lower"
#mus
\change Staff = "upper"
#})
Also, \new Voice without braces {} afterwards doesn't make much sense -
this puts only the first note in a new voice. But it's not necessary to
explicitly start a new voice here, anyway.
I've made some other changes to your source (note the placement of <<
_after_ \new PianoStaff!). Look how short it got! :-)
Lukas
\version "2.20"
down =
#(define-music-function (mus) (ly:music?)
#{
\change Staff = "lower"
#mus
\change Staff = "upper"
#})
<<
\new Staff {
dis'2. cis'4 ~
cis'4 e'4 dis'2
}
\addlyrics {
leop -- ard crys -- tal
}
\new PianoStaff <<
\new Staff = "upper"
{
\overrideProperty
Score.NonMusicalPaperColumn.line-break-system-details
#'((alignment-distances . (15 12)))
\shape #'((0 . 0.5) (0 . 0.5) (0 . 0.5) (0 . 5)) PhrasingSlur
d'8\( \down d d''' \down d d'' \down d d'' \down d \break
d'' \down d d''' \down d d'' \down d d'' \down d <d' d''>2\) r2
}
\new Staff = "lower" {
\clef bass
s1*3
}
>>
>>