From a358a1e8024e367ff472a312fb45db1dfb8a0cf2 Mon Sep 17 00:00:00 2001
From: hanwen <hanwen>
Date: Tue, 15 Jul 2003 18:04:33 +0000
Subject: [PATCH] * input/test/trills.ly (endHorizScript): fixes.

* input/test/chord-names-jazz.ly: merge in alternate Jazz
notation, move from regression.
---
 ChangeLog                                |   7 +-
 Documentation/bibliography/engraving.bib |   8 +
 Documentation/user/appendices.itely      |  10 +-
 Documentation/user/introduction.itely    |  31 ++++
 Documentation/user/refman.itely          |  15 ++
 input/regression/chords-ignatzek.ly      |  72 ---------
 input/test/chord-names-jazz.ly           | 195 ++++++++++++++++-------
 input/test/trills.ly                     |  11 +-
 mf/feta-beugel.mf                        |   7 +-
 mf/{feta-braces0.mf => feta-braces00.mf} |   0
 mf/{feta-braces1.mf => feta-braces10.mf} |   0
 mf/{feta-braces2.mf => feta-braces20.mf} |   0
 mf/{feta-braces3.mf => feta-braces30.mf} |   0
 mf/{feta-braces4.mf => feta-braces40.mf} |   0
 mf/{feta-braces5.mf => feta-braces50.mf} |   0
 mf/{feta-braces6.mf => feta-braces60.mf} |   0
 mf/{feta-braces7.mf => feta-braces70.mf} |   0
 mf/{feta-braces8.mf => feta-braces80.mf} |   0
 scm/chord-generic-names.scm              |   2 +-
 scm/font.scm                             |  31 ++--
 20 files changed, 222 insertions(+), 167 deletions(-)
 delete mode 100644 input/regression/chords-ignatzek.ly
 rename mf/{feta-braces0.mf => feta-braces00.mf} (100%)
 rename mf/{feta-braces1.mf => feta-braces10.mf} (100%)
 rename mf/{feta-braces2.mf => feta-braces20.mf} (100%)
 rename mf/{feta-braces3.mf => feta-braces30.mf} (100%)
 rename mf/{feta-braces4.mf => feta-braces40.mf} (100%)
 rename mf/{feta-braces5.mf => feta-braces50.mf} (100%)
 rename mf/{feta-braces6.mf => feta-braces60.mf} (100%)
 rename mf/{feta-braces7.mf => feta-braces70.mf} (100%)
 rename mf/{feta-braces8.mf => feta-braces80.mf} (100%)

diff --git a/ChangeLog b/ChangeLog
index 5870e8ba80..0a628fb956 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2003-07-15  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
 
+	* input/test/trills.ly (endHorizScript): fixes.
+
+	* input/test/chord-names-jazz.ly: merge in alternate Jazz
+	notation, move from regression.
+
 	* input/test/script-stack.ly: change name from stacked-scripts
 
 	* input/test/ossia.ly: octave errors.
@@ -7,8 +12,6 @@
 	* input/no-notation/midi-tuplets.ly: move from input/test/, idem
 	for midi-volume-equaliser
 
-	* 
-
 m2003-07-15  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
 
 	* scm/output-ps.scm (lily-traced-cm-fonts): substitution for lily
diff --git a/Documentation/bibliography/engraving.bib b/Documentation/bibliography/engraving.bib
index b4a52eb99a..991204dba1 100644
--- a/Documentation/bibliography/engraving.bib
+++ b/Documentation/bibliography/engraving.bib
@@ -339,3 +339,11 @@ printouts to publication quality.
   note =	 {Swedish book on music notation.}
 }
 
+@Book{jaschinski00:_notat,
+  author =	 {Andreas Jaschinski},
+  title = 	 {Notation},
+  publisher = 	 {Bärenreiter Verlag},
+  year = 	 2000,
+  number =	 {BVK1625}
+}
+
diff --git a/Documentation/user/appendices.itely b/Documentation/user/appendices.itely
index 9fe3cb5503..974a7e532f 100644
--- a/Documentation/user/appendices.itely
+++ b/Documentation/user/appendices.itely
@@ -9,15 +9,11 @@
 @end menu
 
 
