[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Lilypond-auto] Issue 2981 in lilypond: Bugs with \set Staff.whichBa
From: |
lilypond |
Subject: |
Re: [Lilypond-auto] Issue 2981 in lilypond: Bugs with \set Staff.whichBar |
Date: |
Sat, 08 Dec 2012 22:43:54 +0000 |
Comment #1 on issue 2981 by address@hidden: Bugs with \set
Staff.whichBar
http://code.google.com/p/lilypond/issues/detail?id=2981
'whichBar is a strange property. Actually, the strange thing is that the
Default_bar_line_engraver continually sets and resets this property,
whereas most properties will stay at the values given by the \set command
in user input.
It would be nice to use whichBar in a less-strange manner, but that would
be a big change because of the way whichBar is checked for possible
line-breaks.
The place in the documentation that says '\set Staff.whichBar = "|:" will
create a
start-repeat bar in this staff only' is in the Internals Reference section
on Default_bar_line_engraver, auto-generated
from 'define-grob-properties.scm', so we should only expect it to work when
we also move the engraver to the Staff context:
<< { c' \set Staff.whichBar = "||" c' c' c' }
{ c' \once \set Staff.whichBar = "||" c' c' c' c' c' c' c' } >>
\layout {
\context { \Staff \consists "Default_bar_line_engraver" }
\context { \Score \remove "Default_bar_line_engraver" } }
I suggest adding ".. if the engraver is in the Staff context" to that line
in the documentation.
The version above with \once\set Staff.whichBar did work as the
bug-reporter suggested, until the fix for issue 153. Maybe we could have
\once\set Context.property restore the original value (keeping issue 153
correct) but *only* if there was an original value in the specified context.
I would rather ask users (like me) to use \set and \unset pairs for this
strange case.
Attachments:
2981.png 5.6 KB
- Re: [Lilypond-auto] Issue 2981 in lilypond: Bugs with \set Staff.whichBar,
lilypond <=