Comment #8 on issue 2142 by m...@apollinemike.com: accidental right-padding should depend on the tightness of music
http://code.google.com/p/lilypond/issues/detail?id=2142


Springs (in the current LilyPond model) are only between PaperColumns and NonMusicalPaperColumns. To implement your idea, there'd have to be several columns (arpeggio column, accidental column, note column, dot column for example) all of which received springs or rods. This'd be hellish to implement but is doable.

If you wanted to go down this route, you'd have to:

Create an AccidentalColumn grob that implements the paper-column-interface.
Throw all of the accidentals into this grob and NOT into either of the currentCommandColumns. Make sure that this column got a rank lower than that of the PaperColumn to its right. Change the main functions in staff-spacing.cc and note-spacing.cc such that they returned different values for accidental columns.

In general, if you want to do this, try to make it as extensible as possible so that a variety of columns could be created. Someone once told me that in computing, there are only three numbers: one, two, and many. We are at two with PaperColumn and NonMusicalPaperColumn, but if we went into many, it'd be impossible to have separate functions for everything & we'd need to come up with some extensible framework for the creation and horizontal spacing of columns.


_______________________________________________
bug-lilypond mailing list
bug-lilypond@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-lilypond

Reply via email to