Hi, 2014-07-28 16:13 GMT+02:00 David Nalesnik <david.nales...@gmail.com>: > In the following example, the ordinary overrides of self-alignment-X appear > to have no effect on the position pf the dynamics (or an effect I can't > see). Large numbers are needed for an obvious shift. > > Is this a bug, or something I'm doing wrong?
You're misusing self-alignment-X. This feature is *not* for shifting stuff - it is meant for aligning particular point of an object on a particular point of its parent. For example, self-alignment-X = #LEFT means "place this object so that its left edge (i.e. left end of X-extent) is horizontally aligned with its parent's left edge". It doesn't mean "move stuff around". Look: { % draw boxes around grobs, representing their extents \override DynamicText.stencil = #(make-stencil-boxer 0.03 0 ly:text-interface::print) \override NoteHead.stencil = #(make-stencil-boxer 0.03 0 ly:note-head::print) \override DynamicText.self-alignment-X = #RIGHT % forte's right edge is aligned with notehead's right edge c'4\f \override DynamicText.self-alignment-X = #LEFT % forte's left edge is aligned with notehead's left edge c'4\f % forte's center is aligned with notehead's center \override DynamicText.self-alignment-X = #CENTER c'4\f } % see what happens when we use wider dynamics: { % draw boxes around grobs, representing their extents \override DynamicText.stencil = #(make-stencil-boxer 0.03 0 ly:text-interface::print) \override NoteHead.stencil = #(make-stencil-boxer 0.03 0 ly:note-head::print) \override DynamicText.self-alignment-X = #RIGHT % forte's right edge is aligned with notehead's right edge c'2\fff \override DynamicText.self-alignment-X = #LEFT % forte's left edge is aligned with notehead's left edge c'\fff } % Using numbers outside [-1, 1] interval for alignment doesn't make % much sense. What does it mean if self-alignment-X = #5 ? What is % aligned to what? It's hard to say what this means in English at all. % Of course, we could use some more alignment options. % That's exactly what I'm doing in issue 4022. % With https://code.google.com/p/lilypond/issues/detail?id=4022 , % this code will produce output as in the attachment: { % draw boxes around grobs, representing their extents \override DynamicText.stencil = #(make-stencil-boxer 0.03 0 ly:text-interface::print) \override NoteHead.stencil = #(make-stencil-boxer 0.03 0 ly:note-head::print) \override DynamicText.self-alignment-X = #`(,RIGHT . ,LEFT) % forte's right edge is aligned with notehead's left edge c'2\f \override DynamicText.self-alignment-X = #`(,LEFT . ,RIGHT) % forte's left edge is aligned with notehead's right edge c'\f } % Now, if you want to "move stuff around", use X-offset, not % self-alignment-X: { \override DynamicText.stencil = #(make-stencil-boxer 0.03 0 ly:text-interface::print) \override NoteHead.stencil = #(make-stencil-boxer 0.03 0 ly:note-head::print) \override DynamicText.X-offset = -2.5 c'2\f \override DynamicText.X-offset = 1 c'\f } % Maybe some day we'll have a more unified interface for both % moving stuff around and aligning it - i'm working on this - but % for now these are separate tasks. % Is this clearer now? % Janek
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user