]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/included/chord-names-jazz.ly
Imported Upstream version 2.14.2
[lilypond.git] / Documentation / included / chord-names-jazz.ly
diff --git a/Documentation/included/chord-names-jazz.ly b/Documentation/included/chord-names-jazz.ly
new file mode 100644 (file)
index 0000000..5be2e57
--- /dev/null
@@ -0,0 +1,152 @@
+\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'>
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% 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 {
+       indent = 3.\cm
+       \context {
+           \ChordNames
+           \consists Instrument_name_engraver
+       }
+    }
+}
+