bug-lilypond
[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 %%%

[image: 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.

-- 
Trevor Bača
www.trevorbaca.com
soundcloud.com/trevorbaca

PNG image


reply via email to

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