Re: LilyPond | Various doc issues (!1095)

2022-01-06 Thread Jean Abou Samra

Le 06/01/2022 à 10:07, Thomas Morley a écrit :

Below sounds nice:


"""
This interface is used in in the following graphical objects: Foo, Bar, Baz

In addition, this interface is conditionally supported by the following 
objects: Footnote, BalloonText, etc.
"""



Please review

https://gitlab.com/lilypond/lilypond/-/merge_requests/1114

Cheers,
Jean




Re: LilyPond | Various doc issues (!1095)

2022-01-06 Thread Thomas Morley
Am Mi., 5. Jan. 2022 um 16:45 Uhr schrieb Jean Abou Samra :
>
>
> > Le 05/01/2022 14:04, Thomas Morley  a écrit :
> >
> >
> > Am Mi., 5. Jan. 2022 um 13:28 Uhr schrieb Jean Abou Samra 
> > :
> > >
> > > [Replying via the mailing list because it's unrelated to Werner's MR]
> > > Le 05/01/2022 12:59, Thomas Morley (@Thomas_Morley)
> > >  a écrit :
> > > [1]Thomas Morley commented on a discussion on
> > > [2]Documentation/en/notation/notation-appendices.itely:
> > > Unrelated to this patch
> > > Though, [3]@jeanas
> > > They do. You might be confused by the change of presentation
> > > Indeed, I was wrong. Alas, in IR the former behaviour added to every
> > > interface:
> > > This grob interface is used in the following graphical object(s):
> > > list-of-grobs
> > > Now
> > > This grob interface is added dynamically to grobs of class
> > > Spanner/Item.
> > > is printed.
> > > I miss this list-of-grobs in the docs now.
> > > Any chance to get this back in the IR for item/spanner-interface or
> > > have this list somewhere in IR linked from thoe interfaces?
> > > That is feasible if we define what it means to be "used": basically
> > > should Footnote be included in this list or not since it will sometimes
> > > have it and sometimes not? Should grobs having the interface
> > > conditionally be in a separate list? The info on _allowable_ classes
> > > (and thus interfaces) is all in define-grobs.scm, it's just a matter of
> > > defining how it should be presented.
> > > Cheers,
> > > Jean
> > > References
> > > 1. https://gitlab.com/Thomas_Morley
> > > 2. 
> > > https://gitlab.com/lilypond/lilypond/-/merge_requests/1095#note_801886836
> > > 3. https://gitlab.com/jeanas
> > IIuc, only 5 grobs may be item _or_ spanner:
> > BalloonText
> > ControlPoint
> > ControlPolygon
> > Footnote
> > Parentheses
> > All others are definitely Items or Spanners.
> >
> > If so, then I'd suggest to have three lists to link to in IR: Items,
> > Spanners, Items-or-Spanners
>
>
> In what section of the IR would be the list of
> items-or-spanners though? Currently they all
> have the sticky-grob-interface, but it's an open
> bet whether they will continue to be characterized
> by an interface in the future because other use
> cases can be found (e.g. perhaps we would want to unify
> PercentRepeat and DoublePercentRepeat?). Maybe rather
> list them in spanner-interface and item-interface?
>

Below sounds nice:

> """
> This interface is used in in the following graphical objects: Foo, Bar, Baz
>
> In addition, this interface is conditionally supported by the following 
> objects: Footnote, BalloonText, etc.
> """

Cheers,
  Harm



Re: LilyPond | Various doc issues (!1095)

2022-01-05 Thread Jean Abou Samra