-@node American Chords 
-@section American Chords
 
-[TODO]
+@node Chord name chart
+@section chord name chart
 
-@node Jazz chords
-@section Jazz chords
-
-@lilypondfile[notexidoc]{chords-ignatzek.ly}
+@lilypondfile[notexidoc]{chord-names-jazz.ly}
 
 @node MIDI instruments
 @section MIDI instruments
diff --git a/Documentation/user/introduction.itely b/Documentation/user/introduction.itely
index 6a29bb4636..0f7ac4003a 100644
--- a/Documentation/user/introduction.itely
+++ b/Documentation/user/introduction.itely
@@ -1,5 +1,36 @@
 @c -*-texinfo-*-
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 @node Introduction
 @chapter Introduction
 
diff --git a/Documentation/user/refman.itely b/Documentation/user/refman.itely
index e542edc3a1..ff2cfa3ced 100644
--- a/Documentation/user/refman.itely
+++ b/Documentation/user/refman.itely
@@ -3788,16 +3788,31 @@ in lower case for the base note.
 
 @end table
 
+
+There are also two other chord name schemes implemented: an alternate
+Jazz chord notation, and a systematic scheme called Banter chords. The
+alternate jazz notation is also shown on the chart in @ref{Chord name
+chart}.  Turning on these styles is described in the input file
+@inputfileref{input/test/,chord-names-jazz.ly}.
+
+@cindex Banter
+@cindex jazz chords
+@cindex chords, jazz  
+
+
 @refcommands
 
 @refcommand germanChords 
 @refcommand semiGermanChords 
 
 
+
+
 @seealso
 
 @inputfileref{input/regression,chord-name-major7.ly},
 @inputfileref{input/regression,chord-name-exceptions.ly},
+@inputfileref{input/test,chord-names-jazz.ly},
 @inputfileref{input/test,chord-names-german.ly},
 @file{scm/chords-ignatzek.scm}, @file{scm/chord-entry.scm}
 
diff --git a/input/regression/chords-ignatzek.ly b/input/regression/chords-ignatzek.ly
deleted file mode 100644
index 3f0e675056..0000000000
--- a/input/regression/chords-ignatzek.ly
+++ /dev/null
@@ -1,72 +0,0 @@
-\version "1.7.23"
-
-
-\header {
-
-texidoc = " Chord names are generated from a list pitches.  The
-functions constructing the names are customisable. This file shows
-Jazz chords, following Ignatzek (1995), page 17 and 18."
-
-}
-
-chs = \notes \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'>>
-}
-
-\score{
-    <
-	\context ChordNames { \chs }
-	\context Staff \notes \transpose c c' { \chs }
-    >
-    \paper{
-	\translator { 
-	    \ChordNamesContext
-	    ChordName \override #'word-space = #1 
-	}
-    }
-}
-	
diff --git a/input/test/chord-names-jazz.ly b/input/test/chord-names-jazz.ly
index 3c57618fe8..4d6737eace 100644
--- a/input/test/chord-names-jazz.ly
+++ b/input/test/chord-names-jazz.ly
@@ -1,75 +1,146 @@
-\version "1.7.18"
-% FIXME: doesn't display anything useful.
+\version "1.7.23"
+
+
 \header {
-texidoc = "Jazz notation for chord names.
 
-FIXME.
+texidoc = " Chord names are generated from a list pitches.  The
+functions constructing the names are customisable. This file shows
+Jazz chords, following Ignatzek (1995), page 17 and 18, Banter chords,
+and an alternative Jazz  chord notation.
+
 
 "
 
 }
-\score { \notes { c4^"fixme"}}
 
-%{
+chs = \notes \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'>>
+}
 
-%% 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
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% alternate Jazz notation
+
+efullmusicJazzAlt = \notes
+{
+    <<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" }
 }
 
