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


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



\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 "numbers-as-easy-note-heads.ly"
\sourcefileline 0
% DO NOT EDIT this file manually; it is automatically
% generated from Documentation/snippets/new
% Make any changes in Documentation/snippets/new/
% and then run scripts/auxiliar/makelsr.py
%
% This file is in the public domain.
%% Note: this file works from version 2.15.31
\version "2.16.0"

\header {
%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
  texidoces = "

Las cabezas de nota de notación fácil utilizan la propiedad
@code{note-names} del objeto @code{NoteHead} para determinar lo que
aparece dentro de la cabeza.  Mediante la sobreescritura de esta
propiedad, es posible imprimir números que representen el grado de la
escala.

Se puede crear un grabador simple que haga esto para la cabeza de cada
nota que ve.

"

  doctitlees = "Números como notas de notación fácil"

%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
  texidocit = "
Le teste di nota con nome della nota usano la proprietà @code{note-names}
dell'oggetto @code{NoteHead} per determinare cosa appaia
all'interno della testa.  È possibile sovrascrivere questa proprietà
e mostrare numeri che corrispondano ai gradi della scala.

Si può creare un semplice incisore che faccia questo per oggni
oggetto testa di nota che incontra.
"
  doctitleit = "Numeri dentro le teste di nota"

%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
  texidocfr = "
En mode @qq{easy play}, les têtes de note utilisent la propriété
@code{note-names} attachée à l'objet @code{NoteHead} pour déterminer ce
qui apparaîtra dans la tête.  Intervenir sur cette propriété permet
d'imprimer un chiffre correspondant au degré dans la gamme.

La création d'un graveur dédié permet de traiter toutes les notes.
"
  doctitlefr = "Easy play -- chiffre en lieu et place des lettres"

  lsrtags = "pitches"
  texidoc = "
Easy notation note heads use the @code{note-names} property
of the @code{NoteHead} object to determine what appears inside
the note head.  By overriding this property, it is possible
to print numbers representing the scale-degree.

A simple engraver can be created to do this for every note head
object it sees.
"
  doctitle = "Numbers as easy note heads"
} % begin verbatim


#(define Ez_numbers_engraver
   (make-engraver
    (acknowledgers
     ((note-head-interface engraver grob source-engraver)
      (let* ((context (ly:translator-context engraver))
	     (tonic-pitch (ly:context-property context 'tonic))
	     (tonic-name (ly:pitch-notename tonic-pitch))
	     (grob-pitch
	      (ly:event-property (event-cause grob) 'pitch))
	     (grob-name (ly:pitch-notename grob-pitch))
	     (delta (modulo (- grob-name tonic-name) 7))
	     (note-names
	      (make-vector 7 (number->string (1+ delta)))))
	(ly:grob-set-property! grob 'note-names note-names))))))

#(set-global-staff-size 26)

\layout {
  ragged-right = ##t
  \context {
    \Voice
    \consists \Ez_numbers_engraver
  }
}

\relative c' {
  \easyHeadsOn
  c4 d e f
  g4 a b c \break

  \key a \major
  a,4 b cis d
  e4 fis gis a \break

  \key d \dorian
  d,4 e f g
  a4 b c d
}



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