]> git.donarmstrong.com Git - lilypond.git/commitdiff
*** empty log message ***
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 19 Apr 2003 22:06:19 +0000 (22:06 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 19 Apr 2003 22:06:19 +0000 (22:06 +0000)
ChangeLog
Documentation/user/refman.itely
input/regression/ambitus.ly
input/regression/chord-name-entry-11.ly [new file with mode: 0644]
input/regression/chord-name-major7.ly [new file with mode: 0644]
scm/chord-entry.scm

index 717b7f06f96c0b3016bdfff173f55f952991a451..23d15e8e4303f0053f454ea4a7b05532bbde5971 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2003-04-19  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
 
+       * input/regression/chord-name-major7.ly: new file
+
+       * scm/chord-entry.scm (construct-chord): bugfix: don't remove 11
+       if specced explicitly.
+
+       * input/regression/chord-name-entry-11.ly: new file.
+
        * input/test/slur-beautiful.ly: new file.
 
        * Documentation/user/refman.itely: updates.
index 687e38e452e8e3eb45b5e6efbc223782c5ebebf2..bcab5eee4bf9618df8ea13dc38022f739e0192bb 100644 (file)
@@ -2167,8 +2167,8 @@ Folded repeats look like this:
 
 @cindex expanding repeats
 
-For instructions on how to unfoldi repeats for MIDI output, see
-the example file @inputfileref{input/test,unfold-all-repeats.ly}.
+For instructions on how to unfold repeats for MIDI output, see the
+example file @inputfileref{input/test,unfold-all-repeats.ly}.
 
 
 @refbugs
@@ -2574,9 +2574,9 @@ bass = \notes \transpose c c,, { a4. e8 r e g e }
 @subsection Percussion midi output
 
 In order to produce correct midi output you need to produce two score
-blocks - one for the paper and one for the midi.
-To use the percussion channel you set the property @code{instrument}
-to @code{'drums}. Because the drum-pitches themself are similar to the
+blocks---one for the paper and one for the midi output.  To use the
+percussion channel you set the property @code{instrument} to
+@code{'drums}. Because the drum-pitches themself are similar to the
 general midi pitches all you have to do is to insert the voices with
 none of the scheme functions to get the correct midi output:
 
@@ -2600,11 +2600,7 @@ none of the scheme functions to get the correct midi output:
 
 @refbugs
 
-This scheme is to be considered a temporary implementation. Even
-though the scheme will probably keep on working then the future might
-bring some other way of typesetting drums, and probably
-there will be made no great efforts in keeping things downwards
-compatible.
+This scheme is to be considered a temporary implementation.
 
 
 @node Piano music
@@ -2675,8 +2671,8 @@ terminating too soon.
 
 @refbugs
 
-The staff switches often do not end up in optimal places, for high
-quality output, staff switches should be specified manually.
+The staff switches often do not end up in optimal places. For high
+quality output staff switches should be specified manually.
 
  
 
@@ -2700,23 +2696,29 @@ current voice from its current staff to the Staff called
 @subsection Pedals
 @cindex Pedals
 
-Piano pedal instruction can be expressed using 
+Pianos have pedals that alter the way sound are produced. Generally, a
+piano has three pedals, sustain, una corda, and sostenuto.
+
+@syntax
+
+Piano pedal instruction can be expressed by attaching
 @code{\sustainDown}, @code{\sustainUp}, @code{\unaCorda},
-@code{\treCorde}, @code{\sostenutoDown} and @code{\sostenutoUp}.
+@code{\treCorde}, @code{\sostenutoDown} and @code{\sostenutoUp} to a
+note or chord.
 
 The symbols that are printed can be modified by setting
 @code{pedal@var{X}Strings}, where @var{X} is one of the pedal types:
-Sustain, Sostenuto or UnaCorda.  Refer to the generated documentation of
-@internalsref{SustainPedal}, for example, for more information.
+Sustain, Sostenuto or UnaCorda.  Refer to the generated documentation
+of @internalsref{SustainPedal} for more information.
 
 Pedals can also be indicated by a sequence of brackets, by setting the 
-@code{pedal-type} property of SustainPedal objects: 
+@code{pedal-type} property of @internalsref{SustainPedal} objects: 
 
 @lilypond[fragment,verbatim]
 \property Staff.SustainPedal \override #'pedal-type = #'bracket
-c''4 \sustainDown d''4 e''4 a'4
-\sustainUp \sustainDown
- f'4 g'4 a'4 \sustainUp
+ c''4-\sustainDown d''4 e''4
+ a'4-\sustainUp-\sustainDown
+ f'4 g'4 a'4-\sustainUp
 @end lilypond
 
 A third style of pedal notation is a mixture of text and brackets,
@@ -2724,9 +2726,9 @@ obtained by setting @code{pedal-type} to @code{mixed}:
 
 @lilypond[fragment,verbatim]
 \property Staff.SustainPedal \override #'pedal-type = #'mixed
-c''4 \sustainDown d''4 e''4 c'4
-\sustainUp \sustainDown
- f'4 g'4 a'4 \sustainUp
+c''4-\sustainDown d''4 e''4
+c'4-\sustainUp-\sustainDown
+ f'4 g'4 a'4-\sustainUp
 @end lilypond
 
 The default '*Ped' style for sustain and damper pedals corresponds to
@@ -2734,7 +2736,7 @@ The default '*Ped' style for sustain and damper pedals corresponds to
 for a sostenuto pedal:
 
 @lilypond[fragment,verbatim]
-c''4 \sostenutoDown d''4 e''4 c'4 f'4 g'4 a'4 \sostenutoUp
+c''4-\sostenutoDown d''4 e''4 c'4 f'4 g'4 a'4-\sostenutoUp
 @end lilypond
 
 For fine-tuning of the appearance of a pedal bracket, the properties
@@ -2746,8 +2748,8 @@ may be extended to the end of the note head.
 @lilypond[fragment,verbatim]
 \property Staff.PianoPedalBracket \override
    #'shorten-pair = #'(0 . -1.0)
-c''4 \sostenutoDown d''4 e''4 c'4
-f'4 g'4 a'4 \sostenutoUp
+c''4-\sostenutoDown d''4 e''4 c'4
+f'4 g'4 a'4-\sostenutoUp
 @end lilypond
 
 @node Arpeggio
@@ -2767,21 +2769,21 @@ You can specify an arpeggio sign on a chord by attaching an
 
 When an arpeggio crosses staves in piano music, you attach an arpeggio
 to the chords in both staves, and set
-@code{PianoStaff.connectArpeggios}.
+@internalsref{PianoStaff}.@code{connectArpeggios}.
 
 @lilypond[fragment,relative,verbatim]
   \context PianoStaff <
     \property PianoStaff.connectArpeggios = ##t
     \context Voice = one  { <<c' e g c>>-\arpeggio }
-    \context Voice = other { \clef bass  <<c,, e g>>-\arpeggio}
-  >  
+    \context Voice = other { \clef bass  <<c,, e g>>-\arpeggio }
+  >
 @end lilypond
 
-This command creates @internalsref{Arpeggio} objects.  Cross staff arpeggios
-are @code{PianoStaff.Arpeggio}.
+This command creates @internalsref{Arpeggio} objects.  Cross staff
+arpeggios are @internalsref{PianoStaff}.@internalsref{Arpeggio}.
 
-To add an arrow head to explicitly specify the direction of the
-arpeggio, you should set the arpeggio object property
+The direction of the arpeggio is sometimes denoted by adding an
+arrowhead to the wiggly line.  This can be typeset by setting
 @code{arpeggio-direction}.
 
 @lilypond[fragment,relative,verbatim]
@@ -2800,26 +2802,23 @@ arpeggiate the chord. To draw these brackets, set the
 @code{\arpeggio} statements within the chords as before.
 
 @lilypond[fragment,relative,verbatim]
-  \context PianoStaff <
-    \property PianoStaff.connectArpeggios = ##t
     \property PianoStaff.Arpeggio \override
         #'molecule-callback = \arpeggioBracket
-    \context Voice = one  { <<c' e g c>>-\arpeggio }
-    \context Voice = other { \clef bass  <<c,, e g>>-\arpeggio }
-  >  
+       <<c' e g c>>-\arpeggio
 @end lilypond
 
 
 @refbugs
 
 It is not possible to mix connected arpeggios and unconnected
-arpeggios in one PianoStaff at the same time.
-
-
+arpeggios in one @internalsref{PianoStaff} at the same time.
 
 @node  Voice follower lines
 @subsection Voice follower lines
 
+
+[TODO: invent better name]
+
 @cindex follow voice
 @cindex staff switching
 @cindex cross staff
@@ -2838,7 +2837,7 @@ can be printed automatically. This is enabled if the property
       \translator Staff=two
       b2 a
     }
-    \context Staff=two {\clef bass \skip 1*2 }
+    \context Staff=two { \clef bass \skip 1*2 }
   >  
 @end lilypond
 
@@ -2897,10 +2896,20 @@ represent the minimum and maximum pitch.  Some publishers use a textual
 notation: they put the range in words in front of the corresponding
 staff.  Lilypond currently only supports the graphical ambitus notation.
 
-To apply, simply add the @internalsref{Ambitus_engraver} to the
-@internalsref{Voice} context, as shown in the below example:
+To apply, add the @internalsref{Ambitus_engraver} to the
+@internalsref{Voice} context, i.e.
 
-@lilypond[singleline,verbatim]
+@verbatim
+  \paper {
+    \translator {
+      \VoiceContext
+      \consists Ambitus_engraver
+    }
+  }
+@end verbatim
+
+The result will look like this.
+@lilypond[singleline]
 upper = \notes \relative c {
   \clef "treble"
   \key c \minor
@@ -2927,43 +2936,10 @@ lower = \notes \relative c {
 }
 @end lilypond
 
-The shape of the note heads to use can be changed via the
-@code{note-head-style} property, which holds the glyph name of the note
-head (see also @ref{Ancient note heads}).  The vertical line between the
-upper and lower head can be switched on or off via the @code{join-heads}
-property.  Example:
 
-@example
-\translator @{
-  \VoiceContext
-  \consists Ambitus_engraver
-  Ambitus \set #'note-head-style = #'noteheads-2mensural
-  Ambitus \set #'join-heads = ##f
-@}
-@end example
+@seealso
 
-By default, the ambitus grob is put before the clef.  You can control
-this behaviour through the @code{breakAlignOrder} property of the score
-context by redefining the order, e.g. with the following addition to the
-paper block:
-
-@example
-\translator @{
-  \ScoreContext
-  breakAlignOrder = #'(
-    instrument-name
-    left-edge
-    span-bar
-    breathing-sign
-    clef
-    ambitus
-    key-signature
-    staff-bar
-    time-signature
-    custos
-  )
-@}
-@end example
+@internalsref{Ambitus}, @inputfileref{input/regression/,ambitus.ly}.
 
 @node Tablatures
 @section Tablatures
@@ -2976,40 +2952,31 @@ offers limited support for tablature.
 @menu
 * Tablatures basic::            
 * Non-guitar tablatures::       
-* Tablature in addition to normal staff::  
 @end menu
 
 @node Tablatures basic
 @subsection Tablatures basic
 @cindex Tablatures basic
 
-Tablature can be typeset with Lilypond by using the
-@internalsref{TabStaff} and @internalsref{TabVoice} contexts. As
-tablature is a recent feature in Lilypond, most of the guitar special
-effects such as bend are not yet supported.
-
-With the @internalsref{TabStaff}, the string number associated to a note
-is given as a backslash followed by the string number, e.g. @code{c4\3} for a C
-quarter on the third string. By default, string 1 is the highest one, and the
-tuning defaults to the standard guitar tuning (with 6 strings).
+The string number associated to a note is given as a backslash
+followed by a number, e.g. @code{c4\3} for a C quarter on the third
+string. By default, string 1 is the highest one, and the tuning
+defaults to the standard guitar tuning (with 6 strings).  The notes
+are printed as tablature, by using @internalsref{TabStaff} and
+@internalsref{TabVoice} contexts.
 
 @lilypond[fragment,verbatim]
-  \context TabStaff <
-    \notes {
-      a,4\5 c'\2 a\3 e'\1
-      e\4 c'\2 a\3 e'\1
-    }
-  >  
+\notes \context TabStaff  {
+ a,4\5 c'\2 a\3 e'\1
+ e\4 c'\2 a\3 e'\1
+}
 @end lilypond
 
-If you do not specify a string number then lilypond automatically selects one.
-The selection is controlled by the translator property @code{minimumFret}. -- LilyPond
-simply selects the first string that does not give a fret number less than
-@code{minimumFret}. Default is 0.
+If you do not specify a string number then one is selected
+automatically: the first string that does not give a fret number less
+than @code{minimumFret} is selected. The default value for
+@code{minimumFret} is 0.
 
-Chords are not handled in a special way, and hence the automatic
-string selector may easily select the same string to two notes in a
-chord.
 
 @example
 e8 fis gis a b cis' dis' e'
@@ -3031,22 +2998,34 @@ frag = \notes {
 }
 @end lilypond
 
+@seealso
+
+@internalsref{TabStaff}, @internalsref{TabVoice}
+
+@refbugs
+
+Chords are not handled in a special way, and hence the automatic
+string selector may easily select the same string to two notes in a
+chord.
+
+
 @node Non-guitar tablatures
 @subsection Non-guitar tablatures
 @cindex Non-guitar tablatures
 
-There are many ways to customize Lilypond tablatures.
-
-First you can change the number of strings, by setting the number of
-lines in the @internalsref{TabStaff} (the @code{line-count} property
-of TabStaff can only be changed using @code{\outputproperty}, for more
-information, see @ref{Tuning per object}.  You can change the strings
-tuning. A string tuning is given as a Scheme list with one integer
-number for each string, the number being the pitch of an open string.
+ You can change the number of strings, by setting the number of lines
+in the @internalsref{TabStaff} (the @code{line-count} property of
+@internalsref{TabStaff} can only be changed using
+@code{\outputproperty}, for more information, see @ref{Tuning per
+object}.
 
-(The numbers specified for stringTuning are the numbers of semitons
-to subtract --- or add --- starting the specified pitch by default
-middle C, in string order: thus the notes are e, a, d & g)
+You can change the tuning of the strings. A string tuning is given as
+a Scheme list with one integer number for each string, the number
+being the pitch (measured in semitones relative to central C) of an
+open string.  The numbers specified for @code{stringTuning} are the
+numbers of semitones to subtract or add, starting the specified pitch
+by default middle C, in string order: thus the notes are e, a, d, and
+g.
 
 @lilypond[fragment,verbatim]
   \context TabStaff <
@@ -3062,48 +3041,16 @@ middle C, in string order: thus the notes are e, a, d & g)
 @end lilypond
 
 Finally, it is possible to change the Scheme function to format the
-tablature note text. The default is @var{fret-number-tablature-format},
-which uses the fret number, but for some instruments that may not use
-this notation, just create your own tablature-format function. This
-function takes three argument: the string number, the string tuning and
-the note pitch.
-
-
-@node Tablature in addition to normal staff
-@subsection Tablature in addition to normal staff
-@cindex Tablature in addition to normal staff
-
-It is possible to typeset both tablature and a "normal" staff, as
-commonly done in many parts.
+tablature note text. The default is
+@var{fret-number-tablature-format}, which uses the fret number. For
+some instruments that do not use this notation, you can create a
+special tablature formatting function. This function takes three
+argument: the string number, the string tuning and the note pitch.
 
-A common trick for that is to put the notes in a variables, and to hide
-the fingering information (which correspond to the string number) for
-the standard staff.
+@refbugs
 
-@c FIXME
-@c @lily pond[verbatim]
-@example
-  part = \notes @{
-    a,4-2 c'-5 a-4 e'-6
-    e-3 c'-5 a-4 e'-6
-  @}
-  \score @{
-    \context StaffGroup <
-      \context Staff <
-        % Hide fingering number
-        \property Staff.Fingering \override #'transparent = ##t
-
-        \part
-      >
-      \context TabStaff <
-        \property Staff.Stem \override #'direction = #1
-
-        \part
-      >
-    >
-  @}
-@end example
-@c @end lilypond
+As tablature is a recent feature, most of the guitar special effects
+such as bend are not yet supported.
 
 
 @node Chords
@@ -3130,7 +3077,7 @@ This example also shows that the chord printing routines do not try to
 be intelligent. If you enter @code{f bes d}, it does not interpret
 this as an inversion.
 
-As you can see chords really are a set of pitches. They are internally
+Chords are represented as a set of pitches. They are internally
 stored as simultaneous music expressions. This means you can enter
 chords by name and print them as notes, enter them as notes and print
 them as chord names, or (the most common case) enter them by name, and
@@ -3138,7 +3085,7 @@ print them as name.
 
 @menu
 * Chords mode::                 
-* Printing named chords::       
+* Printing chord names::       
 @end menu
 
 
@@ -3150,10 +3097,11 @@ Chord mode is a mode where you can input sets of pitches using common
 names.  It is introduced by the keyword @code{\chords}.
 In chords mode,  a  chord is entered by the root, which is entered
 like a common pitch, for example,
-@lilypond[fragment,verbatim,quote]
-  es4.  d8 c2
+@lilypond[fragment,verbatim,quote, relative=1]
+\chords { es4.  d8 c2 }
 @end lilypond
-is the notation for an E-flat major chord.
+is the notation for three chords: an E-flat major chord, a D major and
+a C major.
 
 @cindex chord entry
 @cindex chord mode
@@ -3197,16 +3145,18 @@ Modifiers can be used to change pitches. The following modifiers are
 supported
 @table @code
 @item m
-  Minor chord. Lowers the 3rd and (if present) the 7th step.
+  is the minor chord. This modifier lowers the 3rd and (if present) the 7th step.
 @item dim
-  Diminished chord. Lowers the 3rd, 5th and (if present) the 7th step
+  is the   diminished chord. This modifier lowers the 3rd, 5th and (if present)
+  the 7th step 
 @item aug
-  Augmented chord. Raises the 5th step.
+  is augmented chord. This modifier raises the 5th step.
 @item maj
-  Major 7th chord. Raises the 7th step, if present.  
+  is the major 7th chord. This modifier raises the 7th step if present.  
 @item sus
-  Suspended 4th or 2nd. This modifier removes the 3rd step. Append
-  either @code{2} or @code{4} to add the 2nd or 4th step to the chord.
+  is the suspended 4th or 2nd. This modifier removes the 3rd
+step. Append either @code{2} or @code{4} to add the 2nd or 4th step to
+the chord.
 @end table
 Modifiers can be mixed with additions. 
 @lilypond[verbatim,fragment]
@@ -3243,10 +3193,10 @@ add the note, then you can use @code{/+}@var{pitch}.
    \chords { c1 c/+g c/+f }
 @end lilypond 
 
-The chords mode is a mode similar to @code{\lyrics}, @code{\notes}
-etc.  Most of the commands continue to work, for example, @code{r} and
-@code{\skip} can be used to insert spaces, and @code{\property}  to
-change various settings.
+Chords is a mode similar to @code{\lyrics}, @code{\notes} etc.  Most
+of the commands continue to work, for example, @code{r} and
+@code{\skip} can be used to insert rests and spaces, and
+@code{\property} may be used to change various settings.
 
 
 
@@ -3264,12 +3214,8 @@ In chord mode, dashes and carets are used to indicate chord additions
 and subtractions, so articulation scripts can not be entered.
 
 
-
-
-
-
-@node Printing named chords
-@subsection Printing named chords
+@node Printing chord names
+@subsection Printing chord names
 
 @cindex printing chord names
 @cindex chord names
@@ -3292,9 +3238,9 @@ scheme = \notes {
 @end lilypond
 
 You can make the chord changes stand out by setting
-@code{ChordNames.chordChanges} to true.  This will only display chord
-names when there is a change in the chords scheme and at the start of a
-new line.
+@internalsref{ChordNames}.@code{chordChanges} to true.  This will only
+display chord names when there is a change in the chords scheme and at
+the start of a new line.
 
 @lilypond[verbatim]
 scheme = \chords {
@@ -3311,26 +3257,6 @@ scheme = \chords {
 }
 @end lilypond
 
-LilyPond examines chords specified as lists of notes to determine a name
-to give the chord. LilyPond will not try to identify chord inversions or
-an added bass note, which may result in strange chord names when chords
-are entered as a list of pitches:
-
-@lilypond[verbatim,center,singleline]
-scheme = \notes {
-  <<c' e' g'>>1
-  <<e' g' c''>>
-  <<e e' g' c''>>
-}
-
-\score {
-  <
-    \context ChordNames \scheme
-    \context Staff \scheme
-  >
-}
-@end lilypond
-
 The default chord name layout is a system for Jazz music, proposed by
 Klaus Ignatzek (See @ref{Literature}).
 
@@ -3348,7 +3274,7 @@ chExceptions = #(append
   (sequential-music-to-chord-exceptions chExceptionMusic)
   ignatzekExceptions)
 
-\score {   \context ChordNames
+\score { \context ChordNames
     \chords {
       c:7sus4 c:dim7
       \property ChordNames.chordNameExceptions = #chExceptions
@@ -3359,9 +3285,9 @@ Putting the exceptions list encoded as
 @example
  \notes @{ <<c f g bes>>1-\markup @{ \super "7" "wahh" @} @}
 @end example
-into the property takes a little manoeuvring. The following code
-transforms  @code{chExceptionMusic} (which is a sequential music)
-into a list of exceptions.
+into @code{chordNameExceptions} takes a little manoeuvring. The
+following code transforms @code{chExceptionMusic} (which is a
+sequential music) into a list of exceptions.
 @example
   (sequential-music-to-chord-exceptions chExceptionMusic)
 @end example
@@ -3376,13 +3302,8 @@ adds the new exceptions to the default ones, which are defined in
 @item majorSevenSymbol
 This property contains the markup object used for the 7th step, when
 it is major. Predefined options are @code{whiteTriangleMarkup},
-@code{blackTriangleMarkup}. The following uses another popular shorthand. 
-@lilypond[fragment,verbatim]
-\context ChordNames \chords {
-      c:7
-      \property ChordNames.majorSevenSymbol = \markup { "j7" }
-      c:7 } 
-@end lilypond
+@code{blackTriangleMarkup}.
+
 @item chordNameSeparator
 Different parts of a chord name are normally separated by a
 slash. By setting @code{chordNameSeparator}, you can specify other
@@ -3396,6 +3317,19 @@ separators, e.g.
 @end table
 
 
+@seealso
+
+@inputfileref{input/regression/,chord-name-major7.ly},
+@file{scm/chords-ignatzek.scm}, @file{scm/chord-entry.scm}.
+
+
+@refbugs
+
+Chord names are determined solely from the list of pitches. Chord
+inversions are not identified, and neither are added bass notes. This
+may result in strange chord names when chords are entered with the
+@code{<< .. >>} syntax.
+
 
 
 
index 1fd50ff06f33759436a2c97eb5d6b5f9a67c64d7..a19e08ec8f2737c3171ab4d85144c256aa694ffb 100644 (file)
@@ -1,5 +1,46 @@
 \header {
-    texidoc = "Ambituses indicate pitch ranges for voices."
+    texidoc = "Ambituses indicate pitch ranges for voices.
+
+By default, the ambitus grob is put before the clef.  You can control
+this behaviour through the @code{breakAlignOrder} property of the score
+context by redefining the order, e.g. with the following addition to the
+paper block:
+
+@example
+\translator @{
+  \ScoreContext
+  breakAlignOrder = #'(
+    instrument-name
+    left-edge
+    span-bar
+    breathing-sign
+    clef
+    ambitus
+    key-signature
+    staff-bar
+    time-signature
+    custos
+  )
+@}
+@end example
+
+The shape of the note heads to use can be changed via the
+@code{note-head-style} property, which holds the glyph name of the note
+head (see also @ref{Ancient note heads}).  The vertical line between the
+upper and lower head can be switched on or off via the @code{join-heads}
+property.  Example:
+
+@example
+\translator @{
+  \VoiceContext
+  \consists Ambitus_engraver
+  Ambitus \set #'note-head-style = #'noteheads-2mensural
+  Ambitus \set #'join-heads = ##f
+@}
+@end example
+
+
+"
 }
 
 \version "1.7.16"
diff --git a/input/regression/chord-name-entry-11.ly b/input/regression/chord-name-entry-11.ly
new file mode 100644 (file)
index 0000000..e4623f6
--- /dev/null
@@ -0,0 +1,14 @@
+\version "1.7.16" 
+
+\header {
+
+    texidoc = "The 11 is only added to natural-3 if it
+ is mentioned explicitly."
+
+}
+
+\score {
+      \chords { c:13 c:13.11 c:m13 }
+      \paper { raggedright = ##t } 
+}
+    
diff --git a/input/regression/chord-name-major7.ly b/input/regression/chord-name-major7.ly
new file mode 100644 (file)
index 0000000..cbe0d0a
--- /dev/null
@@ -0,0 +1,11 @@
+\version "1.7.16"
+\header {
+    texidoc = "The layout of the major 7 can be tuned with
+@code{majorSevenSymbol}."
+}
+
+\score {\context ChordNames \chords {
+      c:7+
+      \property ChordNames.majorSevenSymbol = \markup { "j7" }
+      c:7+ }
+}
index 7c9bbfe8398faa0430e2f66dfd69aec63b2995f2..3475ab122c2ec9e05b15a2f593f814633faa2eae 100644 (file)
@@ -70,7 +70,7 @@ Entry point for the parser.
       (cond
        ((null? mods) chord)
        ((ly:pitch? (car mods))
-       (if (= (ly:pitch-steps (car mods)) 11)
+       (if (= (pitch-step (car mods)) 11)
            (set! explicit-11 #t))
        (interpret-additions
         (cons (car mods) (remove-step (pitch-step (car mods)) chord))
@@ -157,7 +157,7 @@ the bass specified.
        
        (begin
          (if (=  (pitch-step (car flat-mods)) 11)
-             (set! explicit-11  #t))
+             (set! explicit-11 #t))
          (set! base-chord
                (stack-thirds (car flat-mods) the-canonical-chord))
          (set! flat-mods (cdr flat-mods))
@@ -186,8 +186,10 @@ the bass specified.
             (= 0 (ly:pitch-alteration (get-step 11 complete-chord)))
             (= 0 (ly:pitch-alteration (get-step 3 complete-chord)))
             )
-            
-       (set! complete-chord (remove-step 11  complete-chord))
+       (begin
+         (set! complete-chord (remove-step 11  complete-chord))
+         )
+         
        )
 
     (if inversion