thomasmorle...@gmail.com: >> Well, _every_ BarLine has some settings in the definition how to >> behave mid-line, line-begin, line-end and for the span-bar-type.
Ah. That does make sense. I'm discovering stuff by the minute. :-) >> \bar "||" doesn't print a bar-line at line-begin (see bar-line.scm) Ack! >> The \repeat construct uses the value from 'startRepeatType' (see >> engraver-init.ly) as starting repeat-sign, default and fall-back is >> ".|:" (see repeat-acknowledge-engraver.cc and look up how ".|:" is >> defined in bar-line.scm) Umm ... "indeed." :-) >> While inputting >> \bar "||" \break \repeat volta ... >> you have two _conflicting_ settings at the _same_ musical moment. >> One will override the other. >> Clean sollution is to define a BarLine which has the settings you >> prefer. This is done already with the predefined ".|:-||" (again, see >> bar-line-scm). >> >> Only thing I don't fully understand, why does "||" wins? >> I'd expect the ".|:" to be printed. > To answer my own question: > In repeat-acknowledge-engraver.cc is a comment and code: > /* > We only set the barline if we wouldn't overwrite a previously set > barline. > */ > SCM wb = get_property ("whichBar"); > SCM db = get_property ("defaultBarType"); > if (!scm_is_string (wb) || ly_is_equal (db, wb)) > { > if (s != "" || (volta_found && !scm_is_string (wb))) > context ()->set_property ("whichBar", ly_string2scm (s)); > } > } > Although I don't know C++, it seems to be pretty clear what happens A warm thanks for sharing your expertise! This is really appreciated, even if I don't penetrate all the details ... yet. :-) Now future googlers have something to chew on, and I have working code! :-) Cheers, /Liman _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user