bug-lilypond
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

36 doc edits (NR1 & NR2)


From: Trevor Bača
Subject: 36 doc edits (NR1 & NR2)
Date: Mon, 16 Dec 2024 15:28:16 -0500

Hi,

The document attached here suggests edits to 36 examples in NR1 and NR2.

A few months ago, I took some time to compile the code for each example in
the Notation Reference. I commented out each formatting command in every
example, command by command. Doing this revealed 36 examples that could
benefit from changes, frequently because LilyPond's defaults have gotten
much smarter over the years, which has sometimes led to drift in the code
for the examples. (Years ago it was necessary to \override
Glissando.breakable = ##t when using \break. This is no longer necessary.
But the docs still have the ancient override.) In other cases, a few
legitimate errors popped up.

Summary:

Edit 1: NR 1.2.1: Tuplets: example 11: "Permitting line breaks within
beamed tuplets"
  * The code contains \remove Forbid_line_break_engraver,
    which appears to do nothing
  * The code contains \override Beam.breakable = ##t,
    which appears to do nothing
  * The code contains \bar "",
    which appears to do nothing

Edit 2: NR 1.2.1: Ties: notation examples 1 and 2
  * Notation examples 1 and 2 duplicate each other exactly;
    this makes it look like something new / different is being
    shown between the two examples, but nothing is

Edit 3: NR 1.2.3: Time signatures: notation example 9
  * The code generates two programming errors:
    programming error: No spacing entry from TimeSignature to `custos'
    programming error: No spacing entry from TimeSignature to `custos'

Edit 4: NR 1.2.3: Metronome marks: notation example 9
  * The code claims to describe the effect of \markLengthOn,
    but \markLengthOn appears to do nothing

Edit 5: NR 1.2.4: Automatic beaming: notation example 3: "Beams across line
breaks"
  * The code claims that \override Beam.breakable = ##t is necessary
    to break beams across line breaks
  * But commenting out \override Beam.breakable = ##t produces the same
output,
    contradicting what the example claims to show

Edit 6: NR 1.2.5: Rehearsal marks: notation example 5: "Printing marks on
every staff"
  * The code swaps Staff_collecting_engraver between contexts,
    which appears to do nothing

Edit 7: NR 1.3.2: Slurs: notation example 2
  * The code renders correctly at LilyPond's default 20 pt staff size;
    but the code renders incorrectly at staff sizes less than 20 pt

