Allow dynamic + span bar line collision

2017-08-06 Thread 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
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Allow dynamic + span bar line collision

2017-08-06 Thread Jay Anderson
On Sun, Aug 6, 2017 at 5:51 PM, Jay Anderson  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
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user