bug-lilypond
[Top][All Lists]
Advanced

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

Re: Disappearing barlines with skipBars - possible bug?


From: Thomas Morley
Subject: Re: Disappearing barlines with skipBars - possible bug?
Date: Wed, 25 Mar 2015 00:03:30 +0100

2015-03-24 17:06 GMT+01:00 Mark Knoop <address@hidden>:
> At 15:43 on 24 Mar 2015, Kevin Barry wrote:
>>On Tue, Mar 24, 2015 at 2:38 PM, Mark Knoop <address@hidden> wrote:
>>
>>> { \time 2/4 c'4 c'1 c'4 } % 3 bars, 2nd of which is empty
>>>
>>> { \time 2/4 c'4 c'2 c'4 } % 2 bars, neither of which is empty
>>>
>>
>>At best I would consider these to be non-standard notation. At worst
>>I'd say it's incorrect. It's possible to write a note value longer
>>than a bar, but I don't think there is an accepted standard for
>>notating that, except for connecting smaller note values with ties.
>>And as I said before I have never seen it in a score (do you have any
>>examples?).
>
> I agree these are contrived examples and am not claiming them to be
> standard notation. However tuplets spanning barlines are common in
> contemporary music and that is the context where this bug appears.
>
>>> skipBars is introduced in the Learning Manual (3.4.5 Scores and
>>> parts) as a way of condensing multi-measure rests. Its only
>>> references in the Manuals are regarding this function. I suspect its
>>> impact on notes crossing barlines is either unintended or at least
>>> not thought through
>>
>>It's just used there as an example of a context property.
>
> Um, no: "When printing the part, multi-rests must be condensed. This is
> done by setting a run-time variable \set Score.skipBars = ##t"
>
> It is in Notation Reference 5.3.2 that it's used as an example of a
> context property, although still with reference to its use for
> combining multimeasure rests.
>
>>I agree that its behaviour for notes rather than rests might not be
>>thought through (but it /is/ mentioned in the IR so it may not be
>>unintended). Normally full-bar rests are condensed with
>>\compressFullBarRests (which probably just sets skipBars to #t, but I
>>didn't check).
>
> Yes, it's just a shortcut:
>
> ly/property-init.ly:156:compressFullBarRests = \set Score.skipBars = ##t
>
>>I can't imagine a situation where the current behaviour would be
>>> desirable (silently hiding a barline thus changing the length of a
>>> bar) and it would certainly seem to be a very different use case than
>>> condensing multi-measure rests.
>>
>>I think the default behaviour (without touching skipBars) is ok, and
>>agree that there's no apparent need for it to affect notes (the
>>possible scenario with long notes and short empty bars seems
>>implausible). So perhaps skipBars could be changed to only affect
>>rests, or at the very least a different context property could be used
>>as an example in the learning manual (or both).
>>
>>I verified that \compressFullBarRests does indeed affect notes as
>>well, so if you want to file a bug report then perhaps proceed on that
>>basis.
>
> cced to bug-lilypond
>
> --
> Mark Knoop
>
> _______________________________________________
> lilypond-devel mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/lilypond-devel

I disagree.
\set Score.skipBars = ##t _is_ intended to affect notes _and_ useful!
Don't limit your thoughts to modern music.

Below I retyped (quick'n dirty) the last bar from Missa Papae
Marcelli, Sanctus by Palestrina taken from an edition which tries
transforming the original in sort of modern notation.


\version "2.19.17"

\paper {
    indent = 8
    line-width = 60
}

\header {
    title = "Missa Papae Marcelli"
    subtitle = "Sanctus, last bar"
    subsubtitle =
    \markup \center-column {
        "modern transcription by Breitkopf & Härtel, Wiesbaden"
        "retyped"
    }
    composer = "Palestrina"
}

lyr =
\lyricmode {
    \set stanza =
      \markup \with-dimensions #'(0 . 1) #'(0 . 0)\normal-text "ex - cel -"
    \skip1
    sis\longa
}

sop = {
    \time 2/2
    \key bes \major
    s1 bes'\longa
    \undo \hide Staff.BarLine
}
alt = {
    \key f' \major
    s1 f'\longa
    \undo \hide Staff.BarLine
}
tenI = {
    \clef "G_8"
    \key bes \major
    s1 bes\longa
    \undo \hide Staff.BarLine
}
tenII = {
    \clef "G_8"
    \key bes \major
    s1 d'\longa
    \undo \hide Staff.BarLine
}
bassI = {
    \clef bass
    \key bes \major
    s1 bes,\longa
    \undo \hide Staff.BarLine
}
bassII= {
    \clef bass
    \key bes \major
    s1 f\longa
    \undo \hide Staff.BarLine
    \bar "|."
}

\layout {
    \hide Staff.BarLine
    \compressFullBarRests
}

\new StaffGroup <<
  \new Staff \new Voice = "sop" \sop
  \new Lyrics \lyr
  \new Staff \new Voice = "alt" \alt
  \new Lyrics \lyr
  \new Staff \new Voice = "tenI" \tenI
  \new Lyrics \lyr
  \new Staff \new Voice = "tenII" \tenII
  \new Lyrics \lyr
  \new Staff \new Voice = "bassI" \bassI
  \new Lyrics \lyr
  \new Staff \new Voice = "bassII" \bassII
  \new Lyrics \lyr
  >>

PNG attached.
Commenting \compressFullBarRests in \layout would return strange output.

Though I see the nuisance for other usages. Maybe it would be best to
have the possibility to turn off notes from being affected.

Cheers,
  Harm

Attachment: paletrina-excerpt.png
Description: PNG image


reply via email to

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