-\score {
-  \notes <
-    \context ChordNames {
-	#(set-chord-name-style 'jazz)
-	\scheme }
-    \context Staff \transpose c c' \scheme
-  >
+efullJazzAlt = #(sequential-music-to-chord-exceptions efullmusicJazzAlt #f)
+
+epartialmusicJazzAlt = \notes{
+    <<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 { 
+	    \property ChordNames.majorSevenSymbol = #whiteTriangleMarkup
+	    \property ChordNames.chordNameSeparator = #(make-simple-markup  "/")
+	    \property ChordNames.chordNameExceptionsFull = #efullJazzAlt
+	    \property ChordNames.chordNameExceptionsPartial = #epartialJazzAlt
+	    \property ChordNames.chordNameFunction = #jazz-chord-names
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+banterProperties = \sequential { 
+	    \property ChordNames.chordNameFunction = #banter-chord-names
+}
+
+\score{
+    <
+	\context ChordNames {
+	    \property ChordNames.instrument = #"Ignatzek (default)"
+	    \property ChordNames.instr = #"Def"
+	    \chs }
+	\context ChordNames = ALT {
+	    \property ChordNames.instrument = #"Alternative"
+	    \property ChordNames.instr = #"Alt"
+	    \jazzAltProperties
+	    \chs }
+
+	% This is the banter style.
+	% it gives exceedingly verbose (wide) names
+	% making this file take up to 4 pages.
+	
+%{
+		\context ChordNames = BANTER  {
+	    \banterProperties
+	    \chs
+	    }
 %}
+	\context Staff \notes \transpose c c' { \chs }
+    >
+    \paper{
+	indent = 3.\cm
+	\translator { 
+	    \ChordNamesContext
+	    ChordName \override #'word-space = #1
+	    \consists Instrument_name_engraver
+	}
+    }
+}
+	
diff --git a/input/test/trills.ly b/input/test/trills.ly
index 9116b30b22..83fd5c7fd2 100644
--- a/input/test/trills.ly
+++ b/input/test/trills.ly
@@ -79,7 +79,7 @@ endHorizScript = {
 	"Cadence"
 	"autre"
 	"Double"4 "cadence"4.
-	"autre"4 _4.
+%{	"autre"4 _4.
 	_4 "sans tremblement"2
 	"sur une tierce"4
 	"Pinc\\'e"4
@@ -91,20 +91,23 @@ endHorizScript = {
 	"autre"
 	"autre"
 	"Double cadence"2.
-      }
+%}
+
+    }
       \context Lyrics=two \lyrics {
 	"simple"4
 	"appuy\'e"4.
-	\skip 1*3
+%{	\skip 1*3
 	\skip 4 \skip 4.
 	"voix et montant"
 	\skip 2.
 	"de suite"1
+%}
       }
       \context Staff=lower \notes\relative c'' {
         % autobeamer has som problems here
 	d32-[  \repeat unfold 3 { c d } c-]
-	d8 ~  d32-[\repeat unfold 3 { d32  } c-]
+	d8 ~  d32-[\repeat unfold 3 { d32 c  } c-]
 	d32 c b c \repeat unfold 4 { d32 c }
 	b32 c d c \repeat unfold 4 { d32 c }
 	c32-[-( b a16 b  c-)-]
diff --git a/mf/feta-beugel.mf b/mf/feta-beugel.mf
index ef2cd25f2c..82f996fee9 100644
--- a/mf/feta-beugel.mf
+++ b/mf/feta-beugel.mf
@@ -4,10 +4,15 @@ input feta-params;
 
 font_coding_scheme "feta braces";
 
-fet_beginfont("feta-braces", font_count);
+% we set the designsize arbitrarily at 10
+% if the * 10 is left out, pktrace gets confused  over the proper magnification,
+% and makes it too large.
+fet_beginfont("feta-braces", font_count * 10);
+
 mode_setup;
 
 
+
 save code;
 code := -1;
 
diff --git a/mf/feta-braces0.mf b/mf/feta-braces00.mf
similarity index 100%
rename from mf/feta-braces0.mf
rename to mf/feta-braces00.mf
diff --git a/mf/feta-braces1.mf b/mf/feta-braces10.mf
similarity index 100%
rename from mf/feta-braces1.mf
rename to mf/feta-braces10.mf
diff --git a/mf/feta-braces2.mf b/mf/feta-braces20.mf
similarity index 100%
rename from mf/feta-braces2.mf
rename to mf/feta-braces20.mf
diff --git a/mf/feta-braces3.mf b/mf/feta-braces30.mf
similarity index 100%
rename from mf/feta-braces3.mf
rename to mf/feta-braces30.mf
diff --git a/mf/feta-braces4.mf b/mf/feta-braces40.mf
similarity index 100%
rename from mf/feta-braces4.mf
rename to mf/feta-braces40.mf
diff --git a/mf/feta-braces5.mf b/mf/feta-braces50.mf
similarity index 100%
rename from mf/feta-braces5.mf
rename to mf/feta-braces50.mf
diff --git a/mf/feta-braces6.mf b/mf/feta-braces60.mf
similarity index 100%
rename from mf/feta-braces6.mf
rename to mf/feta-braces60.mf
diff --git a/mf/feta-braces7.mf b/mf/feta-braces70.mf
similarity index 100%
rename from mf/feta-braces7.mf
rename to mf/feta-braces70.mf
diff --git a/mf/feta-braces8.mf b/mf/feta-braces80.mf
similarity index 100%
rename from mf/feta-braces8.mf
rename to mf/feta-braces80.mf
diff --git a/scm/chord-generic-names.scm b/scm/chord-generic-names.scm
index 8caaa4c8d0..a6d924054a 100644
--- a/scm/chord-generic-names.scm
+++ b/scm/chord-generic-names.scm
@@ -1,4 +1,4 @@
-;;;; double-plus-new-chord-name.scm -- Compile chord names
+;;;; chord-generic-names.scm -- Compile chord names
 ;;;;
 ;;;;  source file of the GNU LilyPond music typesetter
 ;;;; 
diff --git a/scm/font.scm b/scm/font.scm
index fa6835c340..02a408038b 100644
--- a/scm/font.scm
+++ b/scm/font.scm
@@ -42,15 +42,15 @@
 
 (define size-independent-fonts
   `(
-    ((* * * braces *) . ("feta-braces0"
-			 "feta-braces1"
-			 "feta-braces2"
-			 "feta-braces3"
-			 "feta-braces4"
-			 "feta-braces5"
-			 "feta-braces6"
-			 "feta-braces7"
-			 "feta-braces8") )))
+    ((* * * braces *) . ("feta-braces00"
+			 "feta-braces10"
+			 "feta-braces20"
+			 "feta-braces30"
+			 "feta-braces40"
+			 "feta-braces50"
+			 "feta-braces60"
+			 "feta-braces70"
+			 "feta-braces80") )))
 
 ;; FIXME: what about this comment?:
 
@@ -96,8 +96,8 @@
     ((-3 medium italic roman 7) . "cmti7")    
 
     ;;; cmbx17 is sauter, not commonly available as Type1.
-    ((4 bold upright roman 17) . "cmr17") 
-    ((3 bold upright roman 17) . "cmr17")
+    ((4 bold upright roman 17) . "cmbx17") 
+    ((3 bold upright roman 17) . "cmbx17")
     
     ((2 bold upright roman 14) . "cmbx14")
     ((1 bold upright roman 12) . "cmbx12")
@@ -350,13 +350,8 @@ and warn if the selected font is not unique.
 		    (display (filter-field 'font-name 'cmbx paper20-style-sheet-alist))
 		    
 		    (display (qualifiers-to-fontname '((font-name . cmbx)) paper20-style-sheet-alist))
-		    (display (style-to-font-name 'paper20 'large))
-		    )
-	   )
-	 )
-
-
-)
+		    (display (style-to-font-name 'paper20 'large)))
+	   )))
 
 ;;; ascii-script font init
 (define as-font-sheet-alist
-- 
2.39.5