lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bug: restarting staff destroys DynamicLineSpanner.staff-padding afte


From: Trevor Bača
Subject: Re: Bug: restarting staff destroys DynamicLineSpanner.staff-padding after line break
Date: Mon, 11 Mar 2019 16:46:44 -0500



On Thu, Mar 7, 2019 at 2:14 AM David Kastrup <address@hidden> wrote:
Trevor Bača <address@hidden> writes:

> Restarting the staff during the lifespan of a multisystem
> DynamicLineSpanner destroys the value of DynamicLineSpanner properties
> (like staff-padding) that were set when the DynamicLineSpanner was
> created.

It doesn't.  It's just that the DynamicLineSpanner has a relation with
the Staff it was started in.

> In the MWE below, the hairpin should exhibit staff-padding equal to 10
> staff spaces below all four systems; but the value of staff-padding is lost
> at the point (in system 2) that the staff is restarted; we see evidence of
> this after the next line break (in systems 3 and 4) where no staff padding
> appears.
>
> %%% BEGIN %%%
>
> \version "2.19.82"
>
> \new Staff
> {
>
>     \override DynamicLineSpanner.staff-padding = 10
>     c'1
>     \p
>     \<
>     c'1
>     c'1
>     \break
>
>     c'1
>     \stopStaff
>     \startStaff
>     c'1
>     c'1
>     \break
>
>     c'1
>     c'1
>     c'1
>     \break
>
>     c'1
>     c'1
>     c'1
>     \f
>
> }
>
> \paper
> {
>     indent = 0
>     ragged-right = ##t
>     system-system-spacing.minimum-distance = 30
> }
>
> %%% END %%%
>
> [image: restart-staff-dynamic-line-spanner-bug.png]

If you start a new DynamicLineSpanner like

    c'1\!
    \stopStaff
    \startStaff
    c'1\<

it will be properly spaced.  It's probably not the only spanner
unprepared to span pieces of interrupted staff symbols.

Isn't this still a bug? Or, rather a gap in system functionality for which no workaround exists?

Starting a new DynamicLineSpanner creates two separate hairpins:

%%% BEGIN %%%

\version "2.19.82"

\new Staff
{

    \override DynamicLineSpanner.staff-padding = 10
    c'1
    \p
    \<
    c'1
    c'1
    \break

    c'1
    \!
    \stopStaff
    \startStaff
    c'1
    \<
    c'1
    \break

    c'1
    c'1
    c'1
    \break

    c'1
    c'1
    c'1
    \f

}

\paper
{
    indent = 0
    ragged-right = ##t
    system-system-spacing.minimum-distance = 30
}

%%% END %%%

two-hairpins-instead-of-one.png

... when what's needed is one single hairpin that governs the music of all four systems.

Or am I missing something, and there is a way to generate a single multisystem hairpin that governs all four systems?


Trevor.

--

reply via email to

[Prev in Thread] Current Thread [Next in Thread]