[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: SystemStart changes after stop/startStaff - how to get it back
From: |
Thomas Morley |
Subject: |
Re: SystemStart changes after stop/startStaff - how to get it back |
Date: |
Sun, 19 Apr 2020 18:32:05 +0200 |
Hi Aaron,
Am Di., 14. Apr. 2020 um 06:20 Uhr schrieb Aaron Hill
<address@hidden>:
>
> I think I have addressed the original issue in this patched version of
> the System_start_delimiter_engraver. This is implemented in Scheme, but
> the changes should be easily ported back to C++.
>
> The strategy is to acknowledge the end of StaffSymbols to be able to
> remove their corresponding entries in the internal structure.
> Additionally, the context in which the StaffSymbol correlates is
> recorded so a future StaffSymbol of the same context takes the same
> place. This should keep things stable if staves stop and start at odd
> places.
many thanks for your work!
For now I tested your engraver with my workaround in
mid-staff-gap-04.ly (see my previous post in this thread).
All works fine.
Though as nice as my current workaround looks like, it's still that: a
workaround.
I'll have a closer look at your engraver. Now that the functionality
is available in scheme I may find a proper fix (or not ...)
First step as always: I need to understand the given code ...
>
> One thing I noticed was the C++ engraver acknowledges
> SystemStartDelimiters (of which it is the one creating them) and calls
> the Bracket_nesting_group::add_support function. However, in my porting
> of the engraver to Scheme, I could not get this acknowledger to trigger.
> Does LilyPond have code coverage tests that could confirm whether that
> logic is necessary? In any event, I omitted it from my Scheme engraver.
Can't help here, sorry.
Best,
Harm