PATCHES - Countdown to November 2

2022-10-31 Thread Colin Campbell

Here is the current countdown report.

The next countdown will begin on November 2nd.

A list of all merge requests can be found here:
https://gitlab.com/lilypond/lilypond/-/merge_requests?sort=label_priority


 Push:

!1693 Update Docker images and install XeTeX for the documentation - 
Jonas Hahnfeld

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

!1692 common-macros.itexi: Partially undo commit 1f07b52 - Werner Lemberg
https://gitlab.com/lilypond/lilypond/-/merge_requests/1692

!1690 lilypond-book syntax: fix `lilypond` environment option usage - 
David Kastrup

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


 Countdown:

!1701 Tuplet-related cleanups - Jean Abou Samra
https://gitlab.com/lilypond/lilypond/-/merge_requests/1701

!1700 Ties: reduce dynamic casting - Dan Eble
https://gitlab.com/lilypond/lilypond/-/merge_requests/1700

!1699 doc: Fix copy and paste in PDFs for typewriter `~` and `^` - 
Werner Lemberg

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

!1697 LM: Revise chapters 'Tutorial' and 'Common Notation' - Werner Lemberg
https://gitlab.com/lilypond/lilypond/-/merge_requests/1697

!1696 Misc. insignificant cleanups - Jean Abou Samra
https://gitlab.com/lilypond/lilypond/-/merge_requests/1696

!1695 musicxml2ly performance improvements - Dan Eble
https://gitlab.com/lilypond/lilypond/-/merge_requests/1695

!1694 Some work on LM - Werner Lemberg
https://gitlab.com/lilypond/lilypond/-/merge_requests/1694

!1681 NR: Display colors in color name appendix - Werner Lemberg
https://gitlab.com/lilypond/lilypond/-/merge_requests/1681


 Review:

!1677 max-slope-factor for tuplet brackets - Martín Rincón Botero
https://gitlab.com/lilypond/lilypond/-/merge_requests/1677

!1578 New margins by default - Martín Rincón Botero
https://gitlab.com/lilypond/lilypond/-/merge_requests/1578


 New:

No patches in New at this time.


 Waiting:

No patches in Waiting at this time.


Cheers,

Colin




Re: BarLines behave weirdly when colored

2022-10-31 Thread Jean Abou Samra

Le 31/10/2022 à 17:36, Valentin Petzel a écrit :

Hello you all,

on SE I’ve encountered a weird issue: BarLine stencils in Lilypond do not have
rounded corners, but they are shortened by half a staff line, so the rounded
ends of the staff lines lead to some rounded effect for the last bar line. But
when changing the color of the BarLine it will instead take the whole height.

Thus I want to ask:
1) Does anyone have an idea why this could be happening?
2) Is there some intention in this happening or can this be considered a bug?
3) Is there a reason why this BarLine is shortened in the first place (if we
want rounded corners we could always draw the Bar Lines with rounded corners)?

Here is an example:

[snipped]




Have a look at bar-line.scm.


