Hey all,
today I experimented with hairpins inside slurs and encountered a strange phenomenon:
\version "2.19.11"
exOne = {
\override Slur.height-limit = 20
\override DynamicLineSpanner #'outside-staff-priority = ##f
c'32 ( g'32 ^\< c''32 g''32\! a''32 ^\> g''32 e''32\! g'32 )
}
exTwo = {
\override Slur.height-limit = 20
\override DynamicLineSpanner #'outside-staff-priority = ##f
e32 ( g32_\< b32 c'32\! d'32_\> c'32 g32\! e32 )
}
{
\exOne
}
{
\exTwo
}
<hairpins-inside-slurs.png>
The second example works as expected. I’m running out of ideas why the hairpins can’t be moved inside the slur in the first example. Am I missing something?
Thanks for your help!
patrick
The slur is ignoring the hairpin and vice versa, so the lack of an intersection in the second example is serendipitous and not the result of any collision avoidance mechanism.
Currently, in addition to note-heads and stems, slurs avoid what are called “extra-objects”. These objects are hard-coded into the Slur engraver and are things like tuplet numbers, scripts, and fingerings. Hairpins and DynamicLineSpanners are currently not in this category.
So unfortunately it is currently not possible in the way you’re aiming for.
But, there is one possibility worth studying:
exOne = {
\override Slur.height-limit = 20
\override DynamicLineSpanner #'outside-staff-priority = #20
\override Slur #'outside-staff-priority = #21
c'32 ( g'32 ^\< c''32 g''32\! a''32 ^\> g''32 e''32\! g'32 )
}
{
\exOne
}
If you go with this, I'd recommend thinning out the girth of the hairpin, as a slur that high is a bit of an eyesore IMO.