%% Generated by lilypond-book
%% Options: [exampleindent=10.16\mm,indent=0\mm,line-width=160\mm,paper-height=845.047\pt,paper-width=597.508\pt,papersize='(cons (* 597.508 pt) (* 845.047 pt))]
\include "lilypond-book-preamble.ly"


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

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



\paper {
  #(set-paper-size '(cons (* 597.508 pt) (* 845.047 pt)))
  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 "snippets/chord-name-exceptions.ly"
\sourcefileline 0
%% DO NOT EDIT this file manually; it was automatically
%% generated from the LilyPond Wiki
%% (https://wiki.lilypond.community).
%%
%% Make any changes in the Wiki itself, or in
%% `Documentation/snippets/new/`, then run
%% `scripts/auxiliar/makelsr.pl`.
%%
%% This file is in the public domain.

\version "2.24.0"

\header {
%% Translation of GIT committish: a8a85e19654e46d725563e6deba44083ef137a2c
  texidocja = "
特殊なコードに対して専用の表記をするためのリストを保持するのが
@code{chordNameExceptions} プロパティです。
"
  doctitleja = "コード ネームの例外"

%% Translation of GIT committish: 2f3474d9af596d677ed5b7ce720ae4d0954a6b51
  texidocit = "
La proprietà @code{chordNameExceptions} permette di salvare un elenco di
notazioni speciali per accordi specifici.

"
  doctitleit = "Eccezioni dei nomi degli accordi"

%% Translation of GIT committish: 1abe87de51b9b00a391da1be4cf4b5ebe4021ca9
  texidocfr = "
La propriété @code{chordNameExceptions} enregistre une liste de
chiffrages personnalisés afin de traiter des cas non prévus ou
incorrectement gérés.

Par défaut, LilyPond utilise le jeu de chiffrages issus de l'ouvrage de
Klaus Ignatzek « Die Jazzmethode für Klavier 1 » ; l'algorithme de
conversion des accords en chiffrages est inclus dans le fichier
@file{scm/chord-ignatzek-names.scm}. Des règles additionnelles pour
gérer des chiffrages exceptionnels sont enregistrées en tant que
variables @code{ignatzekExceptions} dans le fichier
@code{ly/chord-modifiers-init.ly}.

Le code ci-dessous modifie ces exceptions en trois étapes.

@enumerate
@item
Saisie de musique en accords avec @emph{markup} associé. Par convention,
la base -- autrement dit la note la plus basse -- de chaque accord aura
une hauteur de do (@code{c} pour les anglophones).
@item
Appel de la fonction Scheme @code{sequential-music-to-chord-exceptions}
pour créer une liste de nouvelles exceptions, puis l'ajouter à celles
déjà répertoriées. Dans la mesure où @code{ignatzekExceptions} est
défini avec le second paramètre de cette fonction fixé à @code{#t}, afin
d'ignorer la base de chaque accord, il faut faire de même.
@item
Enregistrement de la nouvelle liste d'exceptions.
@end enumerate
"

  doctitlefr = "Modèles de chiffrage d'accords"

%% Translation of GIT committish: 35d4cc1b78c4105643ca5fdcb44cb717578d6d4a
  texidoces = "

La propiedad @code{chordNameExceptions} almacena una lista de
excepciones para los nombres de acorde, para tratar casos que no
están cubiertos, o bien que se tratan incorrectamente.

Los nombres de acorde predeterminados que se usan por LilyPond
siguen las reglas dadas en el libro de Klaus Ignatzek's @qq{Die
Jazzmethode für Klavier@tie{}1}; el algoritmo para convertir
acordes en nombres de acorde puede verse dentro del archivo
@code{scm/chord-ignatzek-names.scm}. Las reglas adicionales se dan
como excepciones de acordes y se almacenan dentro de la variable
@code{ignatzekExceptions}, como está establecido en el archivo
@code{ly/chord-modifiers-init.ly}.

Este fragmento de código modifica estas excepcioens en tres pasos.

@enumerate 
@item
Preparación de una música con acordes y elementos de marcado
asociados. Por convención, la fundamental de cada acorde debe
ser@tie{}Do.
@item
Llamar a la función de Scheme
@code{sequential-music-to-chord-exceptions} para crear una lista
de excepciones nueva, y después concatenarla con las existentes.
Como @code{ignatzekExceptions} está preparado con el segundo
parámetro de su función fijado al valor @code{#t} (para ignorar la
fundamental de los acordes), tenemos que hacer lo mismo.
@item
Registrar la nueva lista de excepciones.
@end enumerate

"
  doctitlees = "Excepciones para los nombres de acorde"

%% Translation of GIT committish: 0a868be38a775ecb1ef935b079000cebbc64de40
  texidocde = "
Die Eigenschaft @code{chordNameExceptions} kann benutzt werden, um eine
Liste an besonderen Notationen für bestimmte Akkorde zu speichern.

"
  doctitlede = "Akkordsymbolausnahmen"

%% Translation of GIT committish: 8ffecf6be17c6ec2ff87cf31873121a8cce29b09
  texidocca = "
Es pot usar la propietat @code{chordNameExceptions} per a emmagatzemar
una llista de notacions espacials per a acords específics.

"
  doctitleca = "Excepcions per als noms d'acord"

  categories = "Chords, Scheme, Specific notation"

  texidoc = "
The property @code{chordNameExceptions} stores a list of chord name
exceptions to handle cases either not covered or handled incorrectly.

The default chord names used by LilyPond follow the rules as given in
Klaus Ignatzek's book @qq{Die Jazzmethode für Klavier@tie{}1}; the
algorithm to convert chords to chord names can be found in file
@code{scm/chord-ignatzek-names.scm}. Additional rules are given as
chord exceptions and stored in the variable @code{ignatzekExceptions},
as set up in file @code{ly/chord-modifiers-init.ly}.

This snippet modifies these exceptions in three steps.

@enumerate 
@item
Set up some music with chords and associated markup. By convention, the
root (i.e., the lowest note) of each chord should have pitch@tie{}c.
@item
Call Scheme function @code{sequential-music-to-chord-exceptions} to
create a new list of exceptions, then concatenate it with the existing
ones. Since @code{ignatzekExceptions} is set up with this function's
second parameter set to @code{#t} (to ignore the root of the chords),
we have to do the same.
@item
Register the new exception list.
@end enumerate
"

  doctitle = "Chord name exceptions"
} % begin verbatim


% Step 1: Define music with chords and markup for maj9 and 6(add9).
chExceptionMusic = {
  <c e g b d'>-\markup { \super "maj9" }
  <c e g a d'>-\markup { \super "6(add9)" }
}

% Step 2: Create extended exception list.
chExceptions =
#(append (sequential-music-to-chord-exceptions chExceptionMusic #t)
         ignatzekExceptions)

theMusic = \chordmode {
  g1:maj9 g1:6.9
  % Step 3: Register extended exception list.
  \set chordNameExceptions = #chExceptions
  g1:maj9 g1:6.9
}

<<
  \new ChordNames \theMusic
  \new Voice \theMusic
>>

\layout {
  line-width = 10\cm
  ragged-right = ##f
}



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