(define-public (ly:bar-line::calc-bar-extent grob)
  (let ((staff-symbol (ly:grob-object grob 'staff-symbol)))
    (if (ly:grob? staff-symbol)
    (let ((staff-extent (ly:grob-property staff-symbol 
'widened-extent))

  (bar-line-color (ly:grob-property grob 'color))
  (staff-color (ly:grob-property staff-symbol 'color)))
  ;; FIXME: "red" not eq? to #(rgb-color 1 0 0)
  (if (eq? bar-line-color staff-color)
  ;; Due to rounding problems, bar lines extending to the 
outermost edges

  ;; of the staff lines appear wrongly in on-screen display
  ;; (and, to a lesser extent, in print) - they stick out a 
pixel.

  ;; The solution is to extend bar lines only to the middle
  ;; of the staff line - unless they have different colors,
  ;; when it would be undesirable.
  ;;
  ;; This reduction should not influence whether the bar is 
to be

  ;; expanded later, so length is not updated on purpose.
  (let ((half-staff-line-thickness
 (* 1/2 (ly:staff-symbol-line-thickness grob
    (interval-widen staff-extent (- 
half-staff-line-thickness)))

  staff-extent))
    '(0 . 0





BarLines behave weirdly when colored

2022-10-31 Thread Valentin Petzel
Hello you all,

on SE I’ve encountered a weird issue: BarLine stencils in Lilypond do not have 
rounded corners, but they are shortened by half a staff line, so the rounded 
ends of the staff lines lead to some rounded effect for the last bar line. But 
when changing the color of the BarLine it will instead take the whole height.

Thus I want to ask:
1) Does anyone have an idea why this could be happening?
2) Is there some intention in this happening or can this be considered a bug?
3) Is there a reason why this BarLine is shortened in the first place (if we 
want rounded corners we could always draw the Bar Lines with rounded corners)?

Here is an example:

\version "2.23"

\paper {
  indent = 0
  ragged-right = ##t
  system-system-spacing = #'((basic-distance . 6))
}

{
  \omit Staff.Clef
  \omit Staff.TimeSignature
  \override TextScript.Y-offset = #self-alignment-interface::y-aligned-on-self
  \override TextScript.self-alignment-Y = #0
  \textLengthOn
  s16 \bar "|" 
  \stopStaff
  s^"This BarLine is slightly shorter and thus rounded"
  \startStaff\bar ""
  \break
  s \once\override Staff.BarLine.color = #red \bar "|" 
  \stopStaff
  s^"This BarLine is slightly of full length, thus straight"
  \bar ""\break
  
  \omit Score.StaffSymbol
  \startStaff
  s16 \bar "|" 
  s16
  \once\override Staff.BarLine.extra-offset = #'(-5.32 . 0)
  \once\override Staff.BarLine.color = #red \bar "|"
  \once\override TextScript.extra-offset = #'(-5.32 . 0)
  s^"Next to each other this difference in length can be seen quite clearly"
}


Cheers,
Valentin

signature.asc
Description: This is a digitally signed message part.


Re: LilyPond 2.23.80

2022-10-31 Thread Karlin High

On 10/22/2022 3:32 PM, Jonas Hahnfeld via LilyPond user discussion wrote:

test your scores with this version


All seems well after several hours of light use on Windows 10.
--
Karlin High
Missouri, USA



Re: How to check if script belongs to first note

2022-10-31 Thread Martín Rincón Botero
  
  

 Thank you Jean for the information. That works!
  

  
Martín.
  
  

  
  
>   
> On Oct 31, 2022 at 12:00 AM,  mailto:j...@abou-samra.fr)>  
> wrote:
>   
>   
>   
>  Le 30/10/2022 à 20:55, Martín Rincón Botero a écrit :  >  Hi all,  >   >   > 
>  I hope this can be answered with pseudo- C++ code. I've been working on 
> something but I'm stuck with this. Say I have a list of scripts produced by 
> extract_grob_set. They all make part of a spanner. How can I generally check 
> if a certain script is attached to the first note of the spanner? I tried 
> getting the x parent of the script (which I imagine is a note), Depends on 
> what kind of script we are talking about. It could also be a FingeringColumn, 
> for example. \version "2.23.80" { \override Fingering.after-line-breaking = 
> #(lambda (grob) (ly:message "~s" (ly:grob-parent grob X))) \set 
> fingeringOrientations = #'(left left)}  >  getting the column 
> of this x parent (with get_column ()), There is no need to get the X parent 
> for that. Just do script->get_column (), not script->get_x_parent 
> ()->get_column (). get_column () works on any Item (vs. Spanner).  >  and 
> then comparing that column with the first note-column of the spanner without 
> success. Can someone point me in the right direction? My guess from your 
> message is that you did not realize there are two kinds of "columns" 
> involved, paper columns and note columns, which are entirely different 
> things. Note columns are created per-voice, a note column is either a group 
> of notes that should share a stem, or a container for a rest (in LilyPond, 
> rests also have stems, so most note columns have a stem, although those in 
> GregorianTranscriptionVoice don't as you have found out in !1677). Then you 
> have musical paper columns, which are the parents of note columns and more 
> generally of all musical items happening at one given moment, while 
> non-musical paper columns group non-musical items happening at a moment. Cf. 
> https://lilypond.org/doc/v2.23/Documentation/notation/overview-of-object_002dspecific-horizontal-spacing-tweaks.html
>  get_column () finds the *paper* column that an item is a child  of. So if 
> you want to check that a script happens at the same moment as a given note 
> column, you can do script->get_column () == note_column->get_column () But be 
> aware that the script could come from another voice than the one where your 
> NoteColumn was created, so even if that condition is true, it might not 
> belong to your NoteColumn. Depending on the context, maybe that case is not 
> possible, or maybe the condition above is what you actually want, or maybe 
> you want to find something more specific that utilizes your knowledge of what 
> the script is more precisely in order to retain only scripts that actually 
> belong to the note column. -Jean  
>
>