%% 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 "chord-names-jazz.ly"
\sourcefileline 0
\version "2.14.0"
\header {

texidoc = " Chord names are generated from a list pitches.  The
functions which construct these names can be customised.  Here are shown
Jazz chords, following Ignatzek (pp. 17-18, 1995) and
an alternative Jazz  chord notation.

Chords following Banter (1987) can also be printed from this file, but
are turned off for brevity.

"

}

chs =  \transpose c' c'
{
    <c e g>1
    <c es g>% m = minor triad
    <c e gis>
    <c es ges> \break
    <c e g bes>
    <c es g bes>
    <c e g b>           % triangle = maj
    <c es ges beses>
    <c es ges b> \break
    <c e gis bes>
    <c es g b>
    <c e gis b>
    <c es ges bes>\break
    <c e g a>   % 6 = major triad with added sixth
    <c es g a>  % m6 = minor triad with added sixth
    <c e g bes d'>
    <c es g bes d'> \break
    <c es g bes d' f' a' >
    <c es g bes d' f' >
    <c es ges bes d' >
    <c e g bes des' > \break
    <c e g bes dis'>
    <c e g bes d' f'>
    <c e g bes d' fis'>
    <c e g bes d' f' a'>\break
    <c e g bes d' fis' as'>
    <c e gis bes dis'>
    <c e g bes dis' fis'>
    <c e g bes d' f' as'>\break
    <c e g bes des' f' as'>
    <c e g bes d' fis'>
    <c e g b d'>
    <c e g bes d' f' as'>\break
    <c e g bes des' f' as'>
    <c e g bes des' f' a'>
    <c e g b d'>
    <c e g b d' f' a'>\break
    <c e g b d' fis'>
    <c e g bes des' f ' a'>
    <c f g>
    <c f g bes>\break
    <c f g bes d'>
    <c e g d'>  % add9
    <c es g f'>
    <c e g b fis'>  % Lydian
    <c e g bes des' ees' fis' aes'>  % altered chord
}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% alternate Jazz notation

efullmusicJazzAlt =
{
    <c e gis>1-\markup { "+" }
    <c e g b>-\markup {
      \normal-size-super
    % \override #'(font-family . math) "N"
      \override #'(font-family . math) "M"
    }
    %%c:3.5.7 = \markup { \override #'(font-family . math) "M" }
    %%c:3.5.7 = \markup { \normal-size-super "maj7" }

   <c es ges>-\markup { \super "o" } % should be $\circ$ ?
   <c es ges bes>-\markup { \super \combine "o" "/" }
   <c es ges beses>-\markup { \super  "o7" }
}

efullJazzAlt = #(sequential-music-to-chord-exceptions efullmusicJazzAlt #f)

epartialmusicJazzAlt = {
    <c d>1-\markup { \normal-size-super "2" }
    <c es>-\markup { "m" }
    <c f>-\markup { \normal-size-super "sus4" }
    <c g>-\markup { \normal-size-super "5" }

    %% TODO, partial exceptions
    <c es f>-\markup { "m" }-\markup { \normal-size-super "sus4" }
    <c d es>-\markup { "m" }-\markup { \normal-size-super "sus2" }
}

epartialJazzAlt = #(sequential-music-to-chord-exceptions epartialmusicJazzAlt #f)

jazzAltProperties = \sequential {
    \set majorSevenSymbol = #whiteTriangleMarkup
    \set chordNameSeparator = #(make-simple-markup  "/")
    \set chordNameExceptionsFull = #efullJazzAlt
    \set chordNameExceptionsPartial = #epartialJazzAlt
    \set chordNameFunction = #jazz-chord-names
}

banterProperties = \sequential {
    \set chordNameFunction = #banter-chord-names
}

\score{
    <<
        \new ChordNames {
            \set instrumentName = #"Ignatzek (default)"
            \set shortInstrumentName = #"Def"
            \chs
        }

        \new ChordNames {
            \jazzAltProperties
            \set instrumentName = #"Alternative"
            \set shortInstrumentName = #"Alt"
            \chs
        }

%{

        %% This is the Banter (1987) style.  It gives exceedingly
        %% verbose (wide) names, making the output file take up to 4 pages.
        %% (TODO: how big is is now?)
        %% Turned off by default.

        %% TODO: use smaller font for Banter (or remove some esoteric
        %% chords).

        \new ChordNames {
            \banterProperties
            \set instrumentName = #"Banter"
            \set shortInstrumentName = #"Ban"
            \chs
        }
%}

        \new Staff  \transpose c c' { \chs }
    >>
    \layout {
        \context {
            \ChordNames
            \consists Instrument_name_engraver
        }
    }
}




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