PATCHES - Countdown to November 2
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
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
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
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
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 > >