\version "2.19.63" \include "edition-engraver/edition-engraver.ily" \setEditions lyrics \consistToContexts #edition-engraver Score.Staff.Voice.Lyrics #(set-global-staff-size 16) % start mod-list entry #(define-public startModList (define-void-function (lid edition-target edition-context-id proc)(symbol? symbol? list? procedure?) (ly:parser-define! lid '()) (ly:parser-define! 'current-modlist lid) (ly:parser-define! 'current-modproc `((proc . ,proc) (edition-target . ,edition-target) (edition-context-id . ,edition-context-id))) )) % add mod-list entry #(define-public addModList (let ((short-mom? (@@ (edition-engraver engine) short-mom?))) (define-void-function (takt pos mod) (integer? short-mom? scheme?) (if (and (defined? 'current-modlist)(symbol? current-modlist)) (let ((ml (ly:parser-lookup current-modlist))) (set! ml (assoc-set! ml (cons takt pos) mod)) (ly:parser-define! current-modlist ml)) (ly:input-warning (*location*) "no modlist started?") )))) % create EE-mods #(define-public finishModList (define-void-function ()() (if (and (defined? 'current-modlist) (symbol? current-modlist) (defined? 'current-modproc) (list? current-modproc) (symbol? (assoc-get 'edition-target current-modproc)) (list? (assoc-get 'edition-context-id current-modproc)) (procedure? (assoc-get 'proc current-modproc)) ) (let ((lst (ly:parser-lookup current-modlist)) (edition-target (assoc-get 'edition-target current-modproc)) (edition-id (assoc-get 'edition-context-id current-modproc)) (proc (assoc-get 'proc current-modproc))) (for-each (lambda (p) (if (pair? p) (let ((mod (proc (cdr p)))) (editionMod edition-target (caar p) (cdar p) edition-id mod) ))) lst)) (ly:input-warning (*location*) "no modlist started?") ))) % the function to produce the mods lyricsAlign = \once \override LyricText.self-alignment-X = \etc noteColumnAlign = \once \override NoteColumn.X-offset = \etc % enter the list \startModList myLyricMods lyrics Lyrics #lyricsAlign \addModList 1 0/16 #.8 \addModList 1 2/16 #.5 \addModList 1 4/16 #.4 \addModList 1 6/16 #-.4 \addModList 1 8/16 #.4 \addModList 1 10/16 #-.4 \addModList 1 12/16 #-.2 \addModList 2 2/16 #.4 \addModList 2 3/16 #-.2 \addModList 2 4/16 #.2 \addModList 2 7/16 #.2 \addModList 2 8/16 #.8 \addModList 2 9/16 #.8 \addModList 2 10/16 #.3 \addModList 2 12/16 #-.4 \finishModList % enter the list \startModList myNoteColumnMods lyrics Score #noteColumnAlign \addModList 2 4/16 #3 \addModList 2 7/16 #3 \addModList 2 8/16 #3 \addModList 2 9/16 #4 \finishModList \new Voice \relative { \key g \major e'8 e e16 e e fis fis g g g g8. g16 | \noBreak fis8 fis16 fis fis fis fis fis fis g g a a8 g16 fis | } \addlyrics { few short min -- utes with a ham -- mer and a mace should do quite suf -- fi -- cient -- ly to re -- ar -- range your face. When I'm }