David Nalesnik <address@hidden> writes:
> On Wed, Feb 13, 2019 at 7:49 AM Trevor Bača <address@hidden> wrote:
>>
>> Could somebody else possibly provide James a patch of David N.'s
>> alternateTextSpannerEngraver?
>>
>> Trevor.
>
> The issue which would come up is that it is written in Scheme, rather
> than C++. This has implications for documentation.
It does? What kind of documentation cannot be achieved in Scheme that
would be possible in C++?
Here is some page from the Internals reference:
File: lilypond-internals.info, Node: Merge_rests_engraver, Next: Metronome_mark_engraver, Prev: Mensural_ligature_engraver, Up: Engravers and Performers
2.2.71 Merge_rests_engraver
---------------------------
Engraver to merge rests in multiple voices on the same staff. This
works by gathering all rests at a time step. If they are all of the
same length and there are at least two they are moved to the correct
location as if there were one voice.
Properties (read)
‘suspendRestMerging’ (boolean)
When using the Merge_rest_engraver do not merge rests when
this is set to true.
‘Merge_rests_engraver’ is not part of any context.
This is an engraver written in Scheme.
--
David Kastrup
Thank you both (David and David) so much for engaging on this last step! Truly wonderful; and if I can just chime in one last time while you are thinking through the problem: I *think* (not 100% certain, but close to it) that the ideal final implementation path would be not just to add alternateTextSpannerEngraver as, say, Alternate_text_spanner_engraver, but rather to *replace* the existing Text_spanner_engraver with (the implementation of) alternateTextSpannerEngraver. I think this was clear in my previous mail, but I just wanted to insert one last time here as the question of Scheme-vs-C++ final resting spot gets considered.
Trevor.