X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=input%2Ftest%2Fchord-names-jazz.ly;h=148bee915f484c1e2f88254a41dc95c45736634b;hb=80bb174de95ebb8a08e5bdfae0855c525b8e7736;hp=97f4cea53a1e3fb24d4eda33744e1b85e1cbffa1;hpb=c97a11c1355fd2caaf261bf82254e9beb59f5628;p=lilypond.git diff --git a/input/test/chord-names-jazz.ly b/input/test/chord-names-jazz.ly index 97f4cea53a..148bee915f 100644 --- a/input/test/chord-names-jazz.ly +++ b/input/test/chord-names-jazz.ly @@ -1,75 +1,154 @@ -\version "1.7.18" -% FIXME: doesn't display anything useful. +\version "2.1.30" + + \header { -texidoc = "Jazz notation for chord names. -FIXME. +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. " } -\score { \notes { c4^"fixme"}} -%{ +chs = \notes \transpose c' c' +{ + 1 + % m = minor triad + + \break + + + % triangle = maj + + \break + + + + \break + % 6 = major triad with added sixth + % m6 = minor triad with added sixth + + \break + + + + \break + + + + \break + + + + \break + + + + \break + + + + \break + + + + \break + + % add9 + +} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% alternate Jazz notation + +efullmusicJazzAlt = \notes +{ + 1-\markup { "+" } + -\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" } + + -\markup { \super "o" } % should be $\circ$ ? + -\markup { \super \combine "o" "/" } + -\markup { \super "o7" } +} -%% This should only be necessary if your kpathsea setup is broken -% -% Make sure the correct msamxx.tfm is where lily can find it -% (ie cwd or lily's tfm dir). -% -% For normal (20pt) paper, do -% -% cp locate `msam9.tfm` LILYPONDPREFIXxtfm -% - -scheme = \chords { - % major chords - c - c:6 % 6 = major triad with added sixth - c:maj % triangle = maj - c:6.9^7 % 6/9 - c:9^7 % add9 - - % minor chords - c:m % m = minor triad - c:m.6 % m6 = minor triad with added sixth - c:m.7+ % m triangle = minor major seventh chord - c:3-.6.9^7 % m6/9 - c:m.7 % m7 - c:3-.9 % m9 - c:3-.9^7 % madd9 - - % dominant chords - c:7 % 7 = dominant - c:7.5+ % +7 = augmented dominant - c:7.5- % 7b5 = hard diminished dominant - c:9 % 7(9) - c:9- % 7(b9) - c:9+ % 7(#9) - c:13^9.11 % 7(13) - c:13-^9.11 % 7(b13) - c:13^11 % 7(9,13) - c:13.9-^11 % 7(b9,13) - c:13.9+^11 % 7(#9,13) - c:13-^11 % 7(9,b13) - c:13-.9-^11 % 7(b9,b13) - c:13-.9+^11 % 7(#9,b13) - - % half diminished chords - c:m5-.7 % slashed o = m7b5 - c:9.3-.5- % o/7(pure 9) - - % diminished chords - c:m5-.7- % o = diminished seventh chord +efullJazzAlt = #(sequential-music-to-chord-exceptions efullmusicJazzAlt #f) + +epartialmusicJazzAlt = \notes{ + 1-\markup { \normal-size-super "2" } + -\markup { "m" } + -\markup { \normal-size-super "sus4" } + -\markup { \normal-size-super "5" } + + %% TODO, partial exceptions + -\markup { "m" }-\markup { \normal-size-super "sus4" } + -\markup { "m" }-\markup { \normal-size-super "sus2" } } -\score { - \notes < - \context ChordNames { - #(set-chord-name-style 'jazz) - \scheme } - \context Staff \transpose c c' \scheme - > +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 } -%% new-chords-done %% + +banterProperties = \sequential { + \set chordNameFunction = #banter-chord-names +} + +\score{ + << + \new ChordNames { + \set instrument = #"Ignatzek (default)" + \set instr = #"Def" + \chs + } + + \new ChordNames { + \jazzAltProperties + \set instrument = #"Alternative" + \set instr = #"Alt" + \chs + } + +%{ + + %% This is the Banter (1987) style. It gives exceedingly + %% verbose (wide) names, making the output file take up to 4 pages. + %% (FIXME: how big is is now?) + %% Turned off by default. + + %% FIXME: use smaller font for Banter (or remove some esoteric + %% chords). + + \new ChordNames { + \banterProperties + \set instrument = #"Banter" + \set instr = #"Ban" + \chs + } %} + + \new Staff \notes \transpose c c' { \chs } + >> + \paper { + indent = 3.\cm + \context { + \ChordNamesContext + \consists Instrument_name_engraver + } + } +} +