On Mon, Jul 28, 2014 at 3:17 PM, Janek Warchoł <janek.lilyp...@gmail.com> wrote:
> 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? This is clearer. Thanks! What is potentially confusing (and you see how badly I've been confused) is that the default setting of X-offset has changed. I'm used to the old behavior \override DynamicText.X-offset = #ly:self-alignment-interface::x-aligned-on-self gets it back. I think that this should be made clear in the documentation, if you haven't already done this! Sorry for any trouble, David
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user