Edit 8: NR 1.3.3: Glissando: notation example 6: "Making glissandi
breakable"
  * The code contains \paper { tagline = ##f },
    which appears to do nothing
  * The code contains \override Glissando.breakable = ##t,
    which appears to do nothing

Edit 9: NR 1.3.3: Arpeggio: notation example 5
  * The code contains \consists Span_arpeggio_engraver,
    which appears to do nothing

Edit 10: NR 1.4.1: Other variations in repeated sections: notation example
2.
  * The code contains two s1 * 0,
    which seems to be much less common in the modern
    docs than the <> empty-chord construct

Edit 11: NR 1.4.1: Segno repeat appearance: notation example 7.
  * The code uses deprecated voltaSpannerDuration context property

Edit 12: NR 1.4.1: Segno repeat appearance: notation example 8: "Adding
volta brackets to additional staves"
  * The code purports to show volta brackets above non-topmost staves,
    but the example doesn't do this: only one volta bracket appears

Edit 13: NR 1.4.1: Percent repeats: notation example 9
  * The code generates two programming errors:
    programming error: No spacing entry from DoublePercentRepeat to
`right-edge'
    programming error: No spacing entry from DoublePercentRepeat to
`right-edge'

Edit 14: NR 1.4.1: Percent repeats: notation example 10
  * The code generates four programming errors:
    programming error: No spacing entry from DoublePercentRepeat to
`right-edge'
    programming error: No spacing entry from DoublePercentRepeat to
`right-edge'
    programming error: No spacing entry from DoublePercentRepeat to
`right-edge'
    programming error: No spacing entry from DoublePercentRepeat to
`right-edge'

Edit 15: NR 1.5.2: Automatic part comining: notation example 4: "Combining
two parts on the same staff"
  * The code generates two warnings:
    warning: unterminated slur
    warning: unterminated slur

Edit 16: NR 1.8.2: Text alignment: notation example 3
  * The code generates 12 warnings:
    warning: Found infinity or nan in output.  Substituting 0.0
    warning: Found infinity or nan in output.  Substituting 0.0
    warning: Found infinity or nan in output.  Substituting 0.0
    warning: Found infinity or nan in output.  Substituting 0.0
    warning: Found infinity or nan in output.  Substituting 0.0
    warning: Found infinity or nan in output.  Substituting 0.0
    warning: Found infinity or nan in output.  Substituting 0.0
    warning: Found infinity or nan in output.  Substituting 0.0
    warning: Found infinity or nan in output.  Substituting 0.0
    warning: Found infinity or nan in output.  Substituting 0.0
    warning: Found infinity or nan in output.  Substituting 0.0
    warning: Found infinity or nan in output.  Substituting 0.0

Edit 17: NR 1.8.2: Text alignment: notation example 6
  * The code generates 12 warnings:
    warning: Found infinity or nan in output.  Substituting 0.0
    warning: Found infinity or nan in output.  Substituting 0.0
    warning: Found infinity or nan in output.  Substituting 0.0
    warning: Found infinity or nan in output.  Substituting 0.0
    warning: Found infinity or nan in output.  Substituting 0.0
    warning: Found infinity or nan in output.  Substituting 0.0
    warning: Found infinity or nan in output.  Substituting 0.0
    warning: Found infinity or nan in output.  Substituting 0.0
    warning: Found infinity or nan in output.  Substituting 0.0
    warning: Found infinity or nan in output.  Substituting 0.0
    warning: Found infinity or nan in output.  Substituting 0.0
    warning: Found infinity or nan in output.  Substituting 0.0

Edit 18: NR 2.1.2: Lyrics and repeats: notation example 6
  * The code contains conflicting \repeat volta counts;
    The top staff contains \repeat volta 3;
    The bottom staff contains \repeat volta 2

Edit 19: NR 2.1.2: Divisi lyrics: notation example 2
  * The code contains \slurDown,
    which appears to do nothing
  * The code spaces { We will _ } in a weird way

Edit 20: NR 2.1.7: Setting a chant: notation example 4
  * The code custom-defines divisioMinima,
    which appears to do nothing
  * The code custom-defines divisioMaior,
    which appears to do nothing
  * The code custom-defines divisioMaxima,
    which appears to do nothing
  * The code custom-defines finalis,
    which appears to do nothing
  * These are all now defined in ancient-init.ly,
    which is loaded automatically

Edit 21: NR 2.1.7: Setting a chant: notation example 8: "Ancient notation
template - modern transcription of gregorian [sic] music"
  * Docs spell "gregorian" with lowercase letter,
    which is incorrect (in English)
  * Code contains \set Score.timing = ##f,
    which appears to do nothing

Edit 22: NR 2.1.7: Pointing a psalm: notations example 1, 2 and 3
  * All three examples contain \left-align,
    which appears to do nothing

Edit 23: NR 2.1.7: Phrase bar lines in hymn tunes: notation example 1
  * Example contains \include "old-hundredth-example.ly",
    which can not be found under 2.25.19

Edit 24: NR 2.4.1: Default tablatures: notation example 11
  * Example contains \consists Bend_spanner_engraver,
    which appears to do nothing
  * The markup labels ...
      'hold
      'pre-bend
      'pre-bend-hold
    ... do not match the commands they annotate

Edit 25: NR 2.4.1: Automatic fret diagrams: notation example 1
  * The staff notation for chord 2
    does not correctly illustrate the fretboard diagram for chord 2

Edit 26: NR 2.4.2: Indicating harmonics and dampened notes: notation
example 3
  * The code contains the following warning in a comment ...
      % Warning: explicit Voice instantiation is
      %    required to have palmMuteOff work properly
      %    when palmMuteOn comes at the beginning of
      %    the piece.
    ... but this appears to be untrue

Edit 27: NR 2.6.1: Fingerings: notation example 1: ``Fingering symbols for
wind instruments''
  * The code contains an overly complicated lambda to set
TextScript.X-offset

Edit 28: NR 2.9.2: Custodes: notation example 1
  * The code appears correct
  * The problem is that the image on the LilyPond website ...

https://lilypond.org/doc/v2.24/Documentation/notation/ancient-notation-_002d-common-features#custodes
    ... appears to truncate the tail of the custos,
    making the type of custos appear incorrect

Edit 29: NR 2.9.3: White mensural ligatures: notation example 1
  * The code contains \set Score.measureBarType = #'(),
    which appears to do nothing

Edit 30: NR 2.9.5: Kievan contexts: notation example 1
  * The code contains \cadenzaOn,
    which appears to do nothing

Edit 31: NR 2.9.5: Kievan notes: notation example 1
  * The code contains \autoBeamOff,
    which appears to do nothing

Edit 32: NR 2.9.5: Kievan melismata: notation example 1
  * The code contains \cadenzaOn,
    which appears to do nothing

Edit 33: NR 2.9.6: Transcribing Gregorian chant: notation example 1
  * The code generates three warnings:
      warning: the property 'self-alignment-X' must be of type 'number',
        ignoring invalid value '"-"'
      warning: the property 'self-alignment-X' must be of type 'number',
        ignoring invalid value '"-"'
      warning: unterminated hyphen;
        removing "concedat nobis Dominus" om -- ni -- po -- tens.

Edit 34: NR 2.9.6: Transcribing Gregorian chant: notation example 2
  * The code contains \set Score.timing = ##f,
    which appears to do nothing

Edit 35: NR 2.9.6: Transcribing Gregorian chant: notation example 3
  * The code contains \hide Beam,
    which appears to do nothing

Edit 36: NR 2.9.6: Ancient and modern from one source: notation example 1
  * The code contains \header { tagline = ##f },
    which appears to do nothing
  * The code contains \set Score.timing = ##f,
    which appears to do nothing
  * The code contains \autoBeamOff,
    which appears to do nothing

The file attached here explains each example and, where possible, suggests
changes.

Trevor.

-- 
Trevor Bača
www.trevorbaca.com
soundcloud.com/trevorbaca

Attachment: NR1-NR2-doc-edits.ly
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]