]> git.donarmstrong.com Git - lilypond.git/commitdiff
patch::: 1.3.121.jcn1
authorJan Nieuwenhuizen <janneke@gnu.org>
Mon, 8 Jan 2001 16:12:35 +0000 (17:12 +0100)
committerJan Nieuwenhuizen <janneke@gnu.org>
Mon, 8 Jan 2001 16:12:35 +0000 (17:12 +0100)
1.3.121.jcn1
============

* Updated doco for autobeam, chords.

* Renamed property drarnChords to chordChanges.

* Bugfix: --srcdir build.

* Bugfix: (math) font selection for jazz chords.

1.3.121
============

20 files changed:
CHANGES
Documentation/user/features.tely
Documentation/user/refman.itely
VERSION
aclocal.m4
buildscripts/walk.sh
input/bugs/chord-changes.ly [new file with mode: 0644]
input/test/american-chords.ly
input/test/chord-changes.ly [new file with mode: 0644]
input/test/drarn-chords.ly
input/test/jazz-chords.ly
input/test/note-chords.ly [new file with mode: 0644]
lily/chord-name-engraver.cc
lily/system-start-delimiter.cc
scm/chord-name.scm
scm/grob-description.scm
scm/grob-property-description.scm
scm/interface-description.scm
scripts/convert-ly.py
stepmake/aclocal.m4

diff --git a/CHANGES b/CHANGES
index e155a1b719a8d7aa3213b62715e2096c1556d1a0..f8477c1b1d1c041b7fe7d4d033eba310859bef7e 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,17 @@
+1.3.121.jcn1
+============
+
+* Updated doco for autobeam, chords.
+
+* Renamed property drarnChords to chordChanges.
+
+* Bugfix: --srcdir build.
+
+* Bugfix: (math) font selection for jazz chords.
+
+1.3.121
+============
+
 
 1.3.120.jcn1
 ============
@@ -1329,7 +1343,7 @@ syntax is most likely only temporary.
    when there's a change in the chord-name-scheme, Also, a chord
    name should always be displayed after a line break.  See
 
-       input/test/drarn-chords.ly
+       input/test/chord-changes.ly
 
 * Reverted duration-iter change in midi2ly, moved printing of options.
 
index 7f7c93955334cd1effd09fcf9218417662983bd1..118ed956a253477e828368d6be14001879df7cd0 100644 (file)
@@ -7,8 +7,22 @@ TODO
   * add more un/badly documented features
   * write some text
   * add to/merge with refman
+
+
+  
+  there's a very simple, very general noXXX mechanism; try
+
+noop   \property Staff.VoltaBrace = #'()
+yes: \property Staff.VoltaBracket = #'((meta .  ((interfaces . ()))))
+
+
+  visibility?
+  brew_molecule?
 @end ignore
 
+
+
+
 @node Top
 @chapter Features
 
index 63d75f23dc2190a02986bf8b3d55e6e0cae8b9a5..65ef03d061294751f7e70af0bc9882e7ec25b501 100644 (file)
@@ -29,7 +29,8 @@
 * transpose::                      transpose
 * Ambiguities::                    Ambiguities
 * Notation conversion specifics::  Notation conversion specifics
-* autobeam::                       autobeam
+* Automatic Beaming::              Automatic Beaming
+* Chord Names::                    Chord Names
 * lyricprint::                     lyricprint
 * Notation Contexts::              Notation Contexts
 * Properties::                     Changing formatting
