[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
paletrina-excerpt.png
Description: PNG image