[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: SystemStart changes after stop/startStaff - how to get it back
From: |
Aaron Hill |
Subject: |
Re: SystemStart changes after stop/startStaff - how to get it back |
Date: |
Mon, 13 Apr 2020 21:19:39 -0700 |
User-agent: |
Roundcube Webmail/1.4.2 |
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.
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.
-- Aaron Hill
patch-system-start-delimiter-engraver.ly
Description: Text document
patch-system-start-delimiter-engraver.pdf
Description: Adobe PDF document