Allow dynamic + span bar line collision

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Allow dynamic + span bar line collision

Jay Anderson
I believe the default behavior in this case used to be for the dynamics to collide with the bar line. These days it is creating a bit more space for the dynamic. That's the right behavior in most cases, but not the one below. How do I allow the collision in this case and let the 'sempre' hang to the left over the bar line? I haven't figured out the right override to let this happen yet. Thanks.

Example:
=====
\version "2.19.63"

sempreFF = #(let ((dynamic (make-dynamic-script #{ \markup { \whiteout { \normal-text \italic sempre \dynamic ff }} #})))
             (ly:music-set-property! dynamic 'tweaks (acons 'X-offset -8.5 (ly:music-property dynamic 'tweaks)))
             (ly:music-set-property! dynamic 'tweaks (acons 'self-alignment-X LEFT (ly:music-property dynamic 'tweaks)))
             dynamic)

% Looks good
\score {
  \new Staff {
    c4 c c c |
    c\sempreFF c c c |
  }
}

% creates empty space
\score {
  \new GrandStaff <<
    \new Staff {
      c4 c c c |
      c\sempreFF c c c |
    }
    \new Staff {
      c4 c c c |
      c\sempreFF c c c |
    }
  >>
}
=====

-----Jay

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Allow dynamic + span bar line collision

Jay Anderson
On Sun, Aug 6, 2017 at 5:51 PM, Jay Anderson <[hidden email]> wrote:
I believe the default behavior in this case used to be for the dynamics to collide with the bar line. These days it is creating a bit more space for the dynamic. That's the right behavior in most cases, but not the one below. How do I allow the collision in this case and let the 'sempre' hang to the left over the bar line? I haven't figured out the right override to let this happen yet. Thanks.

Example:
=====
\version "2.19.63"

sempreFF = #(let ((dynamic (make-dynamic-script #{ \markup { \whiteout { \normal-text \italic sempre \dynamic ff }} #})))
             (ly:music-set-property! dynamic 'tweaks (acons 'X-offset -8.5 (ly:music-property dynamic 'tweaks)))
             (ly:music-set-property! dynamic 'tweaks (acons 'self-alignment-X LEFT (ly:music-property dynamic 'tweaks)))
             dynamic)

% Looks good
\score {
  \new Staff {
    c4 c c c |
    c\sempreFF c c c |
  }
}

% creates empty space
\score {
  \new GrandStaff <<
    \new Staff {
      c4 c c c |
      c\sempreFF c c c |
    }
    \new Staff {
      c4 c c c |
      c\sempreFF c c c |
    }
  >>
}
=====

-----Jay


sempreFF = #(let ((dynamic (make-dynamic-script #{ \markup { \whiteout { \normal-text \italic sempre \dynamic ff }} #})))
             (ly:music-set-property! dynamic 'tweaks (acons 'X-offset -8.5 (ly:music-property dynamic 'tweaks)))
             (ly:music-set-property! dynamic 'tweaks (acons 'self-alignment-X LEFT (ly:music-property dynamic 'tweaks)))
             (ly:music-set-property! dynamic 'tweaks (acons 'extra-spacing-width '(7.5 . 0) (ly:music-property dynamic 'tweaks)))
             dynamic)

extra-spacing-width with a carefully chosen value seems to be one way to make it happen. This is good enough for what I'm doing right now. I'm still interested in a more general solution.

-----Jay

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Loading...