\version "2.19.65" \include "oll-core/package.ily" \loadPackage edition-engraver #(define (moment->string mom) (if (zero? (ly:moment-grace mom)) (number->string (ly:moment-main mom)) (format "~sG~a" (ly:moment-main mom) (ly:moment-grace mom)))) Current_moment_engraver = #(make-engraver (acknowledgers ((text-script-interface self grob origin) (let ((ctx (ly:translator-context self))) (if (equal? (ly:grob-property grob 'text) "@") (set! (ly:grob-property grob 'text) #{ \markup \with-color #red #(format "address@hidden" (ly:context-property ctx 'currentBarNumber) (moment->string (ly:context-property ctx 'measurePosition))) #})))))) #(ly:register-translator Current_moment_engraver 'Current_moment_engraver '((description . "\ This engraver replaces text scripts with a text of @code{@@} with a red address@hidden indicator."))) % first move the Timing_translator \layout { \context { \Score \remove "Timing_translator" \remove "Default_bar_line_engraver" } \context { \Staff \consists "Timing_translator" \consists "Default_bar_line_engraver" } } % consist the edition engraver after/behind the timing_translator \consistToContexts #edition-engraver Staff \addEdition test \editionMod test 1 1/16 Staff \once \override NoteHead.color = #red \new Staff \with { \consists "Current_moment_engraver" } \relative c' { c16 d-"@" f g a c d e }