Re: Can alternateTextSpannerEngraver now completely replace Text_spanner_engraver in a public release?

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: Can alternateTextSpannerEngraver now completely replace Text_spanner_engraver in a public release?

David Nalesnik
On Wed, Feb 13, 2019 at 7:49 AM Trevor Bača <[hidden email]> wrote:

>
> On Wed, Feb 13, 2019 at 4:58 AM James Lowe <[hidden email]> wrote:
>
> > Hello Trevor,
> >
> > On Tue, 12 Feb 2019 16:45:35 -0600, Trevor Bača <[hidden email]>
> > wrote:
> >
> >
> > >
> > > Question: is it now possible to replace Text_spanner_engraver with David
> > > N.'s extended implementation, in a coming public release of LilyPond?
> > >
> > >
> > > Trevor.
> > >
> >
> >
> > If you have a patch based on current master I can at least test that for
> > you.]
> >
> > James
> >
>
> Hi James,
>
> I have no patch.
>
> 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.  I could work this
into the existing C++ code and present a patch, if that's best.

DN

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Can alternateTextSpannerEngraver now completely replace Text_spanner_engraver in a public release?

Trevor Bača-2


On Wed, Feb 13, 2019 at 8:35 AM David Kastrup <[hidden email]> wrote:
David Nalesnik <[hidden email]> writes:

> On Wed, Feb 13, 2019 at 7:49 AM Trevor Bača <[hidden email]> 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. 


--

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Can alternateTextSpannerEngraver now completely replace Text_spanner_engraver in a public release?

David Nalesnik
In reply to this post by David Nalesnik
David,

On Wed, Feb 13, 2019 at 8:35 AM David Kastrup <[hidden email]> wrote:

>
> David Nalesnik <[hidden email]> writes:
>
> > On Wed, Feb 13, 2019 at 7:49 AM Trevor Bača <[hidden email]> 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.

Ah, OK, thanks for the update.  I must be thinking of a past state of affairs.

David N

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user