@@ -935,7 +936,7 @@ Some more elaborate constructions:
   \times 2/3 { [e'8 f' g'] }
 @end lilypond
 
-Beaming can be generated automatically; see section @ref{autobeam}.
+Beaming can be generated automatically; see section @ref{Automatic Beaming}.
 
 
 To place tremolo marks between notes, use @code{\repeat} with tremolo
@@ -1816,97 +1817,266 @@ foo = -6
 @section Notation conversion specifics
 
 
-
+@node Automatic Beaming, , ,  Reference Manual
 @cindex automatic beam generation
+@cindex autobeam
 
-@node autobeam, , ,  Reference Manual
-
-[FIXME: UPDATEME]
+@c beamAuto vs autoBeam ?
 
 By default, LilyPond will generate beams automatically.  This feature
 can be disabled by setting the
-@code{Voice.noAutoBeaming}@indexcode{Voice.noAutoBeaming} property to 1.
+@code{Voice.beamAuto}@indexcode{Voice.beamAuto} property to @code{#f}.
 It can be overridden for specific cases by specifying explicit beams.
 
+
 A large number of Voice properties are used to decide how to generate
-beams.  Their default values appear in @file{auto-beam-settings.ly}.  In
+beams.  Their default values appear in @file{scm/auto-beam.scm}.  In
 general, beams can begin anywhere, but their ending location is
 significant.  Beams can end on a beat, or at durations specified by the
-@code{Voice.beamAutoEnd}@indexcode{Voice.beamAutoEnd} property.  To end
-beams every quarter note, for example, you could set
-@code{Voice.beamAutoEnd}@indexcode{Voice.beamAutoEnd} equal to
-`@code{"1/4"}'.  To end beams at every three eighth notes you would set
-it to `@code{"3/8"}'.  The same syntax can be used to specify beam
+properties in
+@code{Voice.autoBeamSettings}@indexcode{Voice.autoBeamSettings}.
+To end beams every quarter note, for example, you could set the property
+@code{(end * * * *)} @indexcode{(end * * * *)} to `@code{(make-moment 1
+4)}'.  To end beams at every three eighth notes you would set
+it to `@code{(make-moment 1 8)}'.
+The same syntax can be used to specify beam
 starting points using
-@code{Voice.beamAutoBegin}@indexcode{Voice.beamAutoBegin}.
+@code{(begin * * * *)}@indexcode{(begin * * * *)}, eg:
+@quotation
+@example
+\property Voice.autoBeamSettings \override
+    #'(end * * * *) = #(make-moment 1 4)
+\property Voice.autoBeamSettings \override
+    #'(begin * * * *) = #(make-moment 1 8)
+@end example
+@end quotation
 
-To allow different settings for different time signatures, these
-property names can start with `@code{time}@var{N}@code{_}@var{M}' to
-restrict the definition to `@var{N}@code{/}@var{M}' time.  For example,
-to specify beams ending only for 6/8 time you would use the property
-@code{Voice.time6_8beamAutoEnd}.  To allow different endings for notes
-of different durations, the duration can be tacked onto the end of the
-property.  To specify beam endings for beams that contain 32nd notes,
-you would use @code{Voice.beamAutoEnd_32}.
+To allow different settings for different time signatures, instead of
+the first two asterisks @code{* *} you can specify a time signature; use
+@code{(end N M * *)} to restrict the definition to
+`@var{N}@code{/}@var{M}' time.  For example, to specify beams ending
+only for 6/8 time you would use the property @code{(end 6 8 * *)}.
 
+To allow different endings for notes of different durations, instead of
+th last two asterisks you can specify a duration; use @code{(end * * N
+M)} to restrict the definition to beams that contain notes of
+`@var{N}@code{/}@var{M}' duration.
 
+For example, to specify beam endings for beams that contain 32nd notes,
+you would use @code{(end * * 1 32)}.
 
-@cindex chord names
 
+@node Chord Names, , ,  Reference Manual
+@cindex chord names
 @cindex chords
 
 @cindex printing!chord names
 
-For displaying printed chord names, use the @code{ChordNames}@indexcode{ChordNames}
-and @code{ChordNameVoice}@indexcode{ChordNameVoice} contexts.  The chords may be entered
-either using the notation described above, or directly using
-simultaneous music.
+For displaying printed chord names, use the
+@code{ChordNames}@indexcode{ChordNames} and
+@code{ChordNameVoice}@indexcode{ChordNameVoice} contexts.  The chords
+may be entered either using the notation described above, or directly
+using simultaneous music.
 
 @quotation
+@lilypond[verbatim]
+scheme = \notes {
+  \chords {a1 b c} <d f g>  <e g b>
+}
+\score {
+  \notes<
+    \context ChordNamesVoice \scheme
+    \context Staff \transpose c'' \scheme
+  >
+  \paper { linewidth = -1.; }
+}
+@end lilypond
+@end quotation
 
-@lilypond[fragment,verbatim]
-<
-  \context ChordNames {
-    \chords{a b c} \notes{<d f g>  <e g b>}
-  }
-  \context Staff \notes {
-    a b c' d' e'
-  }
->
 
+You can make the chord changes stand out more by setting property
+@code{ChordNames.chordChanges} to @code{#t}.  This will only display
+chord names when there's a change in the chords scheme, but always
+display the chord name after a line break:
+
+@c bug
+@quotation
+@lilypond[verbatim]
+scheme = \chords {
+%  \property ChordNames.chordChanges = ##t
+  c1:m \break c:m c:m c:m d
+}
+
+\score {
+  \notes <
+    \context ChordNamesVoice \scheme
+    \context Staff \transpose c'' \scheme
+  >
+  \paper{
+    linewidth = 40 * \staffspace;
+  }
+}
 @end lilypond
 @end quotation
 
+
+
 LilyPond examines chords specified as lists of notes to determine a
-name to give the chord.  By default, LilyPond will not try to
-identify chord inversions:
+name to give the chord. LilyPond will not try to
+identify chord inversions or added base, which may result in strange
+chord names when chords are entered as a list of pitches:
 
-@lilypond[fragment,verbatim,center]
+@quotation
+@lilypond[verbatim,center]
+scheme = \notes {
+  <c'1 e' g'>
+  <e' g' c''>
+  <e e' g' c''>
+}
+
+\score {
   <
-    \context ChordNameVoice \notes {
-      <e'1 g' c''>
-    }
-    \context Thread \notes {
-      <e'1 g' c''>
-    }
+    \context ChordNamesVoice \scheme
+    \context Staff \scheme
+  >
+  \paper { linewidth = -1.; }
+}
+@end lilypond
+@end quotation
+
+To specify chord inversions, append @code{/<notename>}.  To specify an
+added bass note, append @code{/+<notename}:
+
+@quotation
+@lilypond[verbatim,center]
+scheme = \chords {
+  d1 d/a d/+gis
+}
+
+\score {
+  \notes <
+    \context ChordNames \scheme
+    \context Staff \transpose c'' \scheme
   >
+  \paper { linewidth = -1.; }
+}
 @end lilypond
+@end quotation
 
-If you want inversions to be recognized, you must set the property
-@code{ChordNames.chordInversion}@indexcode{ChordNames.chordInversion}:
+The chord names that LilyPond should print are fully customisable.  The
+default code can be found in @file{scm/chord-name.scm}.  Chord names are
+based on Banter style naming, which is unambiguous and has a logical
+structure.  Typical American style chord names are implemented as a
+variation on Banter names, they can be selected by setting poperty
+@code{ChordName.style} to @code{american}:
 
-@lilypond[fragment,verbatim,center]
-  <
-    \property Score.chordInversion = ##t
-    \context ChordNameVoice \notes {
-      <e'1 g' c''>
-    }
-    \context Thread \notes {
-      <e'1 g' c''>
-    }
+@quotation
+@lilypond[verbatim]
+\include "english.ly"
+
+scheme = \chords {
+  c         % Major triad
+  cs:m      % Minor triad
+  df:m5-    % Diminished triad
+  c:5^3     % Root-fifth chord
+  c:4^3     % Suspended fourth triad
+  c:5+      % Augmented triad
+  c:2^3     % "2" chord
+  c:m5-.7-  % Diminished seventh
+  c:7+      % Major seventh
+  c:7.4^3   % Dominant seventh suspended fourth
+  c:5+.7    % Augmented dominant seventh
+  c:m5-.7   % "Half" diminished seventh
+  c:5-.7    % Dominant seventh flat fifth
+  c:5-.7+   % Major seventh flat fifth
+  c:m7+     % Minor-major seventh
+  c:m7      % Minor seventh
+  c:7       % Dominant seventh
+  c:6       % Major sixth
+  c:m6      % Minor sixth
+  c:9^7     % Major triad w/added ninth
+  c:6.9^7   % Six/Nine chord
+  c:9       % Dominant ninth 
+  c:7+.9    % Major ninth
+  c:m7.9    % Minor ninth
+}
+
+\score {
+  \notes <
+    \context ChordNames \scheme
+    \context Staff \transpose c'' \scheme
   >
+  \paper {
+    \translator { 
+      \ChordNamesContext
+      ChordName \override #'word-space = #1 
+      ChordName \override #'style = #'american
+    }
+  }
+}
 @end lilypond
+@end quotation
 
+Similarly, Jazz style chord names are implemented as a variation on
+American style names:
+@quotation
+@lilypond[verbatim]
+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
+}
+
+\score {
+  \notes <
+    \context ChordNames \scheme
+    \context Staff \transpose c'' \scheme
+  >
+  \paper {
+    \translator { 
+      \ChordNamesContext
+      ChordName \override #'word-space = #1 
+      ChordName \override #'style = #'jazz
+    }
+  }
+}
+@end lilypond
+@end quotation
 
 
 @cindex lyrics
@@ -1923,7 +2093,6 @@ Lyric syllables must be interpreted within a @code{Lyrics} context
 Here is a full example: 
 
 @quotation
-
 @lilypond[verbatim]
 \score {
   <
diff --git a/VERSION b/VERSION
index 1f72a9ba7bff60f9b9ea7fab32fba259004ebc89..61b3ce31f505e676bc950232690006f487801431 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=3
 PATCH_LEVEL=121
-MY_PATCH_LEVEL=
+MY_PATCH_LEVEL=jcn1
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
index 110ee942eb7e9e15ac729179c2c96c8a70a89834..1a095357e64a53fd58aef1b4fc1b3fe4ca16f08d 100644 (file)
@@ -1,31 +1,6 @@
 dnl aclocal.m4   -*-shell-script-*-
 dnl StepMake subroutines for configure.in
 
-function base ()
-{
-    expr "$1" : "\(/[^/]*\)"
-}
-
-function unbase ()
-{
-    expr "$1" : "/[^/]*\(.*\)"
-}
-
-function walk ()
-{
-    from=`(cd "$1" && pwd)`
-    to=`pwd`
-    t=`base "$to"`
-    f=`base "$from"`
-    while [ -n "$t" -a "$t" = "$f" ]; do
-       to=`unbase "$to"`
-       from=`unbase "$from"`
-       t=`base "$to"`
-       f=`base "$from"`
-    done
-    echo ..$to
-}
-
 AC_DEFUN(AC_STEPMAKE_BIBTEX2HTML, [
     AC_CHECK_PROGS(BIBTEX2HTML, bibtex2html bib2html, error)
     if test "$BIBTEX2HTML" = "bib2html"; then
index 41d24b0319dc35b09c49311504ccb4b3fcb4cb7f..a1ffd5c1d90913dd6322236d7b9e531c93d407dd 100644 (file)
@@ -15,8 +15,11 @@ function unbase ()
 
 function walk ()
 {
-    from=`(cd "$1" && pwd)`
-    to=`pwd`
+    if expr "$1" : '/' > /dev/null 2>&1; then
+       c=../
+    fi
+    from=`(cd "$1" && pwd) | sed 's://*:/:g'`
+    to=`pwd | sed 's://*:/:g'`
     t=`base "$to"`
     f=`base "$from"`
     while [ -n "$t" -a "$t" = "$f" ]; do
@@ -25,10 +28,8 @@ function walk ()
        t=`base "$to"`
        f=`base "$from"`
     done
-    i=`echo $from | sed -e 's/[^/]\+/../g'`
-    if expr "$from" : '/' > /dev/null 2>&1; then
-       c=..
-    fi
+    i=`echo $from | sed -e 's:[^/]\+:..:g'`
+    i=`echo $i | sed -e 's:/[.][.]:..:'`
     echo $c$i$to
 }
 
diff --git a/input/bugs/chord-changes.ly b/input/bugs/chord-changes.ly
new file mode 100644 (file)
index 0000000..55f2d1d
--- /dev/null
@@ -0,0 +1,21 @@
+\header{
+texidoc="property chordChanges: only display chord names when
+there's a change in the chords scheme, but always display the
+chord name after a line break.
+";
+}
+
+scheme = \chords {
+  \property ChordNames.chordChanges = ##t
+  c1:m \break c:m c:m c:m d
+}
+
+\score {
+  \notes <
+    \context ChordNamesVoice \scheme
+    \context Staff \transpose c'' \scheme
+  >
+  \paper{
+    linewidth = 40 * \staffspace;
+  }
+}
index 82ad35fd2c21e9c8556fc9a592e540e13ee4108f..97a6bb6ca4500784d1eeab097a31422a65dcad69 100644 (file)
        )
       chord::names-alist-american))
 
-chord =  \notes\transpose c''\chords{
-       \property ChordNames.ChordName \override #'style = #'american
-c         % Major triad
-cs:m      % Minor triad
-df:m5-    % Diminished triad
-c:5^3     % Root-fifth chord
-c:4^3     % Suspended fourth triad
-c:5+      % Augmented triad
-c:2^3     % "2" chord
-c:m5-.7-  % Diminished seventh
-c:7+      % Major seventh
-c:7.4^3   % Dominant seventh suspended fourth
-c:5+.7    % Augmented dominant seventh
-c:m5-.7   % "Half" diminished seventh
-c:5-.7    % Dominant seventh flat fifth
-c:5-.7+   % Major seventh flat fifth
-c:m7+     % Minor-major seventh
-c:m7      % Minor seventh
-c:7       % Dominant seventh
-c:6       % Major sixth
-c:m6      % Minor sixth
-c:9^7     % Major triad w/added ninth
-c:6.9^7   % Six/Nine chord
-c:9       % Dominant ninth 
-c:7+.9    % Major ninth
-c:m7.9    % Minor ninth
+scheme = \chords {
+  c         % Major triad
+  cs:m      % Minor triad
+  df:m5-    % Diminished triad
+  c:5^3     % Root-fifth chord
+  c:4^3     % Suspended fourth triad
+  c:5+      % Augmented triad
+  c:2^3     % "2" chord
+  c:m5-.7-  % Diminished seventh
+  c:7+      % Major seventh
+  c:7.4^3   % Dominant seventh suspended fourth
+  c:5+.7    % Augmented dominant seventh
+  c:m5-.7   % "Half" diminished seventh
+  c:5-.7    % Dominant seventh flat fifth
+  c:5-.7+   % Major seventh flat fifth
+  c:m7+     % Minor-major seventh
+  c:m7      % Minor seventh
+  c:7       % Dominant seventh
+  c:6       % Major sixth
+  c:m6      % Minor sixth
+  c:9^7     % Major triad w/added ninth
+  c:6.9^7   % Six/Nine chord
+  c:9       % Dominant ninth 
+  c:7+.9    % Major ninth
+  c:m7.9    % Minor ninth
 }
 
-\score{
-<
-\context ChordNames \chord
-\context Staff \chord
->
-    \paper
-    {
-               \translator { 
-                       \ChordNamesContext
-                       ChordName \override #'word-space = #1 
-               }
+\score {
+  \notes <
+    \context ChordNames \scheme
+    \context Staff \transpose c'' \scheme
+  >
+  \paper {
+    \translator { 
+      \ChordNamesContext
+      ChordName \override #'word-space = #1 
+      ChordName \override #'style = #'american
     }
+  }
 }
diff --git a/input/test/chord-changes.ly b/input/test/chord-changes.ly
new file mode 100644 (file)
index 0000000..2ac2cc2
--- /dev/null
@@ -0,0 +1,21 @@
+\header{
+texidoc="property chordChanges: only display chord names when
+there's a change in the chords scheme, but always display the
+chord name after a line break.
+";
+}
+
+scheme = \chords {
+%  \property ChordNames.chordChanges = ##t
+  c1:m \break c:m c:m c:m d
+}
+
+\score {
+  \notes <
+    \context ChordNamesVoice \scheme
+    \context Staff \transpose c'' \scheme
+  >
+  \paper{
+    linewidth = 40 * \staffspace;
+  }
+}
index 6acba0eaaf9c3f98bd03edf7457af293e709ce3c..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1,37 +0,0 @@
-\version "1.3.120";
-
-%{
-Would this be acceptable/good enough/convenient for entry?
-
-   Convention/Standard    Lily
-   
-   C#                     cis
-   Cb                     ces
-   Cm; Cmin               c:3-; c:m; c:min
-   Caug                   c:5+; c:aug;
-   Cdim                   c:3-.5-; c:dim
-   Cmaj7                  c:7+; c:maj
-   C7                     c:7
-   Csus; Csus4            c:4; c:sus
-
-%}
-
-scales =  \notes \transpose c'' \chords{
-       \property ChordNames.drarnChords=##t
-               %c1:m \break c1:m
-               c1:m c1:m
-}
-
-%\include "paper-as9.ly";
-\score{
-       <
-               \context ChordNames \scales
-               \context Staff \scales
-       >
-       \paper{
-%              \paperAs_nine
-               \translator {
-                       \ChordNamesContext
-                       }
-       }
-}
index fefa24587aa9e3202af9a8800cb46cbfd3c1c4a0..3eb5a6563939ce344ab5c40378bd6f898a545645 100644 (file)
 %   cp locate `msam9.tfm` LILYPONDPREFIXxtfm
 %
 
-chord =  \notes\transpose c''\chords{
-\property ChordNames.ChordName \override #'style = #'jazz
-% 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
+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
+  % 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)
+  % 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
+  % 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
 }
 
-\score{
-<
-\context ChordNames \chord
-\context Staff \chord
->
-    \paper
-    {
-        \translator { \ChordNamesContext ChordName \override #'word-space = #1 }
-%        \translator { \LyricsContext textScriptWordSpace = #0.3 }
+\score {
+  \notes <
+    \context ChordNames \scheme
+    \context Staff \transpose c'' \scheme
+  >
+  \paper {
+    \translator { 
+      \ChordNamesContext
+      ChordName \override #'word-space = #1 
+      ChordName \override #'style = #'jazz
     }
+  }
 }
diff --git a/input/test/note-chords.ly b/input/test/note-chords.ly
new file mode 100644 (file)
index 0000000..2b6cfe9
--- /dev/null
@@ -0,0 +1,13 @@
+scheme = \notes {
+  <c'1 e' g'>
+  <e' g' c''>
+  <e e' g' c''>
+}
+
+\score {
+  <
+    \context ChordNamesVoice \scheme
+    \context Staff \scheme
+  >
+  \paper { linewidth = -1.; }
+}
index a8143f1845fd267b6d04a2411a05bbcf7179db7a..a3541404a3c049e7a2cf2290b969fa83f6ac4344 100644 (file)
@@ -45,7 +45,7 @@ Chord_name_engraver::Chord_name_engraver ()
 {
   chord_name_p_ = 0;
   chord_ = gh_cons (SCM_EOL, gh_cons (SCM_EOL, SCM_EOL));
-  last_chord_ = gh_cons (SCM_EOL, gh_cons (SCM_EOL, SCM_EOL));
+  last_chord_ = SCM_EOL;
 }
 
 void
@@ -92,9 +92,19 @@ Chord_name_engraver::create_grobs ()
       chord_name_p_ = new Item (get_property ("ChordName"));
       chord_name_p_->set_grob_property ("chord", chord_);
       announce_grob (chord_name_p_, 0);
-      SCM s = get_property ("drarnChords"); //FIXME!
-      if (to_boolean (s) && last_chord_ != SCM_EOL &&
-         gh_equal_p (chord_, last_chord_))
+      SCM s = get_property ("chordChanges");
+#ifdef DEBUG
+      /*
+       gdb crashes upon printscm (chord_) etc...
+       ugh: why does gh_equal_p () not seem to work??
+       */
+      printf ("chord: %s\n",  ly_scm2string (ly_write2scm (chord_)).ch_C ());
+      printf ("last_chord: %s\n", ly_scm2string (ly_write2scm (last_chord_)).ch_C ());
+      int i = gh_equal_p (chord_, last_chord_);
+      printf ("i: %d\n", i);
+#endif
+      if (to_boolean (s) && last_chord_ != SCM_EOL
+         && gh_equal_p (chord_, last_chord_))
        chord_name_p_->set_grob_property ("begin-of-line-visible", SCM_BOOL_T);
     }
 }
index ebbdab9a96efce4f33f79d811a68aebe88376831..55af3b8196f2441afa58017df2ee8522128533c8 100644 (file)
@@ -26,7 +26,6 @@ System_start_delimiter::staff_bracket (Grob*me,Real height)
                    me->get_grob_property ("arch-angle"),
                    me->get_grob_property ("arch-width"),
                    gh_double2scm (arc_height),
-                   me->get_grob_property ("bracket-width"),
                    gh_double2scm (height),
                    me->get_grob_property ("arch-thick"),
                    me->get_grob_property ("bracket-thick"),
index 49604d17bbfaf11fed3f89deab0d33b86ab9693c..eac4cd26595e9cd3aa803f1c39923eadfcb8cd31 100644 (file)
        ; major sixth chord = 6
        (((0 . 0) (2 . 0) (4 . 0) (5 . 0)) . (((raise . 0.5) "6")))
        ; major seventh chord = triangle
-       (((0 . 0) (2 . 0) (4 . 0) (6 . 0)) .  (((raise . 0.5)((font-family . "math") "M"))))
+       ;; shouldn't this be a filled black triange, like this:  ? --jcn
+       ;; (((0 . 0) (2 . 0) (4 . 0) (6 . 0)) .  (((raise . 0.5)((font-family . math) "N"))))
+       (((0 . 0) (2 . 0) (4 . 0) (6 . 0)) .  (((raise . 0.5)((font-family . math) "M"))))
        ; major chord add nine = add9
        (((0 . 0) (2 . 0) (4 . 0) (1 . 0)) . (((raise . 0.5) "add9")))
        ; major sixth chord with nine = 6/9
        ;; minor chords
        ; minor sixth chord = m6
        (((0 . 0) (2 . -1) (4 . 0) (5 . 0)) . (rows("m")((raise . 0.5) "6")))
-       ; minor major seventh chord = m triangle
-       (((0 . 0) (2 . -1) (4 . 0) (6 . 0)) . (rows ("m") ((raise . 0.5)((font-family . "math") "M"))))
+       ;; minor major seventh chord = m triangle
+       ;; shouldn't this be a filled black triange, like this:  ? --jcn
+       ;;(((0 . 0) (2 . -1) (4 . 0) (6 . 0)) . (rows ("m") ((raise . 0.5)((font-family . math) "N"))))
+       (((0 . 0) (2 . -1) (4 . 0) (6 . 0)) . (rows ("m") ((raise . 0.5)((font-family . math) "M"))))
        ; minor seventh chord = m7
        (((0 . 0) (2 . -1) (4 . 0) (6 . -1)) . (rows("m")((raise . 0.5) "7")))
        ; minor sixth nine chord = m6/9
index 2f3a0d5f003620ec92c835d5f6edb06998e7d74f..3529f7bf1fd6c0a0a21373f52f22a8085284b1d8 100644 (file)
                (glyph . bar-line)
                (arch-width . 1.5)
                (bracket-thick . 0.25)
-               (bracket-width . 2.0)
                (Y-extent-callback . #f)
                (font-family . braces)
                ;; if you want to set point-size, you cannot set
index 9d760daae4b12a7316223b25d6938a17000fb3ef..be23bed0837f401f1830ebbf99c11b322e9d59e1 100644 (file)
@@ -55,6 +55,7 @@ In the case of alignment grobs, this should contain only one number.")
 (grob-property-description 'beam-thickness number? "thickness, measured in staffspace")
 (grob-property-description 'beam-thickness number? "thickness, measured in staffspace")
 (grob-property-description 'beam-width number? "width of the tremolo sign")
+(grob-property-description 'beamAuto boolean? "enable autobeaming?")
 (grob-property-description 'beamed-lengths list? "list of stem lengths given beam multiplicity ")
 (grob-property-description 'beamed-minimum-lengths list? "list of minimum stem lengths given beam multiplicity")
 (grob-property-description 'beamed-stem-shorten number? "shorten beamed stems in forced direction")
@@ -80,7 +81,7 @@ column as start/begin point. Only columns that have grobs or act as bounds are s
 (grob-property-description 'center-element ly-grob? "grob which will
 be at the center of the group after aligning (when using
 Align_interface::center_on_element). ")
-
+(grob-property-description 'chordChanges boolean? "only show changes in chord scheme?")
 (grob-property-description 'collapse-height number? "Minimum height of system start delimiter. If smaller, the delimiter is removed.")
 (grob-property-description 'column-space-strength number? "relative strength of space following breakable columns (eg. prefatory matter)")
 (grob-property-description 'columns list? "list of grobs, typically containing paper-columns, list of note-columns")
index e6a034a0606b977bbb5eb280a0bd622a64f94c38..f6247fc3aba15712a2b8fbdc65114df551e2f897 100644 (file)
@@ -717,7 +717,7 @@ Calc dimensions for the Separating_group_spanner; this has to be
    'system-start-delimiter-interface
    "#'style can be bar-line, bracket or brace"
    '(collapse-height thickness arch-height arch-angle arch-thick
-                    arch-width bracket-thick bracket-width glyph )))
+                    arch-width bracket-thick glyph )))
 
 (define text-spanner-interface
   (lily-interface
index 045371f4e5687963d26a648c0acbb2b2ce9845c0..34bf1af183b32a83b80c088904cc2632603caad7 100644 (file)
@@ -629,6 +629,14 @@ if 1:
        
        conversions.append (((1,3,120), conv, 'paper_xxx -> paperXxxx, pedalup -> pedalUp.'))
 
+if 1:
+       def conv (str):
+               str = re.sub ('drarnChords', 'chordChanges', str)
+               return str
+       
+       conversions.append (((1,3,122), conv, 'drarnChords -> chordChanges'))
+
+
 ############################
        
 
index 110ee942eb7e9e15ac729179c2c96c8a70a89834..1a095357e64a53fd58aef1b4fc1b3fe4ca16f08d 100644 (file)
@@ -1,31 +1,6 @@
 dnl aclocal.m4   -*-shell-script-*-
 dnl StepMake subroutines for configure.in
 
-function base ()
-{
-    expr "$1" : "\(/[^/]*\)"
-}
-
-function unbase ()
-{
-    expr "$1" : "/[^/]*\(.*\)"
-}
-
-function walk ()
-{
-    from=`(cd "$1" && pwd)`
-    to=`pwd`
-    t=`base "$to"`
-    f=`base "$from"`
-    while [ -n "$t" -a "$t" = "$f" ]; do
-       to=`unbase "$to"`
-       from=`unbase "$from"`
-       t=`base "$to"`
-       f=`base "$from"`
-    done
-    echo ..$to
-}
-
 AC_DEFUN(AC_STEPMAKE_BIBTEX2HTML, [
     AC_CHECK_PROGS(BIBTEX2HTML, bibtex2html bib2html, error)
     if test "$BIBTEX2HTML" = "bib2html"; then