> Le 05/01/2022 14:04, Thomas Morley  a écrit :
> 
> 
> Am Mi., 5. Jan. 2022 um 13:28 Uhr schrieb Jean Abou Samra 
> :
> >
> > [Replying via the mailing list because it's unrelated to Werner's MR]
> > Le 05/01/2022 12:59, Thomas Morley (@Thomas_Morley)
> >  a écrit :
> > [1]Thomas Morley commented on a discussion on
> > [2]Documentation/en/notation/notation-appendices.itely:
> > Unrelated to this patch
> > Though, [3]@jeanas
> > They do. You might be confused by the change of presentation
> > Indeed, I was wrong. Alas, in IR the former behaviour added to every
> > interface:
> > This grob interface is used in the following graphical object(s):
> > list-of-grobs
> > Now
> > This grob interface is added dynamically to grobs of class
> > Spanner/Item.
> > is printed.
> > I miss this list-of-grobs in the docs now.
> > Any chance to get this back in the IR for item/spanner-interface or
> > have this list somewhere in IR linked from thoe interfaces?
> > That is feasible if we define what it means to be "used": basically
> > should Footnote be included in this list or not since it will sometimes
> > have it and sometimes not? Should grobs having the interface
> > conditionally be in a separate list? The info on _allowable_ classes
> > (and thus interfaces) is all in define-grobs.scm, it's just a matter of
> > defining how it should be presented.
> > Cheers,
> > Jean
> > References
> > 1. https://gitlab.com/Thomas_Morley
> > 2. https://gitlab.com/lilypond/lilypond/-/merge_requests/1095#note_801886836
> > 3. https://gitlab.com/jeanas
> IIuc, only 5 grobs may be item _or_ spanner:
> BalloonText
> ControlPoint
> ControlPolygon
> Footnote
> Parentheses
> All others are definitely Items or Spanners.
> 
> If so, then I'd suggest to have three lists to link to in IR: Items,
> Spanners, Items-or-Spanners


In what section of the IR would be the list of
items-or-spanners though? Currently they all
have the sticky-grob-interface, but it's an open
bet whether they will continue to be characterized
by an interface in the future because other use
cases can be found (e.g. perhaps we would want to unify
PercentRepeat and DoublePercentRepeat?). Maybe rather
list them in spanner-interface and item-interface?

"""
This interface is used in in the following graphical objects: Foo, Bar, Baz

In addition, this interface is conditionally supported by the following 
objects: Footnote, BalloonText, etc.
"""



Re: LilyPond | Various doc issues (!1095)

2022-01-05 Thread Thomas Morley
Am Mi., 5. Jan. 2022 um 13:28 Uhr schrieb Jean Abou Samra :
>
>[Replying via the mailing list because it's unrelated to Werner's MR]
>
>Le 05/01/2022 12:59, Thomas Morley (@Thomas_Morley)
> a écrit :
>
>[1]Thomas Morley commented on a discussion on
>[2]Documentation/en/notation/notation-appendices.itely:
>
>Unrelated to this patch
>Though, [3]@jeanas
>
>  They do. You might be confused by the change of presentation
>
>Indeed, I was wrong. Alas, in IR the former behaviour added to every
>interface:
>
>  This grob interface is used in the following graphical object(s):
>  list-of-grobs
>
>Now
>
>  This grob interface is added dynamically to grobs of class
>  Spanner/Item.
>
>is printed.
>I miss this list-of-grobs in the docs now.
>Any chance to get this back in the IR for item/spanner-interface or
>have this list somewhere in IR linked from thoe interfaces?
>
>That is feasible if we define what it means to be "used": basically
>should Footnote be included in this list or not since it will sometimes
>have it and sometimes not? Should grobs having the interface
>conditionally be in a separate list? The info on _allowable_ classes
>(and thus interfaces) is all in define-grobs.scm, it's just a matter of
>defining how it should be presented.
>
>Cheers,
>
>Jean
>
> References
>
>1. https://gitlab.com/Thomas_Morley
>2. 
> https://gitlab.com/lilypond/lilypond/-/merge_requests/1095#note_801886836
>3. https://gitlab.com/jeanas

IIuc, only 5 grobs may be item _or_ spanner:
  BalloonText
  ControlPoint
  ControlPolygon
  Footnote
  Parentheses
All others are definitely Items or Spanners.

If so, then I'd suggest to have three lists to link to in IR: Items,
Spanners, Items-or-Spanners

