]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/snippets/new/centering-markup-on-note-heads-automatically.ly
Imported Upstream version 2.19.45
[lilypond.git] / Documentation / snippets / new / centering-markup-on-note-heads-automatically.ly
diff --git a/Documentation/snippets/new/centering-markup-on-note-heads-automatically.ly b/Documentation/snippets/new/centering-markup-on-note-heads-automatically.ly
deleted file mode 100644 (file)
index 641f286..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-\version "2.17.6"
-
-\header {
-  lsrtags = "text, tweaks-and-overrides, contexts-and-engravers"
-  texidoc = "
-For technical reasons, text scripts attached to note heads cannot
-easily be centered on a note head's width, unlike articulations.
-
-Instead of using trial-and-error offset tweaks, this snippet uses a
-Scheme engraver to reset the horizontal parent of each markup to a
-@code{NoteColumn}.  This also allows text to follow note heads which have
-been shifted via @code{force-hshift}.
-"
-  doctitle = "Centering markup on note heads automatically"
-}
-
-#(define (Text_align_engraver ctx)
-  (let ((scripts '())
-        (note-column #f))
-    (make-engraver
-     (acknowledgers
-      ((note-column-interface trans grob source)
-       ;; cache NoteColumn in this Voice context
-       (set! note-column grob))
-      ((text-script-interface trans grob source)
-       ;; whenever a TextScript is acknowledged,
-       ;; add it to `scripts' list
-       (set! scripts (cons grob scripts))))
-     ((stop-translation-timestep trans)
-      ;; if any TextScript grobs exist,
-      ;; set NoteColumn as X-parent
-      (for-each (lambda (script)
-                 (set! (ly:grob-parent script X) note-column))
-               scripts)
-      ;; clear scripts ready for next timestep
-      (set! scripts '())))))
-
-\layout {
-  \context {
-    \Voice
-    \consists #Text_align_engraver
-    \override TextScript.X-offset =
-      #ly:self-alignment-interface::aligned-on-x-parent
-    \override TextScript.self-alignment-X = #CENTER
-  }
-}
-
-\new Staff <<
-  \relative c'' {
-    \override NoteColumn.force-hshift = #3
-    c1-\markup { \arrow-head #Y #DOWN ##t }
-  }
-  \\
-  \relative c' {
-    a4 a-\markup { \huge ^ } a a
-  }
->>