[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