Cheers,
  Harm



Re: LilyPond | Various doc issues (!1095)

2022-01-05 Thread Jean Abou Samra
   Le 05/01/2022 11:30, Han-Wen Nienhuys <[1]hanw...@gmail.com> a écrit :

   On Tue, Jan 4, 2022 at 7:55 PM Jean Abou Samra (@jeanas)

   <[2]git...@mg.gitlab.com> wrote:

   >

   Jean Abou Samra commented on a discussion on
   Documentation/en/notation/notation-appendices.itely:

   >[about InstrumentName spanners]

   >

   3289

   +@strong{Spanners} are a class of grobs that span up something in

   3290

   +the horizontal direction; in most cases they contain the word

   On a personal note, I find the use of spanners misleading for these and
   would very much like to see them converted to breakable items like bar
   numbers, etc. That would be the main part

   Converting them to breakable items adds 3 grobs per break-point, so it

   has a certain cost. Since these items don't participate much in the

   formatting process, there is little benefit to compensate for the

   cost.

   Yes, I know this is what prompted to convert these to spanners in the
   first place. Of course, changing them back would require benchmarking.

   If the overhead is noticeable, I suspect it could be at least
   alleviated by adding is_live () checks in a bunch of places doing
   expensive processing; that might be some work but it might also benefit
   performance independently from instrument names and system start
   delimiters. But I say this without being good at profiling or improving
   performance in general.

References

   1. mailto:hanw...@gmail.com
   2. mailto:git...@mg.gitlab.com


Re: LilyPond | Various doc issues (!1095)

2022-01-05 Thread Jean Abou Samra
   [Replying via the mailing list because it's unrelated to Werner's MR]

   Le 05/01/2022 12:59, Thomas Morley (@Thomas_Morley)
a écrit :

   [1]Thomas Morley commented on a discussion on
   [2]Documentation/en/notation/notation-appendices.itely:

   Unrelated to this patch
   Though, [3]@jeanas

 They do. You might be confused by the change of presentation

   Indeed, I was wrong. Alas, in IR the former behaviour added to every
   interface:

 This grob interface is used in the following graphical object(s):
 list-of-grobs

   Now

 This grob interface is added dynamically to grobs of class
 Spanner/Item.

   is printed.
   I miss this list-of-grobs in the docs now.
   Any chance to get this back in the IR for item/spanner-interface or
   have this list somewhere in IR linked from thoe interfaces?

   That is feasible if we define what it means to be "used": basically
   should Footnote be included in this list or not since it will sometimes
   have it and sometimes not? Should grobs having the interface
   conditionally be in a separate list? The info on _allowable_ classes
   (and thus interfaces) is all in define-grobs.scm, it's just a matter of
   defining how it should be presented.

   Cheers,

   Jean

References

   1. https://gitlab.com/Thomas_Morley
   2. https://gitlab.com/lilypond/lilypond/-/merge_requests/1095#note_801886836
   3. https://gitlab.com/jeanas


Re: LilyPond | Various doc issues (!1095)

2022-01-05 Thread Han-Wen Nienhuys
On Tue, Jan 4, 2022 at 7:55 PM Jean Abou Samra (@jeanas)
 wrote:
>
> Jean Abou Samra commented on a discussion on 
> Documentation/en/notation/notation-appendices.itely:

>[about InstrumentName spanners]
>
> 3289
>
> +@strong{Spanners} are a class of grobs that span up something in
>
> 3290
>
> +the horizontal direction; in most cases they contain the word
>
> On a personal note, I find the use of spanners misleading for these and would 
> very much like to see them converted to breakable items like bar numbers, 
> etc. That would be the main part

Converting them to breakable items adds 3 grobs per break-point, so it
has a certain cost. Since these items don't participate much in the
formatting process, there is little benefit to compensate for the
cost.

-- 
Han-Wen Nienhuys - hanw...@gmail.com - http://www.xs4all.nl/~hanwen