For a while I have been thinking about something which I feel could be a useful modification of Lilypond's behaviour.
Lilypond defaults to standard choices for musical notation, which generally saves a lot of work - for instance, it assumes that when we write c4 we want a standard crotchet to appear on the page. It saves a lot of time not having to specify that that is what we want, yet we can still change the appearance of the note into something else if we want to, with a bit of extra work. However, I have had a few problems with items near barlines lately, some of which I had help with from the list, and it occurs to me that Lilypond is being unnecessarily "helpful" in this area. Lilypond defaults to putting clef-change signs before the barline, key- and time-signature after the barline regardless of whether they are before or after a possible bar check marking. For instance, the clef, key signature and time signature changes in the following all appear in their conventional positions, even though they are (perversely) written in reverse order, and with a bar check between two of the items. \version "2.19.24" \relative c' \displayMusic { \key g \major c1 \time 3/4 \key f \major | \clef "bass" c2. | } Even when we write the opposite, Lilypond still conforms to the standard practice - which is very nice of it, but unnecessary. Lilypond is a practical tool, not an educational one, and people using it know the conventions and can just as easily type a key change etc. before or after the bar check. Lilypond's insistence on orthodoxy does not save us any effort whatsoever. Now I realise that the bar checks are not generally required in Lilypond, and they don't really represent barlines anyway, even if they look like them. But I think it would be useful if we could use them to aid the positioning of these various items. What I am suggesting is that if you don't use a bar check, then Lilypond would sensibly put items in their conventional positions. But if you do use a bar check, and put the time change or whatever on the unconventional side of it, then Lilypond should respect that. It would increase the versatility of the program without losing anything useful. And it is not necessarily because we are being perverse that we need to do these apparently strange things: sometimes it is to cope with a situation which is unusual but which Lilypond doesn't currently cope with. For instance, one of my recent problems concerned a clef change during the "first-time bar" section of a repeated passage; this meant that at the start of the "second-time" bar it was necessary to have a clef sign to avoid ambiguity - but it made no sense to have it before the bar line (i.e. at the end of the first-time section): of necessity it needed to come after the barline, at the start of the second-time section. If Lilypond had understood that | \clef "bass" meant that the clef sign should come after the barline, it would have saved me having to type \once \override Score.BreakAlignment #'break-align-orders = #(make-vector 3 '(staff-bar clef key-signature)) \clef "bass" I think it would also be useful, at least for those of us perverse enough to want to do such things, if we could actually anchor items to barlines, simply by attaching them to the bar check - I am thinking particularly about such things as dynamics (notably the \! to end a hairpin) and fermataMarkup. Perhaps this feature could be considered for a future version of Lilypond. It would not inconvenience those users who don't see the desirability for it in any way. David _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user