%% Generated by lilypond-book
%% Options: [exampleindent=10.16\mm,indent=0\mm,line-width=160\mm]
\include "lilypond-book-preamble.ly"


% ****************************************************************
% Start cut-&-pastable-section
% ****************************************************************

#(ly:set-option 'eps-box-padding 3.000000)



\paper {
  indent = 0\mm
  line-width = 160\mm
  % offset the left padding, also add 1mm as lilypond creates cropped
  % images with a little space on the right
  line-width = #(- line-width (* mm  3.000000) (* mm 1))
}

\layout {
  
}




% ****************************************************************
% ly snippet:
% ****************************************************************
\sourcefilename "/lilypond-2.24.4/input/regression/other/translator-duplicate.ly"
\sourcefileline 0
\version "2.23.13"

\header {
  texidoc = "Only one instance of a translator can exist in a context.
Duplicates are eliminated."
}

%% Test behavior with \consists <symbol>

#(ly:register-translator
  (lambda (context)
    (make-engraver
     ((initialize engraver)
      (ly:message "This message should appear only once."))))
  'Dummy_engraver
  '((events-accepted) (grobs-created) (properties-read) (properties-written)))

%% Test behavior with \consists <procedure>

#(define (Dummy_engraver_2 context)
   (make-engraver
    ((initialize engraver)
     (ly:message "This is a second message that should appear only once."))))

myCommand = \with { \consists Dummy_engraver }

\layout {
  \context {
    \Voice
    \myCommand
    \consists Dummy_engraver
    \consists #Dummy_engraver_2
  }
}

\new Voice \with {
  \consists #Dummy_engraver_2
}
{ c' }

% A single \remove cancels both \consists
\new Voice \with {
  \remove Dummy_engraver
  \remove #Dummy_engraver_2
}
{ c' }



% ****************************************************************
% end ly snippet
% ****************************************************************
